数据库系统6_规范化试卷.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南方医科大学信息技术系2006 南方医科大学信息技术系2006 规范化 关系设计原则 规范化过程 南方医科大学信息技术系2006 1、关系设计原则 为了得到一个结构良好的关系: 每个函数依赖关系的决定因子都必须是候选键 对于违反上述原则的关系,应该将其分解成两个或多个符合该原则的关系。 南方医科大学信息技术系2006 规范化就是对关系进行检查,直至使其结构完善的过程。 对一个规范化关系执行行插入,删除和修改操作不会引起更新异常。 南方医科大学信息技术系2006 规范化举例1 StudentNum→(StudentName,AdviserID,Adviser, Department, Phone) AdviserID →( Adviser, Department , Phone) 分解成: Adviser(AdviserID , Adviser, Department , Phone) Student(StudentNum,StudentName,AdviserID) 南方医科大学信息技术系2006 规范化举例2 (StudentID, StudentName, DormName, DormCost) (StudentID) → (StudentName, DormName, DormCost) (DormName) → (DormCost) 分解成: (StudentID,StudentName, DormName) (DormName, DormCost) 南方医科大学信息技术系2006 规范化举例3 (AttorneyID,ClientID, ClientName, MeetingDate, Duration) (AttorneyID, ClientID )→ (ClientName, MeetingDate, Duration) (ClientID) → (ClientName) 分解成: (AttorneyID,ClientID) →(MeetingDate, Duration) (ClientID) → (ClientName) 南方医科大学信息技术系2006 2、规范化的过程 (1)确定关系的所有候选键 (2)确定关系中的函数依赖关系 (3)检查函数依赖关系的决定因子。如果存在决定因子不是候选键,则关系存在规范化问题,按下面方法进行: 南方医科大学信息技术系2006 在它们的新关系中放置具有函数依赖关系的列 让函数依赖关系的决定因子成为新关系的主键 将决定因子的副本作为原始关系中的外键 在新关系和原始关系中创建参照完整性约束 (4)根据需要,重复执行步骤3,直至每个决定因子都是候选键 南方医科大学信息技术系2006 规范化过程举例 PRESCRIPTION(PrescriptionNum,Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail) 规定一个处方只针对一个人,但每个人可以有多个处方。 南方医科大学信息技术系2006 步骤1:确定候选键 PrescriptionNum决定了Date,Drug, Dosage,由于只对一人有效,同样可决定CustomName,CustomPhone, CustomEmail 只有一个候选键PrescriptionNum PRESCRIPTION(PrescriptionNum,Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail) 南方医科大学信息技术系2006 步骤2:确定函数依赖关系 PrescriptionNum→(Date,Drug,Dosage,CustomName,CustomPhone,CustomEmail) Drug → Dosage × CustomEmail →(CustomName, CustomPhone) 南方医科大学信息技术系2006 步骤3:检查决定因子是否为候选键 将函数依赖关系放到新关系中,决定因子作为新关系的主键 CUSTOMER(CustomName,CustomPhone,CustomEmail) 南方医科大学信息技术系2006 决定因子用作原关系的外键 PRESCRIPTION(PrescriptionNum,Date,Drug,Dosage, CustomEmail) 创建参照完整性约束 PRESCRIPTION中的CustomEmail值在CUSTOMER表的CustomEmail中必须存在对应项 南方医科大学信息技术系2006 步骤4 根据需要,重复执行步骤3,直至每个决定因子都是候选键 南方医科大学信息技术系2006 非规范化举例 例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩) 中存在

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档