After conducting extensive research on the Relational Model of database systems, Dr. Edgar F. Codd developed twelve rules that, in his opinion, a database must adhere to in order to be considered a true relational database.(Codd proposed 13 rules popularly known as Codd’s 12 rules to test DBMS’s concept against his relational model. )
Any database management system that only uses its relational capabilities to manage stored data is subject to these rules. This is a foundational rule that serves as the cornerstone for all the others.
Rule 0: The Foundation Rule
A relational database must be used. so that the system’s relational capabilities can handle the database.
Rule 1: Information Rule
A database contains a variety of data, and each cell of a table in the form of rows and columns must be used to store this data.
Rule 2: Guaranteed Access Rule
A relational database’s primary key value, table name, and column name can be used in combination to logically access every single or precise piece of data (atomic value).
Rule 3: Systematic Treatment of Null Values
The fully relational DBMS supports null values (different from an empty character string, a string of blank characters, and zero or any other number) for systemically representing missing information and information that isn’t applicable, regardless of data type.
Rule 4: Active/Dynamic Online Catalog based on the relational model
A database dictionary is a representation of the entire logical structure of the descriptive database that needs to be kept online. It uses a similar query language to access the database and grants users permission to do so.
Rule 5: Comprehensive Data SubLanguage Rule
The relational database supports a number of different languages, but if we want to access the database, the language must be explicit, linear, or well-defined in terms of syntax, and character strings, and support a wide range of operations, including data definition, view definition, data manipulation, and integrity constraints. It is a violation of the database’s rules if access to the data is permitted without the use of any language.
Rule 6: View Updating Rule
All views that are theoretically updatable are also updatable by the system.
Rule 7: Relational Level Operation (High-Level Insert, Update and delete) Rule
High-level relational operations like insert, update, and delete should be followed by a database system at each level or for a single row. Additionally, the database system supports union, intersection, and minus operations.
Rule 8: Physical Data Independence Rule
This rule emphasizes the importance of separating the logical schema from the physical schema of a database, meaning that the way data is organized and accessed should be independent of the physical storage details of that data. This allows for easier maintenance and scalability of the database system without disrupting the applications that rely on it.
Rule 9: Logical Data Independence Rule
It is comparable to the independence of physical data. This means that changes to the logical level (table structures) shouldn’t have an impact on the user’s view (application). For instance, if a table is split into two tables or two tables are joined to form one table, the user view application shouldn’t be affected by these changes.
Rule 10: Integrity Independence Rule
A database needs to be independent of the software it supports. Its integrity constraints can all be independently changed without requiring any application changes. A database becomes independent of the front-end application and its interface thanks to this rule.
Rule 11: Distribution Independence Rule
The distribution of the data across different locations must be hidden from the end user. The data should never give users the impression that it is spread across multiple sites. Distributed database systems have been said to be built on this rule.
Rule 12: Non-Subversion Rule
RDBMS is a SQL language that is used to store and manipulate data in databases, according to the non-submersion rule. A system shouldn’t subvert or bypass integrity to transform data if it uses a separate or low-level language in addition to SQL to access the database system.
Note: also read about Enhanced ER Diagram
Follow Me
Please follow me to read my latest post on programming and technology if you like my post.
https://www.instagram.com/coderz.py/
https://www.facebook.com/coderz.py
Staying up to the mark is what defines me. Hi all! I’m Rabecca Fatima a keen learner, great enthusiast, ready to take new challenges as stepping stones towards flying colors.
Leave a Comment