The Evolution of Database Management System
Database models
Flat files (1960s – 1980s)
Flat file database is a database that stores information in a single file or table. In a text file, every line contains one record where fields either have fixed length or they are separated by commas, whitespaces, tabs or any other character. In a flat file database, there is no structural relationship among the records and they cannot contain multiple tables as well.
Advantages:
- Flat file database is best for small databases.
- It is easy to understand and implement. Fewer skills are required to handle a flat file database.
- Less hardware and software skills are required to maintain a flat file database.
Disadvantages:
- A flat file may contain fields which duplicate the data as there is no automation in flat files.
- If one record is to be deleted from the flat file database, then all the relevant information in different fields has to be deleted manually making the data manipulation inefficient.
- Flat file database waste the computer space by requiring it to keep the information on items that are logically cannot be available.
- Information retrieving is very time consuming in a large database.
Implementation of a flat file database
Flat file database is implemented in:
- Berkeley DB
- SQLite
- Mimesis
- TheIntegrationEngineer etc.
Hierarchical database (1970s – 1990s)
As the name indicates, hierarchical database contains data in a hierarchically-arranged data. More perceptively it can be visualized as a family tree where there is a parent and a child relationship. Each parent can have many children but one child can only have one parent i.e.; one-to-many relationship. Its hierarchical structure contains levels or segments which are equivalent to the file system’s record type. All attributes of a specific record are listed under the entity type.
In hierarchical database, the entity type is the main table, rows of a table represent the records and columns represent the attributes.
In the above figure, CUSTOMER is the parent and it has two children (CHCKACCT & SAVEACCT).
Advantages:
In a hierarchical database pace of accessing the information is speedy due to the predefined paths. This increases the performance of a database.
The relationships among different entities are easy to understand.
Disadvantages:
Hierarchical database model lacks flexibility. If a new relationship is to be established between two entities then a new and possibly a redundant database structure has to be build.
Maintenance and of data is inefficient in a hierarchical model. Any change in the relationships may require manual reorganization of the data.
This model is also inefficient for non-hierarchical accesses.
Network database (1970s – 1990s)
The inventor of network model is Charles Bachmann. Unlike hierarchical database model, network database allows multiple parent and child relationships i.e., it maintains many-to-many relationship. Network database is basically a graph structure. The network database model was created to achieve three main objectives:
- To represent complex data relationships more effectively.
- To improve the performance of the database.
- To implement a database standard.
In a network database a relationship is referred to as a set. Each set comprises of two types of records, an owner record which is same as parent type in hierarchical and a member record which is similar to the child type record in hierarchical database model.
Advantages:
- The network database model makes the data access quite easy and proficient as an application can access the owner record and all the member records within a set.
- This model is conceptually easy to design.
- This model ensures data integrity because no member can exist without an owner. So the user must make an owner entry and then the member records.
- The network model also ensures the data independence because the application works independently of the data.
Disadvantages:
- The model lacks structural independence which means that to bring any change in the database structure; the application program must also be modified before accessing the data.
- A user friendly database management system cannot be established via network model.
Implementation of network database
Network database is implemented in:
- Digital Equipment Corporation DBMS-10
- Digital Equipment Corporation DBMS-20
- RDM Embedded
- Turbo IMAGE
- Univac DMS-1100 etc.
Relational database (1980s – present)
Relational database model was proposed by E.F. Codd. After the hierarchical and network model, the birth of this model was huge step ahead. It allows the entities to be related through a common attribute. So in order to relate two tables (entities), they simply need to have a common attribute. In the tables there are primary keys and alternative keys. Primary keys form a relation with the alternative keys. This property makes this model extremely flexible.
Thus using relational database ample information can be stored using small tables. The accessing of data is also very efficient. The user only has to enter a query, and the application provides the user with the asked information.
Relational databases are established using a computer language, Structured Query Language (SQL). This language forms the basis of all the database applications available today, from Access to Oracle.
Advantages:
- Relational database supports mathematical set of operations like union, intersection, difference and Cartesian product. It also supports select, project, relational join and division operations.
- Relational database uses normalization structure which helps to achieve data independence more easily.
- Security control can also be implemented more effectively by imposing an authorization control on the sensitive attributes present in a table.
- Relational database uses a language which is easy and human readable.
Disadvantages:
- The response to a query becomes time-consuming and inefficient if the number of tables between which the relationships are established increases.
Implementation of Relational Database:
- Oracle
- Microsoft
- IBM
- My SQL
- PostgreSQL
- SQLite
Object-oriented database (1990s – present)
Object oriented database management system is that database system in which the data or information is presented in the form of objects, much like in object-oriented programming language. Furthermore, object oriented DBMS also facilitate the user by offering transaction support, language for various queries, and indexing options. Also, these database systems have the ability to handle data efficiently over multiple servers.
Unlike relational database, object-oriented database works in the framework of real programming languages like JAVA or C++.
Advantages:
- If there are complex (many-to-many) relationships between the entities, the object-oriented database handles them much faster than any of the above discussed database models.
- Navigation through the data is much easier.
- Objects do not require assembly or disassembly hence saving the coding and execution time.
Disadvantages:
- Lower efficiency level when data or relationships are simple.
- Data can be accessible via specific language using a particular API which is not the case in relational databases.
Object-relational database (1990s – present)
Defined in simple terms, an object relational database management system displays a modified object-oriented user-display over the already implemented relational database management system. When various software interact with this modified-database management system, they will customarily operate in a manner such that the data is assumed to be saved as objects.
The basic working of this database management system is that it translates the useful data into organized tables, distributed in rows and columns, and from then onwards, it manages data the same way as done in a relational database system. Similarly, when the data is to be accessed by the user, it is again translated from processed to complex form.
Advantages:
- Data remains encapsulated in object-relational database.
- Concept of inheritance and polymorphism can also be implemented in this database.
Disadvantages:
- Object relational database is complex.
- Proponents of relational approach believe simplicity and purity of relational model are lost.
- It is costly as well.
- Web enabled database (1990s – present):
- Web enabled database simply put a database with a web-based interface.
This implies that there can be a separation of concerns; namely, the web designer does not need to know the details about the DB’s underlying design. Similarly, the DB designer needs to concern himself with the DB’s web interface.
A web enabled database uses three layers to function: a presentation layer, a middle layer and the database layer.
Advantages:
- A web-enabled database allows users to get the information they need from a central repository on demand.
- The database is easy and simple to use.
- The data accessibility is easy via web-enabled database.
Disadvantages:
- Main disadvantage is that it can be hacked easily.
- Web enabled databases support the full range of DB operations, but in order to make them easy to use, they must be “dumped down”.
No comments:
Post a Comment