Models of Database Management Systems (DBMS)
- 0:43 Flat File
- 1:53 Hierarchical DBMS
- 3:28 Network DBMS
- 4:55 Relational DBMS
- 7:03 Object-Oriented DBMS
- 9:04 Lesson Summary
Get to know the different models of database management systems and learn how each one is used to systematically organize large amounts of data in a logical manner.
There are a number of different types of database management systems (DBMS), also referred to as DBMS models. Each one represents a somewhat different approach to organizing data in a systematic manner. They include:
Of these five models, the relational DBMS is by far the most widely used, but a quick overview of each model is useful.
The most basic way to organize data is as a flat file. You can think of this as a single table with a large number of records and fields. Everything you need is stored in this table, or flat file.
Think of a database of customers. Everything you want to know about the customers is stored in this one table. You start off with a single record for every customer. A customer places an order and you enter this in one of the fields. You continue entering customer orders in this way.
What if the same customer places a second order? Do you enter this as a new record in the table, or do you add a field to the existing record for this customer?
There is no single best answer for this. The key point here is that a flat file is quite limited since it provides very little in terms of structure. In fact, it is so simple that you could argue it is not a DBMS at all. However, it is good to start off with the idea of a flat file, and then you will see how alternative models are more flexible and effective.
In a hierarchical DBMS one data item is subordinate to another one. This is called a parent-child relationship. The hierarchical data model organizes data in a tree-like structure.
One of the rules of a hierarchical database is that a parent can have multiple children, but a child can only have one parent. For example, think of an online store that sells many different products. The entire product catalog would be the parent, and the various types of products, such as books, electronics, etc., would be the children. Each type of product can have its own children categories. For example, books could be broken up into fiction and non-fiction. Each of these categories can be broken up into subcategories. You can continue like this by listing individual authors and then the individual book titles.
This is a rather simple way to represent data, but it is very efficient. This model works best for data that is inherently hierarchical in nature. Many datasets cannot easily be organized in this manner and require a more complex approach. For example, in the case of the product catalog, what if a book falls into more than one category? Or what if one author has written several books but also published an audio CD of one of her books? This is where the hierarchical model breaks down.
In a network DBMS every data item can be related to many others ones. The database structure is like a graph. This is similar to the hierarchical model and also provides a tree-like structure. However, a child is allowed to have more than one parent. In the example of the product catalog, a book could fall into more than one category. The structure of a network database becomes more like a cobweb of connected elements.
For example, consider an organization with an employee database. For each employee there are different pieces of data, such as their name, address, telephone number, social security number and job function. Different units in the organization need different levels of access. For example, the human resources department needs to have access to the social security information for each employee so they can take care of tax deductions and set up benefits. This is somewhat sensitive information, so other departments do not need access to this part of the database. All the pieces of data are connected in a network that implements these rules.
While conceptually relatively simple, this database structure can quickly become very complicated.
In a relational DBMS all data are organized in the form of tables. This DBMS model emerged in the 1970s and has become by far the most widely used type of DBMS. Most of the DBMS software developed over the past few decades uses this model. In a table, each row represents a record, also referred to as an entity. Each column represents a field, also referred to as an attribute of the entity.
A relational DBMS uses multiple tables to organize the data. Relationships are used to link the various tables together. Relationships are created using a field that uniquely identifies each record. For example, for a table of books, you could use the ISBN number since there are no two books with the same ISBN. For a table of authors, you would create a unique Author ID to identify each individual author.
Consider a relational database of books and authors. The first table is a table of authors. Each author is identified by a unique author ID, and the table also contains their name and contact information. The second table is a table of books. Each book is identified by its ISBN number, and the table also contains the book's title, the publisher and the author ID associated with the author of the book.
What makes a relational database so effective is that you can link these tables together. In this example you would use the author ID field to do this. For example, you can store multiple books written by the same author or multiple authors for the same book. The detailed information for each author and each book is only stored once and not duplicated in both tables. Yet all the information you need can be accessed using the table relationship.
The previous DBMS models work primarily with text and numbers. Object-oriented databases are able to handle many newer data types, such as images, audio and video. These data items are the objects stored in the database.
If you have data that fit neatly into rows and columns, such as a customer database with names, addresses, ZIP codes, etc., a relational DBMS is typically the most suited. On the other hand, if you have a library of multimedia files, an object-oriented DBMS is going to work better.
You can still create tabular representations of your data. For example, you can represent your video library as a table showing a list of your videos with their length, sorted by the date of the recording.
Consider a database for all the medical imagery collected in a hospital, such as X-rays, CAT scans and electrocardiograms. The most suitable way to organize this data would be an object-oriented database. Each image would be an object and this would be tagged using the type of image, the name of the patient, the name of the medical doctor who requested the exam, the technician who carried out the exam, etc.
The various models are not entirely exclusive of each other. For example, the object-relational database management system combines elements of both models. It uses a relational model to describe associations between data tables, but it makes it possible to store multimedia objects.
In the case of the hospital example, you could use a relational model to create a database of patient records and store all the imagery as objects. By tagging each image, you can link the patient records with the imagery as needed.
There are a number of different models of database management systems. Flat files are like a single, very large table. This only works for very simple data.
Hierarchical databases use parent-child relationships in a tree-like structure. This only works for data that is inherently hierarchical in nature.
Network databases are more like a cobweb structure, with numerous network links between data elements. This quickly gets very complicated.
Relational databases organize data in tables, and these are linked together using table relationships. This is by far the most widely used database model since it is very effective.
Object-oriented databases are well suited to store multimedia data as objects instead of using a tabular structure.
Chapters in Business 104: Information Systems and Computer Applications
People are saying…
"This just saved me about $2,000 and 1 year of my life." — Student
"I learned in 20 minutes what it took 3 months to learn in class." — Student