Data model is the organisation of a database in a Data Base Management System. It is the way the data is structured and planned. There are different data models, which are used to design a database. If we look at them we come across the models, which are/were very popular. The assumptions and restrictions for each data model will influence the design of database and in-turn effect the ways in which an application can access and process the data, thereby determining low the data has to be organized.
The following are some of the data models, which are followed:
This Data Model is introduced in the Information Management System (IMS) developed by IBM in 1968. This relates records by Parent/child or supervisor/subordinate relationship. This model is like a hierarchical tree structure, which is used to construct a hierarchy of records in the form of branches and nodes, giving the model its name.
Information which is closely related in a parent-child structure is stored together in form of a logical unit. Here, a parent unit may have many child units, but a child unit can have only one parent unit. This model permits two basic types of relationships, namely:
One to one: Here one record at one level of hierarchy is related to only one record at next level.
One to Many: This relation emphasizes on one record at a level can be related to one or more than one record should be parent record not child.
To understand this model, we can take example of Database Consisting Customer, order and items data. A customer can have many orders, and an order can have items. This relation can be illustrated as:
These related using common characteristics. The graphic representation of this model is follows:
The draw backs of this model are:
This is not flexible enough to represent all the relationships which exist in the real world. It cannot be designed easily and cannot demonstrate over all Data Model for the enterprise as the actual data will not be available at the time of designing the model. We cannot represents many to many relationship. We cannot add/insert a dependent record without a parent entry. Deleting a parent record-deletes all the descendant records.
It is quite similar to hierarchical model, but has slight improvements. Here we can have multiple Parent-Child Relationships i.e. many to many relationship can b e represented. When designing this model one has to establish relations between records at the time of creation of database. This model helps in rapid and easy access the data, as we have multiple access paths to this records. Let is look at the same example to understand this model. The database consisting of customer, order, item, warehouse etc., we can represent this relation as follows:
Here the item is also connected to warehouse, therefore we can either access to through customer or through warehouse.
This model is currently the most popular one in DBMS as it conceptually simple and understandable. This model has its birth when Mr. E.F. codd Published the paper titled “A Relational Model of Data for Large Shared Databases” in June 1970 in the “Communication of ACM”. A trend for vigorous and extensive investigation started which resulted in the development of Relational Database management Systems (RDBMS).
This model Removed the Explicit parent child relationships as it is based on a two dimensional method of organizing data, known as table or relation. These relations are used to show, how the data items are related to each other logically. Here, the table consists of row and columns. Let us look at following example to understand this model.
Entity: It is the name of object, person, thing or any other element which has a role to play in an organisation and has its relevance.
Example: Order, Cheque, Customer etc.
Entity Identifier: It is the name with which the entity is identified.
Attributes: These are the properties of the entity, with which it if described. These are those properties which are of importance to the organisation. They form the fields or columns of the table, so that they can describe the entity.
Tupule: Tupules are rows/records of the table. A Tupule gives the total set of properties/attributes of an entity, which can be used to describe it.
Domain: Domain is the set of values which make up a column.
Primary Key: It is that column of the table, using which one can know all other fields. It is always unique and not null. On this key, all other keys (Columns) are dependent. A table can have only one Primary Key.
Every relation has the following major components:
Name: It is represented by title or the entity identifier.
Degree: It is number of columns associated with a table. This property is used to describe the total number of columns a table consists.
Cardinality: This is the number of row in any given table. Thus, using these three components we can define the relation/table.
The most striking feature of this relational data model is that the data structure is a representation of association between Tupules, which is solely represented by the data values in a column. This characteristics of relational database makes it a fact that all the Information in the Database, both entities and relationships are represented in a single uniform manner.
Thus, this model removes total complexity and is very easy to work with.