Database Management System or DBMS essentially consists of a comprehensive set of application programs that can be leveraged to access, manage and update the data, provided the data is interrelated and profoundly persistent. Just like any management system, the goal of a DBMS is to provide an efficient and convenient environment in which it becomes easy to retrieve and store the information into the database. It goes without mentioning that databases are used to store and manage large amounts of information.
To achieve this, the following are the absolute must-haves:
Dr E.F.Codd, also known to the world as the ‘Father of Database Management Systems’ had propounded 12 rules which are in-fact 13 in number. The rules are numbered from zero to twelve. According to him, a DBMS is fully relational if it abides by all his twelve rules. Till now, only few databases abide by all the eleven rules. His twelve rules are fondly called ‘E.F.Codd’s Twelve Commandments’. His brilliant and seminal research paper ‘A Relational Model of Data for Large Shared Data Banks’ in its entirety is a visual treat to eyes.
There is an unspoken rule in the jargon of Database Management Systems. As the databases that implement all the E.F.Codd’s rules are scare, the unspoken rule has been gaining traction.
Here is brief note on E.F Codd’s Twelve rules:
Rule 0 − Foundation rule
Any relational database management system that is propounded to be RDBMS or advocated to be a RDBMS should be able to manage the stored data in its entirety through its relational capabilities.
Rule 1 − Rule of Information
Relational Databases should store the data in the form of relations. Tables are relations in Relational Database Management Systems. Be it any user defined data or meta-data, it is important to store the value as an entity in the table cells.
Rule 2 − Rule of Guaranteed Access
The use of pointers to access data logically is strictly forbidden. Every data entity which is atomic in nature should be accessed logically by using a right combination of the name of table, primary key represented by a specific row value and column name represented by attribute value.
Rule 3 − Rule of Systematic Null Value Support
Null values are completely supported in relational databases. They should be uniformly considered as ‘missing information’. Null values are independent of any data type. They should not be mistaken for blanks or zeroes or empty strings. Null values can also be interpreted as ‘inapplicable data’ or ‘unknown information.’
Rule 4 − Rule of Active and online relational Catalog
In the Database Management Systems lexicon, ‘metadata’ is the data about the database or the data about the data. The active online catalog that stores the metadata is called ‘Data dictionary’. The so called data dictionary is accessible only by authored users who have the required privileges and the query languages used for accessing the database should be used for accessing the data of data dictionary.
Rule 5 − Rule of Comprehensive Data Sub-language
A single robust language should be able to define integrity constraints, views, data manipulations, transactions and authorizations. If the database allows access to the aforementioned ones, it is violating this rule.
Rule 6 − Rule of Updating Views
Views should reflect the updates of their respective base tables and vice versa. A view is a logical table which shows restricted data. Views generally make the data readable but not modifiable. Views help in data abstraction.
Rule 7 − Rule of Set level insertion, update and deletion
A single operation should be sufficient to retrieve, insert, update and delete the data.
Rule 8 − Rule of Physical Data Independence
Batch and end user operations are logically separated from physical storage and respective access methods.
Rule 9 − Rule of Logical Data Independence
Batch and end users can change the database schema without having to recreate it or recreate the applications built upon it.
Rule 10 − Rule of Integrity Independence
Integrity constraints should be available and stored as metadata in data dictionary and not in the application programs.
Rule 11 − Rule of Distribution Independence
The Data Manipulation Language of the relational system should not be concerned about the physical data storage and no alterations should be required if the physical data is centralized or distributed.
Rule 12 − Rule of Non Subversion
Any row should obey the security and integrity constraints imposed. No special privileges are applicable.
Almost all full scale DBMSs are RDMSs. Oracle implements 11+ rules and so does Sybase. SQL Server also implements 11+ rules while FoxPro implements 7+ rules.