第五章-数据库设计

556 阅读10分钟

第五章-数据库设计

1.概念

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。

graph TB
A[数据库设计]-->B(需求分析)
A-->C(概念结构设计)
A-->D(逻辑结构设计)
A-->E(物理结构设计)
A-->F(数据库的实施)
A-->G(数据库的运行和维护)

需求分析阶段

需求分析是数据库设计的第一步,也是整个设计过程的基础,本阶段的主要任务是对现实世界要处理的对象(公司、部门及企业)进行详细调查,在了解现行系统的概况、确定新系统功能的过程中,收集支持系统目标的基础数据及其处理方法。

需求分析是在用户调查的基础上,通过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。

概念结构设计阶段

概念结构设计阶段是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。

逻辑结构设计阶段

逻辑结构设计阶段将概念结构转换为某个DBMS所支持的数据模型,并将其性能进行优化。

数据库逻辑设计中进行模型转换时, 首先将概念模型转换为与特定的 DBMS无关的,但为一般的关系模型、网状模型或层次模型所表示的一般模 型,然后将一般模型转换为特定DBMS支持的逻辑模型;

物理结构设计阶段

利用数据库管理系统提供的方法和技术,对已经确定的数据逻辑结构,以较优的存储结构、数据存取路径、合理的数据存储位置及存储分配,设计出一个高效的、可实现的物理存储结构。

比如: “为哪些表,在哪些字段上, 建立什么样的索引” 这一设计内容就属于数据库物理设计阶段;

数据库实施阶段

在数据库实施阶段运用 DBMS 提供的数据语言(如 SQL)及宿主语言(如 C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

数据库运行与维护阶段

数据库应用系统经过试运行后即可投入正式运行,在运行过程中需要不断对其进行调整、修改与完善。

2.E-R图

在数据库的概念设计中,最常用的数据模型是实体联系模型;

E-R 图是数据库设计的工具之一,它适用于建立数据库的概念模型;

在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的概念设计阶段。

在关系数据库设计中,设计关系模式是逻辑设计阶段的任务;

E-R图中的主要元素是实体型联系属性;

3.从E-R模型向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字为

M端实体和N端实体的关键字组合

从E-R图向关系模型的转换所遵循的转换原则是:一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字;一个联系转换为一个关系模式,与该联系相连的各实体的码以及联系的属性转换为该关系的属性,该关系的码有以下3种情况。

  • 一个1:1的联系转换为一个关系,相连实体的关键字都是关系的候选关键字:
  • 一个1:n的联系转换为一个关系,多方实体的关键字是关系的关键字;
  • 一个n:m的联系转换为一个关系,相连实体的关键字的组合组成关系的关键字(复合关键字)。

4.实体与属性的划分原则

现实世界的事物能作为属性对待的,尽量作为属性对待,可以简化E-R图的处置

(1) 作为属性,不能再具有需要描述的性质;属性必须是不可再分的数据项,不能包含其他属性;
(2) 属性不能与其他实体具有联系;E-R图中所表示的联系是实体与实体之间的联系;

5.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是

语法冲突

在设计分 E-R 图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分 E-R 图之间难免有不一致的地方,这些冲突主要有3类:++属性冲突、命名冲突和结构冲突++。

冲突名称冲突描述
属性冲突包括属性域冲突和属性取值单位冲突。
命名冲突包括同名异义和异名同义冲突。
结构冲突包括同一对象在不同应用中具有不同的抽象,同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。

6.数据库逻辑设计的主要任务是

创建数据库说明

7.如果两个实体之间的联系是 m∶n,则需要引入第三个交叉关系

[解析] 两实体间的联系是M:N时,关系模型是多对多联系。在转换成关系模型时,需要把多对多联系分解成一对多联系,分解的方法就是增加一个关系表示联系,其中纳入M方和N方的关键字。

例题: 如下 E-R 图转换成关系模型,可以转换为多少个关系模式?

graph TD
A[借书人]---|m|B{借阅}
A---C((借书证号))
A---D((姓名))
A---F((单位))
B---H((借阅日期))
B---|n|G[图书]
G---Q((总编号))
G---W((分类号))
G---E((书名))
G---R((作者))
G---T((价格))
G---Y((位置))

由上图可知,借书人与图书是多对多的联系,因此,在转换成关系模型时,添加一个关系表示联系,故可以转换为3个关系模式。

8.数据流程图(DFD)是用于描述结构化方法中需求分析阶段的工具。

9.画E-R图的步骤

  1. 确定实体;
  2. 确定实体之间的联系;
  3. 确定各个实体的属性,若实体的属性为另一个实体的名称,则不用写出来;

10.术语

  • 数据库生命周期:把数据库应用系统从开始规划,设计实现,运行使用,直到被新的系统取代而停止使用的整个时期称为数据库生命周期。

  • 一对一联系:如果实体集E1中每一个实体(至少有一个)至多与实体集E2中的一个实体有联系;反之,实体集E2中的每一个实体至多与实体集E1中的一个实体有联系,则称E1和E2为一对一联系,记为1:1;

  • 一对多联系:如果实体集E1中至少有一个实体与实体集E2中的一个以上的实体有联系;反之,实体集E2中的每一个实体至多与实体集E1中的一个实体有联系,则称E1和E2为一对多联系,记为1:N。

  • 多对多联系:如果实体集E1中至少有一个实体与实体集E2中的一个以上的实体有联系;反之,实体集E2中至少有一个实体与实体集E1中一个以上的实体有联系,则称E1和E2为多对多联系,记为M:N。

11.简述

(1)简述数据库设计过程。

参考答案:数据库设计过程的大致包括六个阶段:

( l )需求分析:准确了解与分析用户需求(包括数据与处理)。

( 2 )概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。

( 3 )逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。

( 4 )数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

( 5 )数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

( 6 )数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。

(2)简述数据库设计过程中结构设计部分形成的数据库模式。

参考答案:数据库结构设计的不同阶段形成数据库的各级模式,即:

( l )在概念设计阶段形成独立于机器特点,独立于各个 DBMS 产品的概念模式,如 E -R 图;

( 2 )在逻辑设计阶段将 E -R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图,形成数据的外模式;

( 3 )在物理设计阶段,根据 DBMS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

(3)简述需求分析阶段的调查的内容是什么?

参考答案:需求分析阶段的调查的内容是“数据’和“处理”,即获得用户对数据库的如下要求:

( l )信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据;

( 2 )处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理;

( 3 )安全性与完整性要求。

(4)简述数据库的逻辑结构设计及其设计步骤。

参考答案:数据库的逻辑结构设计就是把概念结构设计阶段设计好的概念模型(如E-R 图)转换为与选用的 DBMS 产品所支持的数据模型相符合的逻辑结构。设计步骤为 :

( l )将概念结构转换为一般的关系、网状、层次模型;

( 2 )将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换;

( 3 )对数据模型进行优化。

(5)简述数据库物理设计的内容和步骤。

参考答案:数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的 DBMS 。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:

( l )确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;

( 2 )对物理结构进行评价,评价的重点是时间效率和空间效率。