There are four main kinds of databases, each based on a specific data model.
A data model consists of the rules or methods for structuring the relationship among data elements.
This is a highly-structured model, which facilitates data storage and retrieval by classes.
A class is a grouping based on a common characteristic.
Each class relates vertically to other classes, similar in layout to an organization chart (president, VPs, managers, and so on).
This structure is best used in stable data environments, like accounting or inventory record keeping, and is most often the structure
of choice within large mainframe computing systems. The hierarchical structure is low on flexibility but gives better speed of access and
has been in use since the 1950s.
This type of database places related data into columnized tables. Each attribute is a single column (such as Firstname, Lastname, Phone, and so on).
Tables are related to another table by using a single similar column attribute, such as social security number.
The relational database structure is ideal for dynamic examination and re-association of data, common to a decision maker's environment.
A request example might be, "Give me the Lastname of all employees whose phone number begins with 426."
The relational model is most often found on PCs and servers, and typically has slower speed of access but provides maximum flexibility in terms of the
types of queries you can submit.
The network model attempts to join the strengths of the hierarchical model with those of the relational model.
In a nutshell, it attempts to make a hierarchical structure appear like a relational one to the user, to facilitate the dynamic information gathering needs of decision
makers. Like any hybrid, multipurpose tool, it lands somewhere in the middle of the more pure forms in terms of its benefits. It's neither as fast as a hierarchical, nor as flexible as a relational.
Object databases are a latest evolution to data storage and retrieval systems. Built on the Java language, data is associated to related
entities for on-the-fly association with other entities. As this technology evolves, its offers the promise of rapid database development and
maximum flexibility. Unfortunately, the cross-association that is required to link objects of data make this model potentially slower than
both hierarchical and relational.
In the next lesson, you will learn how a database communicates with a Web site.