文章适用于计算机等级考试NCRE三级数据库技术,内容来源于网络,文章内容侵删,如果文章和个人的理解有出入,请务必以自己的知识储备为准,仅做参考

3.1 结构设计概念

一个设计良好的数据库,很大程度上决定了系统的成功与否,一般分为概念设计、逻辑设计、物理设计。其中概念设计是数据库设计的核心环节,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

3.2 三级模式和二层映像

3.2.1 三级模式与二层映像的关系

数据库的三级模式结构和两级映像是数据库系统体系结构的核心概念,其目的是实现数据独立性(即数据与程序的分离),确保数据的逻辑结构和物理结构变化时,应用程序无需修改。

三级模式是对数据的三个不同层次的抽象描述,从用户视角(外模式)、系统全局逻辑视角(模式)、物理存储视角(内模式)对数据进行抽象,降低了数据的复杂性。

两级映像是连接三级模式的桥梁,通过映射将不同层次的模式关联起来,从而实现数据独立性。通过外模式-模式映像实现逻辑独立性,通过模式-内模式映像实现物理独立性,最终确保应用程序与数据的结构变化解耦,提高了数据库系统的灵活性和可维护性。

3.2.2 三级模式结构(从抽象到具体)

1.外模式

**外模式(External Schema)**又称用户模式、子模式。定义:是数据库用户(包括程序员和用户)看到和使用的局部数据的逻辑结构和特征。

  • 一个数据库可以有多个外模式(不同用户可能需要不同的局部视图)
  • 外模式是用户与数据库系统的接口,用户通过外模式访问数据
  • 外模式屏蔽了数据库的整体复杂性,只暴露用户需要的局部数据
2.模式

**模式(Schema)**又称:逻辑模式、概念模式。定义:是数据库中全体数据的逻辑结构和特征的描述,是所有用户视图的综合。

  • 一个数据库只有一个模式,它是数据库系统的核心
  • 模式描述的是数据的逻辑关系,不涉及物理存储细节
  • 模式是数据库管理员(DBA)管理和维护的对象
3.内模式

**内模式(Internal Schema)**又称:存储模式、物理模式。定义:是数据物理结构和存储方式的描述,即数据在磁盘上的实际存储形式。

  • 一个数据库只有一个内模式,它直接与物理存储设备相关
  • 内模式由数据库管理系统(DBMS)负责管理,用户无需关心

3.2.3 两级映像

1.外模式-模式映像

作用:将每个外模式与模式进行映射,定义了局部视图(外模式)与全局逻辑视图(模式)之间的对应关系。

数据独立性保证逻辑独立性。当模式(全局逻辑结构)发生变化时(如增加字段、修改数据类型),DBA只需修改外模式-模式映像,无需修改外模式和应用程序,从而实现应用程序与数据逻辑结构的独立。

2.模式-内模式映像

作用:将模式与内模式进行映射,定义了全局逻辑视图(模式)与物理存储视图(内模式)之间的对应关系。

数据独立性保证物理独立性。当内模式(物理存储结构)发生变化时(如更换存储设备、修改索引方式),DBA只需修改模式-内模式映像,无需修改模式和应用程序,从而实现应用程序与数据物理结构的独立。

3.3 数据库概念设计

3.3.1 概念设计目标

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

3.3.2 概念设计的依据及过程

1.依据

数据库概念设计以需求分析的结果为依据,即需求说明书、DFD图以及在需求阶段收集到的应用领域中的各类报表等。

2.过程
  • 明确建模目标(模型覆盖范围)
  • 定义实体集(字底向上标识和定义实体集)
  • 定义联系(实体间关联关系)
  • 建立信息模型(构造ER模型)
  • 确定实体集属性(属性描述一个实体集的特征或性质)
  • 对信息模型进行集成与优化(检查和消除命名不一致、结构不一致等)
3.结果

概念设计的结果是**概念模型(ER)**和概念设计说明书。

3.3.3 概念模型设计

