2、属性分组,
L类:F中仅出现左部的属性; R类:F中仅出现右部的属性;
LR类:F中既出现在左部又出现在右部的属性; N类:不出现在F中的属性。
3、若A为L类属性或者N类属性,则A必是构成码的属性,即码的成员。
4、考察L类和N类属性,设X为L类属性和N类属性的并,如果X→U,则X是R的码,且是唯一码。
5、如果X∥ →U,或X为Ф,则需依照码的定义逐个考察LR类属性,将LR类逐个并到X中,确定是不是码(按照定义求解)
6、R类属性为非主属性,不是码的成员。
四、会判断范式级别:三个步骤(表的关键字——属性间的依赖关系——不同级别的范式要求——判断结果),要求掌握1NF、2NF、3NF、BCNF(函数依赖范围内的范式)
1NF:关系模式的基本要求,关系模式的都需要符合1NF,1NF规定关系实例中每个元组分量的取值必须是原子值。
2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。
例:SLC(Sno, Sdept, Sloc, Cno, Grade) ∈1NF
SLC(Sno, Sdept, Sloc, Cno, Grade) ∈2NF SC(Sno, Cno, Grade) ∈ 2NF SL(Sno, Sdept, Sloc)∈ 2NF
第三范式(3NF) 任一关系均可实现既无损连接又保持函数依赖的3NF分解,算法如下: 给定R(U,F),(1)求解F的最小函数依赖集G (2)求出R的所有码
(3)分组;按左部相同的原则,将G中的函数依赖分组,设为F1,F2,?Fk, F1,F2,?Fk中出现的属性各为R1,R2,?Rk。
(4)吸收;在R1,R2,?Rk中,若存在Ri包含Rj,则Ri吸收Rj。
(5)若R1,R2,?Rk中有一个包含码,则R1,R2,?Rk为R的既无损连接又保持函数依赖的3NF分解,若R1,R2,?Rk均不包含R的码,则添加R的码为一个关系模式Rk+1, R1,R2,?Rk, Rk+1为R的既无损连接又保持函数依赖的3NF分解。算法结束。 BCNF的分解须满足下列两点:
1、分解后的所有关系须是满足BCNF的;
2、可由分解后的关系实例重建原始的关系实例(无损连接性) 算法:
(1)R(U,F)不满足BCNF, 则在F中必定找到一个X?Y, X不是R的码, 且Y不包含于X, 令R1=X, R2=X+(U- X), 以(R1, R2)替代R;
(2)按函数依赖集投影的方法计算F在R1、R2的投影F1、F2;
(3)判断R1、R2是否满足BCNF,如满足,则分解结束,若不满足,回到(1)。
+
+
一、填空
1、数据库的关系模型及其理论是由 在 年提出的。
2、R表有5行6列,S表有3行4列,则R×S的结果有 行 列。 三、简答
试述数据库设计的基本步骤 四、关系运算 已知关系R和S
A B C D C D E 2 b c d c d m 9 a e f c d n 2 b e f d d n 9 a d e 7 g e f 7 g c d 1.ΠC,D(σ2.R??S 3.R÷S
五、以下给出三个基本表
Student(学生表)的字段按顺序为学号、姓名、性别、年龄、所属院系; Course(课程表)的字段按顺序为课程编号、课程名、先行课程、课程学分; SC(选课表)的字段按顺序为学号、课程号、成绩。各表的部分记录如下:
StudentSno95001950029500395004Sname李勇刘晨王明张立Ssex男女女男Sage20191819SCA>5
(R))
SdeptCSISMAISCno12323Grade9285889080CourseCnoCname1数据库2数学3信息系统4操作系统5数据结构6数据处理7PASCALCpno51676Ccredit4243424Sno95001950019500195002950031.写出创建学生表Student的SQL命令,各字段的类型及长度应根据实际情况确定。其中学号属性不能为空,并且其值是唯一的。
2.创建“Ccredit>=3”的课程表的视图,并写出删除此视图的T-SQL语句。 3、检索出选课人数在20人以上的各个课程号及课程名。
4、将课程表(C)中“Ccredit”的值为“2”的记录找出,修改其值为“2.5”。 六、、找出关系模式的主码,判断每个模式所属的范式级别,并说明原因 1. R(ABCD) F={B?D,D?B,AB?C} 主码AB或AD,是3NF
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据库复习大纲(3)在线全文阅读。
相关推荐: