Various Data models:
Data models are different in their notion of set.
Relational Data model:
The relational model limits itself to homogeneous (only one record type) sequential sets. The benefit of this approach is its simplicity and the ability to define operators that ‘distribute’ over the set applying uniformly to each record of the set. Since a lot of data processing involves repetitive operations on large volumes of data this distributive property provides a concise language to express such algorithms. There is a tough analogy here with APL that uses the simple data structure of array and therefore is able to define powerful operators that work for all arrays. APL programs are very short as well as much of the control structure of the program is hidden inside of the operators.
To give an illustration of this a ‘relational’ program to find all overdue accounts in an invoice file might be
SELECT ACCOUNT_NUMBERFROM INVOICEWHERE DUE_DATE<TODAY;
This must be compared to a PL/l program with a loop to get next record and test for DUE_DATE and END_OF_FILE. The MONTHLY_STATEMENT transaction explains in the introduction is another instance of the power and usefulness of relational operators.
Alternatively if the work to be done does not involve processing many records then the relational model seems to have little advantage over other models. Regard as the DEBIT_CREDIT transaction which (1) reads a message from a terminal (2) finds an account (3) updates the account (4) posts a history record (5) updates the teller cash drawer (6) updates the branch balance and (7 )puts a message to the terminal. Such a transaction would advantage little from relational operators (each operation touches only one record.)
One is able to define aggregate operators that distribute over hierarchies or networks. For instance the MAPLIST function of LISP distributes an arbitrary function over an arbitrary data structure.
Hierarchical Data model:
Hierarchical models utilized parent-child sets in a stylized way to produce a forest (collection of trees)of records. A typical application might utilized the three record types- LOCATIONS, ACCOUNTS and INVOICES as well as two parent-child sets to construct the following hierarchy- All the accounts at a location are clustered together as well as all outstanding invoices of an account are clustered with the account That is a location has its accounts as children and an account has its invoices as children. This may perhaps be depicted schematically by:
This structure has the benefit that records used together may appear clustered together in physical storage and that information common to all the children can be factored into the parent record. As well one may quickly find the first record under a parent as well as deduce when the last has been seen without scanning the rest of the database.
Discover all invoices for an account received on a certain day involves positioning a cursor on the location another cursor on the account number under that location and a third cursor to scan over the invoices:
SET CURSOR1 to LOCATION=NAPA;SET CURSOR2 TO ACCOUNT=FREEMARK_ABBEY;SET CURSOR3 BEFORE FIRST_CHILD(CURSOR2);DO WHILE (! END_OF_CHILDREN):FETCH (CURSOR3) NEXT CHILD; DO_SOMETHING;END;
For the reason that this is such a common phenomenon and because in a hierarchy there is only one path to a record most hierarchical systems abbreviate the cursor setting operation to setting the lowest cursor in the hierarchy by identifying a ‘fully qualified key’ or path from the root to the leaf (the other cursors are set implicitly.) In the above illustration:
SET CURSOR3 TO LOCATION=NAPA,ACCOUNT=FREEMARK_ABBEY,INVOICE_ANY;DO WHILE (! END_OF_CHILDREN):FETCH (CURSOR3) NEXT CHILD; DO_SOMETHING;END;
This implicitly sets up cursors one and two.
The implied record naming of the hierarchical model makes programming much simpler than for a general network. If the data is able to be structured as a hierarchy in some application then it is desirable to use this model to address it.
Latest technology based Operating System Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Operating System help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Operating System, project ideas and tutorials. We provide email based Operating System help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Operating System. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Operating System Homework help and assignment help services. They use their experience, as they have solved thousands of the Operating System assignments, which may help you to solve your complex issues of Operating System. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!