Codd十二条法则

来源:互联网 发布:java 9到30的阶乘 编辑:程序博客网 时间:2024/05/02 01:12
Codd十二条法则
D B M S应该遵循C o d d提出的十二条法则,才能被分类到完全关系型:
1)信息法则。信息表现为贮存在单元中的数据,正如前面所讨论过的,将V I N作为一个
单个的列使用,违反了这条规则。
2)授权存取法则。每一个数据项必须通过一个“表名+行主键+列名”的组合形式访问。
例如,如果你能用数组或指针访问一个列,就违反这条规则。
3)必须以一致的方式使用空值。如果由于缺少数字值,空值( N u l l)被当作0来处理,
或者由于缺少字符值而被当作一个空格处理,那么它就违反了这条规则。空值仅仅是指缺少
数据而且没有任何数值。如果缺少的数据需要值,软件提供商通常提供使用缺省值的能力满
足这一目的。
4)一个活跃的、在线数据字典应作为关系型表被存储,并且该字典应该可以通过常规的
数据存取语言访问。如果数据字典的任何部分贮存在操作系统文件里,就违反了这条规则。
5)除了可能的低级存取例程外,数据存取语言必须提供所有的存取方式,并且是存取的
仅有方式。如果你能通过一个实用程序而不是一个S Q L接口来存取支持一个表的文件,就有
可能违反了本规则。参见规则1 2。
6)所有能被更新的视图应当是可更新的。例如,如果你能将三个表连结起来,作为一个
视图的基础,但却不能更新这个视图,则违反本规则。
6计计第一部分计数据库管理的原则
下载
7)必须有集合级的插入、更新和删除。目前,大多数R D B M S提供商都在某种程度上提
供了这种能力。
8)物理数据的独立性。应用不能依赖于物理结构,如果一个支持某表的文件从一张盘移
动到其他盘上或重新命名,不应该对应用产生影响。
9)逻辑数据的独立性。应用不应依赖于逻辑结构。如果一个表必须被分成两个部分,那
么应该提供一个视图,以把两段连接在一起,以便不会对应用产生影响。
1 0)完整性的独立性。完整性规则应该贮存在数据字典中。主键约束、外键约束、检查
约束、触发器等等都应该贮存在数据字典中。
11)分布独立性。一个数据库即使被分布,也应该能继续工作。这是规则8的一个扩展,
一个数据库不仅能在一个系统(本地地)分布,也能在通过系统的网络(远程地)分布。
1 2)非破坏性法则。如果允许低级存取,一定不能绕过安全性或完整性规则,这些规则
是常规的数据存取语言所遵守的,例如,一个备份或载入工具不能绕过验证、约束和锁来备
份或载入数据。然而,软件供应商出于速度的原因,通常提供这些功能。那么,数据库系统
管理员就有责任确保数据的安全性和完整性,如果瞬间出现问题,应该立即恢复。例如当载
入V L D B时,可以临时禁止并重新打开约束检查。
0 0
原创粉丝点击