Types of Database Management Systems
A database management system (DBMS) is a group of programs that manipulate a database and serve as an interface between a database, its user and other application programs. A DBMS is designed to define, create, manipulate, retrieve and manage data in a database. A DBMS generally manipulates the data, the data format, field names, record structure and file structure. It also defines rules to validate and manipulate this data. A DBMS is a software program which uses query languages such as SQL, MySQL, SQL Server, Oracle, dBASE and FoxPro to interact with the database to frame programs for data query and data maintenance.
A database management system receives instruction from a database administrator (DBA) and instructs the database to execute those commands, which include tasks like load, retrieve, sort, or modify existing data in the database, independent of the manner in which the data is stored. On the other hand, storage mechanism and data format may be modified without modifying the DBMS program itself. There are four main structural types of database management systems:
Types of Database Management Systems:
Over the years, to satisfy the needs of data storage, processing and retrieval, database models of varying degrees of sophistication were devised. Large enterprises needed to build many independent data files containing related and even overlapping data, often in quite different formats to fulfill different purposes. Data-processing activities frequently required the linking of data from several files necessitating designing data structures and database management systems that supported the automatic linkage of files. Four database models and their corresponding management programs were developed to support the linkage of records of these types. The following database models and their management systems are in common use:
1. Hierarchical databases.
2. Network databases.
3. Relational databases.
4. Object-oriented databases
Hierarchical Database Management System:
A hierarchical database is a one in which the data elements have a one-to-many relationship (1:N). The schema for a hierarchy has a single root. This kind of database model uses a tree-like structure which links a number of dissimilar elements to one primary record – the "owner" or "parent". Each record in a hierarchical database contains information about a group of parent child relationships. The data are stored as records, each of which is a collection of fields containing only one value. The records are connected to each other through links. The structure implies that a record can have a data element repeated. Hierarchical models make the most sense where the primary focus of information gathering is on a concrete hierarchy such as a list of business departments, assets or people that will all be associated with specific higher-level primary data elements. They are very simple and fast. In the hierarchical database model the user must have some prior information about the database. Hierarchical databases were popular in early database design, in the era of mainframe computers.
The idea behind hierarchical database models is useful for a certain type of data storage, but it is not extremely versatile. They are confined to some very specific uses. For example, where each individual person in a company may report to a given department, the department can be used as a parent record and the individual employees will represent secondary records, each of which links back to that one parent record in a hierarchical structure.
Advantage: Hierarchical databases relate well to anything that works through a one-to-many relationship. They can be accessed and updated rapidly because in this model, the data structure is like that of a tree, and the relationships between records are defined in advance. These databases allow easy addition and deletion of records. These databases are good for hierarchies such as employees in an organization or an inventory of plant specimen in a museum. Data at the top of the hierarchy is accessed with great speed.
Disadvantage: This type of database structure permits each child a relationship with only one parent, and relationships or linkages between children are not permitted, even if they make sense from a logical standpoint. This limitation is circumvented by a repetition of data, which adds to the size of the database. Searching for specific data requires the DBMS to run through the entire data from top to bottom until the required information is found, making queries very slow. The lower the required data in the hierarchy, the longer it takes to retrieve it. Adding a new field or record requires the entire database to be redefined.
Network Database Management System:
A network database model is one in which multiple member records or files are linked to multiple owner files and vice versa. The network database model can be viewed as a net-like form where a single element can point to multiple data elements and can itself be pointed to by multiple data elements.
The network database model allows each record to have multiple parents as well as multiple child records, which can be visualized as a web-like structure of networked records. By contrast, in the hierarchical model, a data member can only have many child records, but only a single parent record.
Actually, the network model is quite similar to the hierarchical model – the hierarchical model being a subset of the network model. However, instead of using a single-parent tree hierarchy, the network model uses set theory to provide a tree-like hierarchy with the exception that child tables are allowed to have more than one parent. It supports many-to-many relationships and can be visualized as a cobweb or interconnected network of records
Advantages: A Network database is conceptually simple and easy to design. The data access is easier and more flexible as compared to a hierarchical model. It does not allow a member to exist without a parent. The main advantage of a network database is that it can handle more complex data because of its many-to-many relationship. It allows for a more natural modeling of relationships between records or entities, as opposed to the hierarchical model. Because of its flexibility, it is easier to navigate and search for information in a network database. This kind of database structure isolates the management programs from the complex physical data storage details.
Disadvantages: The main disadvantage is that all the records in the database need to be maintained using pointers, making the whole database structure very complex. The insertion, deletion and updating operations of any record require an adjustment of a large number of pointers. Network databases are difficult to use by first time users. Structural changes to the database are very difficult to implement. Difficulties are encountered while making alterations to the database because entering new data may necessitate altering the entire database.
Relational Databases Management System:
A relational database is one in which data is stored in the form of tables, using rows and columns. This arrangement makes it easy to locate and access specific data within the database. It is “relational” because the data within each table are related to each other. Tables may also be related to other tables. In relational databases, tables or files containing data are called relations (tuples), and are defined by rows (or records), and columns (or attributes) referred to as fields. Each table has a key field that mainly identifies each record (row), and on the basis of which records in different tables are related (or linked).
This kind of a relational structure makes it possible to run queries that need to retrieve data from multiple tables simultaneously. An RDBMS may also provide a visual representation of the data. For example, it may display data in a spreadsheet-like table, allowing you to view and even edit individual data elements in the table. Some RDMBS programs allow you to create forms that can streamline entering, editing, and deleting data. Most well-known database management systems fall into the RDBMS category. Examples include Oracle Database, MySQL, Microsoft SQL Server, and IBM DB2. Some of these programs support non-relational databases, but they are primarily used for relational database management.
Currently, the relational database approach is the most popular. The older hierarchical data management systems are being replaced by relational database management. Relational DBMS software is available for large mainframe systems as well as workstations and personal computers. The need for more powerful and flexible data models to support scientific and business applications has led to extended relational data models in which table entries are no longer simple values but can be programs, text, unstructured data in the form of large binary, or in any other format which the end user needs.
Advantages: Any data organized as tables consisting of rows and columns is much easier to understand. Data can be stored in separate tables or files containing logically related attributes, so that huge amounts of data are segmented, making management and retrieval easier and faster. Different tables from which information has to be linked and extracted can be easily managed. Security and authorization control can also be implemented more easily by moving sensitive data in a given database to a separate relation with its own authorization controls. Data independence is easily achieved in a relational database than in the more complicated tree or network structure. Redundancy and replication of data can be minimized. RDBMS offers the possibility of responding to queries by means of a language based on relational algebra and relational calculus. It offers logical database independence i.e. data can be viewed in different ways by the different users. Multiple users can access the database simultaneously which is not possible in other kinds of databases. RDBMS also offers better backup and recovery options.
Disadvantages: A major constraint, and therefore disadvantage of RDBMS is its reliance on machine performance. If the number of tables between which relationships are to be established is large, then the performance in responding to the SQL queries is affected. The required hardware is complex and software expensive, increasing the overall cost of implementing RDBMS.
Object-Oriented Database Management System:
A recent development in database technology is the incorporation of the object concept that has become significant in programming languages. In object-oriented databases, all data are objects. Objects may be linked to each other by an “is-part-of” relationship to represent larger, composite objects. For example, the data describing a truck may be stored as a composite of a particular engine, chassis, gear box, steering system, etc. Classes of objects may form a hierarchy in which individual objects may inherit properties from objects higher up in the hierarchy. For example, objects of the class “motorized vehicle” will all have an engine (a truck, a car or an airplane). Likewise, engines are also data objects, and the engine attribute of a particular vehicle will be a link to a specific engine object. Multimedia databases, in which voice, music, and video are stored along with the traditional textual information, provide a justification for viewing data as objects. Such object oriented databases are becoming increasingly important, since their structure is most flexible and adaptable. The same is true of databases of pictures, images, photographs or maps. The future of database technology is generally perceived to be an integration of the relational and object-oriented database models.
Advantages: Object oriented databases combine the object oriented principle with the database management principle to give a hybrid system that is more powerful than the conventional relational database management system. The principles of object orientation like consistency, isolation, durability, and atomicity are supported along with the principles of database systems. In OODBMS, working with objects in the programming language is similar to working with objects in the database. Each object is the database is identified by an object identifier called the OID which is generated by the system. The OODBMS is more powerful than the RDBMS if you are used to object oriented programming. Another advantage of using the OODBMS is that when your application requests for an object, it is sent by the database to the memory, and you work with the in-memory object. Any update or deletion is done to the in-memory object and these changes can later be saved to the database. This helps to avoid the frequent access to the database while updating, deleting, etc.
Disadvantages: A significant disadvantage of OODBMS is that it lacks a theoretical foundation which makes it comparable to pre-relational systems. The use of OODBMS is relatively limited because we do not yet have the level of experience that we have with traditional systems. There is reluctance to the acceptance of this technology because OODBMSs are still very much geared towards the programmer, rather than the naïve end-user. While the OODBMS is limited to a small niche market, this problem will continue to exist. The increased functionality provided by the OODBMS makes the system more complex than the traditional DBMSs. Currently, OODBMSs do not provide adequate security mechanisms – the database manager cannot grant access rights on individual objects or classes.
This website is hosted by
Department of Geology
Aligarh Muslim University, Aligarh - 202 002 (India)