search
HomeDatabaseMysql TutorialWhat is Codd's rule?
What is Codd's rule?Dec 29, 2018 am 11:11 AM
dbms

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 Codd's rule?

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.

What is Codd's rule?

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How do you alter a table in MySQL using the ALTER TABLE statement?How do you alter a table in MySQL using the ALTER TABLE statement?Mar 19, 2025 pm 03:51 PM

The article discusses using MySQL's ALTER TABLE statement to modify tables, including adding/dropping columns, renaming tables/columns, and changing column data types.

How do I configure SSL/TLS encryption for MySQL connections?How do I configure SSL/TLS encryption for MySQL connections?Mar 18, 2025 pm 12:01 PM

Article discusses configuring SSL/TLS encryption for MySQL, including certificate generation and verification. Main issue is using self-signed certificates' security implications.[Character count: 159]

How do you handle large datasets in MySQL?How do you handle large datasets in MySQL?Mar 21, 2025 pm 12:15 PM

Article discusses strategies for handling large datasets in MySQL, including partitioning, sharding, indexing, and query optimization.

What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)?What are some popular MySQL GUI tools (e.g., MySQL Workbench, phpMyAdmin)?Mar 21, 2025 pm 06:28 PM

Article discusses popular MySQL GUI tools like MySQL Workbench and phpMyAdmin, comparing their features and suitability for beginners and advanced users.[159 characters]

How do you drop a table in MySQL using the DROP TABLE statement?How do you drop a table in MySQL using the DROP TABLE statement?Mar 19, 2025 pm 03:52 PM

The article discusses dropping tables in MySQL using the DROP TABLE statement, emphasizing precautions and risks. It highlights that the action is irreversible without backups, detailing recovery methods and potential production environment hazards.

How do you represent relationships using foreign keys?How do you represent relationships using foreign keys?Mar 19, 2025 pm 03:48 PM

Article discusses using foreign keys to represent relationships in databases, focusing on best practices, data integrity, and common pitfalls to avoid.

How do you create indexes on JSON columns?How do you create indexes on JSON columns?Mar 21, 2025 pm 12:13 PM

The article discusses creating indexes on JSON columns in various databases like PostgreSQL, MySQL, and MongoDB to enhance query performance. It explains the syntax and benefits of indexing specific JSON paths, and lists supported database systems.

How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)?How do I secure MySQL against common vulnerabilities (SQL injection, brute-force attacks)?Mar 18, 2025 pm 12:00 PM

Article discusses securing MySQL against SQL injection and brute-force attacks using prepared statements, input validation, and strong password policies.(159 characters)

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)