数据库逻辑结构设计.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库逻辑结构设计 该系列计划包括5部分:完整性约束理论及应用、范式理论及应用、需求分 析、概念结构设计、逻辑结构设计。本文是第五部分,介绍逻辑结构设计的内容, 包括E-R 图向关系模型的转换、数据模型的优化、用户子模式的设计等问题。 1.逻辑设计概述 概念结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库 环境已经给定(如SQL Server或Oracel或MySql),本文讨论从概念结构向逻 辑结构的转换问题。 由于目前使用的数据库基本上都是关系数据库,因此首先需要将E-R 图转换 为关系模型,然后根据具体DBMS 的特点和限制转换为特定的DBMS支持下的数据 模型,最后进行优化。 2.E-R 图向关系模型的转换 2.1 一个例子 E-R 图如何转换为关系模型呢?我们先看一个例子。 图2.1是学生和班级的E-R 图,学生与班级构成多对一的联系。根据实际应 用,我们可以做出这个简单例子的关系模式: 学生(学号,姓名,班级) 班级(编号,名称) “学生.班级”为外键,参照“班级.编号”取值。 这个例子我们是凭经验转换的,那么里面有什么规律呢?在2.2节,我们将 这些经验总结成一些规则,以供转换使用。 2.2 转换规则 (1) 一个实体型转换为一个关系模式 一般E-R 图中的一个实体转换为一个关系模式,实体的属性就是关系的属性, 实体的码就是关系的码。 (2) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应 的关系模式合并。 图2.2是一个一对一联系的例子。根据规则(2),有三种转换方式。 联系单独作为一个关系模式 此时联系本身的属性,以及与该联系相连的实体的码均作为关系的属性,可 以选择与该联系相连的任一实体的码属性作为该关系的码。结果如下: 职工(工号,姓名) 产品(产品号,产品名) 负责(工号,产品号) 其中“负责”这个关系的码可以是工号,也可以是产品号。 ) 与职工端合并 职工(工号,姓名,产品号) 产品(产品号,产品名) 其中“职工.产品号”为外码。 i) 与产品端合并 职工(工号,姓名) 产品(产品号,产品名,负责人工号) 其中“产品.负责人工号”为外码。 (3) 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关 系模式合并。 (i)若单独作为一个关系模式 此时该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体 的码。该关系的码为n端实体的主属性。 顾客(顾客号,姓名) 订单(订单号,……) 订货(顾客号,订单号) (ii) 与n端合并 顾客(顾客号,姓名) 订单(订单号,……,顾客号) (4) 一个m:n联系可以转换为一个独立的关系模式。 该关系的属性包括联系自身的属性,以及与联系相连的实体的属性。各实体 的码组成关系码或关系码的一部分。 教师(教师号,姓名) 学生(学号,姓名) 教授(教师号,学号) (5) 一个多元联系可以转换为一个独立的关系模式。 与该多元联系相连的各实体的码,以及联系本身的属性均转换为关系的属性, 各实体的码组成关系的码或关系码的一部分。 (6) 具有相同码的关系模式可以合并。 (7) 有些 1:n 的联系,将属性合并到 n 端后,该属性也作为主码的一部分 这类问题多出现在聚集类的联系中,且部分实体的码只能在某一个整体中作 为码,而在全部整体中不能作为码的情况下才出现 (其它情况本人还没碰到,呵 呵,欢迎指教) 比如上篇文章介绍的管理信息系统中订单与订单细节的联系 关于什么是聚集,2.3 节介绍 2.3 数据抽象的分类 这部分本应在概念设计中介绍的,用到了才想起来,这里补充一下 关于现实世界的抽象,一般分为三类: 分类:即对象值与型之间的联系,可以用“is member of”判定 如张英、王平都是学生,他们与“学生”之间构成分类关系

文档评论(0)

137****2078 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档