数据库三级--第三章

第三章 数据库结构设计

数据库概念设计

  • 核心环节 独立于具体DBMS的概念模型

  • 目标:

    • 定义和描述应用领域设计的数据范围
    • 获取信息模型
    • 描述数据的属性特征
    • 描述数据之间的关系
    • 定义和描述数据的约束
    • 说明数据的安全性需求
    • 支持用户的各种数据处理需求 事务
    • 保证信息模型能转化成数据库的逻辑结构(即数据库模式)
  • 概念设计的依据及过程

    • 依据:以需求分析的结果为依据 即需求说明书DFD图各类文件报表等
    • 结果:概念模型(ER)以及概念设计说明书
    • 过程:
      1. 明确建模目标(模型覆盖范围)
      2. 定义实体集(自底向上标识和定义实体集)
      3. 定义联系(实体间联系)
      4. 建立信息模型(构造ER模型)
      5. 确定实体属性(属性描述一个实体集的特征或性质)
      6. 对信息模型进行集成与优化(检查和消除命名不一致,结构不一致)
  • 概念模型设计:

    • 广泛使用ER建模方法 E-R模型(Entity-Relationship Model)
      • 实体或实例:客观存在并互相区分的事物:如 学生张三
      • 实体集:同型实体的集合称为实体集 :如 全体学生
      • 属性:实体说具有的一个特性,一个实体可以由若干个属性,每个属性的取值范围称为
      • 码(key) 键 :实体集中唯一标识每一个实体的属性或属性组合,主键(码):一个实体集中任意两个实体主键取值不能相同
      • 联系(属性):描述实体间的相互关系
      • 实体间的联系:
        1. 一对一 1:1联系:
          1. 联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成,主键由两个实体中的任意一个键构成
          2. 联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变
        2. 一对多 1:m联系:
          1. 联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成,主键由n端实体的键构成
          2. 与n端实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变
        3. 多对多 m:n联系:多对多联系转换为新的独立模式时,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成
      • E-R模型的表示
        • 实体——矩形
        • 联系——菱形
        • 属性——椭圆
        • 主键——属性椭圆中属性名带有下划线
    • IDEF1X建模方法——数据建模方法

