规范化练习

  • 格式:doc
  • 大小:151.00 KB
  • 文档页数:12

设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。

设一个学生可以选多门课程,一门课程可以被多名学生选。

一个学生有唯一的所在系,每门课程有唯一的课程名和学分。

请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。

答:候选码:(学号,课程号)是第一范式。

但有:学号-->姓名,因此存在部分函数依赖(学号,课程号)p-->姓名,因此不是第三范式。

第三范式关系模式:学生(学号,姓名,所在系,性别)课程(课程号,课程名,学分)考试(学号,课程号,成绩),学号为引用学生的外键,课程号为引用课程的外键。

设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。

请指出此关系模式的候选码,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。

答:候选码:学号属于第二范式。

但有:学号—>班号,班号—>班主任,因此存在传递函数依赖:学号传递—>班主任。

第三范式关系模式:学生(学号,姓名,所在系,班号),班号为引用班的外键,所在系为引用系的外键。

班(班号,班主任)系(系名,系主任)设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。

指出此关系模式的候选码,判断此关系模式属于第几范式,若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。

答:候选码:(课程号,授课教师号)属于第一范式。

因为有:课程号?课程名,因此存在部分函数依赖关系:(课程号,授课教师号)p—>课程名第三范式关系模式:课程(课程号,课程名,学分)教师(教师号,教师名)授课(课程号,教师号,授课时数),课程号为引用课程的外键,教师号为引用教师的外键。

在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选码是___________,关系模式R (A, B,C,D)属于____________ 。

(B,C) 2NF在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则候选码是__________,关系模式R(D,E,G)属于____________。

(E,G),(D,G) 3NF在关系模式R(A,C,D)中,存在函数依赖关系{ A→C,A→D },则候选码是___________ ,关系模式R(A,C,D)最高可以达到_____________ 。

A BCNF1所示的项目表1,判断其是否满足第一范式的条件,并说明理由。

答:该表不满足第一范式。

因为第一范式满足最低要求的,也就是说只要是一个基本的简单表就满足第一范式。

但是该表中出现了表中有表的情况。

不是一个基本的简单表,也不满足第一范式。

3) 有表3-2所示的项目表2,判断其是否满足第二范式的条件,并说明理由。

答:该表的码为(项目代号,职工代码)函数依赖有项目代号,职员代码→部门(P)职员代码→部门(F)项目代码,职员代码→累计工作时间(F)存在部分函数依赖于码,所以该表不属于第二范式。

4) 有表3-3所示的职员表,判断其是否满足第三范式的条件,并说明理由。

答:该表的码为:职员代码函数依赖有:职员代码→部门,部门负责任代码(F)职员代码→部门,部门→部门负责人代码(F)部门→部门负责人代码(F)存在非主属性组对码的传递函数依赖。

即部门,部门负责人对职员代码的传递函数依赖,所以该表不属于第三范式。

5) 有表3-4所示的项目表3,判断其是否满足第三范式的条件,答:该表的码为:项目代码,职员代码存在的函数依赖关系有:项目代码,职员代码→职员姓名,累计工作时间(P)项目代码,职员代码→累计工作时间(P)职员代码→职员姓名,累计工作时间(F)此表中不存在非主属性组对码的传递函数依赖。

所以该表属于第三范式。

