May 18, 2014 by Ozgur Ozden
Relational data model first proposed by a person named E.F. Codd of IBM in 1970. It was a brilliant suggestion by then which roughly can be explained as set of tables consist of many rows. Each row is called “Tuple” and contains information and each row describes an attribute, Coronel (2011, p. 36). This was a very nicely constructed visual description of a database after Hierarchical and Network data model. An example of a table can be seen below.
Table defines the structure of the object. It can be regarded as two dimensional data field specific for an entity. Table is collection of data about an entity. This entity can be a customer, student, paycheck or any extension of real life. Rows represent the data and the columns represents the attribute related to this entity. There is a special column or columns in each table called “primary key” that uniquely identify a row like student ID, employer ID, product ID etc… In the above table Item_No is very suitable to be chosen as primary key because it is unique. Item_No 001 gives us the information that item is an IPOD with a price of 250 with a storage of 16GB in white color. Sometimes it might be difficult to decide on the primary key, in these cases two column can be used as primary key. Primary key is also very useful to link the tables and when a primary key is used in another table it is called as “foreign key”. By using a foreign key we simply establish a relationship between these two tables without rewriting the information. As a rule called Referential Integrity these foreign keys must not point to empty or unmatched values.
There is a parent child relationship between these tables. This relation can be One to One (1:1) which means that for every row in table 1 there is at least one row corresponds in table 2, One to Many (1:M) which means that for every row in table 1 there are many rows corresponds in table 2 and finally in Many to Many (M:N) which means that for many rows in table 1 there are many rows corresponds in table 2.
Data type is the description, classification of the data stored in an attribute. This can be a character, integer, boolean, date etc… It is very important to choose the suitable data type for the attribute.
Relational databases accomplish following points.
It organizes the information in the system
It increase the performance and the speed of the database.
Information can be accessed by parts instead of whole.
Easier to search the database.
It saves space, duplication or duplicated information, redundancy is removed from the system this optimizes the cost of the system.
1- Coronel, C., Morris, S. & Rob, P. (2011), Database Systems: Design, Implementation, and Management, 9th Ed., Boston, MA: Course Technology, Cengage Learning.
2- W. H. Freeman (1992) Foundations of Computer Science, [online]Available at: http://infolab.stanford.edu/~ullman/focs/ch08.pdf [Accessed at 7.9.2013]
3- Lecture notes, Phil Trinder, [online] Available at:
http://www.macs.hw.ac.uk/~trinder/DbInfSystems/3-RelModel.pdf [Accessed at 7.9.2013]
4- Fundamentals of Relational Database Design,Paul Litwin (?) [online] Available at: http://www.deeptraining.com/litwin/dbdesign/fundamentalsofrelationaldatabasedesign.aspx [Accessed at 7.9.2013]