3. 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.
4. 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.