12 Codd 规则17 Mar 2025 | 4 分钟阅读 每个数据库都有表,约束不能称为关系数据库系统。而如果一个数据库只有关系数据模型,那它就不是一个关系数据库系统 (RDBMS)。所以,一些规则定义了一个数据库是否为正确的 RDBMS。这些规则是由Dr. Edgar F. Codd (E.F. Codd) 于1985 年制定的,他对数据库的关系模型有着渊博的研究知识。Codd 提出了他的 13 条规则来测试数据库是否符合他的关系模型,如果一个数据库遵循这些规则,它就被称为真正关系数据库 (RDBMS)。这 13 条规则在 RDBMS 中非常流行,被称为Codd 的 12 条规则。 ![]() 规则 0:基础规则数据库必须是关系形式的。这样系统才能通过其关系能力来处理数据库。 规则 1:信息规则数据库包含各种信息,这些信息必须以行和列的形式存储在表的每个单元格中。 规则 2:保证访问规则通过主键值、表名和列名的组合,可以在关系数据库中逻辑地访问每个单独或精确的数据(原子值)。 规则 3:Null 值的系统化处理此规则定义了数据库记录中 Null 值的系统化处理。Null 值在数据库中有各种含义,例如缺少数据、单元格中没有值、不恰当的信息、未知数据,并且主键不应为 Null。 规则 4:基于关系模型的活动/动态在线目录它表示描述性数据库的整个逻辑结构必须在线存储,并称为数据库字典。它授权用户访问数据库并实现类似的查询语言来访问数据库。 规则 5:全面的数据子语言规则关系数据库支持多种语言,如果我们想访问数据库,该语言必须具有显式、线性或定义良好的语法,是字符字符串,并支持全面的:数据定义、视图定义、数据操作、完整性约束和事务管理限制操作。如果数据库允许在没有语言的情况下访问数据,则被视为违反数据库。 规则 6:视图更新规则所有视图表在理论上都可以更新,并且数据库系统必须在实践中能够更新。 规则 7:关系级操作(高级插入、更新和删除)规则数据库系统应在每个级别或单行中遵循高级关系操作,如插入、更新和删除。它还支持数据库系统中的并集、交集和差集操作。 规则 8:物理数据独立性规则数据库中的所有存储数据或应用程序必须在物理上独立,以便访问数据库。每个数据不应依赖于其他数据或应用程序。如果更新数据或更改数据库的物理结构,将不会对访问数据库数据的外部应用程序产生任何影响。 规则 9:逻辑数据独立性规则这与物理数据独立性类似。这意味着,如果逻辑级别(表结构)发生任何更改,都不应影响用户的视图(应用程序)。例如,如果一个表被拆分成两个表,或者两个表被连接成一个表,这些更改不应影响用户视图应用程序。 规则 10:完整性独立性规则数据库在通过 SQL 查询语言将数据插入表单元格时,必须保持完整性独立性。所有输入的值不应被更改或依赖于任何外部因素或应用程序来维持完整性。这也有助于使数据库独立于每个前端应用程序。 规则 11:分发独立性规则分发独立性规则表示数据库即使存储在不同位置并由不同的最终用户使用,也必须正常工作。假设用户通过应用程序访问数据库;在这种情况下,他们不应该意识到另一个用户正在使用某些数据,并且他们始终获取的数据只位于一个站点上。最终用户可以访问数据库,并且这些访问的数据对于每个执行 SQL 查询的用户都应该是独立的。 规则 12:非颠覆规则非颠覆规则将 RDBMS 定义为一种使用 SQL 语言来存储和操作数据库数据的系统。如果一个系统除了 SQL 之外还有低级或独立语言来访问数据库系统,那么它不应该颠覆或绕过完整性来转换数据。 下一个主题SQL EXCEPT |
我们请求您订阅我们的新闻通讯以获取最新更新。