关系模式规范化成BCNF的基本步骤:找出码;2,找出所有的非平凡依赖;3,找出违反BCNF的非平凡依赖;4,依据非平凡依赖就可以分解了消除了部分函数依赖的1NF的关系模式必定是_B______ A. 1NF B. 2NF C. 3NF D. 4NF在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到____ ___ A. 1NF B. 2NF C. 3NF D. 以上三者都不行关系模式STJ(S#,T,J#)中,存在函数依赖:(S#,J#)→T,(S#,T)→J#,T→J#,则_______A关系STJ满足1NF,但不满足2NF B.关系STJ满足2NF,但不满足3NF C.关系STJ满足3NF,但不满足BCNF D.关系STJ满足BCNF,但不满足4NF设有关系模式R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式R的规范化程度最高达到(B )。

A.1NFB.2NFC.3NFD.BCNF设有关系模式R(A,B,C,D),其数据依赖集:F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到( B)。

A.1NFB.2NFC.3NFD.BCNF关系模式中,满足2NF的模式( B)。

A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF关系模式R中的属性全是主属性,则R的最高范式必定是( C)。

A.1NF B.2NF C.3NF D.BCNF消除了部分函数依赖的1NF的关系模式,必定是(B )。

A.1NF B.2NF C.3NF D.BCNF关系模式的候选码可以有1个或多个,而主码有( C)。

A.多个 B.0个 C.1个 D.1个或多个候选码的属性可以有( D)。

A.多个 B.0个 C.1个 D.1个或多个数据库规范化习题数据库规范化习题数据库规范化习题数据库规范化习题一一一一、选择题选择题选择题选择题1. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。

A. 长度不变的 B. 不可分解的 C. 互相关联的 D. 互不相关的2 关系模式中,满足2NF的模式()。

A. 可能是1NF B. 必定是1NF C. 必定是3NF D. 必定是BCNF3.关系模式R中的属性全是主属性,则R的最高范式必定是()。

A. 1NF B. 2NF C. 3NF D. BCNF4消除了部分函数依赖的1NF的关系模式,必定是()。

A. 1NF B. 2NF C. 3NF D. BCNF5.学生表(id,name,sex,age,depart_id,depart_name),存在的函数依赖是id→{name,sex,age,depart_id};dept_id→dept_name,其满足()。

A. 1NF B. 2NF C. 3NF D. BCNF6.设有关系模式R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式R的规范化程度最高达到()。

A. 1NFB. 2NFC. 3NFD. BCNF7设有关系模式R(A,B,C,D),其数据依赖集:F={ (A,B)→C,C→D},则关系模式R的规范化程度最高达到()。

A. 1NF B. 2NF C. 3NF D. BCNF二、填空题1.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于_____________ 。

2.若关系为1NF,且它的每一非主属性都___________________ 候选码,则该关系为2NF。

3.如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选码,则称R为______________ 关系模式。

4.设关系R(U),X,Y∈U,X→Y是R的一个函数依赖,如果存在X′∈X,使X′→Y成立,则称函数依赖X→Y是_________________ 函数依赖。

5.在关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则候选码是_________________,关系模式R(A,B,C,D)属于_____________范式。

6.在关系模式R(D,E,G)中,存在函数依赖关系{E→D,(D,G)→E},则候选码是__________,关系模式R(D,E,G)属于___________范式。

三、解答题2. 已知关系模式R<U,F>,U={A,B,C,D,E},F={B→A,D→A,A→E,AC→B,D→C},求属性集AD的闭包。

3. 建立一个关于系、学生、班级、社团等信息的关系数据库。

一个系有若干个专业,每个专业每年只招一个班,每个班有若干个学生。

一个系的学生住在同一宿舍区。

每个学生可以参加若干个社团,每个社团有若干个学生。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。

描述班级的属性有:班号、专业名、系名、人数、入学年份。

描述系的属性有:系名、系号、系办公室地点、人数。

描述社团的属性有:社团名、成立年份、地点、人数、入会年份。

请设计关系模式,写出每个关系模式的函数依赖集合,并将所有的关系模式转换成BCNF。

1NF->2NF:消除非主属性对码的部分函数依赖2NF->3NF:消除非主属性对码的传递函数依赖3NF->BCNF:消除主属性对码的部分和传递函数依赖例子:下面的依赖都是完全函数依赖:(Sno,Cno)->GradeSno->SdeptSdept->Sloc(Sno,Cno)->Teacher(Sno,Teacher)->CnoTeacher->CnoSno:学号 Cno:课程号 Sdept:院系 Sloc:地址 Teacher:授课教师2NF:S-L-C(Sno,Sdept,Sloc,Cno,Grade)主码:(Sno,Cno),上面的模式不满足2NF,可以如下进行拆分:(Sno,Cno,Grade) (Sno,Sdept,Sloc)3NF:S-D-C(Sno,Sdept,Sloc)主码:Sno上面的模式不满足3NF,可以如下进行拆分(Sno,Sdept) (Sdept,Sloc)BCNF:SCT(Sno,Cno,Teacher)候选码:(Sno,Teacher),(Sno,Cno)上面的模式不满足BCNF,可以进行如下拆分:(Sno,Teacher)(Teacher,Cno)关系数据库规范化理论一个关系数据库由一组关系模式组成,一个关系由一组属性名组成,关系数据库设计就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组织成关系的问题。