您的位置:首页 > 数据库

数据库设计——范式

2015-12-17 17:17 274 查看
第一范式(1NF)

它是否有主码

每一个域的名字是否唯一

数据是否原子性

是否有重复或冗余的域

非原子性的实例:

一个人的全名;一个完整的地址;一个更大数据集的部分数据;

例:

下面哪个数据表不符合第一范式?

TitleFirstnameSurnameFull nameAddressCity
MrTomSmithTom Smith42 Mill StreetLondon
ID[主码]IP Addressusernamelast accessedActivityResultactive
1003[主码]198.168.1.5Smith20081021:14.10Save filesuccessy
ItemID[主码]ProductDescriptionSizeColourColourColour
234ShoeHigh Heel6redbluebrown
4.

StudentID[主码]FirstnameSurnameSchoolID*ClassID*
354TomSmith65F
说明:

表一:不属于1NF,没有定义主码,因此每一条记录不能保证是唯一的。Full name 是冗余的——数据并非原子性,因为它是 Firstname和Surname的简单组合。 表二:至少属于1NF,它有一个主码。数据是原子性的。每一个域都有唯一的名字。没有重复数据。

表三:不属于1NF,它有主码,数据是原子性,但是color域重复了,并且这些域的名字也是相同的!

表四:属于1NF,符合1NF的所有规则

第二范式(2NF)

表必须已经符合第一范式

非关键属性必须依赖主码的每一部分

第三范式(3NF)

它已经是2NF

没有任何非关键属性依赖其他非关键属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: