主题:新手问个关于第三范式的问题
alpha118
[专家分:0] 发布于 2006-03-09 10:39:00
新手问个关于第三范式的问题:
第三范式是:若关系模式R属于1NF,且每个非主属性都不传递依赖于R的候选关键字,则称R属于第三范式。
这里的主属性是指键的属性,而不是任何键的属性就是非主属性
可否理解为非主属性不做外键?
各位大哥大姐有什么好的理解方法可否告诉我啊?
谢谢
回复列表 (共1个回复)
沙发
zhangheng77 [专家分:5510] 发布于 2006-03-10 12:26:00
我觉得不式这样理解的,看个例子:
假定学生关系表为Student(学号, 姓名, 年龄, 所在学院, 学院地点, 学院电话),关键字为单一关键字"学号",因为存在如下决定关系:
(学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
这个数据库是符合2NF的,但是不符合3NF,因为存在如下决定关系:
(学号) → (所在学院) → (学院地点, 学院电话)
即存在非关键字段"学院地点"、"学院电话"对关键字段"学号"的传递函数依赖。
它也会存在数据冗余、更新异常、插入异常和删除异常的情况,读者可自行分析得知。
把学生关系表分为如下两个表:
学生:(学号, 姓名, 年龄, 所在学院);
学院:(学院, 地点, 电话)。
这样的数据库表是符合第三范式的
我来回复