数据库规范化.ppt
《数据库规范化.ppt》由会员分享,可在线阅读,更多相关《数据库规范化.ppt(62页珍藏版)》请在优知文库上搜索。
1、例1:有一关系模式:供应商(供应商编号、供应商名称,供应商地址,供应商电话,供货名称,供货单价);一个供应商可以供应多种货物,同一种货物也可以由多个供应商供应;1. 写出该关系模式的函数依赖集F ?2. 评价该关系模式,并举例说明是否存在下列问题数据冗余 ;更新异常;插入异常 ;删除异常 3. 如何改造该关系模式?关系模式关系模式TCSTCS(T T,C C,S S),),一个教师可以讲授多门课程,一门课程可以为多个教一个教师可以讲授多门课程,一门课程可以为多个教师讲授,师讲授,同样一个学生可以选听多门课程,一门课程可以为多同样一个学生可以选听多门课程,一门课程可以为多个学生选听,个学生选听,
2、(T,C,S)(T,C,S)三个属性的组合是码,三个属性的组合是码,T,C,ST,C,S都是主属性,而无都是主属性,而无非主属性,所以也就不可能存在非主属性对码的部分非主属性,所以也就不可能存在非主属性对码的部分函数依赖,函数依赖,TCSTCS 2NF2NF。经以上分析,可以得到两个结论:经以上分析,可以得到两个结论:1 1从从1NF1NF关系中消除非主属性对码的部分函数依赖,关系中消除非主属性对码的部分函数依赖,则可得到则可得到2NF2NF关系。关系。2 2如果如果R R的码为单属性,或的码为单属性,或R R的全体属性均为主属性,的全体属性均为主属性,则则R R 2NF2NF。 2nf分解方
3、法(1)用组成主键的属性集合的每一个子集作为主键构成一个表。(2)将依赖于这些主键的属性放置到相应的表中。(3)最后去掉只由主键的子集构成的表。 分解S-C-D表 (1)将该表分解为如下的三张表(下划线部分表示主键):SD(Sno,)C(Cno,)SC(Sno, Cno,)分解S-C-D表(续) (2)将依赖于这些主键的属性放置到相应的表中,形成如下三张表: SD(Sno,Sn, Age, Dept, MN) C(Cno) SC(Sno, Cno, Score) (3)去掉只由主键的子集构成的表,也就是去掉C(Cno)表。SCD关系模式最终被分解的形式为: SD(Sno,Sn, Age, De
4、pt, MN) SC(Sno, Cno, Score)分解后的函数依赖关系分解后的关系模式的函数依赖关系: SD:SnofDept,SnofSn SnofAge, SnofMn 是是2NF SC:(Sno, Cno)fSCORE:是:是2NF SD(SNO,SN,AGE,DEPTSD(SNO,SN,AGE,DEPT,MN)MN),描述学生实体;,描述学生实体; SC(SNO,CNO,SCORE)SC(SNO,CNO,SCORE),描述学生与课程的联系。,描述学生与课程的联系。SNOSNOSNSNAGEAGEDEPTDEPTMNMNS1S1赵亦赵亦1717计算机计算机刘伟刘伟S2S2钱尔钱尔18
5、18信息信息王平王平S3S3孙珊孙珊2020信息信息王平王平S4S4李思李思2121自动化自动化刘伟刘伟SCSC SNOSNOCNOCNOSCORESCORES1S1C1C19090S1S1C2C28585S2S2C5C55757S2S2C6C68080S2S2C7C7 S2S2C5C57070S3S3C1C10 0S3S3C2C27070S3S3C4C48585S4S4C1C19393关系关系SDSD和和SCSC SD例例将将SD(SNO,SN,AGE,DEPT,MN)规范到规范到3NF。 分析分析SD的属性组成,可以判断,关系的属性组成,可以判断,关系SD实际上描述了实际上描述了两个实体:
6、两个实体: 一个为学生实体,属性有一个为学生实体,属性有SNO,SN,AGE,DEPT; 另一个是系的实体,其属性另一个是系的实体,其属性DEPT和和MN。分解办法分解办法(1)对于不是候选码的每个决定因子,从表中删去依赖于它的)对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性。所有属性。(2)新建一个表,新表中包含原表中所有依赖于该决定因子的)新建一个表,新表中包含原表中所有依赖于该决定因子的属性。属性。(3)将决定因子作为新表的主码。)将决定因子作为新表的主码。根据分解的原则,我们可以将根据分解的原则,我们可以将SD分解成如下两个关系,如图所分解成如下两个关系,如图所示。示。 S
7、(SNO,SN,AGE,DEPT),描述学生实体;,描述学生实体; D(DEPT,MN),描述系的实体。,描述系的实体。S DSNOSNOSNSNAGEAGEDEPTDEPT DEPTDEPTMNMNS1S1赵亦赵亦1717计算机计算机 计算机计算机刘伟刘伟S2S2钱尔钱尔1818信息信息 信息信息王平王平S3S3孙珊孙珊2020信息信息 自动化自动化刘伟刘伟S4S4李思李思2121自动化自动化 对于分解后的两个关系对于分解后的两个关系S S和和D D,主键分别为,主键分别为SNOSNO和和DEPTDEPT,不存在非主属性对主键的传递函数依赖。因此,不存在非主属性对主键的传递函数依赖。因此,S
8、 S 3NF3NF,D D 3NF3NF。关系关系S S和和D D 属于3NF的关系模式一定是好模式?仓库号仓库号设备号设备号职工号职工号C1C1M1M1W1W1C1C1M2M2W1W1C1C1M3M3W2W2C1C1M4M4W2W2C2C2M5M5W3W3C3C3M6M6W4W4例例1:建立一个描述仓库管理的关系模式:建立一个描述仓库管理的关系模式 管理(仓库号,设备号,职工号)管理(仓库号,设备号,职工号) 3NF 语义:一个仓库有若干职工,一个职工仅在一个仓库工作语义:一个仓库有若干职工,一个职工仅在一个仓库工作 一个仓库可存放多种设备,一种设备可放在多个仓库一个仓库可存放多种设备,一种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 规范化