数据库系统6_规范化_第1页
数据库系统6_规范化_第2页
数据库系统6_规范化_第3页
数据库系统6_规范化_第4页
数据库系统6_规范化_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南方医科大学信息技术系2006规范化v关系设计原则关系设计原则v规范化过程规范化过程南方医科大学信息技术系20061、关系设计原则v为了得到一个结构良好的关系:为了得到一个结构良好的关系:每个函数依赖关系的决定因子都必须是候选键对于违反上述原则的关系,应该将其分解成两个或多个符合该原则的关系。南方医科大学信息技术系2006v规范化就是对关系进行检查,直至规范化就是对关系进行检查,直至使其结构完善的过程。使其结构完善的过程。v对一个规范化关系执行行插入,删对一个规范化关系执行行插入,删除和修改操作不会引起更新异常。除和修改操作不会引起更新异常。南方医科大学信息技术系2006规范化举例1vStud

2、entNum(StudentName,AdviserID,Adviser, Department, Phone)vAdviserID ( Adviser, Department , Phone)v分解成:分解成:vAdviser(AdviserID , Adviser, Department , Phone)vStudent(StudentNum,StudentName,AdviserID)南方医科大学信息技术系2006规范化举例2v(StudentID, StudentName, DormName, DormCost)v(StudentID) (StudentName, DormName,

3、DormCost)v(DormName) (DormCost) v分解成:分解成:v(StudentID,StudentName, DormName)v(DormName, DormCost)南方医科大学信息技术系2006规范化举例3v(AttorneyID,ClientID, ClientName, MeetingDate, Duration)v(AttorneyID, ClientID ) (ClientName, MeetingDate, Duration)v(ClientID) (ClientName) v分解成:分解成:v(AttorneyID,ClientID) (MeetingD

4、ate, Duration)v(ClientID) (ClientName) 南方医科大学信息技术系20062、规范化的过程(1)确定关系的所有候选键)确定关系的所有候选键(2)确定关系中的函数依赖关系)确定关系中的函数依赖关系(3)检查函数依赖关系的决定因子。)检查函数依赖关系的决定因子。如果存在决定因子不是候选键,则如果存在决定因子不是候选键,则关系存在规范化问题,按下面方法关系存在规范化问题,按下面方法进行:进行:南方医科大学信息技术系2006v在它们的新关系中放置具有函数依赖关系的列v让函数依赖关系的决定因子成为新关系的主键v将决定因子的副本作为原始关系中的外键v在新关系和原始关系中创

5、建参照完整性约束(4)根据需要,重复执行步骤)根据需要,重复执行步骤3,直,直至每个决定因子都是候选键至每个决定因子都是候选键南方医科大学信息技术系2006规范化过程举例vPRESCRIPTION(PrescriptionNum,Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail)v规定一个处方只针对一个人,但每规定一个处方只针对一个人,但每个人可以有多个处方。个人可以有多个处方。南方医科大学信息技术系2006步骤1:确定候选键vPrescriptionNum决定了决定了Date,Drug, Dosage,由于只对一人有效,同样可决由于只对一

6、人有效,同样可决定定CustomName,CustomPhone, CustomEmailv只有一个候选键只有一个候选键PrescriptionNumPRESCRIPTION(PrescriptionNum,Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail)南方医科大学信息技术系2006步骤2:确定函数依赖关系vPrescriptionNum(Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail)vDrug Dosage vCustomEmail (CustomName, CustomPho

7、ne)南方医科大学信息技术系2006步骤3:检查决定因子是否为候选键v将函数依赖关系放到新关系中,决将函数依赖关系放到新关系中,决定因子作为新关系的主键定因子作为新关系的主键CUSTOMER(CustomName,CustomPhone,CustomEmail)南方医科大学信息技术系2006v决定因子用作原关系的外键决定因子用作原关系的外键PRESCRIPTION(PrescriptionNum,Date,Drug,Dosage, CustomEmail)v创建参照完整性约束创建参照完整性约束PRESCRIPTION中的CustomEmail值在CUSTOMER表的CustomEmail中必须

8、存在对应项南方医科大学信息技术系2006步骤4v根据需要,重复执行步骤根据需要,重复执行步骤3,直至每,直至每个决定因子都是候选键个决定因子都是候选键南方医科大学信息技术系2006非规范化举例例:在关系模式例:在关系模式 学生成绩单学生成绩单(学号学号,英语英语,数学数学,语文语文,平均平均成绩成绩) 中存在下列函数依赖:中存在下列函数依赖: 学号学号 (英语英语,数学数学,语文语文,平均成绩平均成绩) (英语英语, 数学数学, 语文语文)平均成绩平均成绩南方医科大学信息技术系2006虽然平均成绩可以由其他属性推算出虽然平均成绩可以由其他属性推算出来,但如果应用中需要经常查询学来,但如果应用中

9、需要经常查询学生的平均成绩,为提高效率,我们生的平均成绩,为提高效率,我们仍然可保留该冗余数据,对关系模仍然可保留该冗余数据,对关系模式不再做进一步分解。式不再做进一步分解。南方医科大学信息技术系2006v现有一个商品现有一个商品-供应实体,供应实体,描述某个商场的商品被多描述某个商场的商品被多个供应商的供应情况,每个供应商的供应情况,每次交易都有一个订单。次交易都有一个订单。v为这个实体创建一个关系,为这个实体创建一个关系,用下划线标识主键。用下划线标识主键。 v这个关系是否存在规范化这个关系是否存在规范化问题,如果有,写出规范问题,如果有,写出规范化的主要步骤,列出参照化的主要步骤,列出参

10、照完整性约束。外键用波浪完整性约束。外键用波浪线表示。线表示。 SbIDSbNameSbDateTimeSptIDSptNameSptAdrSptPhonePdtIDPdtNameSbID is identifierSupport-Product供应单号供应单名称供应单发布时间供应商编号供应商名称供应商地址供应商电话商品编号商品名称南方医科大学信息技术系2006vSupport-Product(SbID, SbName, SbDateTime, SptID, SptName, SptAdr, SptPhone, PdtID, PdtName),表的主键是,表的主键是SbID,即,即实体的标识符。实体的标识符。南方医科大学信息技术系2006v(1)分析得出,关系分析得出,关系Support-Product的唯一的唯一候选键是候选键是SbID。v(2)确定所有的函数依赖关系:确定所有的函数依赖关系:v SbID (SbName, SbDateTime)v SptID (SptName, SptAdr, SptPhone)v PdtID (PdtName)v(3) SptName和和PdtName是决定因子但不是是决定因子但不是候选键,因此候选键,因此Support-Product存在规范化存在规范化问题,则根椐

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论