《概念数据库设计》PPT课件.ppt

上传人:sh****n 文档编号:8664387 上传时间:2020-03-30 格式:PPT 页数:28 大小:305.31KB
返回 下载 相关 举报
《概念数据库设计》PPT课件.ppt_第1页
第1页 / 共28页
《概念数据库设计》PPT课件.ppt_第2页
第2页 / 共28页
《概念数据库设计》PPT课件.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
第六章概念数据库设计早期的数据库设计是在需求分析的基础上直接进入数据库的逻辑设计的 由于逻辑结构与具体的DBMS关系密切 因而设计工作存在着许多困难 这促成了概念设计从逻辑设计中分离出来 在概念设计阶段中 设计人员从用户的角度看待信息和事务 产生一个反映用户需求的概念模式 为建立逻辑数据库模式作准备 把概念设计从逻辑设计分离出来有以下好处 各阶段的任务相对单一化 降低设计复杂性 概念模式独立于DBMS 故比逻辑数据库模式稳定 概念设计不含特定DBMS的技术细节 设计人员可以专心于研究如何反映客观世界 故容易为用户所理解 因而才有可能准确反映用户需求 第一节概述第二节实体联系模型第三节扩展的实体联系模型第四节概念设计的方法与策略第五节视图综合设计方法第六节事务的设计 F 第一节概述概念数据库设计的两个任务及其目标 1 事务设计 根据需求分析阶段提出的数据库操作任务 作出数据库事务的高级说明 其目标是 在概念级定义事务的功能 说明事务的输入输出信息和基本功能 支持各种事务的运行 2 模式设计 根据需求分析阶段识别的数据项和预测改变 使用高级数据模型 建立概念数据库模式 其目标是 1 准确描述信息模式 支持用户应用 2 易理解 易转换为逻辑数据库模式 概念数据库模式独立于DBMS 不能直接用于数据库实现 这种做法的好处是 1 不受特定DBMS局限 彻底地理解和描述应用领域 有利于开发人员正确地和全面地理解应用领域 2 不受逻辑设计 物理设计改变 甚至DBMS改变的影响 3 由于使用图形描述方式直观易懂 故有利于开发者和用户的交流 实体联系模型 ER 或其加强模型 EER 是广泛使用的高级数据模型 F1 第二节实体联系模型实体联系模型 简称ER模型 产生于1976年 这个模型使用实体 联系和属性三个基本概念直接描述现实世界 实体联系图是表示ER模型的图形工具 简称ER图 它是概念数据库设计的重要工具 一 实体和属性二 实体型 键属性和属性的值域三 数据库实例四 实体间的联系五 弱实体六 实体联系图 F2 一 实体和属性实体是客观世界中各种事物的抽象 如教师 学生 课程等 属性是实体的一组特征 如教师实体的属性是姓名 证号 课程等 属性可按结构性质分类为 简单属性 不可分割的简单数据项 如姓名 性别和学号等 复合属性 由若干个简单属性按层次结构组成 例如 地址 省 市 区 街 号 属性可按赋值唯一性分类为 单值属性 一个实体的单值属性仅取一值 如编号 有效期等 多值属性 一个实体的多值属性可取多值 如学历 年份 学位 导出属性 这是一种特殊属性 其值可由其它某些属性的值导出 例如 年龄可由出生日期和现在日期导出 销售额可由销售价和销售量计算得出 F21 姓名 证号 宿舍 任课 教师 栋号 房号 学历 复合属性 多值属性 一个实体例子 二 实体型 键属性和属性的值域实体型是具相同属性集的实体的集合 由名字和一组属性来定义 实体型的定义称为实体模式 它描述了一组实体的公共结构 实体型表示的实体集合中任何一个实体称为该实体型的实例 ER模型中的实体型用某个属性子集 称为键 区别实体 如果键包含的属性只有一个 则称之为简单键 否则称之为复合键 键是实体型的一个重要完整性约束 规定了不同实体有不同的键 简单属性的取值范围叫做值域 例如年龄的值域可取为1 150 F22 数据库实例 大学数据库 的五个实体型编号名称属性集合1系系名 编号 地点 主任2教研室名称 编号 电话 所属系教师姓名 性别 编号 所属系 课程 地址 4学生姓名 性别 编号 所属系 年级5课程名称 编号 时数 所属系 多值属性复合属性下划线表示键 三 数据库实例该实例称为 大学数据库 本页介绍组成它的五个实体型 有几点说明 1 大学由多个系组成 每个系有系名 编号和主任 有多个地点 系名和编号都是唯一的 2 系有多个教研室 每个教研室有名称 编号 所属系和地点 编号是唯一的 F23 3 每个教师有姓名 性别 编号 地址 课程 所属系 编号是唯一的 4 每个学生有姓名 性别 编号 所属系和年级 编号是唯一的 5 每门课程有名称 编号 所属系 学时数 编号唯一 四 实体间的联系在一个数据库中 不同实体型的实体之间可能存在着联系 例如 大学数据库中教研室实体型的每个实体 即每个教研室 必和系实体型的某个实体 即系 存在 某教研室属于某系 的联系 又如 学生实体型的实体 即学生 教师实体型的实体 即教师 以及课程实体型的实体 课程 存在着 某学生选修某教师讲授的某课程 的联系 实体间的联系是根据需求分析的结果决定的 1 联系型和联系实例2 联系型的结构约束3 联系型的属性 F24 1 联系型和联系实例 定义 实体型A和实体型B之间的联系型R定义为R A B 称A B为联系型R所关联的实体型 联系型R的元素 a b 称为联系型R的实例 它取自A B集合 即a A b B 选取方法由应用领域决定 a b称为联系实例 a b 所关联的实体 例如 教研室和系之间的联系型B T j d 教研室j属于系d 学生和系之间的联系型S D s d 学生s属于系d 教师和系之间的联系型1 T D1 t d 教师t属于系d 教师和系之间的联系型2 T D2 t d 教师t是系d的主任 学生 教师和课程之间的联系型 S T C s t c 学生s选修教师t讲授的课程c 联系型所关联的实体型数目称为阶 实体之间的联系既可以如上例那样使用联系型定义 也可以通过实体属性的取值来表示 例如 在教研室的属性 所属系 取值即可实现教研室和系的联系 类似地可把上述定义推广为多个实体型之间的联系型 F24a 2 联系型的结构约束 实体对应约束和实体关联约束 实体对应约束 这是联系型所关联的各实体型之间的约束 有三种实体对应约束即1对1约束 1对多约束 多对多约束 定义 设A和B是联系型R所关联的实体型 若 a A 唯一的b B与之关联 则称R是1对1联系型 记为1 1联系 若 a A 有n 0 个b B与之关联 b B 有m 1 个a A与之关联 则称R是一对多联系型 记为1 n联系 若 a A 有n 0 个b B与之关联 b B 有m 0 个a A与之关联 则称R是多对多联系型 记为m n联系 例如 若假定大学数据库还有主任实体型 规定一个系只有一个主任 一个主任只负责一个系工作 于是系实体型和主任实体型存在1 1联系 由于一个系有多个教研室 而一个教研室只属于一个系 故教研室实体型和系实体型之间的联系型B T是1 n联系 若规定一门课由多个教师讲授 而一个教师可讲授多门课 则课程实体型和教师实体型之间存在一个m n联系 F24b 接下页 实体关联约束 这是联系型和它所关联的实体型之间的约束 有两种实体关联约束 即全域关联约束和部分关联约束 定义 设A是联系型R所关联的一个实体型 若规定A的各实体必须出现在R的某个联系实例中 则称这种规定为实体型A关于联系型R的全域约束 若规定A的实体可以不出现在任何联系实例中 则称这种规定为实体型A关于联系型R的部分约束 例如 在大学数据库中 若规定每位教师必属于某个系 则这种规定就是教师实体型关于联系型 T D1 的全域关联约束 由于并非所有教师都是主任 故这情况就是教师实体型关于联系型 T D2 的部分关联约束 F24b1 联系型的结构约束 实体关联约束 实体对应约束 1 1约束1 n约束m n约束全域关联约束部分关联约束 3 联系型的属性联系型可以具有属性 例如 为了表示教师讲授课程的周学时数 在教师实体型和课程实体型之间的联系型T C t c 教师t讲授课程c 中设置一个属性周学时 联系型的属性怎样设置呢 若联系型是1 n类型 则可以把该属性设置在所关联的n方实体型中 若联系型是1 1类型 则设置在两个实体型当中任一个均可以 例如 联系型S D s d 学生s属于系d 属于n 1类型 因系向学生提供宿舍 故宿舍房号是联系型的属性 可将此属性设置在n方实体型即学生实体型内 注意 若把联系型属性设置在1方实体型内 则会成为多值属性 给以后的许多处理带来麻烦 F24c 识别实体型B 弱实体型A 五 弱实体应用领域中有些实体型没有普通意义的键 我们称之为弱实体型 它的实体称为弱实体 不同的弱实体可以有完全相同的属性值 识别弱实体的方法是关联另一个普通的实体型 称为识别实体型 在弱实体型中挑选这样的属性子集 使得可以和识别实体型的键结合成弱实体型的键 弱实体型的这个属性子集称为部分键 设联系型R关联弱实体型A和对应的识别实体型 则称R为A的识别联系型 为了能识别每个弱实体 识别联系型R对于弱实体型A必须具有全域关联约束 一个弱实体型可以具有多个识别实体型和识别联系型 这意味着弱实体可以有多种识别方法 父亲 孩子 身份证号 姓名 父身份证号 姓名 性别 生日 部分键 标识孩子的一个方法 孩子姓名 父亲身份证号 F25 识别联系型 全域关联约束 六 实体联系图实体联系图是表示ER模型的图形工具 简称ER图 ER图用来表示实体型和联系型 下边列出表示实体联系模型各种成分的ER图素 实体型 属性 联系型 F26 弱实体型 识别联系型 键属性 多值属性 导出属性 复合属性 B A R 联系型R对于实体型B具有全域关联约束 B A R 1 1 B A R 1 n B A R m n 1 1联系型 1 n联系型 m n联系型 大学数据库的ER图 接下页 课程 学生 教师 系 教研室 名称 学时数 编号 所属系 姓名 编号 所属系 年级 系名 编号 地点 系主任 姓名 编号 性别 地址 课程 所属系 名称 编号 电话 所属系 T S C T D S D BD 市 区 邮政 单位 学校 信箱 大学数据库的ER图 F26a F3 第三节扩展的实体联系模型扩展的实体联系模型就是实体联系模型的扩充 即在实体联系模型的基础上 增加了一些新概念 如子类 超类 演绎 归纳 范畴 层性层次等 下面分小节讨论这些概念 一 子类 超类 演绎和归纳二 演绎和归纳的性质三 范畴 EER图 一 子类 超类 演绎和归纳把实体型R的实体按需要划分为几个子集合R1 R2 这个过程称为演绎 R称为 演绎 超类 各Ri都是实体型 称为 演绎 子类 子类除继承超类的所有属性之外 还附加用于区别其它子类的特殊属性 不要求超类成员必须属于某个子类 一个实体型可按不同需要进行多种不同的演绎 即不同的分类 归纳是演绎的逆过程 把多个实体型Ri的共同属性抽取出来 形成一个实体型 这就是 归纳 超类 演绎和归纳都是联系型 分别称为演绎联系型和归纳联系型 教师 文科教师 理科教师 外语教师 d 运输工具 火车 飞机 汽车 d 演绎 归纳 例 由教师实体型按专业演绎出三个子类 例 由三个实体型归纳出超类 运输工具 超类 子类 超类 子类 双线表示超类实体必属于某子类 单线表示超类实体不必属于某子类 F31 二 演绎和归纳的性质1两种定义演绎的方法 1 由属性谓词定义的演绎2 用户定义的演绎2 演绎和归纳的约束条件1 重迭性约束2 完全性约束3 多层演绎与共享子类 F32 1两种定义演绎的方法 1 由属性谓词定义的演绎这类演绎方法通过超类属性上的某一个谓词来说明每个实体所属的子类 例如在超类教师设置属性 所属学科 即可把教师分为文 理 外三个种类 2 用户定义的演绎即上述方法之外的演绎 超类实体所属的子类由用户逐个说明 F32a 重迭性约束 完全性约束 全域约束 规定超类实体必属某子类 例如归纳超类运输工具必属于火车 飞机或汽车 部分约束 规定超类实体不必属于某子类 例如某教师都不属于文科 理科 外语科 正交约束 规定子类交集为空 例如火车 飞机和汽车三个子类是互相独立的 相交演绎 规定子类可以相交 例如某课程既是一系课程又是二系课程 例子 2 演绎和归纳的约束条件 F32b 教师 文科教师 理科教师 外语教师 d 运输工具 火车 飞机 汽车 d 超类 子类 超类 子类 双线表示全域约束 超类每个实体必属于某子类 单线表示部分约束 超类实体不必属于某子类 正交约束 子类不相交 一系课程 二系课程 o 课程 超类 子类 一系课程 二系课程 o 课程 超类 子类 相交约束 允许子类相交 全校只有两个系 除两个系外 还有别的系 F32b例 允许有教师不属于文理外三科 运输工具仅火车飞机和汽车 演绎归纳约束条件的例子 完全性 重迭性 实体型博士导师具有多个超类称为共享子类 F32c 教师 教授 讲师 助教 文科教授 理科教授 外语教授 博士导师 d d 其他 其他 其他 d d d 3 多层演绎和共享子类对子类进行演绎即可产生演绎层次结构 例如 实体型教师可以划分为子类教授 讲师和助教 子类教授可以进一步分为文科教授 理科教授和外语教授三个子类 在多层演绎中子类继承所有前辈超类属性 若实体型是多个超类的子类 则称为共享子类 教师 工人 干部 住户 u F33 三范畴若超类 子类联系具有多个超类 则其子类称为范畴 它是多个超类实体型的并集的子类 范畴的每个实体仅继承包含该实体的超类实体型的属性 例如 三个不同实体型教师 工人和干部 在住房分配数据库中需要建立包含这三类住户的类 这就是范畴住户 四 EER图EER图是ER图的扩张 EER图是在ER图的基础上 增加了表示EER模型新概念的图形 第四节概念设计的方法与策略概念数据库设计的基本步骤是 确定实体型及其属性和键 确定实体型之间的联系和约束 用演绎或归纳确定实体型之间的超子联系及其约束 确定范畴联系及其约束 形成EER图 一概念设计方法1集中式 先由设计者合并需求报告各项需求 然后设计概念模式 由于在概念设计前用人工方法处理各需求间的差异矛盾 故难度大 2视图综合式 为需求报告的每个应用设计概念模式 即视图 然后合并 用户或应用程序员按自己需求设计局部概念模式 视图合成有设计方法学和辅助工具的帮助 F41 概念设计的策略多数策略遵循逐步求精的原则 从一个满足部分需求的模式开始 逐步加以改善 最后形成满足所有需求的概念模式 1自顶向下的策略 从抽象结构模式出发 逐步求精具体化 最终得到概念数据库模式 例如通过演绎把高级的实体型分解为几个低级实体型 2自底向上的策略 从基础概念结构模式出发 逐步组合结构 最终得到概念数据库模式 例如 对属性集合先说明 再分组 形成实体型和联系型 由子类归纳出超类就是一种自底向上的策略 3混合策略 首先把总体需求分解为几个需求子集合 然后对每个需求子集合用自底向上的策略建立局部模式 最后把各局部模式综合为概念模式 F42 例 F42例 自顶向下策略实例 一个实体型分为两个实体型和一个联系型 课程名 学时数 课程号 教师名 教学计划 课程名 学时数 课程号 教师名 课程 教师 讲授 教师 学生 教师 学生 任教 班任 自下向上策略实例 在两个实体型之间增加两个联系型 第五节视图综合设计方法第一步 设计局部概念模式 第二步 综合局部概念模式为总体概念模式一局部概念模式设计这项工作既可由用户独立完成 也可由数据库设计者协助完成 设计任务是 1 要确定局部实体型及其键和属性 确定属性是单值属性还是多值属性 是否复合属性和导出属性 2 确定局部实体型之间的联系型及其结构约束 这种联系型必须准确描述局部应用领域各对象之间的关系 同时满足局部应用的各种要求 3 用演绎和归纳过程确定 局部实体之间的超子联系 共享子类和范畴 确定联系型的完全性约束和重叠性约束 4 给出局部EER图 F51 二 全局概念模式合成把各个局部模式合并成完整概念模式的四个步骤 1 识别局部概念模式间的冲突 命名冲突 异名同义和同名异义 结构冲突 相同概念在不同的局部有不同的概念模式 值域冲突 同一属性在不同局部模式中具有不同的值域 约束冲突 相同概念在不同局部模式中定义了不同的约束 2 修改局部模式通过修改 解决上述冲突 将各个视图集成为全局模式 最重要的不是合并 而是消除冲突使模式能为全体用户所理解 3 合并局部模式 使每个概念仅出现一次 建立视图映射 4 优化全局模式 深入分析第三步 取消重复 减少复杂性 给出EER图 主要的模式合成方法有四种 1 二元阶梯合成等法 2 N元合成法 3 平衡二元合成法 4 混合合成法 F52 第六节事务的设计在概念数据库设计阶段 事务设计的目的是保证所设计的数据库包含各种事务所需要的信息 事务设计的任务是定义事务的功能 包括在概念级说明事务的输入信息和输出信息 这工作独立于DBMS 事务可分为三类 1 数据查询 2 数据更新 3 混合型 兼有上述两种功能 F6
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!