关系数据库的模式设计习题及答案样本

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理之关系数据库模式设计课后习题及答案4.1名词解释

(1)函数依赖:FD(function dependency),设关于系模式R(U),X,Y是U子集,r是R 任一详细关系,如果对r任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R一种函数依赖。

(2) 函数依赖逻辑蕴涵:设F是关系模式R一种函数依赖集,X,Y是R属性子集,如果从F中函数依赖可以推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。

(3) 某些函数依赖:即局部依赖,对于一种函数依赖W→A,如果存在X W(X包括于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全依赖。

(4)完全函数依赖:见上。

(5) 传递依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y),A X (A不属于X),那么称Y→A是传递依赖。

(6) 函数依赖集F闭包F+:被逻辑蕴涵函数依赖全体构成集合,称为F闭包(closure),记为F+。

(7) 1NF:第一范式。如果关系模式R所有属性值域中每一种值都是不可再分解值,则称R是属于第一范式模式。如果某个数据库模式都是第一范式,则称该数据库存模式属于第一范式数据库模式。第一范式模式规定属性值不可再分裂成更小某些,即属性项不能是属性组合和组属性构成。

(8) 2NF:第二范式。如果关系模式R为第一范式,并且R中每一种非主属性完全函数依赖于R某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式,则称该数据库模式属于第二范式数据库模式。(注:如果A是关系模式R候选键一种属性,则称A是R主属性,否则称A是R非主属性。)

(9)3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R

候选键,则称R是第三范式模式。如果某个数据库模式中每个关系模式都是第三范式,

则称为3NF数据库模式。

(10)BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R候选键,那么称R是BCNF模式。

(11) 4NF:第四范式。设R是一种关系模式,D是R上多值依赖集合。如果D中成立非平凡多值依赖X→→Y时,X必是R超键,那么称R是第四范式模式。

(12)推理规则对的性和完备性:对的性是指,如果X→Y是从推理规则推出,那么X→Y 在F+中。完备性是指,不能从F使用推理规则导出函数依赖不在F+中。

(13)依赖集覆盖和等价:关系模式R(U)上两个函数依赖集F和G,如果满足F+=G+,则称F和G是等价。如果F和G等价,则可称F覆盖G或G覆盖F。

(14)最小依赖集:如果函数集合F满足如下三个条件:(1)F中每个函数依赖右部都是单属性;(2)F中任一函数依赖X→A,其F-{X→A}与F是不等价;(3)F中任一函数依赖X→A,Z为X子集,(F-{X→A})∪{Z→A}与F不等价。则称F为最小函数依赖集合,记为Fmin。

(15)无损联接:设R是一关系模式,分解成关系模式ρ={R1,R2...,Rk},F是R上一种函数依赖集。如果对R中满足F每一种关系r均有r=πR1(r)πR2(r)...πRk(r)则称这个分解相对于F是"无损联接分解"。

(16)保持依赖集:所谓保持依赖就是指关系模式函数依赖集在分解后仍在数据库中保持不变,即关系模式R到ρ={R1,R2,...,R k}分解,使函数依赖集F被F这些R i上投影蕴涵。

(17)多值依赖:设R(U)是属性集U上一种关系模式,X,Y,Z是U子集,并且Z=U-X-Y,用x,y,z分别代表属性集X,Y,Z值,只要r是R关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y在关系模式R中成立。

4.2 关系模式R有n个属性,在模式R上也许成立函数依赖有多少个?其中平

凡函数依赖有多少个?非平凡函数依赖有多少个?

(要考虑所有也许状况,数学排列组合问题。对于数据库自身而言,本题没多大意义)所有属性互相依赖时,函数依赖最多。

•平凡函数依赖:对于函数依赖X→Y,如果Y X,那么称X→Y是一种“平凡函数依赖”。

4.3 建立关于系、学生、班级、社团等信息一种关系数据库,一种系有若干个专业,每

个专业每年只招一种班,每个班有若干个学生,一种系学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干学生。

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

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

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

描述社团属性有:社团名、成立年份、地点、人数、学生参加某社团年份。

请给出关系模式,写出每个关系模式最小函数依赖集,指出与否存在传递函数依赖,对于函数依赖左部是多属性状况,讨论函数依赖是完全函数依赖还是某些函数依赖。指出各关系候选键、外部键,有无全键存在?

各关系模式如下:

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

班级(班级号,专业名,系名,人数,入校年份)

系(系名,系号,系办公地点,人数)

社团(社团名,成立年份,地点,人数)

加入社团(社团名,学号,学生参加社团年份)

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

●“学生”关系最小函数依赖集为:

Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区}

●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区

●候选键是学号,外部键是班级号,系名。

notice:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y),A不属于X,那么称Y→A是传递依赖。

班级(班级号,专业名,系名,人数,入校年份)

●“班级”关系最小函数依赖集为:

Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级号→专业名}

(假设没有相似系,不同系中专业名可以相似)

●以上关系模式中不存在传递函数依赖。

●“(系名,专业名)→班级号”是完全函数依赖。

●候选键是(系名,专业名),班级号,外部键是系名。

系(系名,系号,系办公地点,人数)

●“系”关系最小函数依赖集为:Fmin={系号→系名,系名→系办公地点,系名→人数,系名→系号}

●以上关系模式中不存在传递函数依赖

●候选键是系名,系号

社团(社团名,成立年份,地点,人数)

●“社团”关系最小函数依赖集为:Fmin={社团名→成立年份,社团名→地点,社团名→人数)

●以上关系模式中不存在传递函数依赖。

●候选键是社团名

相关文档
最新文档