1.4 数据库设计基础
考点17 数据库系统的基本概念
1.数据、数据库、数据库管理系统、数据库系统
(1)数据。
数据(Data)是描述事物的符号记录。
(2)数据库。
数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。
真考链接
考核概率为100%,该知识点属于熟记理解性内容,考生要熟记数据、数据库的概念、数据库管理系统的6个功能,数据库技术发展经历的3个阶段,数据库系统的4个基本特点,特别是数据独立性,数据库系统的3级模式及两级映射,理解数据库、数据库系统、数据库管理系统之间的关系。
(3)数据库管理系统。
数据库管理系统(DataBaseManagementSystem,DBMS)是数据库的机构,它是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
数据库管理系统的主要类型有4 种:文件管理系统、层次数据库系统、网状数据库系统和关系数据库系统,其中关系数据库系统的应用最广泛。
(4)数据库系统。
数据库系统(DataBaseSystem,DBS)是指引进数据库技术后的整个计算机系统,能实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。
小提示
在数据库系统、数据库管理系统和数据库三者之间,数据库管理系统是数据库系统的组成部分,数据库又是数据库管理系统的管理对象,因此可以说数据库系统包括数据库管理系统,数据库管理系统又包括数据库。
2.数据库系统的发展
数据管理发展至今已经经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
一般认为,未来的数据库系统应支持数据管理、对象管理和知识管理,应该具有面向对象的基本特征。在关于数据库的诸多新技术中,有3种是比较重要的,它们是面向对象数据库系统、知识库系统、关系数据库系统的扩充。
(1)面向对象数据库系统。
用面向对象方法构筑面向对象数据库模型使具有比关系数据库系统更为通用的能力。
(2)知识库系统。
用人工智能中的方法特别是用逻辑知识表示方法构筑数据模型,使模型具有特别通用的能力。
(3)关系数据库系统的扩充。
利用关系数据库作进一步扩展,使其在模型的表达能力与功能上有进一步的加强,如与网络技术相结合的Web数据库、数据仓库及嵌入式数据库等。
3.数据库系统的基本特点
数据库系统具有以下特点:数据的集成性、数据的高共享性与低冗余性、数据独立性、数据统一管理与控制。
4.数据库系统的内部机构体系
数据模式是数据库系统中数据结构的一种表示形式,具有不同的层次与结构方式。
数据库系统在其内部具有3级模式及2级映射,3级模式分别是概念模式、内模式与外模式;2级映射是外模式/概念模式的映射和概念模式/内模式的映射。3级模式与2级映射构成了数据库系统内部的抽象结构体系。
模式的3个级别层次反映了模式的3个不同环境及其不同要求,其中内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,它反映了设计者的数据全局逻辑要求,而外模式位于最外层,它反映了用户对数据的要求。
小提示
一个数据库只有一个概念模式和一个内模式,有多个外模式。
真题精选
【例1】下列叙述中,正确的是( )。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上3种说法都不对
【答案】 B
【解析】数据库系统是由数据库(数据)、数据库管理系统(软件)、计算机硬件、操作系统及数据库管理员组成。作为处理数据的系统,数据库技术的主要目的就是解决数据的共享问题。
【例2】在数据库系统中,用户所见的数据模式为( )。
A.概念模式 B.外模式 C.内模式 D.物理模式
【答案】 B
【解析】概念模式是数据库系统中对全局数据逻辑结构的描述,是全体用户(应用)公共数据视图,它主要描述数据的记录类型及数据间关系,还包括数据间的语义关系等。数据库管理系统的3级模式结构由外模式、模式、内模式组成。数据库的外模式也叫做用户级数据库,是用户所看到和理解的数据库,是从概念模式导出的子模式,用户可以通过子模式描述语言来描述用户级数据库的记录,还可以利用数据语言对这些记录进行操作。内模式(或存储模式、物理模式)是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
考点18 数据模型
真考链接
考核概率为90%,该知识点属于熟记性内容,考生要熟记数据模型的概念、数据模型的三要素及类型、层次模型,还要熟记 E-R模型的基本概念、联系的类型,理解E-R模型3个概念之间的连接关系、E-R图,以及关系模式中常用的术语及完整性约束。
1.数据模型的基本概念
数据是现实世界符号的抽象,而数据模型是数据特征的抽象。它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有3个部分,它们是数据结构、数据操作及数据约束。
数据模型按不同的应用层次分为3种类型,它们是概念数据模型、逻辑数据模型和物理数据模型。
目前,逻辑数据模型也有很多种,较为成熟并先后被人们大量使用过的有层次模型、网状模型、关系模型、面向对象模型等。
2.E-R模型
E-R模型(实体-联系模型)将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种基本连接关系,并且可以用E-R图非常直观地表示出来。
E-R图提供了表示实体、属性和联系的方法。
●实体:客观存在并且可以相互区别的事物,用矩形表示,矩形框内写明实体名。
●属性:描述实体的特性,用椭圆形表示,并用无向边将其与相应的实体连接起来。
●联系:实体之间的对应关系,它反映现实世界事物之间的相互联系,用菱形表示,菱形框内写明联系名。
在现实世界中,实体之间的联系可分为3种类型:“一对一”的联系(简记为1∶1)、“一对多”的联系(简记为1∶n)、“多对多”的联系(简记为M∶N或m∶n)。
3.层次模型
层次模型是用树形结构表示实体及其之间联系的模式。在层次模型中,节点是实体,树枝是联系,从上到下是一对多的关系。
层次模型的基本结构是树形结构,自顶向下,层次分明。其缺点是:受文件系统影响大,模型受限制多,物理成分复杂,操作与使用均不理想,且不适用于表示非层次性的联系。
4.网状模型
网状模型是用网状结构表示实体及其之间联系的模型。可以说,网状模型是层次模型的扩展,可以表示多个从属关系的层次结构,并呈现一种交叉关系。
网状模型是以记录型为节点的网络,它反映现实世界中较为复杂的事物间的联系。
网状模型结构如图1.5所示。
5.关系模型
(1)关系的数据结构。
关系模型采用二维表来表示,简称表。二维表由表框架及表的元组组成。表框架是由n个命名的属性组成,n称为属性元素。每个属性都有一个取值范围,称为值域。表框架对应了关系的模式,即类型的概念。在表框架中按行可以存放数据,每行数据称为元组。
图1.5 网状模型结构示意图
在二维表中唯一能标识元组的最小属性集称为该表的键(或码)。二维表中可能有若干个键,它们称为该表的候选码(或候选键)。从二维表的候选键中选取一个作为用户使用的键称为主键(或主码)。如表A中的某属性集是某表B的键,则称该属性集为A的外键(或外码)。
关系是由若干个不同的元组所组成的,因此关系可视为元组的集合。
(2)关系的操纵。
关系模型的数据操纵即是建立在关系上的数据操纵,一般有数据查询、增加、删除及修改4种操作。
(3)关系中的数据约束。
关系模型允许定义3类数据约束,它们是实体完整性约束、参照完整性约束和用户定义的完整性约束,其中前两种完整性约束由关系数据库系统自动支持。对于用户定义的完整性约束,则由关系数据库系统提供完整性约束语言,用户利用该语言写出约束条件,运行时由系统自动检查。
真题精选
【例1】下列说法中,正确的是( )。
A.为了建立一个关系,首先要构造数据的逻辑关系
B.表示关系的二维表中各元组的每个分量还可以分成若干个数据项
C.一个关系的属性名称为关系模式
D.一个关系可以包含多个二维表
【答案】 A
【解析】元组已经是数据的最小单位,不可再分;关系的框架称为关系模式;关系框架与关系元组一起构成了关系,即一个关系对应一张二维表。选项A中,在建立关系前,需要先构造数据的逻辑关系是正确的。
【例2】用树形结构表示实体之间联系的模型是( )。
A.关系模型 B.网状模型
C.层次模型 D.以上3个都是
【答案】 C
【解析】数据模型是指反映实体及其实体间联系的数据组织的结构和形式,有关系模型、网状模型和层次模型等。其中层次模型实际上是以记录型为节点构成的树,它把客观问题抽象为一个严格的、自上而下的层次关系,所以,它的基本结构是树形结构。
考点19 关系代数
真考链接
考核概率为90%,该知识点属于掌握性内容,需要考生掌握投影、选择、笛卡儿积运算以及交、并、差等一些基本型运算,这些都是考试内容。
1.传统的集合运算
(1)关系并运算。
若关系R和关系S具有相同的结构,则关系R和关系S的并运算记为R∪S,表示由属于R的元组或属于S的元组组成。
(2)关系交运算。
若关系R和关系 S 具有相同结构,则关系 R和关系 S 的交运算记为R∩S,表示由既属于R的元组又属于S的元组组成。
(3)关系差运算。
若关系R和关系S具有相同的结构,则关系R和关系S的差运算记为R-S,表示由属于R的元组且不属于S的元组组成。
(4)广义笛卡儿积。
分别为n元和m元的两个关系R和S的广义笛卡儿积R×S是一个(n ×m)元组的集合。其中的两个运算对象R和S的关系可以是同类型也可以是不同类型。
2.专门的关系运算
专门的关系运算有选择、投影、连接等。
(1)选择。
从关系中找出满足给定条件元组的操作称为选择。选择的条件以逻辑表达式给出,使得逻辑表达式为真的元组将被选取。选择又称为限制。它是在关系R中选择满足给定选择条件F的诸元组,记作:
σF(R)={t|t∈R∧F(t)='真'}
其中选择文件F是一个逻辑表达式,取逻辑值“真”或“假”。
(2)投影。
从关系模式中指定若干个属性组成新的关系称为投影。
关系R上的投影是从关系R中选择出若干属性列组成新的关系,记作:
πA(R)={t[A]|t∈R}
其中A为R中的属性列。
(3)连接。
连接也称为θ连接,它是从两个关系的笛卡儿积中选取满足条件的元组,记作:
R={trts|tr∈R∧ts∈S∧tr[A]θts[B]}
其中,A和B分别为R和S上度数相等且可比的属性组;θ是比较运算符。
连接运算是从广义笛卡儿积R×S中选取R关系在A属性组上的值与S关系在B属性组上值满足关系θ的元组。
连接运算中有两种最为重要且常用的连接:一种是等值连接;另一种是自然连接。
θ为“=”的连接运算称为等值连接,是从关系R与关系S的广义笛卡儿积中选取A、B属性值相等的元组,则等值连接为
RS={trts|tr∈R∧ts∈S∧tr[A] =ts[B]}
自然连接(Natural-join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中去掉重复的属性列,则自然连接可记作:
R|×|S={trts|tr∈R∧ts∈S∧tr[B] =ts[B]}
真题精选
【例1】设有以下3个关系表,如表1.2~表1.4所示。
表1.2 关系表一
表1.3 关系表二
表1.4 关系表三
下列操作中正确的是( )。
A.T=R∩S B.T=R∪S C.T=R×S D.T=R/S
【答案】 C
【解析】集合的并、交、差、广义笛卡儿积:设有两个关系为R和S,它们具有相同的结构,R和S的并是由属于R和S,或者同时属于R和S的所有元组组成,记作R∪S;R和S的交是由既属于R又属于S的所有元组组成,记作R∩S;R和S的差是由属于R但不属于S的所有元组组成,记作R-S;元组的前n个分量是R的一个元组,后m个分量是S的一个元组,若R有K1 个元组,S有K2 个元组,则R×S有K1 ×K2 个元组,记为R×S。从表1.4中可见,关系T是关系R和关系S的简单扩充,而扩充的符号为“×”,故答案为T=R×S。
【例2】在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是( )。
A.并 B.交 C.投影 D.笛卡儿乘积
【答案】 B
【解析】关系的基本运算有两类:传统的集合运算(并、交、差)和专门的关系运算(选择、投影、连接)。集合的并、交、差:设有两个关系为R和S,它们具有相同的结构,R和S的并是由属于R和S,或同时属于R和S的所有元组组成,记作R∪S;R和S的交是由既属于R又属于S的所有元组组成,记作R∩S;R和S的差是由属于R但不属于S的所有元组组成,记作R-S。因此,在关系运算中,不改变关系表中的属性个数但能减少元组(关系)个数的只能是集合的交。
考点20 数据库设计与管理
真考链接
考核概率为55%,该知识点属于熟记理解性内容,主要是一些基本概念和一些方法步骤,考生要熟记数据库设计的方法和步骤、数据库管理的6个方面内容以及理解概念设计及逻辑设计。
数据库设计是数据库应用的核心。
1.数据库设计概述
数据库设计的基本任务是根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模型。
数据库设计的基本思想是过程迭代和逐步求精。数据库设计的根本目标是要解决数据共享问题。
在数据库设计中有两种方法:
●面向数据的方法,是以处理信息需求为主,兼顾处理需求;
●面向过程的方法,是以处理需求为主,兼顾信息需求。其中,面向数据的方法是主流的设计方法。
目前数据库设计一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。它们是需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段和进一步修改阶段。
2.数据库设计的需求分析
需求收集和分析是数据库设计的第一阶段,这一阶段收集到的基础数据和一组数据流图是下一步设计概念结构的基础。需求分析的主要工作有绘制数据流图、数据分析、功能分析,确定功能处理模块和数据之间的关系。
需求分析和表达经常采用的方法有结构化分析方法和面向对象的方法。结构化分析方法用自顶向下、逐层分解的方式分析系统。数据流图表达了数据和处理过程的关系,数据字典对系统中数据的详尽描述,是各类数据属性的清单。
数据字典是各类数据描述的集合,它通常包括5个部分,即数据项,是数据的最小单位;数据结构,是若干数据项有意义的集合;数据流,可以是数据项,也可以是数据结构,表示某一处理过程的输入和输出;数据存储,处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。
数据字典是在需求分析阶段建立的,在数据库设计过程中不断修改、充实、完善的。
3.数据库的概念设计
(1)数据库概念设计。
数据库概念设计的目的是分析数据间内在的语义关联,在此基础上建立一个数据的抽象模型。
数据库概念设计的方法主要有两种:集中式模式设计法和视图集成设计法。
(2)数据库概念设计的过程。
使用E-R模型与视图集成法进行设计时,需要按以下步骤进行:
①选择局部应用;
②视图设计;
③视图集成。
4.数据库的逻辑设计
(1)从E-R图向关系模式转换。
从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,在E-R图中属性也可转换成关系的属性。实体集也可转换成关系,见表1.5。
表1.5 在E-R模型与关系间的比较
如联系类型为1∶1,则每个实体的码均是该关系的候选码。
如联系类型为1∶N,则关系的码为N端实体的码。
如联系类型为M∶N,则关系的码为诸实体的组合,具有相同码的关系模式可合并。
(2)逻辑模式规范化。
在关系数据库设计中存在的问题有数据冗余、插入异常、删除异常和更新异常。
数据库规范化的目的在于消除数据冗余和插入/删除/更新异常。规范化理论有4种范式,从第一范式到第四范式的规范化程度逐渐升高。
(3)关系视图设计。
关系视图是在关系模式的基础上所设计的直接面向操作用户的视图,它可以根据用户需求随时创建。
5.数据库的物理设计
(1)数据库物理设计的概念。
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
(2)数据库物理设计的主要目标。
数据库物理设计的主要目标是对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。
6.数据库管理
数据库是一种共享资源,它需要维护与管理,这种工作称为数据库管理,而实施此项管理的人称为数据库管理员(DBA)。
数据库管理包括数据库的建立、数据库的调整、数据库的重组、数据库安全性与完整性控制、数据库故障恢复和数据库监控。
真题精选
在E-R图中,用来表示实体之间联系的图形是( )。
A.矩形 B.椭圆形 C.菱形 D.平行四边形
【答案】 C
【解析】E-R图中规定:用矩形表示实体,椭圆形表示实体属性,菱形表示实体关系。
常见问题
联系有哪3种类型?它们的区别是什么?
一对一:A中的每一个实体只与B中的一个实体相联系,反之亦然,则称一对一联系;一对多:A中的每一个实体,在B中都有多个实体与之对应,B中的每一个实体,在A中只有一个实体与之相对应,则称一对多联系;多对多:A中的每一个实体,在B中都有多个实体与之对应,反之亦然,则称多对多联系。