Codd's Rules, also known as Codd's Law, are 13 rules that are used to determine whether a DBMS can be considered a prerequisite for a relational DBMS (RDBMS). Simply put, it is a standard method used to evaluate whether a DBMS (database management system) is a relational DBMS. Now let’s introduce in detail what Codd’s 13 rules are. I hope it will be helpful to everyone.
What is a relational DBMS?
Relational DBMS (RDBMS), a relational database management system, is a DBMS designed specifically for relational databases. It has a row-based table structure for connecting related data elements and includes features to maintain data security, accuracy, completeness and consistency.
Description: A relational database refers to a database that uses rows and columns to store data in a structured format, with a relational structure; so the values in each table are related to each other, and the tables may also be related to other tables. The relational structure makes it possible to run queries across multiple tables at once.
Codd’s 13 Rules
Codd’s 13 Rules Define an Ideal Relational Database , which is used as a guide for designing relational database systems today. Let’s take a look at these 13 rules:
1. Basic rules:
For a system to qualify as an RDBMS, the system must comply with relational, database and Management system requirements must be able to fully manage the database through relational functions.
2. Information rules:
All information in the database (which may be user data or metadata) must be represented in a logical way (i.e., as a table ), the rows and columns must be strictly unordered.
3. Guaranteed access rules:
Ensure that each data element (value) can be accessed through the table name, primary key (row value) and attribute name (column value) combination for logical access.
4. Systematic processing of null values (NULL values):
DBMS must support null values and allow each field to be null; express missing values in a systematic way information and not applicable information, and is independent of the data type.
5. Dynamic online catalog based on the relational model:
The database system must support an online, inline relational catalog that is accessed by authorized users through its regular query language.
That is, users must be able to access the structure (catalog) of the database using the same query language they use to access database data.
6. Comprehensive data sub-language rules:
The database system must support at least one relational language and have the following characteristics:
1), Has linear syntax
2), can be used interactively, and can also be used in applications,
3), supports data definition (including view definition), data operations (update and retrieval) , security and integrity constraints and transaction management operations (start, commit and rollback).
7. View update rules:
Data representation can be completed using different logical combinations called views. All views that are theoretically updateable must also be updated by the system.
8. Relationship level operations (insert, update and delete):
Each relationship level must have Insert, Delete, Update operations, and the system must support them once Set insert, update and delete operators. This means that data can be retrieved from a relational database in a dataset consisting of multiple rows and/or multiple tables.
This rule states that any retrievable set should support insert, update, and delete operations, rather than just a single row in a single table.
9. Physical data independence:
Changes at the physical level (how the data is stored, whether it is an array or linked list, etc.) must not access the data by external applications have any impact in a manner that does not require structural changes to the application.
10. Logical data independence:
The logical data in the database must be independent of its user's view (application). Changes made at the logical level (table, column, row, etc.) affect applications that must not use it.
Example: If a table is split into two tables, the new view should have the result as a join of the two tables.
Note: This rule is the most difficult to satisfy. Logical data independence is more difficult to achieve than physical data independence.
11. Integrity independence:
Integrity constraints must be defined and separated from the application. It must be possible to change such constraints when appropriate without unnecessary impact on existing applications.
12. Distribution independence:
Every part of the database and its distributed locations should be invisible to database users; and no matter where the database is in the network Regardless of the distribution, the database should work normally. The end user should get the impression that everything is stored in one place. This lays the foundation for distributed databases.
13. Non-conversion rules:
If low-level language access to the system is allowed, it should not violate or bypass the integrity rules of the high-level language to alter data. This can be achieved through some kind of lookup or encryption.
The above is the entire content of this article, I hope it will be helpful to everyone's study.
The above is the detailed content of What is Codd's rule?. For more information, please follow other related articles on the PHP Chinese website!