数据库范式练习题
本文档主要介绍了数据库范式的概念和实践,旨在帮助读者理解数据库设计的基本原则和方法。
一、数据库范式的概念
数据库范式是指数据库设计中遵守的一些基本规则和原则,以确保数据库的正确性、完整性和一致性。数据库范式包括第一范式、第二范式、第三范式等, each having its own set of rules and constraints.
二、第一范式(1NF)
第一范式要求每一个元组的每个分量必须是不可分割的数据项。换言之,每个属性都不能再被分解为更小的独立单元。例如,一个学生的姓名不能被分解为姓和名两个独立的属性。
三、第二范式(2NF)
第二范式要求关系不仅满足第一范式,而且所有非主属性完全依赖于其主码。这意味着,一个关系的每个非主属性都必须依赖于主键,否则该关系不满足第二范式。
四、第三范式(3NF)
第三范式要求关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。这意味着,一个关系的每个非主属性都不能依赖于其他非主属性,而只能依赖于主键。
五、实践练习
练习 1:某信息一览表如下,是否满足 3NF?若不满足,请将其化为符合 3NF 的关系。
解答:该关系不满足 3NF,因为考场情况和成绩两张表的主键都是考生编号,但它们之间存在传递依赖关系。可以将其化为符合 3NF 的关系:
考生情况(考生编号,姓名,性别,考生学校)
考场情况(考场号,考场地点)
考场分配(考生编号,考场号)
成绩(考生编号,考试成绩,学分)
练习 2:某信息一览表如下,是否满足 3NF?若不满足,请将其化为符合 3NF 的关系。
解答:该关系不满足 3NF,因为配件关系和供应商关系之间存在传递依赖关系。可以将其化为符合 3NF 的关系:
配件关系(配件编号,配件名称,型号规格)
供应商关系(供应商名称,供应商地址)
配件库存关系(配件编号,供应商名称,单价,库存量)
练习 3:简述满足 1NF、2NF 和 3NF 的基本条件。并完成下题:已知教学关系,教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于 3NF,请把它规范到 3NF。
解答:该关系的主键是学号,属于 2NF,因为所有非主属性完全依赖于主键学号。但是,该关系不满足 3NF,因为系名和系主任之间存在传递依赖关系。可以将其化为符合 3NF 的关系:
教学关系(学号,姓名,年龄,性别,课程名,成绩)
系关系(系名,系主任)
练习 4、5:请确定下列关系的关键字、范式等级;若不属于 3NF,则将其化为 3NF。
解答:见练习答案中所示。
1