第3章 数据库系统设计步骤.pptVIP

  • 11
  • 0
  • 约2.67千字
  • 约 71页
  • 2017-07-10 发布于河南
  • 举报
第3章 数据库系统设计步骤

第3章 数据库系统设计的步骤和方法;目标:建立一个性能良好的、能满足不同用户使用要求的、又能被选定的DBMS所接受的数据库模式。 内容:数据库的逻辑结构设计、外模式设计和内模式设计。 其中数据库的逻辑结构设计最关键。;将现实世界中的事物、事物间的联系用E-R图表示,得出数据库的概念结构模型,最后将该模型转化为数据库的逻辑结构模型表示。;确定数据库用户的行为和动作,并根据其行为特性设计出用户数据库。;数据库设计应分6个阶段进行:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。;3.1.4 数据库设计的基本步骤;3.2 系统需求分析;设计方法的自顶向下的需求分析(从全局到局部) 自底向上的概念结构设计(从局部到全局);XX公司管理信息系统;3.3 概念结构的设 计;(1) 分类 定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特性和行为。;定义某一类型的组成部分,它抽象了对象类型和对象内部“组成部分”的语义。;定义类型之间的一种子集联系,它抽象了类型之间的“所属”的语义。;2 设计分 E-R 图;如何确定实体集和属性? 实体集与属性是相对而言的,同一事物在某个环境中是属性,在另一个环境中可能就是实体集。;名称;姓名;属性不能与其他实体集发生联系;在满足处理问题的要求前提下,尽量减少实体集(1);在满足处理问题的要求前提下,尽量减少实体集(2);派生属性 (衍生属性);多值属性;(1)在原实体集中增加属性,使这些属性是该多值属性的组成部分;(2)建立一个新的实体集,原来的多值属性上升为实体集;ER图设计实际例题 公司管理 工程管理 人事管理 财务管理 合同管理 ……..;局部ER图设计实际例题 选择局部应用: XX公司管理-工程管理;MN;工程号;工时;实体集: 工程(工程号,工程名,工期,部门名) 员工(员工号,员工名,性别) 客户(客户号,客户名,电话) 联系: 参与(工时) 属于;该公司有多个部门,每个部门有多个职工,每一名职工属于一个部门。一名职工可能有多种技能,同一种技能有很多员工具备。;职工;1) 属性域冲突,即属性值的类型、取值范围不同。 假设: E-R(1)中部门号为字符型,取值范围(0-9) E-R(2)中部门编号为数字型,取值范围(0-99) 2)属性取值单位冲突 如职工的工作量有的以小时为单位,有的可能以天为单位 属性冲突通常以讨论和协商方式解决;(2) 命名冲突;1) 同一对象在不同的应用中具有不同的抽象。 ‘部门’在E-R(1)作为属性,在E-R(2)实体集 2) 同一实体集在不同分E-R图中的属性组成不一致. 同一实体集在不同局部视图中所包含的属性不完全相同。 这是常见的一类冲突: E-R(1)中 员工(员工号,员工名,性别) E-R(2)中 职工(职工号,职工名,性别,年龄);3) 实体集之间的联系在不同的分E-R图中呈现不同的类型。 例如2个实体集E1、E2在一个局部应用中是一对一的联系,而在另一个局部应用中是一对多的联系;实体集: 部门(部门号,部门名,负责人) 职工(职工号,职工名,性别,年龄) 技能(技能代号,技术名称,类别) 联系: 聘用 具有(等级);将局部E-R图合并;确定局部结构范围;3.4.2 概念模型向关系模型的转换;2. 实体集间联系的转换规则 (1) 1:1联系的转换方法 1) 将1:1联系转换为一个独立的关系模式,与该联系相连的各实体集的主码以及联系本身的属性均转换为该模式的属性,且每个实体集的主码均是该关系模式的码,选择一个当主码。;2) 将1:1联系与某一端实体集所对应的关系模式合并,在被合并关系模式中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的主码 ;(2) 1:n联系的转换方法 1)将联系转换为一个独立的关系模式。其关系模式的属性由与该联系相连的各实体集的主码以及联系本身的属性组成,而该关系的主码为n端实体集的主码;2)将1:n 联系与n 端实体集所对应的关系模式合并,在n 端实体集中增加新属性。新属性由联系对应的 1 端实体集的主码和联系自身的属性构成,新增属性后原关系模式的主码不变。;(3) m:n联系的转换方法 一个m:n联系转换为一个关系模式。转换方法为:与该联系相连的各实体集的主码以及联系本身的属性均转换为关系模式的属性,新关系模式的主码为两个相连实体集主码的组合(该主码为多属性构成的组合码)。 ;供应商(供应商号,供应商名,地址) 零件(零件号,零件名,单价) 产品(产品号,产品名,型号) 供应(供应商号,零件号,产品号,数量)?;*(5)弱实体集的转换;*(6)超类和子类的转换;在超类中将子表的类型设置为属性,数据类型定

文档评论(0)

1亿VIP精品文档

相关文档