您的位置:首页 > 数据库

简单说一下数据库设计应遵循的范式

2010-05-02 17:43 232 查看
我们都知道遵循一些数据库范式,能够保证我们的数据库更加高效,不易出错,减少冗余,下面就用几个浅显易懂的例子简单介绍一下数据库设计的几个范式:

我们在图书馆有以下一组记录

书名书编号价格作者一作者二借书人城市街道
范式一的原则:

1,每一条记录的不同字段不应该包含同一类型的数据。上面表中的作者一与作者二与这条规则相冲突,应该将作者独立成另外一张表。

2,每个字段只包含一个值。比如,我们不能把一本书的所有作者名称放在一个字段中。

3,每一条记录均需要有一个主键值。

根据范式一,我们要将上表拆分为2个表

表1:书名,书编号(主键),价格,借书人,城市,街道

表2,作者(主键),书编号

范式二的原则:

在范式一的基础上,将各条记录中可能会有冗余的字段独立出来,比如书名,书编号,价格是一组会重复出现的数据,故应该独立出来,还有借书人信息。经改进后:

表1:书编号,借书人编号

表2:书编号,书名,价格

表3:借书人编号,借书人,城市,街道

表4:作者,书编号

基本上符合范式二的设计已经可以了,若要更严格数据的冗余,可遵循范式三:将那些不依赖于主键,而是依赖于其它字段的信息放到另外一张表中,比如街道依赖于城市,可将表3拆分如下:

表3:借书人编号,借书人,街道编号

表5:街道编号,街道名,城市编号

表6:城市编号,城市名

也没时间去翻阅数据库理论书籍了,不知道以上我对范式的理解是否正确.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: