数据库实践10—逻辑数据库设计-步骤ppt课件.ppt_第1页
数据库实践10—逻辑数据库设计-步骤ppt课件.ppt_第2页
数据库实践10—逻辑数据库设计-步骤ppt课件.ppt_第3页
数据库实践10—逻辑数据库设计-步骤ppt课件.ppt_第4页
数据库实践10—逻辑数据库设计-步骤ppt课件.ppt_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库设计 DatabaseSolutions 1 第10章 逻辑数据库设计 步骤2 2 本章主题 将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束 3 本节主题 将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束 4 步骤2 将ER模型映射为一组表 目标为ER模型建表 并检查这些表的结构 5 步骤2 任务 步骤2 1 建表步骤2 2 用规范化检查表结构步骤2 3 检查表是否支持用户事务步骤2 4 检查业务规则步骤2 5 同用户讨论逻辑数据库设计模型 6 步骤2 1 建表 为ER模型创建表来代表实体 关系 属性和约束 表结构来源于ER模型所描述的信息 这些信息包括ER图 数据字典和任何其他相关的文档 7 步骤2 1 本章用例的ER图 8 如何描述实体 对ER模型中的每个实体 创建一个包含实体的所有简单属性的表 对复合属性 仅包含表中组成复合属性的简单属性 如果可能 标识每个表中组成主键的列 9 如何描述实体 在某些情况下 我们还不能标识出组成表的所有列 原因是还需描述实体间的关系 特别地 这意味着在ER模型中没有表达出关系之前我们不能标识出组成弱实体的主键的列 10 实体的初始表结构 11 如何描述关系 使用主键 外键机制 为了决定将外键属性放在哪里 首先必须标识关系中包含的 父 实体和 子 实体 父实体指的是把自己的主键拷贝到代表子实体的表中作为外键的实体 12 如何描述关系 考虑如何表示如下关系 一对多 1 二元关系一对多 1 递归关系一对一 1 1 二元关系一对一 1 1 递归关系多对多 二元关系复杂关系还有 要考虑多值属性 13 1 二元关系 关系 一 端的实体被指定为父实体 多 端的实体被指定为子实体 父实体主键的拷贝 被放置在子实体的表中 作为外键 14 1 关系 a ER图 b 表 15 1 递归关系 1 递归关系的表示与1 二元关系是相似的 然而 在这种情况下 父实体和子实体是同一个实体 16 1 递归关系 a ER图 b 表 17 1 1二元关系 不能使用元组的数目来标识关系中的父实体和子实体 而是 需要使用参与过程来决定是把实体结合为一个表来表示关系好 还是建两个表由外键来表示关系好 18 1 1二元关系 考虑如何建表来表示如下参与约束 1 1关系的两边都是强制参与1 1关系的一边是强制参与1 1关系的两边均是可选参与 19 1 1关系的两边都是强制参与 将有关的实体组合为一个表 并选择初始实体中的一个主键作为新表的主键 其他的主键用作备用键 20 1 1关系的两边都是强制参与 a ER图 b 表 21 1 1关系的一边是强制参与 使用参与约束来标识父实体和子实体 可选参与的实体被设计为父实体 强制参与的实体被设计为子实体 父实体主键的拷贝被放置在描述子实体的表中 22 1 1关系的一边是强制参与 a ER图 b 表 23 1 1关系的一边是强制参与 第 个例子 24 1 1关系的两边均是可选参与 在这种情况下 父实体和子实体之间的指派是任意的 除非你可以得到关于关系的更多信息来帮助你作出决定 使用哪种指派方案 25 1 1关系的两边均是可选参与 a ER图 b 表 26 1 1递归关系 应遵循上述的1 1关系的 参与 规则 在这种情况下 关系两边的实体是相同的 27 1 1递归关系的两边均是强制参与 应该用主键的两个拷贝来把这个递归关系描述为一个表 主键的一个拷贝代表外键 并且应该将它重新命名来表示它代表的关系 28 1 1递归关系的一边是强制参与 可以用主键的两个拷贝创建一个新表 也可以创建一个新表代表关系 新表有两列 都是主键的拷贝 作为外键 必须重新命名来表示在表中的意思 29 1 1递归关系的两边均是可选参与 应该像前面所描述的那样创建一个新表 30 二元关系 创建一张表来表示关系同时该表包括属于该关系的任何属性 把参与关系的实体的主键属性的拷贝放到新表中 作为外键 外键中的一个或者两个形成新表的主键 可能与关系的某些属性结合在一起 31 二元关系 a ER图 b 表 32 复杂关系 创建一张新表代表关系 把参与关系的实体的主键属性的拷贝放到新表中 作为外键 同时该表包括任何与该关系相关的属性 外键中的一个或者多个形成新表的主键 可能与关系的某些属性结合在一起 33 复杂关系 ER图 34 复杂关系 表 35 多值属性 创建一张新表来包含多值属性 父实体放置主键的拷贝到新表中 作为外键 除非多值属性本身是父实体的备用键 否则新表的主键由多值属性和原始的父实体的主键构成 36 多值属性 ER图和表 37 实体 关系和多值属性表示为表 38 StayHome的Branch用户视图的表 39 本节主题 将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束 40 步骤2 2使用规范化方法检查表结构 用规范化的方法检查每个表的组成来避免不必要的数据重复 每个表至少是第三范式 3NF 如果所标识的表不是3NF 可能表明ER模型的某部分是错误的 如有必要 可能需要重建数据模型或者表 41 本节主题 将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束 42 步骤2 3检查表是否支持用户所需的事务 检查所建的表是否如用户需求说明中所要求的那样 确保建表时 没有错误发生 一个方法是检查是否支持事务的数据需求 以确保数据在一个或多个表中存在 如果事务所需求的数据在多个表中 则应该检查这些表是否能够通过主键 外键机制连接起来 43 步骤2 3检查表是否支持用户所需的事务 44 步骤2 3检查表是否支持用户所需的事务 45 步骤2 3检查表是否支持用户所需的事务 46 本节主题 将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束 47 步骤2 4检查业务规则 业务规则是一系列的约束 你希望利用这些约束来防止数据库不完整 不准确或者不一致 考虑如下类型的业务规则 需要的数据属性域约束实体完整性多样性参照完整性其他业务规则 48 步骤2 4检查业务规则 参照完整性 关于外码的两点注意点 外码允许空值 null 吗 如何保证参照完整性 49 如何保证参照完整性 必须指定存在约束 existenceconstraints 该约束定义了主键和外键在什么条件下能够被插入 更新和删除 考虑如下六种情况 Case1 向子表中插入记录 Case2 从子表中删除记录 Case3 更新子表记录中的外键 Case4 向父表中插入记录 Case5 从父表中删除记录 Ca

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论