Codd规则是什么?程序员都应该掌握了解

Codd规则,又称为Codd定律,是由13条规则组成,用于确定DBMS是否可以被视为关系DBMS(RDBMS)的先决条件。简单来说,它是用来评估DBMS(数据库管理系统)是否为关系DBMS的标准方法。下面我们就来具体介绍一下Codd的13条规则是什么,希望对大家有所帮助。

Codd规则是什么?程序员都应该掌握了解

什么是关系DBMS?

关系DBMS(RDBMS),即关系数据库管理系统,是专为关系数据库设计的DBMS。它具有基于行的表结构,用于连接相关的数据元素,并包含维护数据安全性,准确性,完整性和一致性的功能。

说明:关系数据库是指使用行和列以结构化格式存储数据的数据库,具有关系结构;因此每个表中的值彼此相关,表也可能与其他表有关。关系结构使得可以一次跨多个表运行查询。

Codd规则是什么?程序员都应该掌握了解

Codd的13条规则

Codd的13条规则定义了一个理想的关系数据库,它被用作当今设计关系数据库系统的指南。下面我们就来看看这13条规则:

1、基础规则:

要使系统有资格成为RDBMS,该系统必须符合关系、数据库和管理系统的要求,必须能够通过关系功能来完全管理数据库。

2、信息规则:

数据库中的所有信息(可能是用户数据或元数据)必须以一种逻辑方式来表示(即,作为表中的值),行和列必须严格无序。

3、保证访问规则:

保证每个数据元素(值)都可以通过表名,主键(行值)和属性名(列值)的组合进行逻辑访问。

4、空值(NULL值)的系统化处理:

DBMS必须支持空值,允许每个字段可能为空;以系统方式表示缺失信息和不适用的信息,并且独立于数据类型。

5、基于关系模型的动态在线目录:

数据库系统必须支持授权用户通过其常规查询语言访问的在线,内联关系目录。

也就是说,用户必须能够使用他们用来访问数据库数据的相同查询语言来访问数据库的结构(目录)。

6、综合数据子语言规则:

数据库系统必须至少支持一种关系语言,且具有以下特征:

1)、具有线性语法

2)、可以交互使用,也可以在应用程序中使用,

3)、支持数据定义作(包括视图定义),数据操作(更新和检索),安全性和完整性约束以及事务管理操作(开始,提交和回滚)。

7、视图更新规则:

可以使用称为视图的不同逻辑组合来完成数据表示。理论上可更新的所有视图也必须由系统更新。

8、关系级别操作(插入,更新和删除):

每个关系级别都必须有Insert,Delete,Update操作,且系统必须支持一次设置插入,更新和删除操作符。这意味着可以从由多行和/或多个表构成的数据集中的关系数据库中检索数据。

此规则指出任何可检索集都应支持插入,更新和删除操作,而不是仅支持单个表中的单个行。

9、物理数据独立性:

物理级别的更改(数据的存储方式,无论是数组还是链表等)都不得对外部应用程序访问数据的方式产生任何影响,不得要求根据结构更改应用程序。

10、逻辑数据独立性:

数据库中的逻辑数据必须独立于其用户的视图(应用程序)。在逻辑级别(表,列,行等)上进行的更改影响不得使用它的应用程序。

例:如果将表拆分为两个表,则新视图应该将结果作为两个表的连接。

注:这条规则最难以满足,逻辑数据独立性比物理数据独立性更难实现。

11、完整性独立性:

必须定义完整性约束并将其与应用程序分开。必须有可能在适当时更改此类约束,而不会对现有应用程序产生不必要的影响。

12、分发独立性:

数据库的各部分,分布到的各个位置都应该对数据库的用户不可见;且无论数据库在网络中的分布如何,数据库都应正常工作。最终用户应该得到一个存储在同一个地方的印象。这奠定了分布式数据库的基础。

13、非转换规则:

如果允许对系统进行低级语言的访问,则它不应该破坏或绕过高级语言的完整性规则来更改数据。这可以通过某种查找或加密来实现。

Codd规则是什么?程序员都应该掌握了解

想学习PHP的朋友,我为大家准备了一套精品PHP中高级进阶学习教程,还可加入大牛学习圈子,分享tp,laravel,swoole,swoft微服务、SQL性能优化,分布式、高并发等教程,各种大牛都是3-8年PHP开发者,还有每天都有课程讲解,助你进阶中高级PHP程序员,增值涨薪!获取方法点击下方文章链接即可!

全套laravel框架、ThinkPHP框架全套教程分享,PHP程序员福利!

PHP开发三年只懂增删改查?那是你没有规划好php学习路线

相关推荐