数据库逻辑设计

  • 任务:概念模型(ER)图转化为关系模型

  • 依概念补充

    • 关系模型

      • 数据模型 二维表格结构
      • 关系模式 关系的描述 由五部分组成
        • R(U,D,DOM,F) → 关系名(该关系的属性名的集合U,属性组U所来自的域,属性到域的映射,U上的一组数据依赖)
        • 简化为三元组R(U,F)
    • 数据依赖

      • 定义:R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称 X函数确定Y 或 Y函数依赖于X 记作 X→Y
      • 关系的内部属性与属性之间的一种约束关系 语义的体现
      • 完整性约束的表现形式:限定属性的取值范围,定义属性值的相互关联(主要体现于值的相等与否)
      • 类型
        • 函数依赖 唯一确定的关系
          • 平凡函数依赖
          • 完全函数依赖 部分函数依赖
          • 传递函数依赖
        • 多值依赖 不能唯一确定
    • 候选码 候选关键字

      • 候选码有多个 可以选其中一个作为主码
    • 外部码

    • 数据规范化

      • 关系模式设计的好坏
      • 关系模式的范式化(数据库逻辑设计的工具)
      • 目的:尽量消除插入、删除异常、修改负载、数据冗余的问题
      • 泛式关系模式满足的约束条件
        1. 第一范式 1NF : 关系模式中所有属性都是不可再分的数据项 每个字段对应单一属性
        2. 第二范式 2NF : 每个非主属性完全依赖于主键
        3. 第三范式 3NF : 首先满足第二泛式,并且属性中每个非主属性不传递函数依赖于主键 也就是说 第三范式中不存在传递函数依赖
      • 关系模式规范化的基本步骤:
        • 1NF到2NF:消除非主属性对码的部分函数依赖
        • 2NF到3NF:消除非主属性对主键的传递函数依赖
        • 3NF到BCNF: 消除主属性对码的部分和传递函数依赖
        • BCNF到4BF:消除非平凡且非函数依赖的多值依赖
    • 设计逻辑结构分三步:

      • 概念结构转化为一般的关系模型
      • 将转化来的关系模型向特定的DBMS支持下的数据模型转换
      • 对数据模型进行优化
    • 概念模型按照如下规则转换为数据模型:

      1. 一个实体转换成一个关系模式
      2. 一个1:1联系转换为一个独立的关系模式,也可以与任一端对应的关系模式合并
      3. 一个1:n 联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并
      4. 一个m:n联系转换为一个关系模式
      5. 三个或三个以上实体间的一个多元联系转换为一个关系模式
      6. 同一实体集的实体间的联系,也可以按照三种情况分别处理
      • 数据模型的三个要素

        1. 数据结构:所研究的对象类型的集合,表述客观世界中数据对象本身结构和数据对象之间的关系,是对系统静态特征的描述
        2. 数据操作:对数据库中的对象的实例允许执行操作的集合,主要指检索和更新(插入、删除、修改)两类操作,数据模型必须定义这些操作的确切含义,操作符号、操作规格以及实现操作的语言。数据操作是对系统动态特性的描述
        3. 数据完整性约束:是一组完整性规则的集合,规定数据库状态及状态变化所对应满足的条件,以保证数据的正确性、有效性和相容性
      • 模式分解:

        • 无损连接性:分解的若干连接重组时可以精确恢复到原来的数据表,数据记录既没有增加也没有减少
        • 保持函数依赖:原关系模式含有的属性之间的隐含关系在分解后不能丢失
        • 分解使得一个关系变为多个关系,常用于关系模式规范化。一般情况下可以减少部分数据冗余,但不恰当的分解,也可能增加冗余
      • ER图向关系模式转换涉及到两方面:

        1. 实体的转换:一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键
        2. 实体间联系的转换:实体间存在三种联系:一对一,一对多,多对多联系,转换模式规则如下:
          1. 1:1联系:
            1. 联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成,主键由两个实体中的任意一个键构成
            2. 联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变
          2. 1:m联系:
            1. 联系转换为独立的关系模式;模式的属性由联系本身的属性及两个实体的键构成,主键由n端实体的键构成
            2. 与n端实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变
          3. m:n联系:多对多联系转换为新的独立模式时,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成
        • 实体和联系转换成关系模式的规则:
          1. 每一个实体集转换为一个关系模式
          2. 一对一、一对多联系中一端并入多端的实体关系模式中
          3. 每一个多对多联系转换成一个关系模式

      数据库物理设计

      • 概述:

        • 是设计数据库的存储结构和物理实现方法
        • 目的:将数据的逻辑描述转换为实现技术规范,设计数据存储方案,以便提供足够好的性能并确保数据库数据的完整性、安全性、可靠性
      • 数据库的物理结构

        • 物理设备上的存储结构存取方法
        • 数据库中的数据以文件形式存储在外设存储介质上
        • 一个文件可以物理上看作是存放记录的一系列磁盘块组成的,成为物理文件
        • 物理结构需要解决的问题:文件组织、文件结构、文件存取、索引技术
      • 索引:

        • 是数据库中独立的存储结构,其作用是提供一种无需扫描整个页面(存储表格数据的物理块)而快速访问数据页的方案
        • 索引技:是一种快速数据访问技术
        • 索引技术的关键
          • 建立记录域取值(如图书术语)到记录的物理地址(如页码)间的映射关系即索引
          • 索引能提高性能,但有代价的(空间换时间)
          • 设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价
        • 索引技术分类:
          • 有序索引:索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序域)取值到记录物理地址间的映射关系
            • 数据文件(主文件)和索引文件(索引记录或索引项的集合)是有序索引技术中两个主体,数据文件常采用顺序文件结构
            • 几种主要的有序索引:
              • 聚集索引和非聚集索引,一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引
              • 稠密索引(数据文件中每个查找码都有对应索引记录)和稀疏索引(部分查找码有对应索引记录)
              • 主索引与辅索引
              • 唯一索引
              • 单层索引(线性文件)和多层索引(多层树形)
      • 数据库物理设计:

        • 目标:得到存储空间占用少,数据访问效率高,维护代价低

        • 5个主要环节:

          1. 逻辑模式描述:根据数据库逻辑结构信息设计目标DBMS可支持的关系表(基本表)的模式信息
            SQL server 采用T-SQL语言
            为基本表选择合适的文件结构(堆文件、顺序文件、聚集文件、索引文件和散列文件)

          2. 文件组织与存取设计

            • 基本原则:根据应用情况将易变部分与稳定部分、存取频率较高部分与存取频率较低部分分开存放,以提高系统性能

            • 分析理解数据库事务访问特性:使用事务-基本表交叉引用矩阵;估计各事务执行频率;汇总每张基本表各事务操作频率信息;根据结果设计文件结构

            • 影响文件存储结构的因素:
              存取时间、存储空间利用率、维护代价
              解决方法:适当冗余、增加聚簇功能

            • 存取路径:主要指确定如何建立索引

            • DBMS常用存取方法: 索引方法(B+树索引)、聚簇方法、HSAH方法

            • 建立索引原则:
              一个属性经常在操作条件中出现

              一个属性经常在连接操作的连接条件中出现
              一个属性经常作为聚集函数的参数

            • 建立聚集索引原则:

              检索数据时,常以某个属性作为排序、分组条件

              检索数据时,常以某个属性作为检索限制条件,并返回大量数据

              表中某个属性的值重复性较大

          3. 数据分布设计:不同类型数据的物理分布
            将应用数据(基本表)、索引、日志、数据库备份数据等合理安排在不同介质中
            应用数据的划分与分布:

            • 根据数据的使用特征划分(频繁使用与非频繁使用分区)
            • 根据时间、地点划分(时间或地点相同的属于同一分区)
            • 分布式数据库系统(DDBS)中的数据划分(水平划分垂直划分)
              • 水平划分:将基本表划分为多张具有相同属性、结构完全相同的子表,子表包含的元组是基本表中元组的子集
              • 垂直划分: 将基本表划分为多张子表,每张子表包括的属性是原基本表的子集
            • 派生属性数据分布(增加派生列或不定义派生属性)
            • 关系模式的去规范化(降低规范化提高查询效率)
          4. 确定系统配置
            配置参数:用户数、对象数、使用的缓冲器长度、个数,时间片大小,数据库大小,装填因子,锁的数目...

          5. 物理模式评估:
            对数据库物理设计结果从存取时间、存储空间、维护代价等方面进行评估,重点是时间和空间效率

posted @ 2023-08-30 10:31  Pennaa  阅读(7)  评论(0编辑  收藏  举报