Addendum to CPS 430/542 Homework #1

Assigned: August 23
Due: August 30, 4:30pm, in class


(10 points) The network database model was one of the first models of database systems. The idea is to view data as a graph of records (other models can be viewed as restrictions of this basic idea, e.g., the hierarchical model organizes data as a forest, instead of an arbitrary graph). Each tuple from a table in a conventional RDBMS is stored as a separate record and has identity distinct from the other records (tuples) in the network model. The connection between records is established by extensive use of links (pointers). For example, the following is a rudimentary network database:

[Buick | 2002] --- [Larry | 653-11-5671 | 29] --- [Dayton | OH]



            ---  <have>  ---> [cars]
[people]
            --- <live in> ---> [places]

The portion of the figure above the line depicts three actual records linked to each other. The portion below the line indicates the schema; it reveals that have (from people-to-cars) is a many-one relationship and live in (from people-to-places) is also a many-one relationship. In other words, many people can have one car and many people can be in one place. One peculiarity of the network model is that all relationships are restricted to the many-one type. If there is a link between two records A and B, and it is many-one from A to B, then A is called the member record and B is called the owner record. Each owner record therefore can be linked from many member records, but one member record can be linked to only one owner record. If you wanted to model a many-many relationship, you would have to replace the original many-one relationship with two many-one relationships and introduce an in-between record to serve as the owner in each of the two many-one relationships.

Your task is to figure out why the original designers of the network model made this ad-hoc restriction to many-one relationships (it is there for a reason). What implementation advantage(s) does it provide over the more general many-many modeling? Explain.



Return Home