IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库系统原理——第三章 数据库设计知识点总结(自考本) -> 正文阅读

[大数据]数据库系统原理——第三章 数据库设计知识点总结(自考本)

我们会一起享受苦尽甘来的美好,会熬过这段最苦的日子。

数据库设计概述

数据库生命周期的两个阶段

  • 数据库分析与设计阶段;
  • 数据库实现与操作阶段。

数据库分析与设计阶段

包含:需求分析、概念设计、逻辑设计和物理设计四个阶段。

数据库实现与操作阶段

包含:数据库的实现、操作与监督、修改与调整工三个子阶段。

设计的目标

目标:满足应用功能的需求和良好的数据库性能。

满足应用功能的需求

用户当前可预知的将来应用所需要的数据及其联系,应全部准确地存储在数据库之中,从而可满足用户应用中所需要的对数据进行的存、取、删、改等操作。

良好的数据库性能

主要是指对数据的高效率存取空间的节省,并具有良好的数据共享性、完整性、一致性及安全保密性。

设计的内容

  1. 数据库结构设计:是针对给定的应用环境进行数据库的模式或子模式的设计,包括数据库的概念结构设计逻辑结构设计物理结构设计模式定义并给出各应用程序共享的结构,是静态的,一经形成通常不会改变。
  2. 数据库行为设计:是确定数据库用户的行为和动作,而用户的行为和动作是对数据库的操作,它们通常是通过应用程序来实现的。 行为设计是动态的。

设计方法

数据库设计方法(有效的指导原则) ,概括分为三类:

  1. 直观设计法;
  2. 规范设计法;
  3. 计算机辅助设计法。

直观设计法

最原始的设计方法。

规范设计法

  1. 新奥尔良设计方法
  2. 基于 E-R 模型的数据库设计方法
  3. 基于第三范式的设计方法

计算机辅助设计法

通常通过人机交互的方式来完成。(例如 CASE 工具)

数据库设计的过程

数据库设计的阶段包括:

  1. 需求分析阶段;
  2. 结构设计阶段:包括概念结构设计、逻辑结构设计和物理结构设计;
  3. 行为设计阶段:包括功能设计、事务设计和程序设计;
  4. 数据库实施阶段:包括加载数据库数据和调试运行应用程序;
  5. 数据库运行和维护阶段。

数据库设计过程实际上是一个反复修改、反复设计的迭代过程。如下图所示:

在这里插入图片描述

数据库设计的基本步骤

数据库设计的特点是结构设计和行为设计分离。

需求分析

  1. 需求分析是数据库设计的起点
  2. 目标是了解与分析用户的信息及应用处理的要求,并将结果按一定格式整理而形成需求分析报告
  3. 该分析报告是后续过程的依据
  4. 数据库设计人员进行需求分析的基本方法听取数据库应用部门工作人员的报告并与之座谈
  5. 需求分析的四个步骤:
    (1)即确定数据库范围;
    (2)分析数据应用过程;
    (3)收集与分析数据;
    (4)编写需求分析报告。

确定数据库范围

数据库设计的第一项工作就是要确定数据库范围。 即确定数据库应支持哪些应用功能

应用过程分析

  • 了解并分析数据与数据处理间的关系。
  • 应用过程分析的结果是数据库结构设计的重要依据。
  • 数据应用过程可以借助数据流图或其他信息及应用结构图形表示。

收集与分析数据

  • 任务: 任务是了解并分析数据的组成格式操作特征,每个数据元素的语义及关系等,并将它们收集起来整理归档
  • 数据流图中所涉及的数据都是收集与分析的对象,主要包括报表、文件、单据及各种原始资料
  • 数据的收集与分析工作可从数据的静态结构、动态结构及数据约束三个方面展开。
    1. 静态结构:是指不施加应用操作于其上时数据的原始状况,这可通过数据分类表和数据元素表进行说明。
      数据分类表用于数据的总体描述。格式如下:
      在这里插入图片描述
      数据元素表指通常意义下的数据项或属性。 格式如下:
      在这里插入图片描述

    2. 动态结构: 是指将应用操作施加于数据之上后数据的状况,可通过任务分类表和数据表操作特征表进行说明。
      任务分类表是根据对数据流图的分析,可将业务处理过程划分成不同任务。 任务分类表格式如下:
      在这里插入图片描述
      数据操作特征表用以描述任务和数据之间的关系,它包括不同任务对数据执行不同操作的频率。格式如下:
      在这里插入图片描述

    3. 数据约束:是指使用数据时的特殊要求。
      数据的安全保密性;数据的完整性;响应时间;数据恢复。

编写需求分析报告

作为需求分析的一个总结,数据库设计人员需要编写需求分析报告。

  • 需求分析报告的内容:
    1. 数据库的应用功能目标
    2. 标明不同用户视图范围
    3. 应用处理过程需求说明包括:数据流程图;任务分类表;数据操作特征表;操作过程说明书。
    4. 数据字典
      是数据库系统中存储三级结构定义的数据库,通常指的是数据库系统中各类数据详细描述的集合
      数据字典通常包括:数据分类表、数据元素表和各类原始资料。
    5. 数据量
      根据数据分类表中的静态数据量和操作特征表中的动态数据量,进行统计计算,求出数据总量。
      6 .数据约束
      包括以下几个方面:
      1. 数据的安全保密性;
      2. 数据的完整性;
      3. 响应时间;
      4. 数据恢复。

概念结构设计

  • 概念结构设计的任务是需求分析中产生的需求分析报告的基础上,按照特定的方法设计满足应用需求的用户信息结构,该信息结构通常称为概念模型。
  • 概念结构设计的常用方法实体分析法和属性综合法两种,它们也分别称为自顶向下法和自底向上法。

