第五章 数据库基础
5-1数据库系统的结构
从数据库应用开发人员的角度看:
数据库采用三级模式结构,是数据库系统的内部的系统结构
从数据库最终用户角度看
- 单用户结构
- 主从结构
- 分布式结构
- 客户-服务器结构
- 浏览器-应用服务器/数据库服务器

| 概念模式 | 外模式 | 内模式 |
|---|---|---|
| 概念模式(模式)是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视 图。 一个数据库只有 一个概念模式。 | 外模式(子模式、用户模式)用以描述用户看到或使用的哪部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。 | 内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。 一个数据库只有一个内模式。 |
5-2数据库设计过程

1.概念结构设计

集成的方法:
- 多个局部E-R图一次集成。
- 逐步集成,用累加的方式一次集成两个局部E-R 。
集成产生的冲突及解决办法:
- 属性冲突:包括属性域冲突(如年龄取值:A组1-10,B组0-12)和属性取值冲突(如性别0/1,男/女)。
- 命名冲突:包括同名异义('No',一组定义非男,一组定义编号)和异名同义(性别:'sex'和‘xb’)。
- 结构冲突:包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部 E-R 图中所包含的属性个数和属性排列次序不完全相同。

2.逻辑结构设计
常见数据模型:
- 层次模型
- 网状模型
- 关系模型(最多)
- 面向对象模型
数据模型三要素:
- 数据结构
- 数据操作
- 数据的约束条件
5-2 数据模型
数据模型主要有两大类,分别是概念数据模型 (实体一联系模型)和基本数据模型(结构数据模型)。
数据模型
概念数据模型
概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体一联系方法 (Entity-RelationshipApproach) 表示,所以也称 E-R模型。

基本数据模型
基本数据模型是按照计算机系统的观点来对数据和信息建模,主要用于DBMS的实现。基本数据模型是数据库系统的核心和基础。常用的基本数据模型有层次模型、网状模型、关系模型和面向对象模型。

数据的约束条件
实体完整性。实体完整性是指实体的主属性不能取空值。

参照完整性。 在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。

用户定义完整性。用户定义完整性反映的某一个具体应用所对应的数据必须满足一定的约束条件。

5-3 关系型数据库
| 概念 名词解释 | |
|---|---|
| 关系 | 可以理解为一张二维表,每个关系都具有一个关系名, 就是通常说的表名。 |
| 元组 | 可以理解为二维表中的一行,在数据库中经常被称为记 录。 |
| 属性 | 可以理解为二维表中的一列,在数据库中经常被称为字 段。 |
| 域 | 属性的取值范围,也就是数据库中某一列的取值限制。 |
| 关键字 | 一组可以唯一标识元组的属性,数据库中常称为主键 由一个或多个列组成。 |
| 关系模式 | 指对关系的描述。其格式为:关系名(属性1,属性 2,……,属性N),在数据库中成为表结构。 |

例题
某学校拟开发一个学校教务的数据库,涉及的对象有:学生的学号 (Sno)、 所在系 (Sdept)、 系主任姓名 (Mname)、 课程号(Cno)和成绩(Grade)。
说明:
① 一个系有若干学生,但一个学生只属于一个系;
② 一个系只有一名班主任;
③ 一个学生可以选修多门课程,每门课程有若干学生选修;
④ 每个学生所学的每门课程都有一个成绩。
关系模式: Student (Sno,Sdept,Mname,Cno,Grade)

5-4 关系代数
| 运算符 | 含义 | 名词解释 | |
|---|---|---|---|
| U | 并 | 关系R与S的并是由属于R或属于S的元组构成的集合。 | |
| 集合运算符 | - | 差 | 关系R与S的差是由属于R但不属于S的元组构成的集合 |
| ∩ | 交 | 关系R与S的交是由属于R同时又属于S的元组构成的集合。 | |
| × | 笛卡尔积 | 两个元组分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。 |





| 运算符 | 含义 | 名词解释 | |
|---|---|---|---|
| σ | 选择 | 取得关系R中符合条件的行 | |
| 专门的关系 运算符 | π | 投影 | 取得关系R中符合条件的列 |
| ⋈ | 连接 | 1. 等值连接:关系R、S,取两者笛卡尔积中属性值相等的元组(不删除重复属性) 2.自然连接: 一种特殊的等值连接,它要求比较的属性列必须是相同的属性组,并且把结果中重复属性去掉。注意与笛卡尔积的区别。 |
例题
给定关系R(A,B,C,D,E)与S(A,B,C,F,G),那么与表达式 π 1,2,4,6,7(σ1<6(R⋈S))等价的SQL 语句如下: select( )from R,S where( );
A.R.A,R.B,R.E,S.C,G B.R.A,R.B,D,F,G
C.R.A,R.B,R.D,S.C,F D.R.A,R.B,R.D,S.C,G
A.R.A=S.A OR R.B=S.B OR R.C=S.C OR R.A<S.F
B.R.A=S.A OR R.B=S.B OR R.C=S.C OR R.A<S.B
C.R.A=S.A AND R.B=S.B AND R.C=S.CAND R.A<S.F
D.R.A=S.A AND R.B=S.BAND R.C=S.C AND R.A<S.B
试题分析
本题考查关系代数运算与SQL语言的对应关系。注意本题中R与S是做自然联接操作,操作时会将R与S中相同字段名做等值联接,并将结果集去 重复。所以R与S自然联接后的结果包括以下属性:
R.A , R.B , R.C , D, E, F, G
关系代数选择条件为“1<6”,即R.A<F。
关系代数投影操作条件为“1,2,4,6,7”,对应的属性为: R.A,R.B,D,F,G。
参考答案: B 、C
5-6 函数依赖
X函数确定Y,Y函数依赖于X
设R(U)是在属性U上的关系模式, X,Y 是U的子集,若对于R(U)的任意 一个可能的关系r,r 中的任意两个元组在X上的属性值相等,那么在Y 上的属性值也相等,则称“X函数确定Y ”或“Y函数依赖于X”, 记作 X→Y。X称为这个函数依赖的决定属性组,也称为决定因素。
例如:
关系式S(Sno,Sname,Ssex,Sage,Sdept)
F={Sno→Sname,Sno→Ssex,Sno→Sage,Sno→Sdept}
Sno可以推导出Sname,Ssex等,则Sno是决定因素;
同时也可以称为Sno函数确定Sname,或Sname函数依赖于Sno
若Y不函数依赖于X, 则记为X \nrightarrow Y。
例如:Ssex \nrightarrow Sage, Ssex \nrightarrow Sdept
函数依赖是语义范畴内的概念。只能根据数据的语义来确定函数依赖。
- 如Sname→Sno 函数依赖只有在“学生不允许有重名”的条件下成立。
数据库设计者可以实现对现实世界强制的规定。
完全,部分,传递依赖

部分函数依赖:
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
比如说:C可以通过AB得到,并且C也可以仅通过A得到,仅通过B得到,
那么就说C部分依赖AB。
完全函数依赖:
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
比如说:C可以通过AB得到,并且C不可以仅通过A得到,也不可以仅通过B得到,
那么就说C完全依赖AB。
传递函数依赖:
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
比如说:B可以通过A得到,C可以通过B得到,那么就称C传递依赖A。
Armstrong 公理:
从已知的一些函数依赖,可以推导出另外一些函数依赖,这就需要一系列推理规则,这些规则常被称作“Armstrong 公理”。
设关系式R(U,F) ,U是关系模式R的属性集,F是U上一组函数依赖,则有以下三条推理规则:
- A1 自反律:若Y \subseteq X \subseteq U, 则X→Y为F所蕴含;
- A2 增广律:若X→Y为F所蕴含,且Z \subseteq U, 则XZ→YZ 为F所蕴含;
- A3 传递律:若X→Y,Y→Z 为F所蕴含,则X→Z为F所蕴含。
根据上面三条推理规则,又可推出下面三条推理规则:
- 合并规则:若X→Y, X→Z, 则X→YZ为F所蕴含;
- 伪传递规则:若X→Y, WY→Z, 则XW→Z 为F所蕴含;
- 分解规则:若X→Y,Z \subseteq Y, 则X→Z 为F所蕴含。
例如:
关系式S1(Sno,Sdept,Sage)
超 键 :
(Sno,Sdept) , (Sno,Sage) , (Sno,Sdept,Sage)是超键
在关系中能唯一标识元组的属性集称为关系模式的超键
只要含有“学号”或者“身份证号”两个属性的集合就叫超键,例如R1(学号 性别)、R2(身份证号 身高)、R3(学号 身份证号)等等都可以称为超键!
主 键 :
Sno→Sdept,Sno→Sage,Sno 是主键(码)若有关系式SC(Sno,Cno,Grade) 中 ,(Sno,Cno)是主键
例如:
关系式S2(Sno,Sname,Sdept,Sage)
候选键:
Sno、Sname是候选键,选择Sno为主键。不含有多余属性的超键称为候选键。
外 键
如果关系模式R中的某些属性集不是R的主键,而是关系模式S的主键,则这个属性集对模式R而言是外键。
例如:关系式SC( Sno,Cno ,Grade) 中 ,Sno不是主键,但它是S( Sno,Sdept,Sage) 的主键,则Sno是关系模式SC的外键。
主属性与非主属性
包含在任何一个主键,称为主属性,否则为非主属性。
例如:S( Sno,Sdept,Sage),Sno是主键,也是主属性, Sdept、Sage是非主属性。
全码 (All-key)
例如:关系模式R(P,W,A)中 ,P是演奏者,W是作品, A是听众,该关系模式只有一个包含了全部属性的主键,是全码。
5-7规范化
关系数据库设计的方法之一就是设计满足适当范式的模式,通常可以通过判断分解后的模式达到几范式来评价模式的规范化程度。
范式:符合某一种级别的关系模式的集合。


补充1: 回顾一下依赖关系
1.部分函数依赖:
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
比如说:C可以通过AB得到,并且C也可以仅通过A得到,仅通过B得到,
那么就说C部分依赖AB。
2.完全函数依赖:
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
比如说:C可以通过AB得到,并且C不可以仅通过A得到,也不可以仅通过B得到,
那么就说C完全依赖AB。
3.传递函数依赖:
设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
比如说:B可以通过A得到,C可以通过B得到,那么就称C传递依赖A。
补充2: 如何判断是否为无损连接?
判断是否无损连接,需要先看有几个分解:
三个及以上的(表格法):
设关系模式R(U,F), 其中:U={A,B,C,D,E} , F={A→ B,DE→ B,CB→E,E→A,B→D}。 ( ) 为关系模式R的候选关键字。分解( )是无损连接,并保持函数依赖的。
A.AB B.DE C.DB D.CE
A.p={R1(AC),R2(ED),R3(B)}
B.p={R1(AC),R2(E),R3(DB)}
C.p={R1(AC),R2(ED),R3(AB)}
D.p={R1(ABC),R2(ED),R3(ACE)}
试题分析
第54题选项D中 ,E→A,A→B,B→D,CB→E 包括了全部的属性。
第55题判断无损连接有多种方法,下面介绍一种构造二维表进行判断的方法(以正确选项D为例):
①构造一个初始的二维表,若“属性”属于“模式”中的属性,则填aj(即a 第几列), 否则 填bij(即b第几行 第几列)。
| 属性\ 模式 | A | B | C | D | E |
|---|---|---|---|---|---|
| ABC | a1 | a2 | a3 | b14 | b15 |
| ED | b21 | b22 | b23 | a4 | a5 |
| ACE | a1 | b32 | a3 | b34 | a5 |
②逐一考察关系式中的函数依赖,若能从关系式中直接推导出,则将表中的bij修改成aj (注意,必须是能直接推导出,不能是间接推导)。如CB→E, 则上表中第一行第六列的b15, 修改成a5。 修改结果如下表所示。
| 属性\ 模式 | A | B | C | D | E |
|---|---|---|---|---|---|
| ABC | a1 | a2 | a3 | a4(由B推导出D) | a5(由B,C联合推导出E) |
| ED | a1(由E推导出A) | a2(由B,C联合推导出E) | b23 | a4 | a5 |
| ACE | a1 | a2(由A推导出B) | a3 | b34 | a5 |
③修改后的表格若任一行存在al,a2,a3,a4,a5的情况,该分解就属于无损连接,如上表格中第一行存在al,a2,a3,a4,a5,因此属于无损连接。
④根据Armstrong 公理,判断D.p={R1(ABC),R2(ED),R3(ACE)}是否保持函数依赖:
R1(ABC)中:CB-->A
R2(ED)中:E-->A , A-->B, B-->D
R3(ACE)中: A-->B , B & C -->E
参考答案:
D、D
两个的(交集法):
给定关系模式R<U,F> , U={A,B,C,D,E} , F={B→A,D→A,A→E,AC→B}, 则R的候选关键字为( ),分解p={RI(ABCE),R2(CD)}( ) 。
A.CD B.ABD C.ACD D.ADE
A. 具有无损连接性,且保持函数依赖
B. 不具有无损连接性,但保持函数依赖
C. 具有无损连接性,但不保持函数依赖
D. 不具有无损连接性,也不保持函数依赖
试题分析
CD能推出题中关系式的所有属性,因此R的候选关键字为CD。
两个分解判断是否为无损连接,首先进行R1∩R2=C, 由于C 不能推出R1 或者R2 中的任何属性值,因此该分解为有损分解。
原关系式F中有D→A 而分解的Rl(ABCE) 中没有D, 所以该分解不保持函数依赖。
参考答案:
A、D
第一范式 (1NF)-不可拆
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。如下图不属于第一范式。

第二范式 (2NF)-非主键完全依赖主键(不能部分依赖)
非主键字段完全依赖主键,不能部分依赖-即仅依赖主键的一部分(对于复合主键而言)
若关系模式R∈1NF, 且每一个非主属性完全依赖主键时,则关系式R是2NF (第二范式)

上图, 主键是(学号,课程号),但单独的 课程号->学分(存在部份依赖),不完全依靠全部的两个主键,故不符合2NF


第三范式(3NF)-非主键不能相互依赖(不能传递依赖)
非主键不能相互依赖
即当2NF消除了非主属性对码的传递函数依赖,则称为3NF

上图,主键学号,学号->系号,而系号->系名和系位置(传递依赖),不符合3NF

BC范式 (BCNF):
在野者不能干政:老板不能受到候选人的制约。
(如果在关系R中,U为主键,A属性是主键的一个属性,若存在A->Y,Y为主属性,则该关系不属于BCNF)
R属于BCNF当且仅当其F中每个函数依赖的决定因素都必须包含候选键。(函数依赖必须是候选码)

上图中,有两个候选码 ST和SJ,但当ST为主键时,T->J(存在部份依赖),不满足BCNF
范式对比
| 范式 | 属性不可再分 | 非主属性 部分依赖 候选键 | 非主属性 存在对 候选键的传递依赖 | 每个函数依赖的决定因素都必须包含候选键 |
|---|---|---|---|---|
| 1NF | 是 | 存在 | ||
| 2NF | 是 | 不存在 | 存在 | |
| 3NF | 是 | 不存在 | 不存在 | 不满足 |
| BCNF | 是 | 不存在 | 不存在 | 满足 |
1.插入异常
如果某个教师开设了某门课程,但尚未有学生选修,则有关信息也无法存入数 据库中。
2.删除异常
如果选修过某门课程的学生全部毕业了,在删除这些学生元组的同时,相应教 师开设该门课程的信息也同时丢掉了。
3.数据冗余度大
虽然一个教师只教一门课,但每个选修该教师该门课程的学生元组都要记录这 一信息。
4.修改异常
某个教师开设的某门课程改名后,所有选修了该教师该门课程的学生元组都要 进行相应修改。

典型真题
1.
给定关系模式R<U,F>, 其中,属性集U={A、B、C、D、E}。 函数依赖集F={AC→ B,B→ DE}。关系R() 且分别有()。
A.只有一个候选关键字AC B.只有一个候选关键字AB
C.有两个候选关键字AC、BC D.有两个候选关键字AC、AB
A.一个非主属性和四个主属性 B.两个非主属性和三个主属性
C.三个非主属性和两个主属性 D.四个非主属性和一个主属性
试题分析
由“AC→B,B→DE”, 可以判断AC是唯一候选键(候选关键字),通过AC 可以获得其他全部属性。因此AC 分别是主属性, B、D、E 为非主属性。
参考答案:
A、C
2.
销售公司数据库中的关系零件为P(Pno,Pname,Sname,City,Qty),Pno 表示 零件号,Pname表示零件名称,Sname表示供应商, City表示所在地,Qty表 示库存量。其函数依赖集F={Pno→Pname,(Pno,Sname)→Qty,Sname→City} 。 关系P为( ),存在冗余度大、修改操作不一致、插入异常和删除异常的问题。若将P分解为( ),则可以解决这一问题。
A.1NF B.2NF C.3NF D.4NF
A.P1(Pname,Qty) 、P2(Pno,Sname,City)
B.P1(Pname,Pname) 、P2(Sname,City,Qty)
C.P1(Pno,Pname)、P2(Pno,Sname,Qty)、P3(Sname,City)
D.P1(Pno,Pname) 、P2(Pno,Qty) 、P3(Sname,City) 、P4(City,Qty)
试题分析
原零件关系P存在非主属性对码的部分函数依赖: (Pno,Sname)→Qty,Sname→City, 因此P属于1NF。 分解后的关系模式P1P2 和P3 消除了非主属性对码的部分函数依赖,同时不存在传递依赖,故达到3NF。
参考答案:
A、C
3.
设关系模式R(U,F), 其中:U={A,B,C,D,E} , F={A→ B,DE→ B,CB→E,E→A,B→D}。 ( ) 为关系模式R的候选关键字。分解( )是无损连接,并保持函数依赖的。
A.AB B.DE C.DB D.CE
A.p={R1(AC),R2(ED),R3(B)}
B.p={R1(AC),R2(E),R3(DB)}
C.p={R1(AC),R2(ED),R3(AB)}
D.p={R1(ABC),R2(ED),R3(ACE)}
试题分析
第54题选项D中 ,E→A,A→B,B→D,CB→E 包括了全部的属性。
第55题判断无损连接有多种方法,下面介绍一种构造二维表进行判断的方法(以正确选项D为例):
①构造一个初始的二维表,若“属性”属于“模式”中的属性,则填aj(即a 第几列), 否则 填bij(即b第几行 第几列)。
| 属性\ 模式 | A | B | C | D | E |
|---|---|---|---|---|---|
| ABC | a1 | a2 | a3 | b14 | b15 |
| ED | b21 | b22 | b23 | a4 | a5 |
| ACE | a1 | b32 | a3 | b34 | a5 |
②逐一考察关系式中的函数依赖,若能从关系式中直接推导出,则将表中的bij修改成aj (注意,必须是能直接推导出,不能是间接推导)。如CB→E, 则上表中第一行第六列的b15, 修改成a5。 修改结果如下表所示。
| 属性\ 模式 | A | B | C | D | E |
|---|---|---|---|---|---|
| ABC | a1 | a2 | a3 | a4(由B推导出D) | a5(由B,C联合推导出E) |
| ED | a1(由E推导出A) | a2(由B,C联合推导出E) | b23 | a4 | a5 |
| ACE | a1 | a2(由A推导出B) | a3 | b34 | a5 |
③修改后的表格若任一行存在al,a2,a3,a4,a5的情况,该分解就属于无损连接,如上表格中第一行存在al,a2,a3,a4,a5,因此属于无损连接。
④根据Armstrong 公理,判断D.p={R1(ABC),R2(ED),R3(ACE)}是否保持函数依赖:
R1(ABC)中:CB-->A
R2(ED)中:E-->A , A-->B, B-->D
R3(ACE)中: A-->B , B & C -->E
参考答案:
D、D
4.
给定关系模式R<U,F> , U={A,B,C,D,E} , F={B→A,D→A,A→E,AC→B}, 则R的候选关键字为( ),分解p={RI(ABCE),R2(CD)}( ) 。
A.CD B.ABD C.ACD D.ADE
A. 具有无损连接性,且保持函数依赖
B. 不具有无损连接性,但保持函数依赖
C. 具有无损连接性,但不保持函数依赖
D. 不具有无损连接性,也不保持函数依赖
试题分析
CD能推出题中关系式的所有属性,因此R的候选关键字为CD。
两个分解判断是否为无损连接,首先进行R1∩R2=C, 由于C 不能推出R1 或者R2 中的任何属性值,因此该分解为有损分解。
原关系式F中有D→A 而分解的Rl(ABCE) 中没有D, 所以该分解不保持函数依赖。
参考答案:
A、D
5-10.数据库设计&需求分析



1.调查的重点是“数据”和“处理”:
1.1、数据库需要哪些数据?
如:数据 名、属性及其类型、数据量估计等。
1.2、 数据处理要求?
如:更改要求、使用频率和等。
1.3、 安全性与完整性要求?
如:保密 要求、完整性约束条件(主键属性)等。
数据库的元数据交由数据字典来进行管理
2.数据字典的内容:
数据项、数据流、数据存储、数据加工(处理过程)。
5-11.概念设计&逻辑设计
1.概念设计
其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS的数据模型,即概念模型。 下图为学校教学管理系统E-R图。


1.1属性冲突
- 属性域冲突: 不同学校编码方式不同
- 属性值冲突:重量采用千克、磅
1.2结构冲突
- 同一对象在不同应用中的抽象不同:职工在某一应用中是实体,在另一应用中是属性
- 同一实体在不同ER 图中属性个数和排列 次序不同
1.3命名冲突
- 同名异义
- 异名同义
2.逻辑设计(逻辑结构设计)
其任务是将概念模型转化为某个特定的DBMS 上的逻辑模型(层次模型、网状模型、关系模型 ) 。
2.1. E-R图向关系模式转换规则:
E-R图的实体转换为关系
E-R的属性转换为关系的属性
E-R图的关键字转换为关系的关键字

2.2 复合属性的转换:
1、将每个分量属性作为复合属性所在实体的属性
或
2、将复合属性本身作为所在实体的属性

2.3 多值属性的转换:
1、将多值属性与所在实体的主键一起组成一个新的关系
2、将多值属性提升为一个实体,通常为弱实体

2.4 派生属性:
因为派生属性可由其他属性计算得到,因此,在转化成关系模式时,通常不转换派生属性。
例如:“学生”实体中有“生日”和“年龄”等 属性,从“生日”可以计算出“年龄”属性的值, “年龄”属性就是派生 属性。
2.5BLOB 型属性:
典型的BLOB是一张图片或一个声音文件,由于它们的容量比较大, 必须使用特殊的方式来处理。处理BLOB 的主要思想就是让文件处理 器(例如,数据库管理器)不去理会文件是什么,而是关心如何去 处理它。因此,从优化的角度考虑,应采用的设计方案是将BLOB 属 性与关系的主键独立为一个关系模式。
2.6 联系的属性
1:1的联系:
1、 一个1:1联系可以转换为一个独立的 关系模式。
例如:管理(职工号,班级号, …)
2、 或者也可以与任 意一 端对应的关系模式合并。
例如:班级(班级号,学生人数,职工号,…)或教师(职工号,姓名,性别,职称, 班级号, …)

1:n的联系:
1、 一个1:n的联系可以转换为一个独立的关系模式。
例如:组成(学号,班级号, …)
2、 与n端对应的关系模式合并。
例如:学生(学号,姓名,出生日期,所在系,班级号…)

n:m的联系:
一个n:m 的联系可以转换为一个独立的关系模式。
例如:选修(学号,课程号,成绩…),其中学号和课程号为关系模式的组合(联合)主键。

多元的联系:
一个多元联系可以转换为一个独立的关系模式。
例如:讲授(职工号,课程号,书号…),其中课程号、职工号、书号为关 系模式的组合(联合)主键。

3. 物理设计
① 设计存储记录结构,包括记录的组成、数据项的类型和长度,以及逻辑记录到存储记录的映射。
② 确定数据存储安排。
③ 设计访问方法,为存储在物理设备上的数据提供存储和检索的能力。
④ 进行完整性和安全性的分析与设计。
⑤ 数据库程序设计。
4. 典型真题
描述企业应用中的实体及其联系,属于数据库设计的( )阶段。
A.需求分析 B.概念设计
C.逻辑设计 D.物理设计
试题分析
数据库概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何数据库管理系统DBMS的数据模型,即概念模型。
参考答案:
B
5-12事务管理&并发控制
1事务管理
数据库系统运行的基本工作单位是事务,事务相当于操作系统中的进程,是用户定义的一个数据库操作序列,这些操作序列要么全做要么全不做,是一个不 可分割的工作单位。
1.1.原子性 (Atomicity)操作:
操作序列要么全做要么全不做。
1.2.一致性 (Consistency) :
数据数据库从一个一致性状态变到另一个一致性状态。
1.3.隔离性 (Isolation):
执行不能被其他事务干扰。
1.4.持续性(永久性) (Durability):
变化一旦提交,改变就是永久性的。
事务通常以 BEGIN TRANSACTION (事务开始)语句开始,以COMMIT 或 ROLLBACK 语句结束。COMMIT 称为“事务提交语 句”,表示事务执行成功的结束。ROLLBACK 称为“事务回退语 句”,表示事务执行不成功的结束。从终端用户来看,事务是一个 原子,是不可分割的操作序列。事务中包括的所有操作要么都做, 要么都不做(就效果而言)。事务不应该丢失或被分割地完成。

