一个完美的、完全符合数据库技术的关系数据库系统,需要满足Codd博士提出的十二条法则:
1)信息法则:关系型数据库的所有信息都被清楚地表示成表汇总的数据,即表行中的列值。
2)授权存储法则:保证关系数据库中的每一个数据项都通过“表名+行主键+列名”的组合形成访问。
3)NULL值的系统处理:DBMS对NULL值英提供系统支持。NULL值并不是零,也不是空白字符串。
4)一个活跃的、在线数据字典应作为关系型表被储存:在逻辑上,数据库的描述及其内容都被表示为表的形式,并能用数据库语言进行查询。
5)必须提供数据存取语言进行存取访问:至少有一种具有严格、统一的语法的语言,该语言必须支持数据定义、视图定义、数据操作、完全性、完整性约束规则、授权和事务处理。
6)视图更新法则:所有理论上能被更新的视图应当是可被系统更新的。
7)集合级的插入、更新和删除:DBMS不仅支持集合级的检索,还应支持集合级的插入、更新和删除操作。
8)物理数据的独立性:应用不依赖物理结构,当数据的存储结构或者物理存取方法改变时,应用程序在逻辑上应不受影响。
9)逻辑数据的独立性:如果一个表被分成两个部分,则应用视图连接在一起,以便不会对应用产生影响。
10)数据完整性的独立性:数据库语言必须能够定义完整性规则,这些完整性规则应该存储在数据字典中。
11)分布独立性:一个数据库即使被分布,也应该能工作。
12)非破坏性原则:如果允许采用低级语言存取数据,则该低级语言一定不能绕过用数据库语言定义的安全性和完整性原则。