这道题的第二题数据库整体逻辑结构的逻辑结构设计怎么做啊

VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

}

模型的转换 E-R图如何转换为关系模型呢我们先看一个例子。
图2.1是学生和班级的E-R图学生与班级构成多对一的联系。根据实际应用我们可以做出这个简单例子的关系模式:
学生(学号,姓名班级)
“学生.班级”为外键,参照“班级.编号”取值
这个例子我们是凭经验转换的,那么里面有什么规律呢在2.2節,我们将这些经验总结成一些规则以供转换使用。 (1)一个实体型转换为一个关系模式
一般E-R图中的一个实体转换为一个关系模式实体的屬性就是关系的属性,实体的码就是关系的码
(2)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
图2.2是┅个一对一联系的例子。根据规则(2)有三种转换方式。
(i) 联系单独作为一个关系模式
此时联系本身的属性以及与该联系相连的实体的碼均作为关系的属性,可以选择与该联系相连的任一实体的码属性作为该关系的码结果如下:
产品(产品号,产品名)
其中“负责”这個关系的码可以是工号也可以是产品号。
(ii) 与职工端合并
职工(工号姓名,产品号)
产品(产品号产品名)
其中“职工.产品号”为外碼。
产品(产品号产品名,负责人工号)
其中“产品.负责人工号”为外码
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应嘚关系模式合并
(i) 若单独作为一个关系模式
此时该单独的关系模式的属性包括其自身的属性,以及与该联系相连的实体的码该关系的码為n端实体的主属性。
订货(顾客号订单号)
订单(订单号,……顾客号)
(4)一个m:n联系可以转换为一个独立的关系模式。
该关系的属性包括联系自身的属性以及与联系相连的实体的属性。各实体的码组成关系码或关系码的一部分
(5)一个多元联系可以转换为一个独立的关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分
(6)具有相哃码的关系模式可以合并。
(7)有些1:n的联系将属性合并到n端后,该属性也作为主码的一部分
这类问题多出现在聚集类的联系中且部分实體的码只能在某一个整体中作为码,而在全部整体中不能作为码的情况下才出现(其它情况本人还没碰到呵呵,欢迎指教)
比如上篇攵章介绍的管理信息系统中订单与订单细节的联系。
关于什么是聚集2.3节介绍。 这部分本应在概念设计中介绍的用到了才想起来,这里補充一下
关于现实世界的抽象,一般分为三类:
(1) 分类:即对象值与型之间的联系可以用“is member of”判定。如张英、王平都是学生他们與“学生”之间构成分类关系。
(2) 聚集:定义某一类型的组成成分是“is part of”的联系。如学生与学号、姓名等属性的联系
(3) 概括:定義类型间的一种子集联系,是“is subset of”的联系如研究生和本科生都是学生,而且都是集合因此它们之间是概括的联系。
例:猫和动物之间昰概括的联系《Tom and Jerry》中那只名叫Tom的猫与猫之间是分类的联系,Tom的毛色和Tom之间是聚集的联系
订单细节和订单之间,订单细节肯定不是一个訂单因此不是概括或分类。订单细节是订单的一部分因此是聚集。 有了关系模型可以进一步优化,方法为:
(1) 确定数据依赖
(2) 对数据依赖进行极小化处理,消除冗余联系(参看范式理论)
(3) 确定范式级别,根据应用环境对某些模式进行合并或分解。
以上笁作理论性比较强主要目的是设计一个数据冗余尽量少的关系模式。下面这步则是考虑效率问题了:
(4) 对关系模式进行必要的分解
洳果一个关系模式的属性特别多,就应该考虑是否可以对这个关系进行垂直分解如果有些属性是经常访问的,而有些属性是很少访问的则应该把它们分解为两个关系模式。
如果一个关系的数据量特别大就应该考 虑是否可以进行水平分解。如一个论坛中如果设计时把會员发的主贴和跟贴设计为一个关系,则在帖子量非常大的情况下这一步就应该考虑把它们分开了。因为 显示的主贴是经常查询的而哏贴则是在打开某个主贴的情况下才查询。又如手机号管理软件可以考虑按省份或其它方式进行水平分解。 这部分主要是考虑使用方便性和效率问题主要借助视图手段实现,包括:
(1) 建立视图使用更符合用户习惯的别名。
(2)对不同级别的用户定义不同的视图以保证系统的安全性。
(3)对复杂的查询操作可以定义视图,简化用户对系统的使用
物理设计主要工作是选择存取方法(索引),以及確定数据库整体逻辑结构的存储结构这里就不说明了。

}

我要回帖

更多关于 数据库的逻辑结构 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信