- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章 关系数据理论 十、规范化举例
6.2 规范化
例1:设有关系模式R(职工编号,日期,日营业额,部门名, 部门经理),该关系模式统计商店里每个职工的日营业 额,以及职工所在的部门和经理信息。 如果规定:每个职工每天只有一个营业额;每个职工只在一 个部门工作;每个部门只有一个经理。 试回答下列问题: (1)根据上述规定,写出模式R的基本FD和候选码; (2)说明R不是2NF的理由,并把R分解成2NF模式集; (3)进而分解成3NF模式集。 解: (1)基本的FD有3个:(职工编号,日期)→ 日营业额 职工编号 → 部门名 部门名 → 部门经理 R的候选码为(职工编号,日期)。
第六章 关ENT( S#,SName,Term_Address, Faculty, Faculty_Head, UNIT#,Unit_Name,Result ),试将该关系模式分解到3NF。 解:基本FD有4个: S# → SName,Term_Address,Faculty Faculty → Faculty_Head UNIT# → Unit_Name S#,UNIT# → Result 所以码为(S#,UNIT#) 2NF 消除部分依赖 RESULT(S#,UNIT#,Result) UNIT(UNIT#,Unit_Name) STUDENT(S#,SName,Term_Address,Faculty, Faculty_Head) 3NF 消除传递依赖 RESULT关系和UNIT关系同上,而STUDENT分解为: STUDENT(S#,SName,Term_Address,Faculty) FACULTY(Faculty, Faculty_Head) 这样ρ={RESULT, UNIT, STUDENT, FACULTY} 是一个3NF模式集。
第六章 关系数据理论
例4:重做例2
6.3 数据依赖的公理系统
W(U, F),U={C, T, H, R, S, G}, 这些属性分别表示课程 名、任课教师、上课时间、上课教室、学生姓名、成绩, F={CT,CSG,HRC,HTR,HSR}
第六章 关系数据理论
6.3 数据依赖的公理系统
三、求关系模式的候选码
1、方法:求出关系模式R(U, F)的属性集U所有可能的真 子集X关于函数依赖集F的属性集闭包XF+ ,若有U XF+ 且 X的任何一个真子集Y的YF+, 有UYF+, 则X为一候选码。 2、举例 例1:设有关系模式R(U, F),U={A,B,C,D}, F={AB, BC} 求R的所有候选码。 解:AF+={ABC}, BF+={BC}, CF+={C}, DF+={D} (AB)F+=(AC)F+={ABC}, (AD)F+={ABCD}, (BC)F+={BC}, (BD)F+={BCD}, (CD)F+={CD} (ABC)F+={ABC}, (BCD)F+={BCD}, (ACD)F+=(ABD)F+= {ABCD} , 故R只有一个候选码AD
第六章 关系数据理论
6.2 规范化
(2)∵R中存在非主属性“部门名”对码(职工编号,日期) 的部分依赖,所以R不是2NF模式。 R应分解成R1(职工编号,日期,日营业额) R2(职工编号,部门名,部门经理) 这里,R1和R2都是2NF模式。 (3)R1已是3NF模式。 ∵在R2中存在两个FD:职工编号 → 部门名, 部门名 → 部门经理 因此,R2中存在非主属性“部门经理”对码“职工编 号” 的传递依赖,R2不是3NF模式。 将R2分解成R2l(职工编号,部门名) R22(部门名,部门经理) 这样ρ={ R1, R21, R22 }是一个3NF模式集。
第六章 关系数据理论
6.3 数据依赖的公理系统
候选码的求解理论和算法
对于给定的关系R(U, F),可将其属性分为四类: L类:仅出现在函数依赖集F的左部的属性。 R类:仅出现在函数依赖集F的右部的属性。 LR类:在函数依赖集F的左右两边均出现的属性。 N类:在函数依赖集F的左右两边均未出现的属性。 快速求解候选码的一个充分条件: 定理1:对于给定的关系模式R(U, F),若 X(X ∈U)是R的L 类属性,则X必为R的任一候选码中的属性。 例3:设有关系模式R(U, F),U={A, B, C, D},F={D→B, B→D, AD→B, AC→D},求R的所有候选码。 解:考察F发现,A、C两属性是R的L类属性,由定理1可 知,AC必是R的任一候选码中的属性,又∵(AC)关于F的 闭包=ABCD,∴AC是R的唯一候选码。
第六章 关系数据理论
6.3 数据依赖的公理系统
例2:设有关系模式W(U, F),U={C, T, H, R, S, G}, 这些属性 分别表示课程名、任课教师、上课时间、上课教室、 学生姓名、成绩,F={CT,CSG,HRC,HTR,HSR} 求R的所有候选码。 解:CF+={CT},TF+={T},HF+={H},RF+={R},SF+={S},GF+={G} (CT)F+={CT}, (CH)F+={CTHR}, (CR)F+={CTR}, (CS)F+={CTSG}, (CG)F+={CTG}, (TH)F+={THRC}, (TR)F+={TR}, (TS)F+={TS}, (TG)F+={TG}, (HR)F+={HRCT}, (HS)F+={CTHRSG}, (HG)F+={HG}, (RS)F+={RS}, (RG)F+={RG}, (SG)F+={SG}, (CTH)F+=(THR)F+={CTHR}, (CTR)F+={CTR}, (CTS)F+={CTS}, (CTG)F+={CTG}, (THS)F+=(HRS)F+={CTHRSG},(THG)F+=(HRG)F+={THRCG}, (RSG)F+={RSG}, (CTHR)F+={CTHR}, (CTHS)F+=(THRS)F+=(HRSG)F+={CTHRSG}, (CTHG)F+=(THRG)F+={CTHRG}, 故R只有一个候选码HS