A database or a databank is an application where data can be stored and retrieved quickly. It is also important to know how the data is stored and organized in a database. Database mainly refers to a relational database, indeed a Relational Database Management System (RDBMS). Collection of data items that are structured as a group of officially defined tables from which data can be retrieved in various ways without having to restructure the database tables is known as Relational Database. In relational database, the complete data is stored in tables. The structure of these tables is similar to the spreadsheet, and the tables are related to each other using the one-to-one, one-to-many, or many-to-many relationships.
As stated by Harrington (2009), in mathematical set theory, a relation is the definition of a table with columns (attributes), and rows (tuples), and the word table is used synonymously with relation in a relational data model. The major benefit of RDBMS is that it establishes and uses the relationships naturally and easily. Relational database is needed because it is easy to maintain, and access. It is easy to install and provides a very flexible reporting facility. In an organization, relational database is required in terms of disaster recovery. Many mobile phone companies and banks use relational databases to store customer contacts.
Another advantage of RDBMS is to provide quick results while comparing information, as the data arrangement is achieved through the columns in the table. One of the principal objectives of relational database is to ensure each item of data is held once within the database (Ritchie, 2002). A few familiar applications that support the relational model are, SQL Server from Microsoft, MySQL, Oracle Database from Oracle Corporation, and the open-source database system, Postgres. A good database designer can design a good relational database without a glitch and apply it on any product that does not require a relational database.
Database developers design databases that are flexible in organizing and handling data, while guaranteeing the precision of data all through the database, and this process is known as Normalization. Normalization can be approached either by an ER diagram, or by using theoretical concepts behind good design to create the relations (Harrington, 2009). Data redundancy in a database is decreased through Normalization. Normalization is a multi-stage process that uses a fundamental concept, and the result of each of these stages is called the normal form; successive stages produce greater degree of Normalization (Ritchie, 2002). A database can be normalized to a certain level and Normal forms help in measuring them.
There are seven normal forms and the most common normal forms are the First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF). Goals of Normalization are to arrange data into coherent groups and ensure every group has some function to perform, minimize duplicate data (ensuring data is atomic), and maintain data integrity in storage. Data normalization is needed in areas where transactions are rapid, and where the data modifications such as insert, delete, and update functions happen quickly all through the stored data. As stated by Harrington (2009), the capability of handling a base relation or a derived relation as a single operand applies not only to the data retrieval but also to the insertion, update and deletion of data.
As the process of Normalization involves removing problems in a relation by disintegrating it into separate relations, the motive of decomposition should not result in loss of information, and may require additional information to be provided while building new tables. A database is said to be normal form when all the tables in the database are in normal form. If a relational database is in 3NF, then it is considered to be normalized as the tables in 3NF are free of irregularities such as insert, update and delete.
The logical database design is the arrangement of data and relations between portions of information that are not similar. The implementation of these relations and structures is unknown. There is no information about how these structures and relations are implemented. The logical data model is a universal relational representation in the normal forms that substitutes many-to-many relationships with inter-related entities, and defines a complete population of entities. In physical database design the logical data model is converted into SQL statements that describe the database. It is a very easy process to convert a logical data model to physical database in relational database system. A physical database design displays the structure of the table that includes column name, data type, constraints, primary and foreign key, and association between tables; however, the logical database design defines the data in depth without considering its physical implementation in the database.
The most commonly used language for interacting with RDBMS is SQL that has been accepted throughout the world as a standard manipulation language (Harrington, 2009). SQL users need not worry about the procedure of achieving a task. SQL users must only identify what should be done to achieve the task. SQL is considered to be user friendly and allows users to retrieve data easily. Individual relational database systems use slightly different dialects of SQL syntax and naming rules; hence SQL is considered to be user friendly as it allows the users to recover data and create important data with slight effort (Teorey, Lightstone, Nadeau, and Jagadish 2010). Common RDMBS that use SQL are Oracle, Microsoft SQL Server, Ingres, Oracle, and Microsoft Access. Through SQL the user can specify logical criterion that identifies rows to be affected, and then tells DBMS to find the rows for you (Harrington, 2009). SQL also provides tractability to users by assisting shared (running databases on many computers in network) databases at the same time.
Harrington, Jan L. (2009). Relational Database Design and Implementation: Clearly Explained.
3rd ed, Revised. Morgan Kaufmann. Print.
Ritchie, Colin. (2002). Relational Database Principles. Illustrated. Cengage Learning EMEA.
Teorey, Toby J. Lightstone, Sam S. Nadeau, Tom. Jagadish, H.V., (2010). Database Modeling
and Design: Logical Design, 4th Ed, Academic Press. Print.