当前位置: www.hg294.com > www.hg2768.com >

相联 系真体的码战接洽的属性转换为关系的 属性

更新时间:2019-10-08点击次数:

  第七章 5.1 5.2 数据库设想 数据库设想概述 需求阐发 5.3 5.4 概念布局设想 逻辑布局设想 5.5 5.6 数据库的物理设想 数据库的实施和 5.5 小结 5.4 逻辑布局设想 ? 逻辑布局设想的使命 ? 把概念布局设想阶段设想好的根基E-R图转换 为取选用DBMS产物所支撑的数据模子相合适的 逻辑布局 ? 逻辑布局设想的步调 ? 将概念布局为一般的关系、网状、条理模 型 ? 将转换来的关系、网状、条理模子向特定DBMS 支撑下的数据模子转换 ? 对数据模子进行优化 6.4 逻辑布局设想 ? 逻辑布局设想分三步进行: 逻辑布局设想 概念 设想 转换为一般 数据模子 转换为特定 DBMS下的 数据模子 优化 数据模子 物理 设想 根基 E-R图 转换法则 特定DBMS的 特点和 优化方式 (如规范化理论) 逻辑 模子 逻辑布局设想阶段 概念 设想 阶段 逻辑布局设想阶段 为 数据 模子 关系 规范 化 模式 优化 设想 用户 子 模式 物理 设想 阶段 根基 E-R图 逻辑 模子 5.4 5.4.1 5.4.2 5.4.3 逻辑布局设想 E-R图向关系模子的转换 数据模子的优化 设想用户子模式 5.4.1 ?转换内容 ?转换准绳 E-R图向关系模子的转换 E-R图向关系模子的转换(续) ?E-R图向关系模子的转换要处理的问题 ? 若何将实体型和实体间的联系转换为关系模式 ? 若何确定这些关系模式的属性和码 ?转换内容 ? 将E-R图转换为关系模子:将实体、实体的属 性和实体之间的联系转换为关系模式。 法则 ? 1) 一个实体型转换为一个关系模式,实体 的属性就是关系的属性,实体的键就是关 系的键 ? (1) 方式 ? ? ? ? ? 1. 找出从键 2. 找出属性间的依赖关系 3. 暗示为关系模式 4. 从键:属性名下加横线. 函数依赖关系:箭头线) 例子☆ 实体向关系模式的转换 产物号 产物名 价钱 机能 1 材料 材料号 材料名 价钱 n 产物 m 零件数 拆卸 n 耗损 存放 存放量 m 耗损量 仓库号 仓库 仓库名 地址 德律风 n 零件 零件号 零件名 产物(产物号,产物名,机能,价钱) 零件(零件号,零件名) 材料(材料号,材料名,价钱) 仓库(仓库号,车库名,地址,电线) 一个联系转换为一个关系模式,相联系 实体的码和联系的属性转换为关系的属性 ? (1) 一个m:n联系转换为一个关系模式 ? ? ? 1. 联系的内容 ? (1) 联系名 ? (2) 彼此联系的实体的从键 ? (3) 联系本身的属性 2. 从码 ? (1) 关系的码为加入联系的各实体码的组合 3. 例子 ? (1) 产物拆卸成零件☆ ? (2) 材料存放正在仓库☆ 联系向关系模式的转换 产物号 产物名 价钱 机能 1 材料 材料号 材料名 价钱 n 产物 m 零件数 拆卸 n 耗损 存放 存放量 m 耗损量 仓库号 仓库 仓库名 地址 德律风 n 零件 零件号 零件名 产物零件一览表(产物号,零件号,零件数量) 材料存放表(材料号,仓库号,存放量) 零件用料表(零件号,材料名,耗损量) ? 2) 一个联系转换为一个关系模式,相联 系实体的键和联系的属性转换为关系的 属性 ? (2) 一个1:n联系能够转换为一个的关系模式,关系 的键为n端实体的码。也能够取n端对应的关系模式归并 ? ? ? 1. 联系的内容 ? (1) 联系名 ? (2) 彼此联系的实体的从码 ? (3) 联系本身的属性 2. 从键 ? (1) 关系的键为n端实体的码 3. 例子 ? (1) 零件耗损材料☆ ? (2) 带属性的一对多联系☆ 带属性的一对多联系 工号 姓名 性别 春秋 手艺品级 值勤日 司机 n 驾驶 1 汽车 车号 车种 载分量 载客数 司机(工号,姓名,性别,春秋,手艺品级) 汽车(车号,车种,载分量,载客数) 驾驶(工号,车号,值勤日) ? 2) 一个联系转换为一个关系模式,相联 系实体的码和联系的属性转换为关系的 属性 ? (3) 一个1:1联系能够转换为一个的关系模 式,每个实体的键均为该关系的候选码。也可 以取肆意一端对应的关系模式归并 ? ? 1. 联系的内容 ? (1) 联系名 ? (2) 彼此联系的实体的从码 ? (3) 联系本身的属性 2. 从键 ? (1) 每个实体的码均为该关系的候选码 ? ? 2) 一个联系转换为一个关系模式,相联系 实体的码和联系的属性转换为关系的属性 3) 三个或三个以上实体间的一个多元联系 转换为一个关系模式 ? (1) 存正在于三个实体之间的联系☆ ? 4) 统一实体集的实体间的联系,可按 1:1,1:n,m:n别离处置 存正在于三个实体之间的联系 公司 L m 供应 n 公司名 工程号 材料名 132 华都 钢管 华兴 朝阳 华都 215 132 730 铝板 水泥 水泥 工程 材料 供应(公司名,工程号,材料名) E-R图向关系模子的转换(续) (5)具有不异码的关系模式可归并 ? 目标:削减系统中的关系个数 ? 归并方式:将此中一个关系模式的全数属性插手到另一个 关系模式中,然后去掉此中的同义属性(可能同名也可能 分歧名),并恰当调整属性的次序 E-R图向关系模子的转换(续) [例] 把图7.30中虚线上部的E-R图转换为关系模子 ? 部分实体对应的关系模式 部分(部分号,部分名,司理的职工号,…) ?此关系模式已包含了联系“带领”所对应的关系模 式 ?司理的职工号是关系的候选码 ? 职工实体对应的关系模式 职工(职工号、部分号,职工名,职务,…) ?该关系模式已包含了联系“属于”所对应的关系模 式 E-R图向关系模子的转换(续) [例] 把图7.30中虚线上部的E-R图转换为关系模子(续) ? 产物实体对应的关系模式 产物(产物号,产物名,产物组长的职工号, …) ? 供应商实体对应的关系模式 供应商(供应商号,姓名,…) ? 零件实体对应的关系模式 零件(零件号,零件名,…) E-R图向关系模子的转换(续) [例] 把图7.30中虚线上部的E-R图转换为关系模子(续) ? 联系“加入”所对应的关系模式 职工工做(职工号,产物号,工做,…) ? 联系“供应”所对应的关系模式 供应(产物号,供应商号,零件号,供应量) 5.4 5.4.1 5.4.2 逻辑布局设想 E-R图向关系模子的转换 数据模子的优化 5.4.3 设想用户子模式 5.4.2 数据模子的优化 ? 获得初步数据模子后,还该当恰当地址窜、调整数据模子 的布局,以进一步提高数据库使用系统的机能,这就是数 据模子的优化 ? 关系数据模子的优化凡是以规范化理论为指点 数据模子的优化(续) ? 优化数据模子的方式 1. 确定命据依赖 按需求阐发阶段所获得的语义,别离写出每个关系模式 内部各属性之间的数据依赖以及分歧关系模式属性之间 数据依赖 2. 消弭 冗余的联系 对于各个关系模式之间的数据依赖进行极小化处置,消 除 冗余的联系。 3. 确定所属范式 ? 按照数据依赖的理论对关系模式一一进行阐发 ? 考查能否存正在部门函数依赖、传送函数依赖、多值依 赖等 ? 确定各关系模式别离属于第几范式 数据模子的优化(续) 4. 按照需求阐发阶段获得的各类使用对数据处置的要求, 阐发对于如许的使用这些模式能否合适, 确定能否要对它们进行归并或分化。 留意:并不是规范化程度越高的关系就越优,一般 说来,第三范式就脚够了 数据模子的优化(续) 例:正在关系模式 学生成就单(学号,英语,数学,语文,平均成 绩) 中存鄙人列函数依赖: 学号→英语 学号→数学 学号→语文 学号→平均成就 (英语, 数学, 语文)→平均成就 数据模子的优化(续) 明显有: 学号→(英语,数学,语文) 因而该关系模式中存正在传送函数相信,是2NF关系 虽然平均成就能够由其他属性推算出来,但若是 使用中需要经常查询学生的平均成就,为提高效率, 仍然可保留该冗余数据,对关系模式不再做进一步 分化 数据模子的优化(续) 5. 按照需求阐发阶段获得的各类使用对数据处置的要求, 对关系模式进行需要的分化,以提高数据操做的效率和 存储空间的操纵率 ? 常用分化方式 ? 程度分化 ? 垂曲分化 数据模子的优化(续) ? 程度分化 ?什么是程度分化 –把(根基)关系的元组分为若干子调集,定义每个 子调集为一个子关系,以提高系统的效率 ?程度分化的合用范畴 –满脚“80/20准绳”的使用 –并发事务经常存取不订交的数据 数据模子的优化(续) ? 垂曲分化 ?什么是垂曲分化 –把关系模式R的属性分化为若干子调集, 构成若干子关系模式 ?垂曲分化的合用范畴 –取决于分化后R上的所有事务的总效率是 否获得了提高 5.4 5.4.1 5.4.2 5.4.3 逻辑布局设想 E-R图向关系模子的转换 数据模子的优化 设想用户子模式 5.4.3 设想用户子模式 ? 定义用户外模式时该当沉视的问题 包罗三个方面: (1) 利用更合适用户习惯的别号 (2) 针对分歧级此外用户定义分歧的 View ,以满脚系统对平安性的要求。 (3) 简化用户对系统的利用 设想用户子模式(续) [例] 关系模式产物(产物号,产物名,规格,单价,出产车间,出产负 责人,产物成本,产物及格率,质量品级),能够正在产物关系上成立 两个视图: 为一般顾客成立视图: 产物1(产物号,产物名,规格,单价) 为产物发卖部分成立视图: 产物2(产物号,产物名,规格,单价,车间,出产担任人) ? 顾客视图中只包含答应顾客查询的属性 ? 发卖部分视图中只包含答应发卖部分查询的属性 ? 出产带领部分则能够查询全数产物数据 ? 能够防止用户不法拜候不答应他们查询的数据,系统的平安性 逻辑布局设想小结 ? 使命 ? 将概念布局为具体的数据模子 ? 逻辑布局设想的步调 ? 将概念布局为一般的关系、网状、条理模子 ? 未来的关系、网状、条理模子向特定DBMS支撑下的数 据模子转换 ? 对数据模子进行优化 ? 设想用户子模式 逻辑布局设想小结 ? E-R图向关系模子的转换内容 ?E-R图向关系模子的转换准绳 逻辑布局设想小结 ? 优化数据模子的方式 1. 确定命据依赖 2. 对于各个关系模式之间的数据依赖进行极小化处 理,消弭冗余的联系。 3. 确定各关系模式别离属于第几范式。 4. 阐发对于使用这些模式能否合适,确定能否 要对它们进行归并或分化。 5. 对关系模式进行需要的分化或归并 逻辑布局设想小结 ? 设想用户子模式 1. 利用更合适用户习惯的别号 2. 针对分歧级此外用户定义分歧的外模式,以满脚系 统对平安性的要求。 3. 简化用户对系统的利用