备考软考数据库 11 数据库设计

数据库系统生存期:

  1. 规划:
    系统调查
    可行性分析
    确定数据库系统的总目标和制定项目开发计划
  2. 需求分析:
    分析用户活动,产生业务流程图
    确定系统范围,产生系统关联图
    分析用户活动涉及的数据,产生数据流
    分析系统数据,产生数据字典
  3. 设计
    数据库结构的设计:概念设计、逻辑设计、物理设计
    应用程序设计
  4. 实现
    定义数据库结构
    数据装载
    编制与调试应用程序
  5. 测试
    对数据库的结构以及使用进行测试
    对数据库的并发控制、恢复、安全性、完整性措施进行测试
    对应用程序进行测试
    数据库的试运行和确认测试
  6. 运行维护
    数据库的转储和恢复
    数据库安全性、完整性控制
    数据库性能的监督、分析和改进
    数据库的重组质和重构造
概念设计方法论:
  1. 自顶而下:首先定义全局概念结构框架,然后逐步细化
  2. 自底而上:首先定义各局部应用的概念结构,然后集成起来
  3. 逐步扩张:首先定义核心业务的概念结构,然后扩充
  4. 混合策略:自顶而下和自底而上的结合
数据抽象的三种方法:
  1. 分类(Classification):
    定义一类概念作为现实世界中一组对象的类型
    抽象的是对象值和类型之间is a member of的语义
    ER模型中对应于实体值和实体类型
  2. 聚集(Aggregation):
    定义每一类型的组成部分
    抽象了对象内部类型和成分之间is a part of的语义
    ER模型中对应于若干属性聚集成一个实体类型
  3. 概括(Generalization):
    定义类型之间的子集联系
    抽象了类型之间is a subset of的语义
    ER模型中对应于子类能继承超类上定义的所有抽象
ER模型的基本元素:
  1. 实体(Entity):
    实体:一个数据对象,应用中可以区分的客观存在
    实体集:同一类实体的集合
    实体类型:对实体集中实体的定义
    ER模型中实体用方框表示,方框内注明实体命名
  2. 联系(Relationship):
    联系:一个或多个实体之间的关联关系
    联系集:同一类联系构成的集合
    联系类型:对联系集中联系的定义
    ER模型中用菱形框表示,用线段将其与相关实体连接起来
  3. 属性(Attribute):
    属性是实体的某一特性,实体的属性中,能够唯一标识实体的属性或属性集称为“实体标识符”
    属性可取的值的范围称为属性域
    联系也可能有属性,但是只做描述用
属性的分类:

  • 简单属性和复合属性
    简单属性是不可再分割的属性:性别、年龄
    复合属性是可以再分解为其他属性的属性:地址
  • 单值属性和多值属性
    单值属性指同一实体的该属性只可有一个取值:年龄
    多值属性指同一实体的该属性可以有多个取值:学位
  • 存储属性和派生属性
    可以从其他属性值推导出值的属性称为派生属性:实发工资=工资-扣费
    存储属性是实际存储在数据库中的属性
  • 多值属性的变换方法:
    将原本的多值属性用几个新的单值属性来表示:将销售价格拆分为批发价格和零售价格
    将原本的多值属性用一个新的实体类型表示:新的弱实体与原本实体之间为1:N关系
联系的设计:
  • 一个联系涉及到的实体集个数称为该联系的元数或度数
  • 联系类型的约束限制了参与联系的实体的数目,分为基数约束和参与约束
  1. 基数约束
    可能的映射基数有:1:1,1:N,M:N,M:1四种
    要对映射基数更精确的描述时用"0...3","1...*"这样的形式描述
  2. 参与约束
    如果实体集E中的每个实体都参与联系集R中至少一个联系,则称实体集E全部参与联系集R,ER图中用双线边表示,一般很少这么画。
ER模型的操作:
  • 分裂:
    水平分裂(老师实体集拆分成男老师、女老师两个实体集)
    垂直分裂(把经常变化的属性组成一个实体类型,剩余的构成另一个)
    实体集以外,联系也可以分裂
  • 合并:
    分裂的逆操作,注意合并是否合法
  • 增删
采用ER模型的数据库概念设计步骤:
  1. 设计局部ER模型
    确定局部结构范围
    实体定义
    联系定义
    属性分配
  2. 设计全局ER模型
    确定公共实体类型
    局部ER模型的合并
    消除冲突
  3. 全局ER模型的优化
    实体类型的合并
    冗余属性的消除
    冗余联系的消除
增强的ER模型
  1. 弱实体:以另外一个实体的存在为前提的实体称为弱实体,ER图中用双矩形框表示
    与弱实体之间的联系在ER图中用双菱形框表示
  2. 子类与超类关系:
    从子类到超类的过程为概括
    从超类到子类的过程为抽象
    若超类中的每个实体必须是特化的某个子类的成员则,ER图中用双线将超类实体与小圆圈相连
    若超类中的实体可以不属于任何一个子类,则ER图中用单线连接超类实体和小圆圈
    小圆圈内标注d表示不相交,标注o表示可相交
ER图转换为关系模式集的算法:
  1. 实体类型的转换,将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符为关系模式的主键
  2. 实体联系的转换,应情况不同而定:
    一元、二元联系:
    1:1联系,在一个关系模式中加入另外一个关系模式的键和联系类型的属性
    1:N联系:在N端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性
    M:N联系:将联系也转换成关系模式,属性为两个实体类型的键和联系类型的属性,其键为两个实体键的组合
    三元联系:
    1:1:1情况:在三个实体类型转换成的3个关系模式的任意一个中加入另外两个关系模式的键和联系类型的属性
    1:1:N情况:在N端加入
    P:M:N情况:将联系类型转换成关系模式
统一建模语言UML
ER图中术语与UML类图中术语的对应:
  • 实体集(Entity Set)——类(Class)
  • 实体(Entity)——对象(Object)
  • 联系(Relationship)——关联(Association)
  • 联系元数——关联元数(Degree)
  • 实体基数(Cardinality)——重数(Multiplicity)
类被表示为由以下3个部分构成的方框:

  1. 类的名称
  2. 该类的单个对象的属性
  3. 可以应用到这些对象的操作
UML基本不考

Leave a Reply

Your email address will not be published. Required fields are marked *