逻辑结构的设计

  • 逻辑结构设计的目标是将概念模型转换为等价的、并为特定 DBMS 所支持数据模型的结构。
  • 数据库逻辑模型一般由层次、网状、关系数据模型表示。
  • 逻辑结构设计的输入信息包括:
    1. 独立于特定 DBMS 的概念模型
    2. 有关响应时间、安全保密性、数据完整性及恢复方面的要求说明,包括保持数据一致性的规则说明。
    3. 数据量及使用频率。
    4. 特定 DBMS 特性,包括 DBMS 支持的数据模型及数据定义语言的说明。
  • 逻辑结构设计的输出信息包括:
    1. 一个特定 DBMS 支持的概念模式,或称之为模式。
    2. 一个或多个外部视图, 或称之为子模式。
    3. 物理设计说明,其主要包括存入数据库中的数据量、使用频率及响应时间要求。
    4. 程序设计说明。
  • 逻辑结构设计的步骤
    1. 模型转换是指将概念模型等价地转换为特定 DBMS 支持的关系模型、网状模型或层次模型表示。
    2. 子模式设计的目标抽取或导出模式的子集,以构造不同用户使用的局部数据逻辑结构。
    3. 编制应用程序设计说明的目的是为可实际运行的应用程序设计提供依据与指导,并作为设计评价的基础。
    4. 设计评价的任务是分析并检验模式及子模式的正确性与合理性。

物理设计

物理设计是指对于一个给定的数据库逻辑结构,研究并构造物理结构的过程,其具体任务主要是确定数据库在存储设备上的存储结构及存取方法,因 DBMS的不同还可能包括建立索引和聚集,以及物理块大小、缓冲区个数和大小、数据压缩的选择等。

数据库的实施

工作内容:

  • 加载数据;
  • 应用程序设计;
  • 数据库试运行。

数据库运行和维护

系统维护中最困难的工作是数据库重组与重构

关系数据库设计方法

关系数据库的概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键

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

  • 概念结构设计阶段,形成独立于机器特点、独立于各个关系数据库管理系统产品的概念模式;
  • 逻辑结构设计阶段,将 E-R 图转换成具体的数据库产品支持的关系数据模型,形成数据库逻辑模式, 然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图,形成数据的外模式;
  • 物理结构的设计阶段根据关系数据库管理系统的特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 如下图所示:
    在这里插入图片描述

概念结构设计方法

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

E-R 图的表示方法

E-R 图提供了表示信息世界中实体、属性和联系的方法。

  1. 实体型,用矩形表示,写明实体的名称;
  2. 属性,用椭圆形表示,并用无向边将其与其相应的实体连接起来。
  3. 联系,用菱形表示,写明联系的名称,用无向边分别与有关实体连接起来,
  4. 同时在无向边旁标注联系的类型(1:1、 1:N 或 M:N) ,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。
  5. 两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在如下关系:
    一对一联系(1:1)
    一对多联系(1:N)
    多对多联系(M:N)

什么是局部信息结构?

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

局部信息结构的设计步骤

局部信息结构设计的步骤包括:

  • 确定局部范围;
  • 选择实体;
  • 选择实体关键字;
  • 确定实体间联系;
  • 确定实体的属性。

什么是全局信息结构设计?

全局信息结构设计是将上述步骤中产生的所有局部信息结构合并成为一个全局信息结构。

各局部 E-R 图之间的冲突主要表现在三个方面:

  1. 属性冲突:属性域冲突和属性取值单位冲突。
  2. 命名冲突:同名异义和异名同义。
  3. 结构冲突:三类冲突:1)同一对象在一个局部 E-R 图中作为实体,而在另一个局部 E-R 图中作为属性;2)同一实体在不同的 E-R 图中属性个数和类型不同;3)实体之间的联系在不同的 E-R 图中是不同的类型。

逻辑结构设计

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

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

遵循规则:

  1. 一个实体型转换为一个关系模式。
  2. 一个一对一联系可以转换为一个独立的关系模式。
  3. 一个一对多联系可以转换为一个关系模式。
  4. 一个多对多联系转换为一个关系模式。
  5. 三个多对多联系转换为一个关系模式。
  6. 具有相同码的关系模式可合并

数据模型的优化方法

  1. 确定各属性间的函数依赖关系。
  2. 对于各个关系模式的范式,根据实际需要确定最合适的范式。
  3. 判断每个关系模式的范式,根据实际需要确定最合适的范式。
  4. 按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并或分解。
  5. 对关系模式进行必要的分解,提高数据操作的效率存储空间的利用率

设计用户子模式

  1. 可以通过视图机制在设计用户视图时,重新定义某些属性的别名,使其更符合用户的习惯,以方便使用。
  2. 可以对不同级别的用户定义不同的视图,以保证系统的安全性
  3. 简化用户对系统的使用

物理设计方法

  • 优点之一是用户通常不需要进行数据存储结构和存取方法的设计。
  • 任务主要是通过对关系建立索引和聚集来实现与应用相关数据的逻辑连接和物理聚集,以改善对数据库的存取效率

建立索引的方式

  • 静态索引;
  • 动态索引。

静态建立索引是指应用人员预先建立索引,一旦建立,后续的应用程序均可直接使用该索引存取数据,它多适合于用户较多且使用周期相对较长的数据;
动态建立索引是指应用人员在程序内外临时建立索引,它多适合于单独用户或临时性使用要求情况。

什么是聚集?

聚集是将相关数据集中存放的物理存储技术,借以提高 I/O 的数据命中率而改善存取速度,其功能由具体的 DBMS 所提供,如 MySQL。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:55:57  更:2021-09-10 10:56:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:30:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码