2.并发控制
处理并发控制的主要方法是采用封锁技术。它有两种类型:排他型封锁 (X封锁)和共享型封锁 (S 封锁),分别介绍如下:
(1)排他型封锁(简称X 封锁,其他无法读写)。
如果事务T 对数据A (可以是数据项、记 录、数据集,乃至整个数据库)实现了X封锁,那么只允许事务T 读取和修改数据A, 其他事务要等事务T 解除X 封锁以后,才能对数据A实现任何类型的 封锁。可见X封锁只允许一个事务独锁某个数据,具有排他性。
又称写锁。若事物T对数据对象A加上X锁,其他事物不能再对A加任何锁,直到T释放A上的锁。
(2)共享型封锁(简称S 封锁,其他只读)。
X 封锁只允许一个事务独锁和使用数据,要求太严。需要适当放宽,例如可以允许并发读,但不允许修改,这就产生了 S 封锁概念。S 封锁的含义是:如果事务T 对数据A 实现了S 封锁,那么允许 事务T 读取数据A, 但不能修改数据A, 在所有S 封锁解除之前绝不允许任何 事务对数据A 实现X封锁。
又称读锁,若事物T对数据对象A加上S锁,其他事物只能再对A加S锁,而不能加X锁,直到T释放A上的S锁
3.封锁协议(了解即可)
| 一级封锁协议 | 事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。 | 可防止丢失修改 |
| 二级封锁协议 | 一级封锁协议加上事务T在读取数据R之前先 对其加S锁,读完后即可释放S锁。 | 可防止丢失修改,还可防止读“脏”数据 |
| 三级封锁协议 | 一级封锁协议加上事务T在读取数据R之前先 对其加S锁,直到事务结束才释放。 | 可防止丢失修改,还可防止读“脏”数据与防止数据重 复读 |
| 两段锁协议 | 分为封锁阶段(扩展)和释放阶段(收缩)。封锁阶段只能加锁、释放阶段只能解锁。 | 优点: 可串行化, 缺点:可能发生死锁。 |
4.典型真题
若事务T1对数据D1加了共享锁,事务T2 、T3分别对数据D2 、D3加了排它锁,则事务T1对数据();事务T2对 数 据 ( ) 。
A.D2 、D3加排它锁都成功 B.D2 、D3加共享锁都成功
C.D2加共享锁成功, D3加排它锁失败 D.D2 、D3加排它锁和共享锁都失败
A.D1 、D3加共享锁都失败 B.D1 、D3加共享锁都成功
C.D1加共享锁成功, D3如排它锁失败 D.D1加排它锁成功, D3加共享锁失败
试题分析:
共享锁 (S锁):又称读锁,若事物T对数据对象A加上S锁,其他事物只能再对A加S锁,而不能加X锁,而不能加X锁,直到T释放A上的S锁
排他锁 (X锁):又称写锁。 ,其他事物不能再对A加任何锁,直到T释放A上的锁。
参考答案:
D C
5-13分布式数据库&故障恢复
1.分布式数据库
1.1分布式数据库系统有以下几个特点:
(1)数据的分布性。
分布式数据库中的数据分布于网络中的各个结点,它既不同于传统的集中式数据库,也不同于通过计算机网络共享的集中式数据库系 统。
(2)统一性。
主要表现在数据在逻辑上的统一性和数据在管理上的统一性两个方面。分布式数据库系统通过网络技术把局部的、分散的数据库构成一个在 逻辑上单一的数据库,从而呈现在用户面前的就如同是一个统一的、集中式的 数据库。这就是数据在逻辑上的统一性,因此,它不同于由网络互联的多个独 立数据库。分布式数据库是由分布式数据库管理系统统一管理和维护的,这种 管理上的统一性又使它不同于一般的分布式文件系统。
(3)透明性。
用户在使用分布式数据库时,与使用集中式数据库一样,无须知道其所关心的数据存放在哪里,存储了几次。用户需要关心的仅仅是整个数据库的逻辑结构。
1.2与集中式数据库相比,分布式数据库具有下列优点:
(1)坚固性好。
由于分布式数据库系统是由多个位置上的多台计算机构成的,在个别结点或个别通信链路发生故障的情况下,它仍然可以降低级别继续工作,如果采用冗余技术,还可以获得一定的容错能力。因此,系统的坚固性好,即 系统的可靠性和可用性好。
(2)可扩充性好。
可根据发展的需要增减结点,或对系统重新配置,这比用一个更大的系统代替一个已有的集中式数据库要容易得多。
(3)可改善性能。
在分布式数据库中可按就近分布,合理地冗余的原则来分布各结点上的数据,构造分布式数据库,使大部分数据可以就近访问,避免了 集中式数据库中的瓶颈问题,减少了系统的响应时间,提高了系统的效率,而 且也降低了通信费用。
(4)自治性好。
数据可以分散管理,统一协调,即系统中各结点的数据操纵和相互作用是高度自治的,不存在主从控制,因此,分布式数据库较好地满足 了一个单位中各部门希望拥有自己的数据,管理自己的数据,同时又想共享其他部门有关数据的要求。
1.3分布透明性包括:
分片透明性、位置透明性和局部数据模型透明性。
(1)分片透明性是分布透明性的最高层次。所谓分片透明性是指用户或应用程序只对全局关系进行操作而不必考虑数据的分片。
(2)位置透明性是分布透明性的下一层次。所谓位置透明性是指,用户或应用程序应当了解分片情况,但不必了解片段的存储场地。
(3)局部数据模型(逻辑透明)透明性是指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。
1.4 典型真题
某企业信息系统采用分布式数据库系统,该系统中“每个节点对本地数据都能独立管理”和“当某一场地故障时系统可以使用其他场地的副本而不至于使整个系统瘫痪”分别称为分布式数据库的( )。
A.共享性和分布性 B.自治性和分布性
C.自治性和可用性 D.分布性和可用性
试题分析
分布式数据库是由一组数据组成的,这组数据分布在计算机网络的不同计算机上,网络中的每个节点具有独立处理的能力(称为场地自治),它可以执行局 部应用,同时,每个节点也能通过网络通信子系统执行全局应用。
分布式数据库增加了数据冗余,通过在不同的场地存储同一数据的多个副本,提高了系统的可靠性和可用性,同时也能提高了系统性能。
参考答案:
C
2.故障恢复
2.1数据库的故障可用事务的故障来表示,主要分为四类:
(1)事务故障。
事务在运行过程中由于种种原因,如输入数据的错误、运算溢出、违反了某些完整性限制、某些应用程序的错误,以及并发事务发生死锁 等,使事务未运行至正常终止点就被撤销,这种情况称为“事务故障”。
(2)系统故障。
系统故障是指系统在运行过程中,由于某种原因(如操作系统或数据库管理系统代码错误、操作员操作失误、特定类型的硬件错误(如CPU 故障)、突然停电等造成系统停止运行),致使事务在执行过程中以非正常方式终止,这时内存中的信息丢失,但存储在外存储设备上的数据不会受影 响。
(3)介质故障。
系统在运行过程中,由于某种硬件故障,如磁盘损坏、磁头碰撞或由于操作系统的某种潜在的错误、瞬时强磁场干扰,使存储在外存上的 数据部分损失或全部损失,称为“介质故障”。这类故障比前两类故障的可能性虽然小得多,但破坏性却最大。
(4)计算机病毒。
计算机病毒是一种人为破坏计算机正常工作的特殊程序。通过读写染有病毒的计算机系统中的程序与数据,这些病毒可以迅速繁殖和传 播,危害计算机系统和数据库。目前大多数病毒是在PC 和其兼容机上传播的。有的病毒一侵入系统就马上摧毁系统,有的病毒有较长的潜伏期,有的病毒则只在特定的日期发生破坏作用,有的病毒感染系统所有的程序和数据,有的只 影响特定的程序和数据。
2.2故障的恢复
(1)事务故障的恢复。
事务故障是指事务未运行至正常终止点前被撤销,这时恢复子系统应对此事务做撤销处理。事务故障的恢复是由系统自动完成的,不需要用户干预,步骤如下:
- 反向扫描文件日志,查找该事务的更新操作。
- 对该事务的更新操作执行逆操作。
- 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
- 如此处理下去,直至读到此事务的开始标记,事务故障恢复完成。
(2)系统故障的恢复。
系统故障发生时,造成数据库不一致状态的原因有两个: 一是由于一些未完成事务对数据库的更新已写入数据库;二是由于一些已提交 事务对数据库的更新还留在缓冲区没来得及写入数据库。系统故障的恢复是在 重新启动时自动完成的,不需要用户干预,步骤如下:
- 正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做 (Redo) 队列。同时找出故障发生时尚未完成的事务,将其事务标识 记入撤销 (Undo) 队列。
- 对撤销队列中的各个事务进行撤销处理:反向扫描日志文件,对每个 Undo事务的更新操作执行逆操作。
- 对重做队列中的各个事务进行重做处理:正向扫描日志文件,对每个 Redo事务重新执行日志文件登记的操作。
(3)介质故障与病毒破坏的恢复。
在发生介质故障和遭病毒破坏时,磁盘上的物理数据库被破坏,这时的恢复操作可分为三步:
- 装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。
- 从故障点开始反向读日志文件,找出已提交事务标识将其记入重做队列。
- 从起始点开始正向阅读日志文件,根据重做队列中的记录,重做所有已完成事务,将数据库恢复至故障前某一时刻的一致状态。
(4)具有检查点的恢复技术。
检查点记录的内容可包括:
- 建立检查点时刻所有正在执行的事务清单。
- 这些事务最近一个日志记录的地址。采用检查点的恢复步骤如下:
- 从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查点记录。
- 由该检查点记录得到检查点建立时所有正在执行的事务清单队列 (A)。
- 建立重做队列 (R) 和撤销队列 (U), 把 A 队列放入U 队列中,R 队列为空。
3.备份
热备份的另外一种方式是利用备份软件(例如,veritas 公司的 netbackup,legato 公司的 network 等)在数据库正常运行的状态下,将数据库中的数据文件备份出来。
为了提高物理备份的效率,通常将完全、增量、差异三种备份方式相组合。
3.1完全备份是将数据库的内容全部备份。
不足之处在于,各个全备份磁带中的备份数据存在大量的重复信息;另外,由于每次需要备份的数据量相当大,因此备份所需时间较长。
3.2增量备份是只备份上次 完全、增量或差异 备份以来修改的数据。
因此备份的数据量不大,备份所需的时间很短。但增量备份的数据恢复是比较麻烦的。必须具有上一次全备份和所有增量备份磁带(一旦丢失或损坏其中 的一盘磁带,就会造成恢复的失败),并且它们必须沿着从全量备份到依次增 量备份的时间顺序逐个反推恢复,因此这就极大地延长了恢复时间。
3.3 差异备份是备份自上次 完全备份 后发生变化的所有数据。
差异备份在避免了另外两种备份策略缺陷的同时,又具备了它们各自的优点。首先,它具有了增量备份需要时间短、节省磁盘空间的优势;其次,它又具有 了全量备份恢复所需磁带少、恢复时间短的特点。系统管理员只需要两盘磁带, 即全备份磁带与灾难发生前一天的差异备份磁带,就可以将系统恢复。
4.典型真题
数据备份是信息系统运行管理时保护数据的重要措施。 ( )可针对上次任何一种备份进行,将上次备份后所有发生变化的数据进行备份,并将备份后的数据进行标记。
A.增量备份 B.差异备份
C.完全备份 D.按需备份
试题分析
增量备份在做数据备份前会先判断数据的最后修改时间是否比上次备份的时间晚。如果不是,则表示该数据并没有被修改过,这次不需要备份。所以该备份 方式,只记录上次备份之后的变动情况,而非完全备份。
试题答案:
A
5-14 数据仓库
著名的数据仓库专家 W.H.Inmon 在 《Building the Data Warehouse》一 书中将数据仓库定义为:数据仓库 (Data Warehouse) 是 一 个面向主题的、 集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。
1.数据仓库4大特点:
1.1面向主题:
数据按主题组织。
1.2集成的:
消除了源数据中的不一致性,提供整个企业的一致性全局信息。
1.3相对稳定的(非易失的):
主要进行查询操作,只有少量的修改和删除操作(或是不删除)。
1.4反映历史变化(随着时间变化):
记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。
| 比较项目 | 传统数据库 | 数据仓库 |
|---|---|---|
| 数据内容 | 当前值 | 历史的、归档的、归纳的、计算机的数据(处 理过的) |
| 数据目标 | 面向业务操作程序、重复操作 | 面向主体域、分析应用 |
| 数据特性 | 动态变化、更新 | 静态、不能直接更新,只能定时添加、更新 |
| 数据结构 | 高度结构化、复杂、适合操作计算 | 简单、适合分析 |
| 使用频率 | 高 | 低 |
| 数据访问量 | 每个事务一般只访问少量记录 | 每个事务一般访问大量记录 |
| 对响应时间的要求 | 计时单位小、如秒 | 计时单位相对较大,除了秒,还有分钟、小时1 |
2.数据仓库的结构

