The hierarchical and network models were part of the second generation of data models. The hierarchal model was one of the first widely used data models used in the 1970s. It was created to manage large amounts of data for complex manufacturing projects. The logical structure of the hierarchical model looks like an upside-down tree where the model contains levels or segments. The segment in the hierarchical model is similar to a file system’s record type. In a hierarchy, the higher layer would be viewed as being the parent of the segment that is below it or also called the child. The hierarchical model basically is a set of one-to-many relationships where each parent segment can have many children, but each child segment can only have one parent.
The network model was then created also in the 1970s to help deal with some of the issues due to complex data relationships that could not be represented in the hierarchical model. The goal in the network model was also to help improve the performance in the database and create a database standard. The network model did also use the one-to-many relationship as the hierarchical model but a record in the network model was able to have more than one parent. Even though the network data models are no longer used today, a lot of the key concepts that came from the network model are still used which you may be familiar with from prior tutorials. These include the schema, subschema data manipulation language, and data definition language.
The schema is considered as the conceptual organization of the database. This includes the complete data model of the relationship. This is the view that a database administrator that is able to see the complete database would see. The subschema on the other hand would be the part of the database that the applications would be able to see rather than the entire database. Data manipulation language represents the commands that are used to work with the data. In current databases, this includes the SELECT, UPDATE, INSERT and DELETE statements. Data definition language allows database administrations to create and remove the various schema components in the database that include CREATE, ALTER and DROP statements in current databases.
As the information needs grew, the network model became a bit too cumbersome without being able to have the ad hoc query capabilities. This required the programmers to create the code to run even the simplest reports. This was a lot more complex than the SQL commands that you have been using to query the data in the relational databases. In addition, if there was any change in the database structure, this would create problems across all of the applications that accessed the data as they heavily depended on the data model structure to match.