




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,数据库设计,DatabaseSolutions,.,第10章,逻辑数据库设计步骤2,.,本章主题,将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束,.,本节主题,将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束,.,步骤2-将ER模型映射为一组表,目标为ER模型建表,并检查这些表的结构。,.,步骤2任务,步骤2.1建表步骤2.2用规范化检查表结构步骤2.3检查表是否支持用户事务步骤2.4检查业务规则步骤2.5同用户讨论逻辑数据库设计模型,.,步骤2.1-建表,为ER模型创建表来代表实体、关系、属性和约束。表结构来源于ER模型所描述的信息,这些信息包括ER图、数据字典和任何其他相关的文档。,.,步骤2.1本章用例的ER图,.,如何描述实体,对ER模型中的每个实体,创建一个包含实体的所有简单属性的表。对复合属性,仅包含表中组成复合属性的简单属性。如果可能,标识每个表中组成主键的列。,.,如何描述实体,在某些情况下,我们还不能标识出组成表的所有列,原因是还需描述实体间的关系。特别地,这意味着在ER模型中没有表达出关系之前我们不能标识出组成弱实体的主键的列。,.,实体的初始表结构,.,如何描述关系,使用主键/外键机制。为了决定将外键属性放在哪里,首先必须标识关系中包含的“父”实体和“子”实体。父实体指的是把自己的主键拷贝到代表子实体的表中作为外键的实体。,.,如何描述关系,考虑如何表示如下关系:一对多(1:*)二元关系一对多(1:*)递归关系一对一(1:1)二元关系一对一(1:1)递归关系多对多(*:*)二元关系复杂关系还有,要考虑多值属性。,.,1:*二元关系,关系“一”端的实体被指定为父实体,“多”端的实体被指定为子实体。父实体主键的拷贝,被放置在子实体的表中,作为外键。,.,1:*关系(a)ER图(b)表,.,1:*递归关系,1:*递归关系的表示与1:*二元关系是相似的。然而,在这种情况下,父实体和子实体是同一个实体。,.,1:*递归关系(a)ER图(b)表,.,1:1二元关系,不能使用元组的数目来标识关系中的父实体和子实体。而是,需要使用参与过程来决定是把实体结合为一个表来表示关系好,还是建两个表由外键来表示关系好。,.,1:1二元关系,考虑如何建表来表示如下参与约束:1:1关系的两边都是强制参与1:1关系的一边是强制参与1:1关系的两边均是可选参与,.,1:1关系的两边都是强制参与,将有关的实体组合为一个表,并选择初始实体中的一个主键作为新表的主键,其他的主键用作备用键。,.,1:1关系的两边都是强制参与(a)ER图(b)表,.,1:1关系的一边是强制参与,使用参与约束来标识父实体和子实体。可选参与的实体被设计为父实体,强制参与的实体被设计为子实体。父实体主键的拷贝被放置在描述子实体的表中。,.,1:1关系的一边是强制参与(a)ER图(b)表,.,1:1关系的一边是强制参与(第个例子),.,1:1关系的两边均是可选参与,在这种情况下,父实体和子实体之间的指派是任意的,除非你可以得到关于关系的更多信息来帮助你作出决定(使用哪种指派方案)。,.,1:1关系的两边均是可选参与(a)ER图(b)表,.,1:1递归关系,应遵循上述的1:1关系的“参与”规则。在这种情况下,关系两边的实体是相同的。,.,1:1递归关系的两边均是强制参与,应该用主键的两个拷贝来把这个递归关系描述为一个表。主键的一个拷贝代表外键,并且应该将它重新命名来表示它代表的关系。,.,1:1递归关系的一边是强制参与,可以用主键的两个拷贝创建一个新表,也可以创建一个新表代表关系。新表有两列,都是主键的拷贝,作为外键。必须重新命名来表示在表中的意思。,.,1:1递归关系的两边均是可选参与,应该像前面所描述的那样创建一个新表。,.,*:*二元关系,创建一张表来表示关系同时该表包括属于该关系的任何属性。把参与关系的实体的主键属性的拷贝放到新表中,作为外键。外键中的一个或者两个形成新表的主键,可能与关系的某些属性结合在一起。,.,*:*二元关系(a)ER图(b)表,.,复杂关系,创建一张新表代表关系。把参与关系的实体的主键属性的拷贝放到新表中,作为外键,同时该表包括任何与该关系相关的属性。外键中的一个或者多个形成新表的主键,可能与关系的某些属性结合在一起。,.,复杂关系ER图,.,复杂关系表,.,多值属性,创建一张新表来包含多值属性,父实体放置主键的拷贝到新表中,作为外键。除非多值属性本身是父实体的备用键,否则新表的主键由多值属性和原始的父实体的主键构成。,.,多值属性ER图和表,.,实体、关系和多值属性表示为表,.,StayHome的Branch用户视图的表,.,本节主题,将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束,.,步骤2.2使用规范化方法检查表结构,用规范化的方法检查每个表的组成来避免不必要的数据重复。每个表至少是第三范式(3NF)。如果所标识的表不是3NF,可能表明ER模型的某部分是错误的。如有必要,可能需要重建数据模型或者表。,.,本节主题,将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束,.,步骤2.3检查表是否支持用户所需的事务,检查所建的表是否如用户需求说明中所要求的那样。确保建表时,没有错误发生。一个方法是检查是否支持事务的数据需求,以确保数据在一个或多个表中存在。如果事务所需求的数据在多个表中,则应该检查这些表是否能够通过主键/外键机制连接起来。,.,步骤2.3检查表是否支持用户所需的事务,.,步骤2.3检查表是否支持用户所需的事务,.,步骤2.3检查表是否支持用户所需的事务,.,本节主题,将ER模型映射为一组表使用规范化方法检查表结构检查表是否支持用户所需的事务定义和存档完整性约束,.,步骤2.4检查业务规则,业务规则是一系列的约束,你希望利用这些约束来防止数据库不完整、不准确或者不一致。考虑如下类型的业务规则:需要的数据属性域约束实体完整性多样性参照完整性其他业务规则,.,步骤2.4检查业务规则参照完整性,关于外码的两点注意点:外码允许空值(null)吗?如何保证参照完整性?,.,如何保证参照完整性?,必须指定存在约束(existenceconstraints),该约束定义了主键和外键在什么条件下能够被插入、更新和删除。考虑如下六种情况:Case1:向子表中插入记录;Case2:从子表中删除记录;Case3:更新子表记录中的外键;Case4:向父表中插入记录;Case5:从父表中删除记录;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人购房合同解除及终止条件
- 海运货物保险代理服务合同范本
- 专业遴选测试题及答案
- 2025至2030中国海藻酸锂行业项目调研及市场前景预测评估报告
- 2025年智能可穿戴设备无人机飞行安全监测技术创新解析
- 2025至2030中国工业真空阀行业项目调研及市场前景预测评估报告
- 2025至2030中国毛绒布料玩具行业发展趋势分析与未来投资战略咨询研究报告
- 房地产财务工作总结与计划
- 家用中央空调销售、安装与智能节能系统合同
- 烧结钕铁硼培训
- 膝痹病的中医治疗方案
- Know Before You Go:趣谈“一带一路”国家智慧树知到期末考试答案2024年
- 养老金融论文
- 无人机维修技术行业报告
- NPI工程师培训资料
- 2024年射频同轴电缆组件行业技术趋势分析
- 个人工资表表格
- 老年人能力评估师高级第六章-需求评估
- 架桥机检验报告
- 溶气气浮机安全操作及保养规程
- 质量管理体系内部审核检查表
评论
0/150
提交评论