欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    数据库实践10—逻辑数据库设计步骤2.ppt

    • 资源ID:250679       资源大小:1.82MB        全文页数:53页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库实践10—逻辑数据库设计步骤2.ppt

    数据库设计,Database Solutions,第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)吗?如何保证参照完整性?,如何保证参照完整性?,必须指定存在约束(existence constraints),该约束定义了主键和外键在什么条件下能够被插入、更新和删除。考虑如下六种情况:Case 1:向子表中插入记录;Case 2:从子表中删除记录;Case 3:更新子表记录中的外键;Case 4:向父表中插入记录;Case 5:从父表中删除记录;Case 6:更新父表记录中的主键;,如何保证参照完整性?,对Case 5 有几种策略:NO ACTION CASCADE SET NULL SET DEFAULT NO CHECK,表中的参照完整性约束,步骤 2.5 同用户讨论逻辑数据库设计,确保逻辑数据库设计是数据库所支持的公司数据需求的真实表现。,

    注意事项

    本文(数据库实践10—逻辑数据库设计步骤2.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开