Navigation:
In the early days of electronic database technology a simple Flat File was all that was available. For reasons that should be clear by now, such a model does not enable us to successfully model the complexities of "the real world"
These are organised in a tree structure where one parent can have many children and each child can only have one parent. This type of database is highly inflexible but can be very efficient in the processing of data. The links between records are physical links in the sense that references are made to the actual physical record numbers. Only one to many relations are possible with a hierarchical database.
One of the other main characteristics of a hierarchical database is that there is usually only a relatively small set of pre defined queries that can be applied to the data. This characteristic means that hierarchical databases are inflexible and wholly unsuited to ad hoc querying. In the example below it would be highly efficient to answer the question "What modules are Nigel Hartland's tutees taking?", but highly inefficient at answering "Which students are taking the Programming module?"
.png)
Figure 10.1: A Hierarchical Schema
Network databases were designed to address some of the issues of inflexibility of the earlier hierarchical databases. Each parent could have many children and each child could have many parents. Many to many relationships are possible with a network database but the links are still physical links. This model gives more flexibility of data access than the hierarchical model but at the cost of processing efficiency.
As can be seen from the figure 10.2, adding extra links from the tutor records to the module records will allow greater efficiency in answering the question "Which students are taking the Programming module?" We can identify which tutor teaches that module and then follow the links through to the module record. However, this flexibility does come at the price of great complexity and duplication of data.
.png)
Figure 10.2: A Network Schema
Relational databases are based on tables and on relations between those tables. Data is highly normalised. The tables are connected (related) via data NOT through physical links. Relational databases are highly flexible and support a wide range of ad hoc querying, however the efficiency of processing is low.
It is important to realise that Hierarchical, Network and Relational models are all concerned with Transaction Processing (TP). This means that they are optimised for collecting and processing data.
A data warehouse is NOT a TP system, it is optimised for analysis rather than transactions. Querying a Data Warehouse should be simple and the queries should operate at a very high level, e.g. how does the pass rate for residential students compare with the pass rate for non-residential students over the last academic year? A simple query at this level may involve extremely high amounts of data.