概念设计目前采用最广泛的是ER(Entity Relationship Model)建模方法,即实体联系模型。将现实世界抽象为具有属性的实体及联系,于1972年由Peter.Chen提出。其观点是:世界由一组成为实体的基本对象及其之间的联系组成的。

3.3.4 E-R模型相关概念

  • 实体(Entity)或实例(Instance):客观存在并可相互取分的事物叫实体。
  • 实体集(Entity Set):同类型实体的集合称为实体集。
  • 属性(Attribute):实体所具有的某一特性,每个属性的取值范围成为“域”。
  • 码(Key):实体集中唯一标识每一个实体的属性或属性组合。
  • 联系(Relationship):描述实体之间的相互关系,联系也有属性。

3.3.5 联系的分类

  • 一对一联系(1:1)
  • 一对多联系(1:n)
  • 多对多联系(m:n)

3.3.6 E-R模型的表示

(此处原文档内容为空)

3.4 数据库逻辑设计

3.4.1 逻辑设计的任务

将概念模型(如E-R图)转化为DBMS支持的数据模型(如关系模型),并对其进行优化。

主要分为三部分:数据库逻辑结构设计、数据库事务概要设计、应用程序概要设计

3.4.2 关系模型

1.关系模型概述

有三种主要的数据模型:层次模型、网状模型、关系模型,其中关系模型简单灵活,是最主流的数据模型,使用二维表结构表示实体及联系。关系的描述称为关系模式(Relation Schema),关系模式由五部分组成,所以关系模式是一个五元组:R(U,D,DOM,F)。

关系模式的组成:R(关系名)、U(组成该关系的属性名集合)、D(属性组U中属性所来自的域)、DOM(属性到域的映射)、F(属性组U上的一组数据依赖),由于D、DOM对模式设计的关系不大,这里把关系模式简化为一个三元组:R<U,F>,当且仅当U上的一个关系R满足F时,R称为关系模式R<U,F>的一个关系。

2.关系模式设计目标

关系模式的设计是关系数据库设计的核心,其目标是按照一定的原则从数量众多而又相互关联的数据中,构造出一组既能反应现实世界,又有良好操作性能的关系模式

3.4.3 数据依赖

1.数据依赖定义

设R(U)是一个属性集U上的关系模式,X和Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作“X→Y”。

数据依赖是关系内部属性与属性之间的一种约束关系,是现实时间属性间相互联系的抽象,是数据的内在性质,是语义的体现。

2.数据依赖类型
  • 函数依赖(FD,Functional Dependency),普遍存在于生活中,类似于数学中的函数关系。
  • 多值依赖(MD,Multivalued Dependency),函数是唯一确定的,多值不能唯一确定。
3.函数依赖的特例
  • 平凡函数依赖与非平凡函数依赖
  • 完全函数依赖与部分函数依赖
  • 传递函数依赖
4.候选码、主码、外码

若某属性组的值能唯一确定整个元组的值,则程该属性组为候选码/候选关键字,若候选码有多个,可选择其中一个为主码(Primary Key)

3.4.4 数据规范化

关系数据库的设计主要是关系模式设计。关系模式设计的好坏直接影响数据库设计的成败,将关系模式规范化,是设计良好关系模式的唯一途径

关系模式的规范化主要由关系范式来完成,关系模式的范化化:把一个低一级的关系模式分解为高一级关系模式的过程。

关系数据库的规范化理论是数据库了逻辑设计的工具,其目的是尽量消除插入、删除异常;修改复杂;数据冗余

3.4.5 范式

1.范式概念

关系模式满足的约束条件称为范式。根据满足规范化的程度不同,范式由低到高分为1NF,2NF,3NF,BCNF,4NF,5NF

2.1NF

如果关系模式R,其所有属性都是不可再分的基本数据项,则称R属于第一范式,R∈1NF

3.2NF

如果关系模式R∈1NF,且R中每个非主属性完全函数依赖于R的主码,则称R属于第二范式,R∈2NF

4.3NF

如果关系模式R∈3NF,且R中每个非主属性不传递依赖于R的主码,则称R是属于第三范式,R∈3NF

