设为首页 加入收藏

TOP

数据库设计-逻辑设计
2019-09-17 18:40:23 】 浏览:21
Tags:数据库 设计 逻辑

数据库设计-逻辑设计

概念结构设计:

定义:将需求分析得到的用户需求抽象成信息结构,即概念模型。

概念模型:通常的描述工具是E-R模型图。

数据库概念模型的设计方法:

 

概念设计的步骤:

  1. 进行数据抽象,设计局部概念模式
    • 分解法:将一个大的需求分解成一个个的小的需求,具体到单个用户的基本需求,为每个用户或用户组建立一个对应的局部E-R模型
    • 常用抽象方法:
      • 聚集:将若干对象和它们之间的联系组合成一个新的对象。
        • 例如:学生属性信息(学号,姓名,性别)聚集成一个学生实体。
      • 概括:将一组具有某些共同特征的对象合并成更高层面的对象。
        • 例如:对不同学生(本科生,研究生)统一概括出共同特征,并抽象成学生实体。
  2. 将局部概念模式综合成全局概念模式
    • 将各个局部概念模式合并成一个全局概念模式。
    • 解决冗余问题
    • 解决对象定义不一致问题:同名异意,异名同意。

概念设计中涉及到的专有名词:

      • 关系:一个关系对应一张表。
      • 元组:一个元组对应表中的一行记录。
      • 属性:一个属性对应表中的一列记录。
      • 主属性:候选码中出现的属性。
      • 非主属性:没有在任何候选码中出现。
      • 候选码:可以唯一标识元组的属性组。
      • 主码:候选码之中的一个。
      • 域:属性的取值范围。
      • 分量:元组中的一个属性值。

ER图图例说明:

      • 矩形:表示实体集。
      • 菱形:联系集。
      • 椭圆:实体的属性。
      • 线段:实体与属性之间的联系。

局部概念结构设计:

  1. 选择局部应用:根据系统具体情况,在多层的数据流图中选择一个适当层次的数据流图,从该数据流图出发,设计局部E-R模型。
  2. 逐一设计局部E-R模型:参照数据字典和数据流图,确定每个局部应用应该包含那些实体,实体有包含那些属性,以及实体之间的联系和类型。
    1. 实体的定义:现实世界中事物。
      • 例如:学生
    2. 属性的定义:描述实体的性质。
      • 例如:学号,姓名,性别
    3. 联系的定义:实体之间的关系:一对一;一对多;多对多。
      • 例如:一个学生对应一个班级,一个班级对应多个学生,多个老师对应多个班级。

全局概念结构设计:

  1. 合并局部E-R模型,生成初步的全局E-R图。

合并原则:

  1. 进行两两合并。
  2. 先合并那些与现实世界有联系的局部结构。
  3. 合并从公共实体类型开始,最后在加入独立的局部结构。

2.E-R图中冲突:

  1. 属性冲突:
    1. 属性值域冲突:属性值的类型,取值范围,取值集合不同。
      • 例如:学生学号,有的为数值型,有的为字符型。
    2. 属性的取值单位冲突。
      • 例如:学生身高,有的以m为单位,有的以cm为单位。
  2. 命名冲突:
    1. 同名异义:同一个名字的对象在不同的实体里具有不同的含义。
      • 例如:学校A中以学生为单位,学校B中以班级为单位,
    2. 异名同义:同一个含义的对象在不同的是实体中具有不同的名称。
      • 例如:有的学生把计算机教室称为机房,有的学生把计算机教室称为实验室。
  3. 结构冲突:
    1. 同一对象在不同应用中有不同的抽象,可能为实体,也可能为属性。
      • 例如:学生可以为实体,也可以是班级实体的一个属性。
    2. 同一对象在不同应用中属性组成不同。
      • 例如:学生在班级中的所拥有的属性,和学生在档案中的所拥有的属性个数不一样。
    3. 同一联系在不同应用中有不同的类型。
      • 在学校,学生和老师是多对一的关系;在家教中,学生和老师是一对一的关系。

逻辑结构设计阶段:

概念结构设计阶段得到的E-R模型是独立与任何一种数据模型的信息结构,是一个与具体DBMS无关的设计概念。

任务:将概念结构设计的E-R模型转换成与选用具体机器上的DBMS所支持的数据模型相符合的逻辑结构。

步骤:

  1. 将概念结构转换成为一般的关系模型。
  2. 将转换来的关系模型想特定的DBMS支持下的数据模型转换。
  3. 依据应用的需求和具体的DBMS的特点进行调整和完善。

E-R图向关系模型的转换:

    1. 实体类型的转换。
      • 每个实体类型->关系模式,实体的属性集为关系的属性,实体的标识符便是关系的码。
    2. 联系类型的转换。
      1. 1:1联系:在任意一个关系的属性中加入另一个关系的码和联系类型的属性,通常两个实体可以直接合并成一个实体。
      2. 1:N联系:在N端关系的属性中加入1端关系的码和联系类型的属性。
      3. M:N联系:两端关系的码加上联系类型的属性,码为两端码的组合。

网上商城数据库ER图:

 

以上仅为本人学习过程中的知识总结,若有错误,还请诸位不吝赐教。

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【Oracle RAC】Linux系统Oracle12.. 下一篇Redis入门简述

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目