Edgar F Codd是一位计算机科学家,他发明了数据库管理的关系模型。他还为关系数据库以及关系数据库管理系统创建了基础。
Codd的十二个规则定义了被认为是关系数据库管理系统所需的特征,即关系数据库管理系统。
为了使任何系统都具有关系数据库管理系统的资格,它应使用其关系功能来管理其数据。
所有信息(包括元数据)在表中使用行和列表示。行和列必须严格无序。
应该使用表名,主键和列名的组合来访问数据库中的所有值。(根据该规则,使用指针直接访问数据的能力无效)。
数据库中完全支持NULL值,用于以系统的方式表示缺少数据或无效数据。NULL值与数据类型无关,对它们的任何操作都必须返回NULL。
目录是数据库的完整描述。它在线存储,并在数据库上提供其他信息。在数据库上使用的查询语言也在目录上使用。
关系数据库可以支持多种语言。但是,至少应该有一种语言可以提供所有类型的数据访问,数据操作等。一种这样的语言是SQL。
理论上所有可更新的观点也应由系统更新。
就单个操作数而言,应该可以进行插入,删除和更新。此功能必须在所有关系级别上都可用。
对系统的物理更改,例如存储空间的更改,访问方法的更改等,不应影响应用程序和系统的其他活动。
即使逻辑结构发生更改,关系数据库的用户视图也应保持一致。这个规则很难满足。
关系数据库特有的完整性约束应使用该数据库的语言进行定义,并存储在目录中。此规则意味着关系DBMS不依赖于前端。
即使数据库中的数据分布在多个位置,最终用户也应该将数据库视为统一的实体。另外,即使数据库分布在网络中,它也应该可以正常工作。
如果关系数据库允许进行低级访问,则它不应能够破坏完整性约束并绕过安全性来更改数据。