3.4.6 数据库逻辑设计方法

设计逻辑结构的步骤:第一步:讲概念结构转化为一般的关系模型;第二步:将转化来的关系模型向特定DBMS支持下单数据模型转换;第三步:对数据模型进行优化。

3.4.7 数据库逻辑模型的产生

概念模型按照一定规则可以转换成数据模型,参照下面的转换原则:

  • 一个实体转换成一个关系模式
  • 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
  • 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并
  • 一个m:n联系转换为一个关系模式
  • 三个或三个以上实体间的多元联系转换为一个关系模式

3.5 数据库物理设计

3.5.1 物理设计概述

数据库物理设计是设计数据库的存储结构和物理实现方法,其目的是将数据的逻辑描述转为实现技术规范,设计数据存储方案,以此来确保数据库性能和数据库的完整性、安全性、可靠性

3.5.2 数据库的物理结构

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

3.5.3 索引

1.索引概述

索引(index)是数据库中独立的存储结构,作用是提供一种无须扫描每个页面而快速访问数据页的方案,索引技术(indexing)是一种用空间换时间的快速访问技术

2.索引技术关键

建立记录域取值到对应的物理地址之间的映射关系,即索引。设计和创建索引时,应确保对性能的提高程度大于在存储空间和处理资源方面的代价。

3.索引技术分类

(1)有序索引

索引文件机制是利用索引文件(索引记录组成)实现记录域(查找码,排序域)取值到记录物理地址间的映射关系。数据文件(主文件)和索引文件(索引记录或索引项的集合)是有序索引技术中的两个主体,数据文件常采用顺序文件结构。

索引类型 说明
聚集索引 索引项与数据排列顺序一致,一个数据文件只能建立一个聚集索引
非聚集索引 一个数据文件能建立多个非聚集索引
稠密索引 数据文件中每个查找码都对应索引记录
稀疏索引 部分查找码的值对应索引记录
主索引 主码属性集上建立的索引
辅索引 非主属性上建立的索引
单层索引 线性索引,每个索引项顺序排列直接指向数据文件中的数据记录
多层索引 大数据量文件中的采用多层树型索引快速定位
唯一索引 索引列不包含重复值

(2)散列索引

哈希(Hash)索引机制,利用散列函数实现记录域取值到记录物理地址间的直接映射关系。

3.5.4 数据库物理设计目的

目的是得到存储空间占用少、数据访问效率高、维护代价低的数据库物理模式。数据库底层物理存储与存取与DBS所依赖的硬件环境、操作系统和DBMS密切相关。目前绝大部分DBS都是关系数据库系统。

3.5.5 数据库物理设计环节

1.数据库逻辑模式描述

根据数据库逻辑结构信息设计目标DBMS可支持的关系表(基本表)的模式信息,该过程称为数据库逻辑模式描述。关系模式及其视图转换成基本表和视图,利用完整性机制(如触发器)设计面向应用的业务规则。

2.文件组织与存取设计

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

影响数据文件存储结构的因素有:存取时间、存储空间利用率、维护代价,这三个代价常常相互矛盾。解决方法有:适当冗余、增加聚簇功能。最终选择这种方案。

存取路径:在关系数据库中,选择存取路径主要指确定如何建立索引。对同一个关系要建立多条存取路径才能满足多用户的多种应用要求,物理设计的第一个任务就是确定选择哪些存取方法。

DBMS常用的存取方法有:索引方法(B+树索引方法)、聚簇(Cluster)方法、HASH方法。

建立索引原则

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

建立聚集索引原则

  • 检索数据时,常以某个(组)属性作为排序、分组条件
  • 检索数据时,常以某个(组)属性作为检索限制条件,并返回大量数据
3.数据分布设计

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

4.确定系统配置

DBMS产品一般都提供了存储分配参数:同时打开数据库的用户数、同时打开的数据库对象数、使用缓冲区长度、个数等等,需要根据具体应用环境确定这些参数值。

5.物理模式评估

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

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