《数据库设计逻辑结构及物理结构设计》由会员分享,可在线阅读,更多相关《数据库设计逻辑结构及物理结构设计(81页珍藏版)》请在金锄头文库上搜索。
1、第三章第四讲 数据库逻辑结构 及 物理结构设计内容目录3.4 逻辑结构设计一、E-R图到关系模式的转换二、逻辑模式的规范化、调整和实 现 三、外模式的设计3.5 数据库的物理设计一、数据库的物理设计的内容和方 法 二、关系模式存取方法选择 三、确定数据库的存储结构 四、物理结构评价3.6 数据库的实施和维护一、数据的载入和应用程序的调 试 二、数据库的试运行 三、数据库的运行和维护一、E-R图到关系模式的转换1、命名和属性域的处理 2、非原子属性的处理 3、弱实体的处理 4、联系的转换 5、概括/特殊化层次的转换 6、范畴的转换1、命名和属性域的处理n关系模式命名规则z 既可采用E-R图中原来
2、的命名, 亦可另行命名;z 命名应有助于对数据的理解和 记忆;z 避免重名;n属性域的处理若DBMS不支持E-R图中某些属 性的域,则应做相应的修改或 利用应 用程序进行转换。2、非原子属性的处理n集合型 处理方法:对集合属性纵向展开。n元组型 处理方法:对元组属性横向展开。集合属性的展开学号姓名 系别别选选修 课课程学号姓名系别课程名学号 姓名 系别别选选修 课课程9501 曙光CS数学 物理 英语语学号姓名系别课程名9501曙光CS数学9501曙光CS物理9501曙光CS英语元组属性的展开职职工名部门门住址省市街道号邮编邮编职职工名部门门省市街道号邮编邮编3、弱实体的处理职工号职工号姓名职
3、工号职工-家属职工家属姓名性别年龄与职工关系E-R图职职工号姓名性别别年龄龄与职职工关 系图:弱实体“家属”的关系模式4、联系的转换1:1联系1:N联系M:N联系多元联系自联系二元联系I 1:1 联系K KA AE1E1R RE2E2H HB BS S11解决方案n与某一实体(完全参与)合并 R1(K,A,H,S) R2(H,B)n单独形成关系模式 R1(K,A) R2(H,B) R3(K,H,S)优缺点?优缺点?示 例职职工号姓名性别别年龄龄职工职工号职工号 性别姓名 年龄经理任期部门号部门号部门名称地点11部门门号名称地点职职工号任期II 1:N联系K KA AE1E1R RE2E2H H
4、B BS S1Nn若E2完全参与,则有: R1(K,A) R2(H,B,K,S)n若E2部分参与,则有: R1(K,A) R2(H,B) R3(H,K,S)解决方案示 例系名地点电话电话 号码码系系名系名地点电话号码系籍学号学号学生姓名年级1N性别学号年级级姓名性别别系名III M:N联系K KA AE1E1R RE2E2H HB BS SMNK K,H H能否单独能否单独 作为作为联系作为作为联系R R 的主码?的主码?解决方案R1(K,A) R2(H,B) R3(K,H,S)示例课程课程号课程号学分教师选课学号学号学生姓名年级MN性别 成绩思考:思考: 此此E-RE-R图的关系模图的关系模
5、 式如何?式如何?IV 多元联系K KA AE1E1R RE2E2H HB BS SMNE3E3J JC CP解决方案n一般情况(当M,N,P 1时) R1(K,A) R2(H,B) R3(J,C) R4(K,H,J,S )n特殊情况(当M,N,P中只有其一大 于1 时)?示例思考?工程号工程号工程供应 关系零件公司零件号零件号公司名公司名 供应量NMPV 自联系SPOUSE(HUSBANDNO, WIFENO)职工妻子丈夫(1 1)1:11:1联系联系配偶职工(2)一对多联系职工 领导属下EMP(ENO,ENAME,DEPT, MANAGERNO)领导(3)M:N联系零件COMPONENT(
6、SUB,SUPER )母零件子零件构成5、概括/特殊化层次的转换CISASiSm属性集:属性集: (K K,a1an)a1an)属性集:属性集: Attr(SiAttr(Si) )解决方案(1)nk(Ri) k(R)R( K ,a1,an)Ri( K ,Attr(Si) i1.mn不相交与全特殊化情况Ri( K ,a1,an,Attr(Si) i1.m解决方案(2)解决方案(3)n不相交特殊化情况R( K K ,a1,an,Attr(Si), t )i=1mt=0,实体不属于任何子实体集。t=i0,实体属于子实体集Si。Attr(Si)中的各属性为NULLi=1m除Attr(Si)外,Attr
7、(Si)中的其余属性为 NULL。i=1m解决方案(4)n重叠特殊化R( K K ,a1,an, Attr(Si),t1,ti,tm)i=1m若实体属于Si,则 ti = 1,否则 ti = 0。若 ti = 0,则Attr(Si)中的各属性取NULL。6、范畴的转换单位名单位名身份证号码身份证号码车主标识车主标识车主标识单位个人负责人姓名住址住址车主U U牌照号码购买日期替身键替身键解决方案R1(单位名,负责人,地址,车主标识 )R2(身份证号码,住址,姓名,车主 标识)R3(车主标识,购买日期,牌照号码 )二、逻辑模式的规范化、调整和实现从E-R图转换而来的关系模式只是逻辑 模式的雏形,尚
8、需进行下列处理:规范化适应DBMS限制条件的修改用DBMS提供的DDL定义逻辑模式满足性能、存储空间等要求的调整1、改善数据库性能的调整n减少连接运算 使用逆规范化操作n减小关系的大小和数据量 使用水平分割和垂直分割n尽可能使用快照n节省每个属性所占用的空间 用编码代替实际属性值,用缩写名代 替全称。n采用假属性减少重复数据所占存储空间 A B中B取值少但所占空间大的情 况。A B B B2、节省存储空间的调整三、外模式的设计设计外模式时,可以参照局部 E-R图,因为局部E-R图本身即是用户对数 据需求的反映。由于用户外模式与模式是独 立的,因此在定义用户外模式时应该更注重 考虑用户的习惯与方
9、便。 (1) 使用更符合用户习惯的别名 (2) 针对不同级别的用户定义不同的外模 式 ,满足系统对安全性的要求。 (3) 简化用户对系统的使用逻辑结构设计设计逻辑结构应该选择最适于描述与表 达相应概念结构的数据模型,然后选择最合 适的DBMS。设计逻辑结构时一般要分三步 进行:n将概念结构转换为一般的关系、网状、 层次模型n将转化来的关系、网状、层次模型向特 定DBMS支持下的数据模型转换n对数据模型进行优化 概念结构基本E-R图一般数据模型关系、网络 层次特定的DBMS 支持下的数据 模型优化的数据 模型转换规则DBMS的特点 和限制优化方法图 逻辑结构设计时的三个步骤一、E-R图向关系模型
10、的转换关系模型的逻辑结构是一组关系模式的 集合。而E-R图则是由实体、实体的属性和 实体之间的联系三个要素组成的。所以将E- R图转换为关系模型实际上就是要将实体、 实体的属性和实体之间的联系转化为关系模 式,转换一般遵循如下原则: 一个实体型转换为一个关系模式。 实体的属性就是关系的属性。实体的码就是 关系的码。例如在我们的例子中,学生实体 可以转换为如下关系模式,其中学号为学生 关系的码:学生(学号,姓名,出生日期,所在 系,年级,平均成绩) 同样,性别、宿舍、班级、档案 材料、教师、课程、教室、教科书都分别转 换为一个关系模式。 一个m:n联系转换为一个关系模式。 与该联系相连的各实体的
11、码以及联系本身的 属性均转换为关系的属性。而关系的码为各 实体码的组合。例如在我们的例子中,“选修”联系是 一个m:n联系,可以将它转换为如下关系模 式,其中学号与课程号为关系的组合码:选修(学号,课程号,成绩) 一个1:n联系可以转换为一个独立的 关系模式,也可以与n端对应的关系模式合 并。如果转换为一个独立的关系模式,则与 该联系相连的各实体的码以及联系本身的属 性均转换为关系的属性,而关系的码为n端 实体的码。n例如在我们的例子中,“组成”联系为 1:n联系,将其转换为关系模式一种方法是 使其成为一个独立的关系模式: 组成(学号,班级号) n另一种方法是将其学生关系模式合并, 这时学生关
12、系模式为: 学生(学号,姓名,出生日期,所在系 ,年级,班级号,平均成绩)n后一种方法可以减少系统中的关系个数 ,一般情况下更倾向于采用这种方法。 一个1:1联系可以转换为一个独立的 关系模式,也可以与任意一端对应的关系模 式合并。如果转换为一个独立的关系模式, 则与该联系相连的各实体的码以及联系本身 的属性均转换为关系的属性,每个实体的码 均是该关系的候选码。如果与某一端对应的 关系模式合并,则需要在该关系模式的属性 中加入另一个关系模式的码和联系本身的属 性。n例如在我们的例子中,“管理”联系为1:1 联系,我们可以将其转换为一个独立的关系 模式: 管理(职工号,班级号)或 管理(职工 号
13、,班级号) n管理”联系也可以与班级或教师关系模 式合并。如果与班级关系模式合并,则只需 在班级关系中加入教师关系的码,即职工号 : 班级:班级号,学生人数,职工号 n同样,如果与教师关系模式合并,则只 需在教师关系中加入班级关系的码,即班级 号: 教师:职工号,姓名,性别,职称, 班级号,是否为优秀班主任 三个或三个以上实体间的一个多元 联系转换为一个关系模式。与该多元联系相 连的各实体的码以及联系本身的属性均转换 为关系的属性。而关系的码为各实体码的组 合。 例如在我们的例子中,“讲授”联系 是一个三元联系,可以将它转换为如下关系 模式,其中课程号、教师号和书号为关系的 组合码: 讲授(课
14、程号,教师号,书号) 同一实体集的实体间的联系,即自 联系,也可按上述1:1、1:n和m:n三种情况分 别处理。 例如,如果教师实体集内部存在领 导与被领导的1:n自联系,我们可以将该联 系与教师实体合并,这时主码职工号将多次 出现,但作用不同,可用不同的属性名加以 区分,比如在合并后的关系模式中,主码仍 为职工号,再增设一个“系主任”属性,存放 相应系主任的职工号。 具有相同码的关系模式可合并。n目的:为了减少系统中的关系个数。n合并方法:将其中一个关系模式的全部 属性加入到另一个关系模式中,然后去掉其 中的同义属性(可能同名也可能不同名), 并适当调整属性的次序。按照上述七条原则,学生管理
15、子系统中 的18个实体和联系可以转换为下列关系模型 :n学生(学号,姓名,性别,出生日期, 所在系,年级,班级号,平均成绩,档案号 )n性别(性别,宿舍楼)n宿舍(宿舍编号,地址,性别,人数)n班级(班级号,学生人数)n教师(职工号,姓名,性别,职称,班 级号,是否为优秀班主任)n教学(职工号,学号) n课程(课程号,课程名,学分,教室号 )n选修(学号,课程号,成绩)n教科书(书号,书名,价钱)n教室(教室编号,地址,容量)n讲授(课程号,教师号,书号)n档案材料(档案号,) 该关系模型由12个关系模式组成。n学生关系模式包含了“拥有”联系、“组 成”联系、“归档”联系所对应的关系模式;n教
16、师关系模式包含了“管理”联系所对应 的关系模式;n宿舍关系模式包含了“住宿”联系所对应 的关系模式;n课程关系模式包含了“开设”联系所对应 的关系模式。二、数据模型的优化数据库逻辑设计的结果不是唯一的 。为了进一步提高数据库应用系统的性能, 通常以规范化理论为指导,还应该适当地修 改、调整数据模型的结构。数据模型的优化方法 n确定数据依赖。 n对于各个关系模式之间的数据依赖进行 极小化处理,消除冗余的联系。 n按照数据依赖的理论对关系模式逐一进 行分析,考查是否存在部分函数依赖、传递 函数依赖、多值依赖等,确定各关系模式分 别属于第几范式。 n按照需求分析阶段得到的各种应用对数 据处理的要求,分析对于这样的应用环境这 些模式是否合适,确定是否要对它们进行合 并或分解。 n对关系模式进行必要的分解。水平分解根据80/20原则进行。垂直分