Friday, September 25, 2015

Database Models



Over the years, a number of database models have been implemented to store and manage data. Several of the more common models include the following:

Hierarchical This model has a parent–child structure that is similar to an inverted tree, which is what forms the hierarchy. Data is organized in nodes, the logical equivalent of
tables in a relational database. A parent node can have many child nodes, but a child node can have only one parent node. Although the model has been highly implemented, it is
often considered unsuitable for many applications because of its inflexible structure and lack of support for complex relationships. Still, some implementations such as IMS from
IBM have introduced features that work around these limitations.

Network This model addresses some of the limitations of the hierarchical model. Data is organized in record types, the logical equivalent of tables in a relational database. Like
the hierarchical model, the network model uses an inverted tree structure, but record types are organized into a set structure that relates pairs of record types into owners and members. Any one record type can participate in any set with other record types in the database, which supports more complex queries and relationships than are possible in the hierarchical model. Still, the network model has its limitations, the most serious of which is complexity. In accessing the database, users must be very familiar with the structure and keep careful track of where they are and how they got there. It’s also difficult to change the structure without affecting applications that interact with the database.

Relational This model addresses many of the limitations of both the hierarchical and network models. In a hierarchical or network database, the application relies on a defined
implementation of that database, which is then hard-coded into the application. If you add a new attribute (data item) to the database, you must modify the application, even if it doesn’t use the attribute. However, a relational database is independent of the application; you can make nondestructive modifications to the structure without impacting the application. In addition, the structure of the relational database is based on the relation, or table, along with the ability to define complex relationships between these relations. Each relation can be accessed directly, without the cumbersome limitations of a hierarchical or owner/member model that requires navigation of a complex data structure.

No comments:

Post a Comment