zoukankan      html  css  js  c++  java
  • 数据库系统(四)---关系型数据库设计及E-R图

    1、关系型数据库:

      关系型数据库是一类采用关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护等阶段。 概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键。

    2、关系数据库设计过程与各级模式

      在关系数据库设计的不同阶段,会形成数据库的各级模式。

       1)需求分析阶段,综合各个用户的应用需求;

       2)概念结构设计阶段,形成独立于机器特点、独立于各个关系数据库管理系统产品的概念模式;

       3)逻辑结构设计阶段,将 E-R 图转换成具体的数据库产品支持的关系数据模型,形成数据库逻辑模式,然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式;

       4)物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

          注:详细了解,请参考数据模式https://www.cnblogs.com/huyangshu-fs/p/11620600.html

     

    3、 概念结构设计方法

      关系数据库的概念结构设计通常采用自顶向下法,它通过两个步骤来完成概念设计,首先建立局部信息结构,然后将局部信息结构合成为全局信息结构并优化,使用 E-R 图作为概念模型的描述工具。

       1)局部信息结构设计

      局部信息结构设计:根据需求分析报告中标明的不同用户视图范围所建立的满足该范围内用户需求的信息结构,称为局部信息结构。

      局部信息结构设计的步骤包括:确定局部范围;选择实体;选择实体关键字; 确定实体间联系;确定实体的属性。

       2)E-R 图的表示方法

      概念结构设计就是将需求分析得到的用户需求抽象为信息结构的过程,通常使用 E-R 图来作为描述现实世界的建模工具。E-R 图提供了表示信息世界中实体、属性和联系的方法。

      1.实体型,用矩形表示,写明实体的名称;

      2.属性,用椭圆形表示,并用无向边将其与其相应的实体连接起来。

      3.联系,用菱形表示,写明联系的名称,用无向边分别与有关实体连接起来,同时在无向边旁标注联系的类型(1:1、1:N 或 M:N),如果一个联系具有属性, 则这些属性也要用无向边与该联系连接起来。

      两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在如下关系: 一对一联系(1:1) 一对多联系(1:N) 多对多联系(M:N)

       3)全局信息结构设计

      全局信息结构设计是将上述步骤中产生的所有局部信息结构合并成为一个全局信息结构。 各局部 E-R 图之间的冲突主要表现在三个方面:

      3.1).属性冲突:属性域冲突和属性取值单位冲突。

      3.2).命名冲突:同名异义和异名同义。

      3.3).结构冲突:

       ① 同一对象在一个局部 E-R 图中作为实体,而在另一个 局部 E-R 图中作为属性;

       ② 同一实体在不同的 E-R 图中属性个数和类型不同;

       ③ 实体之间的联系在不同的 E-R 图中是不同的类型。

      eg:

      【例】设有如下实体:

        学生:学号,姓名,性别

        课程:课程号,课程名,学分

        班级:班号,班名,

        其中,每个班有若干学生,每个学生只可以在—个班级学习;每个学生可选修多门课程,每门课程可被多个学生选修,学生选修课程要记录成绩。

       1. 试画出反映上述实体关系的 E-R 图(不必画实体的属性)。

        

         注意:学生选修课程之后才能有成绩,故成绩是选修(联系)的属性。

    4、逻辑结构设计方法

      逻辑结构设计的任务是把在概念结构设计产生的概念模型转换为具体的 DBMS 所支持的逻辑数据模型,也就是导出特定的 DBMS 可以处理的数据库逻辑结构。 通常包括三项工作:将 E-R 图转换为关系模型、对关系数据模型进行优化、设计面向用户的外模式。

       1)E-R 图向关系模型的转换 遵循原则如下:

      1. 一个实体型转换为一个关系模式。

      2. 一个一对一联系可以转换为一个独立的关系模式。

      3. 一个一对多联系可以转换为一个关系模式。

      4. 一个多对多联系转换为一个关系模式。

      5. 具有相同码的关系模式可合并。

      eg:

      使用3中的示例,将E-R图转化为关系模式,并说明主外键

      (1)一个实体型对应一个关系模式:

             R学生(学号,姓名,性别)

        R课程(课程号,课程名,学分)

        R班级(班号,班名)

         (2)一个一对多联系可转化为一个关系模式(中间表)

        R属于(学号、班号)外键 学号 和 班号

      (3)一个多对多联系可转化为一个关系模式(中间表)

        R选修(学号、课程号、成绩)外键 学号 和 课程号

      (4)R学生和R属于可合并成一张表

        R学生(学号、姓名、性别、班号)外键 班号

        2)数据模型的优化 方法如下:

      1.确定各属性间的函数依赖关系。

      2.对于各个关系模式的范式,根据实际需要确定最合适的范式。

      3.判断每个关系模式的范式,根据实际需要确定最合适的范式。

      4.按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否 合适,确定是否要对某些模式进行合并或分解。

      5.对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。

     

       3)设计用户子模式 定义用户模式具体包括以下几个方面:

      1.可以通过视图机制在设计用户视图时,重新定义某些属性的别名,使其更符合用户的习惯,以方便使用。

      2.可以对不同级别的用户定义不同的视图,以保证系统的安全性。

      3.简化用户对系统的使用。

     

    5、物理设计方法

       关系数据库系统的优点之一是用户通常不需要进行数据存储结构和存取方法的设计。

       物理设计的任务主要是通过对关系建立索引和聚集来实现与应用相关数据的逻辑连接和物理聚集,以改善对数据库的存取效率。

     1)建立索引

      索引的建立是通过 DBMS 提供的有关命令来实现的。 用以建立索引的那些属性也应是其所在关系中使用频率较高的属性。 建立索引的方式通常有静态和动态两种。 静态建立索引是指应用人员预先建立索引,一旦建立,后续的应用程序均可直 接使用该索引存取数据,它多适合于用户较多且使用周期相对较长的数据;动 态建立索引是指应用人员在程序内外临时建立索引,它多适合于单独用户或临 时性使用要求情况。

        2) 建立聚集

      聚集是将相关数据集中存放的物理存储技术,借以提高 I/O 的数据命中率而改 善存取速度,其功能由具体的 DBMS 所提供,如 MySQL。 数据聚集结构的一种有效方式是块结构方式,块与块之间由指针连接,一个块对应于一个物理分区。

  • 相关阅读:
    自己用的C++编码规范
    飘逸的python
    编译Sqoop2错误解决
    怎样设置linux中Tab键的宽度(可永久设置)
    系统分析师零散知识点
    Hadoop权威指南学习笔记一
    Spring获取request、session以及servletContext
    RequestContextHolder获取request和response
    Spring MVC 中RequestContextHolder获取request和response
    缓存清理
  • 原文地址:https://www.cnblogs.com/huyangshu-fs/p/11659958.html
Copyright © 2011-2022 走看看