- 关系数据库设计
- 数据库管理系统 - 数据库规范化
- 数据库管理系统 - 数据库连接
- 存储和文件结构
- 数据库管理系统 - 存储系统
- 数据库管理系统 - 文件结构
- 索引和哈希
- 数据库管理系统 - 索引
- 数据库管理系统 - 哈希
- 备份和恢复
- 数据库管理系统 - 数据备份
- 数据库管理系统 - 数据恢复
- 数据库管理系统有用资源
- 数据库管理系统 - 快速指南
- 数据库管理系统 - 有用资源
- 数据库管理系统 - 讨论
数据库管理系统 - Codd 的十二条规则
Edgar F. Codd 博士在其对关系数据库系统关系模型的广泛研究之后,提出了他自己的十二条规则,他认为数据库必须遵守这些规则才能被认为是真正的关系数据库。
这些规则可以应用于任何仅使用其关系功能管理存储数据的数据库系统。这是一个基础规则,作为所有其他规则的基础。
规则 1:信息规则
存储在数据库中的数据,无论是用户数据还是元数据,都必须是某个表单元格的值。数据库中的所有内容都必须以表格格式存储。
规则 2:保证访问规则
保证每个数据元素(值)都可以通过表名、主键(行值)和属性名(列值)的组合进行逻辑访问。不能使用其他方法,例如指针,来访问数据。
规则 3:NULL 值的系统处理
数据库中的 NULL 值必须进行系统化和统一的处理。这是一个非常重要的规则,因为 NULL 可以解释为以下之一:数据丢失、数据未知或数据不适用。
规则 4:活动在线目录
整个数据库的结构描述必须存储在在线目录中,称为数据字典,授权用户可以访问该目录。用户可以使用与访问数据库本身相同的查询语言来访问目录。
规则 5:综合数据子语言规则
只能使用具有线性语法并支持数据定义、数据操作和事务管理操作的语言来访问数据库。这种语言可以直接使用,也可以通过某些应用程序使用。如果数据库允许在没有任何此类语言帮助的情况下访问数据,则认为这是违规行为。
规则 6:视图更新规则
理论上可以更新的数据库的所有视图都必须由系统可更新。
规则 7:高级插入、更新和删除规则
数据库必须支持高级插入、更新和删除。这不能仅限于单行,也就是说,它还必须支持并集、交集和差集运算以产生数据集记录。
规则 8:物理数据独立性
存储在数据库中的数据必须独立于访问数据库的应用程序。数据库物理结构的任何更改都不应影响外部应用程序访问数据的方式。
规则 9:逻辑数据独立性
数据库中的逻辑数据必须独立于其用户的视图(应用程序)。逻辑数据的任何更改都不应影响使用它的应用程序。例如,如果合并两个表或将一个表拆分为两个不同的表,则不应影响或更改用户应用程序。这是最难应用的规则之一。
规则 10:完整性独立性
数据库必须独立于使用它的应用程序。所有完整性约束都可以独立修改,而无需对应用程序进行任何更改。此规则使数据库独立于前端应用程序及其界面。
规则 11:分布独立性
最终用户不应能够看到数据分布在各个位置。用户应该始终觉得数据只位于一个站点。此规则被认为是分布式数据库系统的基础。
规则 12:非规避规则
如果系统具有提供对低级记录访问的接口,则该接口不能规避系统并绕过安全性和完整性约束。