- Hierarchical Model
In Hierarchical model data elements are linked as an inverted tree structure (root at the top with branches formed below). Below the single root data element are subordinate elements each of which in turn has its own subordinate elements and so on, the tree can grow to multiple levels. Data elements has parent child relationship as in a family tree.
For Example in an organization employees are categorized by their department and within a department they are categorized by their job function such as managers, engineers, technicians and support staff.
- The hierarchical database model is a very efficient one when the database contains a large number of 1: n relationships and when the users require large number of transactions, using data whose relationships are fixed.
- Hierarchical model was the first database model that offered the data security that is provided and enforced by DBMS.
- Although the hierarchical database model is conceptually simple and easy to design , it is quite complex to implement.
- If you make any changes in the database structure of hierarchical database, then you need to make the necessary changes in all the application programs that access the database. Thus maintaining the database and the applications can become very difficult.
- Network model
This model is the extension of hierarchical data model. In this model also there exist a parent child relationship but a child data element can have more than one parent element or no parent at all. The main difference of the network model from the hierarchical model is its ability to handle many –to – many (n: n) relationships or in other words it allows a record to have more than one parent.
Example of Network model is given below where there are relationships among courses offered and students enrolled for each course in a college. Each student can be enrolled for several courses and each course may have a number of students enrolled for it. The students enrolled for English are Miya and Priyanka and Miya has taken three courses English, Math and Science.The example also shows a child element that has no parent element i.e he has not taken any course in this semester, he might be a research student.
- It is conceptually simple and easy to design.
- It can handle one to many (1:n) and many to many (n: n) relationships
- The changes in data characteristics do not require changes to the application programs.
- The data access is easier and flexible than the hierarchical model.
- Detailed structural knowledge is required.
- There is lack of structural independence.
- The insertion, deletion and updating operations of any record require large number of pointers adjustments.
- Object Oriented Model
Object oriented models were introduced to overcome the shortcomings of conventional models like Relational, Hierarchical and network model. An object oriented database is collection of objects whose behavior, state, and relationships are defined in accordance with object oriented concepts (such as objects, class, class hierarchy etc. )
The following diagram represents an example of object oriented database structure. Here Class vehicle is root of a class composition hierarchy including classes VehicleSpecs, Company and Employee. Class Vehicle is also root of a class Hierarchy involving classes. Two Wheeler and FourWheeler. Class Company is in turn, root of a class hierarchy with subclasses Domestic Company and ForeignCompany. It is also root of a class composition hierarchy involving class Employee.
For above database structure a typical query may be “President’s and Company’s names for all companies that manufacture two wheeler vehicles and are located in Pune, India”.
- Data access is easy.
- It provides higher performance management of objects and complex interrelationships between objects.
- Unlike traditional databases (such as hierarchical, network or relational), the object oriented database are capable of storing different types of data, for example, pictures, voice video, including text, numbers and so on.
- There is no universally agreed data model for an OODBMS, and most models lack a theoretical foundation.
- The increased functionality provided by the OODBMS makes the system more complex than that of traditional DBMSs.
- Object relational model
The object-relational model is designed to provide a relational database management that allows developers to integrate databases with their data types and methods. It is essentially a relational model that allows users to integrate object-oriented features into it. Object relational model combine advantages of both modern object oriented programming languages with relational database features such as multiple views of data and high level non procedural query language. Some of these systems available I n market are IBM’s DB2 universal server, oracle corporations oracle 8, Microsoft Corporations SQL server 7 and so on.
- It allows users to define new data types that combine one or more of the currently existing data types. Complex types aid in better flexibility in organizing the data on a structure made up of columns and tables.
- Users are able to extend the capability of the database server; this can be done by defining new data types, as well as user-defined patterns. This allows the user to store and manage data.
- Storage structures and access methods become quite complex.
- Issues related to indexing on user defined types are experienced.