You get a bonus - 1 coin for daily activity. Now you have 1 coin

Codd's 12+1 rules for relational DBMS

Lecture



Dr. Edgar F. Codd, after extensive research into the relational model of database systems in 1985 developed twelve rules of his own that, in his view, a database must obey in order to be considered a true relational database.

These rules can be applied to any database system that manages stored data using only its relational capabilities. This is the foundational rule that serves as the basis for all the other rules.

Also known as the «Golden Twelve Laws».

Rule 0: Foundation Rule

A relational DBMS must be able to fully manage the database using the relationships between data. To be a relational database management system (DBMS), a system must use exclusively its relational capabilities to manage the database.

Rule 1: Information Rule

Data stored in the database, whether user data or metadata, must be a value in some table cell. Everything in the database must be stored in the form of a table.

Rule 2: Guaranteed Access Rule

Every single data item (value) is guaranteed to be logically accessible using a combination of the table name, primary key (row value), and attribute name (column value). No other means, such as pointers, may be used to access the data.

Rule 3: Systematic Treatment of Null Values

NULL values in the database must be handled systematically and consistently. This is a very important rule, because NULL can be interpreted as one of the following: the data is missing, the data is unknown, or the data is not applicable.

Rule 4: Active Online Catalog

A description of the structure of the entire database must be stored in an online catalog, known as the data dictionary, which authorized users can access. Users can use the same query language to access the catalog that they use to access the database itself.

A relational database management system must support at least one relational language that

(a) has a linear syntax,

(b) can be used both interactively and in application programs,

(c) supports data definition operations, view definition, data manipulation (interactive and programmatic), integrity constraints, access control, and transaction management operations (begin, commit, and rollback).

Rule 5: Comprehensive Data Sublanguage Rule

The database can be accessed only through a language with a linear syntax that supports data definition, data manipulation, and transaction management operations. This language can be used directly or via some application. If the database permits access to data without the aid of this language, that is considered a violation.

Rule 6: View Updating Rule

All views of the database that are theoretically updatable must also be updatable by the system.

Rule 7: High-Level Insert, Update, and Delete Rule

The database must support high-level insertion, update, and deletion. This should not be limited to a single row — it must also support union, intersection, and subtraction operations to obtain sets of data records.

Rule 8: Physical Data Independence

Data stored in the database must not depend on the applications that access the database. Any change to the physical structure of the database must not affect how external applications access the data.

Rule 9: Logical Data Independence

The logical data in the database must not depend on the user's (application's) representation. Any change to the logical data must not affect the applications that use it. For example, if two tables are merged or one is split into two different tables, this must not affect the user application or require changes to it. This is one of the most difficult rules to satisfy.

Rule 10: Integrity Independence

The database must be independent of the application using it. All of its integrity constraints can be changed independently without any changes to the application. This rule makes the database independent of the external application and its interface.

Rule 11: Distribution Independence

The end user must not be able to tell that the data is distributed across different locations. Users should always have the impression that the data resides at a single site only. This rule is considered the foundation of distributed database systems.

Rule 12: Nonsubversion Rule (Language-Level Consistency)

If a system has an interface that provides access to low-level records, that interface must not be able to subvert the system or bypass its security and integrity constraints.

If a low-level data access mechanism is used, it must not ignore the security rules and integrity rules enforced by the higher-level language.

Codds 12+1 rules for relational DBMS

See also

  • relational data
  • [[b4468]]
  • DBMS
  • CRUD
  • [[b8338]]
  • IBM System R
  • [[b4471]]
  • [[b2545]]
  • Transaction isolation levels

See also

Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Databases, knowledge and data warehousing. Big data, DBMS and SQL and noSQL"

Terms: Databases, knowledge and data warehousing. Big data, DBMS and SQL and noSQL