A database is an incorporated assortment of data records, files, and other things. A database management system is a software package that controls the design, maintenance, and manipulation of a database. It is a special type of software system that manages one or more database, which is set of flat files stored on computer tape or disk or it could consist of database tables. A DBMS allows businesses to manage the organization, storage, access, security and integrity of data in a structured database. A DBMS also allows different user application programs to concurrently access the same database, parallel to each other. Apart from all this, a database management system provides additional capabilities for sorting data, easy integrity checking, and frequent access to data.
There are a wide variety of practical database management systems available in the market, varying in structure, size and functionality. You can choose the one best suiting your individual or business requirements. For larger companies and organizations, it is cheaper to lease a DBMS program than to develop it. DBMSs may use a variety of database models. Since there are a variety of DBMSs available, you should know some of the basic features, as well as strengths and weaknesses, of the major types.
There are four main structural types of database management systems: hierarchical, network, relational, and object-oriented.
1. Hierarchical Database:
They are one of the oldest types of database structures, and are usually used with mainframe computers. It is organized in a sort of pyramid style, just as the branches of a tree are extending downwards. The arrangement in a hierarchical database can be considered to resemble that of a family tree, where the parents sit above the subordinated children. Similarly, the associated entries or data is grouped together, creating higher-level records and lower-level records. Hierarchical databases work by moving from the top down. In case of a record search, the records are searched from the top of the pyramid and working down through the tree from parent to child until the appropriate child record is found.
The parent record at the top of the pyramid is called the root record. The parent-child relationship is one to many. This restricts a child segment to having only one parent segment. On the contrary, a parent record can have more than one child entry connected with it. Furthermore, each child can also be a parent with children underneath it.
The advantage of hierarchical databases is that they can be easily retrieved and reorganized swiftly as the relationships between the different records and entries are defined in advance. The biggest disadvantage of this type of database structure is that any child record can have only one parent for it, and connections among children are not acceptable, even if they make sense from a logical perspective. Hierarchical databases are so strict in their plan that if you wish to add a new field or record, it requires you to redefine the entire database.
2. Network Database:
Network databases are similar to hierarchical databases in a way that they also have a hierarchical structure, and are used mostly for main frame computers. But it resembles more a cobweb or interrelated network of records. In these types of databases, children are called members and parents are called owners. The main aspect of network databases is that each member record can have more than one parent, or owner. It permits the many-to-many relationships between the different data entries.
These types of databases are considered more flexible as more links can be made among different types of data. The network database model is somewhat different from the hierarchical database model. It should be used when it is necessary to have a flexible way of representing object and their relationships.
Some advantages of using this database model include a simple concept, flexible data accessibility, ability to handle more relationship types, and promoting data integrity and data independence. On the other hand, the disadvantages are that the structure is complex and difficult to change. There is a lack of structural independence, making structural modifications to the database very difficult.
3. Relational Database:
Relational databases are more flexible than either the hierarchical or network database structures. In relational databases, the relationship between data files is relational, not hierarchical. A relational database allows for better definition of data structures, storage and retrieval options and integrity control. Relational databases interlink data from a number of files using common data elements or a key field. The data and the relations between them are maintained in different tables, each having a key field that uniquely identifies each row. In relational databases, tables or files filled with data are called relations, a tuple designates a row or record, and columns are referred to as attributes or fields.
Relational database model implies a basic theory where every table has a specific key field, which works to individually identify each row, and these key fields further link one data file with the other. This database model is very practical for companies, where customer information can be linked to specific product information.
The relational database has become quite popular, as the relational approach is a logically attractive and commercially feasible approach. It also allows the users to implement fully secure and controlled data, by moving sensitive attributes in a given table into a separate relation with its own authorization controls.
It is very flexible, and data can be called from different linked tables, and presented in a single form. The usage of relational algebra and relational calculus in the manipulation of the relations guarantees that you get accurate data, which may otherwise arise in establishing the linkages in a complicated network type database. Data independence is achieved more easily. Responding to different queries is easy in the relational database approach.
With a lot of plus points, this approach also has some drawbacks. A major constraint in this system is machine performance. With increasing number or size of tables, the performance is definitely degraded. Secondly, the system can lose information if the primary or alternate keys overlap in the requests made by the creator. Sometimes this is true and sometimes it is not.
4. Object Oriented Database:
The Object oriented concept is the new trend in database structures. Built to handle many new data types, and can store graphics, photographs, audio, and video. All the other types of database structures operate with a certain pre-defined model of data that is managed in proper fields and tables. These structured models are practical where small bits and pieces of information are involved. In contrast, an object-oriented database can store much more versatile forms of data from a range of media sources, such as photographs and text. Object-oriented DBMSs add database operations to object oriented programming languages.
The object oriented database model allows the combination of the application and the database records into a perfect data model and language environment. Object-oriented databases utilize small, variables called objects that are stored in the object-oriented database. These objects contain both data in the form of text or multimedia file, as well as methods or instructions, telling you what to do with the data.
It is the best choice for programs with complex data types and a clearly defined interface. The ability to mix and match reusable objects provides incredible multimedia capability. Using this structure, you can preserve and adjust any program, and also gives a great foundation for building and modifying new software components, and graphical user interfaces. On the other hand, it is very costly, and as a result, not practicable for most of the small or medium level industries. Also, it takes much of your time and energy, to get started.