(1)数据源。
是数据仓库系统的基础,是整个系统的数据源泉。通常包括 企业内部信息和外部信息。内部信息包括存放于RDBMS (关系型 DBMS) 中 的各种业务处理数据和各类文档数据。外部信息包括各类法律法规、市场信 息和竞争对手的信息等。
(2)数据的存储与管理。
是整个数据仓库系统的核心。数据仓库的真正关 键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。要决定采用什么产品和技术来 建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。针对现有各 业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。数据 仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常 称为数据集市)。
(3)OLAP服务器。
对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。其具体实现可以分为:ROLAP、MOLAP和 HOLAP 。ROLAP 基本数据和聚合数据均存放在 RDBMS之中;MOLAP 基本数据和聚合数据均存放于多维数据库中; HOLAP基本数据存放于RDBMS 之中,聚合数据存放于多维数据库中。
(4)前端工具。
主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具及各种基于数据仓库或数据集市的应用开发工具。其中数据分析工具主要针对 OLAP 服务器,报表工具、数据挖掘工具主要针对数据仓库。
3.数据仓库的实现方法
从整体的角度来看,数据仓库的实现方法主要有自顶向下法、自底向上法和联合方法。
3.1.自顶向下法
在该方法中,首先应找出数据仓库解决方案所要满足的商业需求,把商业需求视为实现数据仓库的首要任务。数据仓库是一种功能而不是一种特征,数据仓库保存信息,并以外部工具易于显示和操作的方式组织这些信息。因此,如果不借助于可以利用这种功能的外部工具,最终用户就无法将这种功能嵌入数据仓库中。这样,就很难定出该功能的范围,除非用广义上的商业术语,如 “数据仓库将包含有关客户、供应商、市场、产品的信息”。
3.2.自底向上法
自底向上方法一般从实验和基于技术的原形入手。先选择一个特定的、众所周知的商业问题的子集,再为该子集制订方案。实现自底向上一般是比较快的。 自底向上可以使一个单位在发展时用尽可能少的经费和时间,就可以在做出有 效的投入之前评估技术的收益情况。在数据仓库领域,自底向上方法是快速实 现数据集市、部门级数据仓库的有效手段。
3.3.混合法
拥有以上两种方法的优点。适合数据仓库技术的快速试运行,并且保留了建立长远的决策方案的机会。
4.典型真题
数据仓库中,数据( )是指数据一旦进入数据仓库后,将被长期保留并定期加载和刷新,可以进行各种查询操作,但很少对数据进行修改和删除操作。
A.面向主题 B.集成性 C.相对稳定性 D.反映历史变化
试题分析
数据仓库4大特点:
面向主题:数据按主题组织。
集成的:消除了源数据中的不一致性,提供整个企业的一致性全局信息。
相对稳定的(非易失的):主要进行查询操作,只有少量的修改和删除操作(或是不删除)。
反映历史变化(随着时间变化):记录了企业从过去某一时刻到当前各个阶段的信息,可对发展历程和未来趋势做定量分析和预测。
试题答案:
C
5-15 数据挖掘
数据挖掘与传统的数据分析(如查询、报表、联机应用分析)的本质区别是数据挖掘是在没有明确假设的前提下去挖掘信息、发现知识。数据挖掘所得到 的信息应具有先知,有效和可实用三个特征。
1.数据挖掘的流程
1.1.问题定义
在开始数据挖掘之前,最先的也是最重要的要求就是熟悉背景知识,弄清用户的需求。缺少了背景知识,就不能明确定义要解决的问题,就不 能为挖掘准备优质的数据,也很难正确地解释得到的结果。要想充分发挥数据 挖掘的价值,必须对目标有一个清晰明确的定义,即决定到底想干什么。
1.2.建立数据挖掘库
要进行数据挖掘必须收集要挖掘的数据资源。 一般建议把要挖掘的数据都收集到一个数据库中,而不是采用原有的数据库或数据仓库。这是因为大部分情 况下需要修改要挖掘的数据,而且还会遇到采用外部数据的情况;另外,数据 挖掘还要对数据进行各种纷繁复杂的统计分析,而数据仓库可能不支持这些数 据结构。
1.3.分析数据
分析数据就是通常所进行的对数据深入调查的过程。从数据集中找出规律和趋势,用聚类分析区分类别,最终要达到的目的就是搞清楚多因素相互影响的、 十分复杂的关系,发现因素之间的相关性。
1.4.调整数据
通过上述步骤的操作,对数据的状态和趋势有了进一步的了解,这时要尽可能对问题解决的要求能进一步明确化、进一步量化。针对问题的需求对数据进 行增删,按照对整个数据挖掘过程的新认识组合或生成一个新的变量,以体现 对状态的有效描述。
1.5模型化
在问题进一步明确,数据结构和内容进一步调整的基础上,就可以建立形成知识的模型。这一步是数据挖掘的核心环节, 一般运用神经网络、决策树、数 理统计、时间序列分析等方法来建立模型。
1.6评价和解释
上面得到的模式模型,有可能是没有实际意义或没有实用价值的,也有可能是其不能准确反映数据的真实意义,甚至在某些情况下是与事实相反的,因此 需要评估,确定哪些是有效的、有用的模式。评估的一种办法是直接使用原先 建立的挖掘数据库中的数据来进行检验,另一种办法是另找一批数据并对其进 行检验,再一种办法是在实际运行的环境中取出新鲜数据进行检验。
2.数据挖掘
常用的数据挖掘技术包括关联分析、序列分析、分类、预测、聚类分析及 时间序列分析等。
2.1.关联分析
关联分析主要用于发现不同事件之间的关联性,即一个事件发生的同时,另一个事件也经常发生。关联分析的重点在于快速发现那些有实用价值的关联发 生的事件。其主要依据是事件发生的概率和条件概率应该符合一定的统计意义。
对于结构化的数据,以客户的购买习惯数据为例,利用关联分析,可以发现客户的关联购买需要。
例如, 一个开设储蓄账户的客户很可能同时进行债券交易和股票交易,购买纸尿裤的男顾客经常同时购买啤酒等。利用这种知识可以 采取积极的营销策略,扩展客户购买的产品范围,吸引更多的客户。通过调整 商品的布局便于顾客买到经常同时购买的商品,或者通过降低一种商品的价格 来促进另一种商品的销售等。
对于非结构化的数据,以空间数据为例,利用关联分析,可以发现地理位置 的关联性。例如,85%的靠近高速公路的大城镇与水相邻,或者发现通常与高 尔夫球场相邻的对象等。
2.2.序列分析
序列分析技术主要用于发现一定时间间隔内接连发生的事件。这些事件构成 一个序列,发现的序列应该具有普遍意义,其依据除了统计上的概率之外,还要加上时间的约束。
2.3.分类分析
分类分析通过分析具有类别的样本的特点,得到决定样本属于各种类别的规 则或方法。利用这些规则和方法对未知类别的样本分类时应该具有一定的准确 度。其主要方法有基于统计学的贝叶斯方法、神经网络方法、决策树方法及支 持向量机 (support vector machines) 等。
利用分类技术,可以根据顾客的消费水平和基本特征对顾客进行分类,找出 对商家有较大利益贡献的重要客户的特征,通过对其进行个性化服务,提高他 们的忠诚度。
利用分类技术,可以将大量的半结构化的文本数据,如 WEB页面、电子邮件 等进行分类。可以将图片进行分类,例如,根据已有图片的特点和类别,可以判定一幅图片属于何种类型的规则。对于空间数据,也可以进行分类分析,例如,可以根据房屋的地理位置决定房屋的档次。
2.4.聚类分析
聚类分析是根据物以类聚的原理,将本身没有类别的样本聚集成不同的组, 并且对每一个这样的组进行描述的过程。其主要依据是聚到同一个组中的样本 应该彼此相似,而属于不同组的样本应该足够不相似。
2.5预测
预测与分类类似,但预测是根据样本的已知特征估算某个连续类型的变量的 取值的过程,而分类则只是用于判别样本所属的离散类别而已。预测常用的技 术是回归分析。
2.6时间序列
分析时间序列分析的是随时间而变化的事件序列,目的是预测未来发展趋势, 或者寻找相似发展模式或者是发现周期性发展规律。
3.数据处理大致可以分成两大类:
联机事务处理OLTP(on-line transactionprocessing) 、 联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决 策支持,并且提供直观易懂的查询结果。
OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;
OLAP 系统则强调数据分析,强调SQL 执行市场,强调磁盘I/O, 强调分区等。
4.典型真题
某集团公司下属有多个超市,假设公司高管需要从时间、地区和商品种类三个维度来分析某电器商品销售数据,那么应采用( )来完成。
A.数据挖掘
B.OLAP
C.OLTP
D.ETL
试题分析
依据题目说明的情况,该做法是进行多维数据分析,而多维数据分析是OLAP 的典型应用。数据挖掘一般用于挖掘数据之间的联系,得到一些人类所未知的数 据规律。
数据处理大致可以分成两大类:联机事务处理OLTP(on-line transactionprocessing) 、 联机分析处理OLAP(On-Line Analytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决 策支持,并且提供直观易懂的查询结果。
OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;
OLAP 系统则强调数据分析,强调SQL 执行市场,强调磁盘I/O, 强调分区等。
试题答案:
B
Comments NOTHING