目录:
定义-Codd规则是什么意思?
Codd的规则是指EF Codd在1969-1970年制定的一组13条数据库管理系统规则(0-12)。 他将这些规则设计为将数据库管理系统(DBMS)视为关系数据库管理系统(RDBMS)的前提条件。 尽管该规则最初并未在商业用途中广泛使用,但后来的DBMS是基于Codd的规则。 科德的规则也称为科德定律,科德的12条规则或科德的12条诫命。
Techopedia解释了Codd的规则
CODD的12条规则定义了理想的关系数据库,它被用作当今设计关系数据库系统的指南。 尽管没有商业数据库系统完全符合所有12条规则,但它们确实解释了关系方法。 以下是CODD的12条规则:规则0:基础规则:该系统必须既有关系又有资格作为数据库和管理系统。 规则1:信息规则:数据库中的所有信息都必须以一种且仅一种方式(即,作为表中的值)表示。 规则2:保证访问规则:应该通过表名,主键值和列名的组合在逻辑上访问所有数据。 规则3:空值的系统处理:DBMS必须支持空值,以独立于数据类型的系统方式表示丢失的信息和不适用的信息。 规则4:基于关系模型的活动在线目录:数据库必须支持在线关系目录,授权用户可以通过其常规查询语言访问它们。 规则5:全面的数据子语言规则:数据库必须至少支持定义线性语法功能,支持数据定义和操作,数据完整性和数据库事务控制的一种语言。 规则6:视图更新规则:可以使用称为视图的不同逻辑组合来完成数据表示。 理论上所有可更新的视图也必须由系统更新。 规则7:高级插入,更新和删除:系统必须支持一次设置插入,更新和删除运算符。 规则8:物理数据独立性:物理级别的更改不得影响并且要求在应用程序中进行更改。 规则9:逻辑数据独立性:逻辑级别上的更改不得影响并且要求在应用程序中进行更改。 规则10:完整性独立性:必须定义完整性约束并将其与应用程序分开。 必须允许更改约束而不影响应用程序。 规则11:分发独立性:用户应该不知道数据库位置,即数据库是否分布在多个位置。 规则12:非颠覆规则:如果系统提供了一种低级语言,则应该没有办法颠覆或绕过高级语言的完整性规则。 在所有规则中,规则3最具争议。 这是由于有关三值或三元逻辑的争论。 Codd的规则和SQL使用三元逻辑,其中null用于表示丢失的数据,并将任何内容与null进行比较都会得出未知的真实状态。 但是,当布尔值或操作数都为false时,该操作为false;否则为false。 因此,并非所有丢失的数据都是未知的,因此引起了争议。