科德十二定律
目录
科德十二定律
Codd 的十二条规则是由数据库关系模型的先驱 Edgar F. Codd 提出的一组十三个规则(编号为 0 到 12),旨在定义数据库管理系统的要求,以便它能够 被认为是关系型的,即关系型数据库管理系统 (RDBMS)。 它们有时被称为科德十二诫。
规则
规则 0:基础规则:
对于任何被宣传为或声称是关系数据库管理系统的系统,该系统必须能够完全通过其关系功能来管理数据库。
规则 1:信息规则:
关系数据库中的所有信息都在逻辑级别上以一种完全相同的方式明确表示 – 通过表中的值。
规则 2:保证访问规则:
借助表名、主键值和列名的组合,保证关系数据库中的每个数据(原子值)在逻辑上是可访问的。
规则 3:空值的系统处理:
全关系型 DBMS 支持空值(区别于空字符串或一串空白字符,区别于零或任何其他数字),用于以系统的方式表示缺失信息和不适用的信息,与数据类型无关。
规则 4:基于关系模型的动态在线目录:
数据库描述以与普通数据相同的方式在逻辑级别表示,因此授权用户可以将相同的关系语言应用于其查询,就像他们应用于常规数据一样。
规则 5:综合数据子语言规则:
关系系统可能支持多种语言和多种终端使用模式(例如,填空模式)。 但是,必须至少有一种语言,根据一些定义明确的语法,其语句可以表达为字符串,并且能够全面支持以下所有项目:
- 数据定义。
- 查看定义。
- 数据操作(交互式和程序)。
- 完整性约束。
- 授权。
- 事务边界(开始、提交和回滚)。
规则 6:视图更新规则:
所有理论上可更新的视图也可由系统更新。
规则 7:关系操作规则/可能用于高级插入、更新和删除:
将基本关系或派生关系作为单个操作数处理的能力不仅适用于数据的检索,还适用于数据的插入、更新和删除。
规则 8:物理数据独立性:
无论何时在存储表示或访问方法中进行任何更改,应用程序和终端活动在逻辑上都不会受到损害。
规则 9:逻辑数据独立性:
当对基表进行理论上允许未损坏的任何类型的信息保存更改时,应用程序和终端活动在逻辑上保持未损坏。
![科德十二定律](http://map.s-jl.com/wp-content/uploads/sites/14/2024/09/20240928002357-66f74c9d5b26e.png)
规则 10:完整性独立性:
特定于特定关系数据库的完整性约束必须可以在关系数据子语言中定义,并且可以存储在目录中,而不是应用程序中。
规则 11:分配独立性:
最终用户不能看到数据分布在不同的位置。 用户应该始终得到数据仅位于一个站点的印象。
规则 12:不可颠覆规则:
如果关系系统具有低级(一次一条记录)语言,则该低级不能用于破坏或绕过高级关系语言(一次多条记录)中表达的完整性规则和约束 -一次)。