范式简介:
数据库规范化的过程非常著名,所以有正式的规则来保证规范化数据库的建设。这些规则有七条,叫做范
式,而在大多数情况下头四条就够用了:
第一范式(1NF)——这条规则有几个要求,包括:无多值项目(multivalued item)和重复组(repeating
group);每个字段都是原子型的(atomic),也就是说每个字段必须包含可能的最小数据元素;以及表格含
有关键字(key)。
第二范式(2NF)——表格必须按照1NF来规范化。所有的字段必须引用(或者描述)主键值。如果主键基于
一个以上的字段,plex key),而不仅仅是一个没有键的字段。
不支持主键的nonkey字段应该被移动到另一个表格里去。
第三范式(3NF)——表格必须符合1NF和2NF的要求。所有的字段都必须相互独立。任何描述nonkey字段的
字段都必须被移动到另一个表格里。
Boyce-Codd范式(BCNF)——一定不能存在依赖于nonkey的字段。这条规则实际上是3NF的一个子规则,用
于捕捉可能会通过进程的依赖性。这一点相当的抽象,一开始是很难应用的。
以上的规则很精确,但是技术定义以及规范化的规则能够被简化成下面几点:
每个字段必须尽量小。
每个字段只能包含一个数据项目。
每条记录都必须是唯一的。
注意重复的条目。
每个字段都必须完全支持主键,而且只支持主键。
RDBMS:
RDBMS包括了数据以及管理这些数据的接口工具。这意味着使用这个系统你就不需要其它工具来添
加、删除、更新以及观看数据。你所需要的所有东西这个系统都有。这个系统还包括元数据(metadata):对
保存数据本身的描述。
file:///C|/Users/kj/Desktop/[2010/12/22 22:36:28]
为什么使用关系型数据库:
消除冗余数据。
消除数据间的不一致性。
保护数据的完整性。
第一范式:
1NF的要求是:
多值字段(multivalued field)必须要被移动到另一个表格里。
每个字段必须是原子型的(atomic),或者说要尽量地小。
每个字段都必须有一个关键字(key).
重复的值必须要被移动到另一个表格里。
我将要使用的简单表格是用来保存一些书目信息的。到目前为止,这个Books表格有下面这些字段:
{Title, Author, ISBN, Price, Publisher, Category}
将多值字段移动到另一个表格
应用1NF的第一步是确保表格没有包含多值字段,从定义可知它能够保存一个以上可能的条目。我们最开始
的清单有两个可能会违反这一规则的地方:Author(作者)和Category(分类)。许多书都有多个作者,所以
Author字段就会出问题。类似的,一本书可以被归入多个类别。例如《金银岛(Treasure Island)》可以被
归为儿童读物、冒险类、经典类,以及其他类等等。
file:///C|/Users/kj/Desktop/[2010/12/22 22:36:28]
更正这个
关系数据库 来自淘豆网www.taodocs.com转载请标明出处.