What is Codd's rules?
Codd's rules refer to a series of 13 database management system rules (0-12) developed by EF Codd in 1969-1970. He designed these rules as a prerequisite for considering a database management system (DBMS) as a relational database management system (RDBMS). Although the rules were initially not widely used in commercial applications, later DBMS were based on Codd's rules. Codd's Rules are also known as Codd's Law, Codd's 12 Rules, or Codd's 12 Commandments.
The 12 rules of CODD define an ideal relational database to be used as a guideline for the design of relational database systems today. Although no commercial database system fully complies with all 12 rules, they interpret the relational approach. Here are the CODD-12 rules: Rule 0: Foundation rule: the system must be considered relational both as a database and as a management system.
Rule 1: The information rule: All information in the database must be presented in a single way (ie as values in a table).
Rule 2: The guaranteed access rule: All data should be logically accessible through a combination of table name, primary key value and column name.
Rule 3: Systematic treatment of null values: A DBMS must support null values to present missing information and incorrect information in a systematic manner regardless of data types.
Rule 4: Active online catalog based on the relational model: The database must support the online relational catalog, which authorized users can access via their normal query language.
Rule 5: The comprehensive data sublanguage Rule: The database must support at least one language that defines linear syntax functionality, supports data definition and manipulation operations, data integrity and database transaction control.
Rule 6: The update rule for views: The display of data can take place with various logical combinations, the views. All views that can theoretically be updated must also be able to be updated by the system.
Rule 7: High-level insert, update and delete: The system must support the insert, update and delete operators set at a time.
Rule 8: Physical data independence: Changes on the physical level must not have any effects on the application program and require a change.
Rule 9: Logical data independence: Changes in the logical level must not have any effects and require a change in the application program.
Rule 10: Integrity independence: Integrity constraints must be defined and separated from the application programs. Changing constraints must be allowed without affecting the applications.
Rule 11: Distribution independence: The user should not be clear about the location of the database, ie whether the database is distributed in multiple locations or not.
Rule 12: The nonsubversion rule: If a system provides low-level language, then there should be no way of undermining and circumventing the constraints of high-level language. Of all the rules, rule 3 is the most controversial. This is due to a debate about trivalent or ternary logic. Codd's rules and SQL use ternary logic, using zero to represent missing data and comparing anything to zero, resulting in an unknown truth state. However, if both boolean values or operands are incorrect, the operation is incorrect. therefore, not all of the data that are missing are unknown, hence the controversy.