Codd的ER模型12条规则


Codd的十二条规则是由Edgar F. Codd提出的一套十三条规则(编号为0到12),Edgar F. Codd是数据库关系模型的先驱,旨在定义数据库管理系统所需的内容以便被认为是关系型的,即关系数据库管理系统(RDBMS)。他们有时被戏称为“哥德十二诫”。
Codd制定了这些规则,以防止原始关系数据库的愿景被稀释,因为数据库供应商在20世纪80年代初争先恐后地用关系符号重新打包现有产品。规则12特别针对这种定位而设计。

规则0:基础规则
对于任何被宣传为或声称为关系数据库管理系统的系统,该系统必须能够完全通过其关系功能来管理数据库。
规则1:信息规则
关系数据库中的所有信息都在逻辑级别以完全统一的一种方式明确表示 - 由表中的值表示。
规则2:保证访问规则
通过使用表名,主键值和列名的组合,可以保证关系数据库中的每个数据(原子值)在逻辑上可访问。
规则3: 对零值的系统处理
完全关系DBMS支持空值null(不同于空字符串或空字符串,不同于零或任何其他数字),用于以系统方式表示缺失信息和不适用信息,与数据类型无关。
规则4: 基于关系模型的动态规则
数据库描述以与普通数据相同的方式在逻辑级别表示,以便授权用户可以将相同的关系语言应用于其询问,因为它们适用于常规数据。
规则5:全面的数据子语言规则
关系系统可以支持多种语言和各种终端使用模式(例如,填空模式)。但是,必须至少有一种语言,其语句可以根据一些明确定义的语法表达为字符串,并且在支持以下所有项目方面是全面的:

  1. 数据定义。
  2. 查看定义。
  3. 数据操作(交互式和程序式)。
  4. 完整性约束。
  5. 授权。
  6. 事务边界(开始,提交和回滚)。

规则6:视图更新规则
理论上可更新的所有视图也可由系统更新。
规则7: 可以进行高级插入,更新和删除
将基本关系或派生关系作为单个操作数处理的能力不仅适用于数据的检索,还适用于数据的插入,更新和删除。
规则8: 物理数据独立性
无论何时在存储表示或访问方法中进行任何更改,应用程序和终端活动在逻辑上都不会受到损害。
规则9: 逻辑数据独立性
当信息保留理论上允许对基表进行不公平的任何类型的改变时,应用程序和终端活动在逻辑上不受损害。
规则10: 诚信独立
特定于特定关系数据库的完整性约束必须在关系数据子语言中定义,并且可以在目录中存储,而不是在应用程序中。
规则11: 分配独立性
最终用户必须无法看到数据分布在不同位置。用户应始终留下数据仅位于一个站点的印象。
规则12:转换规则
如果关系系统具有低级别(一次一个记录)语言,则该低级别不能用于破坏或绕过以更高级别关系语言表达的完整性规则和约束(多个记录在-a时间)。