Monday, November 30, 2009

Relationships in RDBMS

The relationship in a RDBMS refers to the relation which exists between data of one table and data of another table. There are three kinds of relationships:

1. One to One relationship: In a normalized table, preference should always be given to one-one relationship. This means that a particular column in a table should have a one-to-one relationship with the primary key. In other words, if we know the value of the column we will immediately know the value of the primary key.

2. Many to one or one to many relationship: This refers to the relation between a single primary key and many foreign keys or a single foreign key and many other primary keys. In such relationships, a table is present where each key column of the different tables are included.

3.Many to many relationship - An example of such a relationship is a supplier supplying different parts and a part being supplied by different suppliers. In such cases, a third table is created which will hold the supplier as well as the parts tables’ columns.

What is Normalization: Basics of Relational Databases

Normalization is a design procedure which provides a method for representing data and their relationships precisely in a tabular format that makes database easy to understand and operationally efficient.

Advantages of normalization -

1. Reduced data redundancy - Data redundancy means the repetition of data in a table. This is undesirable since data maintenance becomes a tedious job as more and more records are added to the table.

2.Protection against update and delete anomalies - Update and delete anomalies: The tables which are normalized will contain primary and foreign keys. To maintain data integrity and referential integrity constraints, RDBMS instructs us to insert primary key values into a table at any given point of time but foreign keys can be inserted into any table if and only if the corresponding primary key value is already existing. This helps in maintaining data integrity and referential integrity constraints.

Similarly, with delete anomalies a primary key value will be deleted unconditionally only if any dependencies does not exist for that key.

3.Smaller tables - A table will be split into many smaller tables when it is normalized