数据库系统考博复习提要文档格式.docx
- 文档编号:18341310
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:39
- 大小:276.74KB
数据库系统考博复习提要文档格式.docx
《数据库系统考博复习提要文档格式.docx》由会员分享,可在线阅读,更多相关《数据库系统考博复习提要文档格式.docx(39页珍藏版)》请在冰豆网上搜索。
●关系(Relation):
一个关系对应通常说的一张表。
●元组(Tuple):
表中的一行即为一个元组。
●属性(Attribute):
表中的一列即为一个属性,给每一个属性起一个名称即属性名。
●主码(Key):
表中的某个属性组,它可以唯一确定一个元组。
●域(Domain):
属性的取值范围。
●分量:
元组中的一个属性值。
●关系模式:
对关系的描述,关系名(属性1,属性2,…,属性n),学生(学号,姓名,年龄,性别,系,年级)
●实体型:
直接用关系(表)表示。
●属性:
用属性名表示。
●一对一联系:
隐含在实体对应的关系中。
●一对多联系:
●多对多联系:
直接用关系表示。
1.3数据库系统结构
1、模式(也称逻辑模式)
(1)数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求。
一个数据库只有一个模式。
(2)地位:
是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
(3)定义:
数据的逻辑结构(数据项的名字、类型、取值范围等)、数据之间的联系、数据有关的安全性、完整性要求
2、外模式(也称子模式或用户模式)
(1)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
介于模式与应用之间,模式与外模式的关系:
一对多。
外模式通常是模式的子集,一个数据库可以有多个外模式。
反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求,对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,外模式与应用的关系:
一对多,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。
3、内模式(也称存储模式)
(1)是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
(记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)、索引的组织方式、数据是否压缩存储、数据是否加密、数据存储记录结构的规定)
(2)一个数据库只有一个内模式
三级模式是对数据的三个抽象级别
二级映象在DBMS内部实现这三个抽象层次的联系和转换
4、外模式/模式映象
(1)定义外模式与模式之间的对应关系、每一个外模式都对应一个外模式/模式映象、映象定义通常包含在各自外模式的描述中。
(2)用途:
保证数据的逻辑独立性
●当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。
●应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
5、模式/内模式映象
(1)模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
例如,说明逻辑记录和字段在内部是如何表示的、数据库中模式/内模式映象是唯一的、该映象定义通常包含在模式描述中。
保证数据的物理独立性
●当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。
●应用程序不受影响。
保证了数据与程序的物理独立性,简称数据的物理独立性。
第二章关系数据库
2.1关系模型概述
1、常用的关系操作:
查询:
选择、投影、连接、除、并、交、差
数据更新:
插入、删除、修改
查询的表达能力是其中最主要的部分
2、关系的三类完整性约束:
实体完整性、参照完整性、用户定义的完整性
2.2关系数据结构
1.域(Domain):
一组具有相同数据类型的值的集合
2.笛卡尔积(CartesianProduct)
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×
D2×
…×
Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}
元组:
笛卡尔积中每一个元素(d1,d2,…,dn)。
分量(Component):
笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量。
若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×
Dn的基数M为:
3.关系(Relation
Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn)
关系模式可以形式化地表示为:
R(U,D,dom,F)
R关系名
U组成该关系的属性名集合
D属性组U中属性所来自的域
dom属性向域的映象集合
F属性间的数据依赖关系集合
关系模式通常可以简记为R(U)或R(A1,A2,…,An)(R关系名A1,A2,…,An属性名)
2.3关系的完整性
1、实体完整性:
若属性A是基本关系R的主属性,则属性A不能取空值。
2、参照完整性:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值)
或者等于S中某个元组的主码值。
例如:
学生关系中每个元组的“专业号”属性只取下面两类值:
(1)空值,表示尚未给该学生分配专业
(2)非空值,这时该值必须是专业关系中某个元组的“专业号”值,表示该学生不可能分配到一个不存在的专业中。
3、用户定义的完整性
2.4关系代数
1、传统的集合运算:
并、差、交、广义笛卡尔积
R∪S={t|tR∨tS}
R-S={t|tR∧tS}
R∩S={t|tR∧tS}R∩S=R–(R-S)
广义R×
S:
R:
n目关系,k1个元组。
S:
m目关系,k2个元组
列:
(n+m)列的元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组。
行:
k1×
k2个元组
2、专门的关系运算:
选择、投影、连接、除
σF(R)={t|tR∧F(t)='
真'
}σSdept='
IS'
(Student)
πA(R)={t[A]|tR}πSname,Sdept(Student)
连接:
等值连接:
自然连接:
特殊的等值连接,在结果中把重复的属性列去掉。
例1:
在关系R中,A可以取四个值{a1,a2,a3,a4}
a1的象集为{(b1,c2),(b2,c3),(b2,c1)}
a2的象集为{(b3,c7),(b2,c3)}
a3的象集为{(b4,c6)}
a4的象集为{(b6,c6)}
S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}
只有a1的象集包含了S在(B,C)属性组上的投影,所以R÷
S={a1}
例2:
πSno.Cno(SC)
95001象集{1,2,3}
95002象集{2,3}
πCno(K)={1,3}
于是:
πSno.Cno(SC)÷
K={95001}
2.5关系演算
第三章关系数据库标准语言SQL
1、定义表
CREATETABLE<
表名>
(<
列名>
<
数据类型>
[<
列级完整性约束条件>
]
[,<
]]…
表级完整性约束条件>
]);
⏹<
:
所要定义的基本表的名字
组成该表的各个属性(列)
涉及相应属性列的完整性约束条件
涉及一个或多个属性列的完整性约束条件
常用完整性约束:
⏹主码约束:
PRIMARYKEY
⏹唯一性约束:
UNIQUE
⏹非空值约束:
NOTNULL
⏹参照完整性约束
2、删除表
DROPTABLE<
;
3、修改表结构
ALTERTABLE<
[ADD<
新列名>
[完整性约束]]
[DROP<
完整性约束名>
[MODIFY<
];
要修改的基本表
⏹ADD子句:
增加新列和新的完整性约束条件
⏹DROP子句:
删除指定的完整性约束条件
⏹MODIFY子句:
用于修改列名和数据类型
4、建立索引
CREATE[UNIQUE][CLUSTER]INDEX<
索引名>
ON<
(<
[<
次序>
][,<
]]…);
⏹用<
指定要建索引的基本表名字
⏹索引可以建立在该表的一列或多列上,各列名之间用逗号分隔
指定索引值的排列次序,升序:
ASC,降序:
DESC。
缺省值:
ASC
⏹UNIQUE表明此索引的每一个索引值只对应唯一的数据记录
⏹CLUSTER表示要建立的索引是聚簇索引
5、删除索引
DROPINDEX<
;
6、查询
SELECT[ALL|DISTINCT]<
目标列表达式>
[,<
]…
FROM<
表名或视图名>
[,<
]…
[WHERE<
条件表达式>
[GROUPBY<
列名1>
[HAVING<
]]
[ORDERBY<
列名2>
[ASC|DESC]];
(1)WHERE子句常用的查询条件:
AND的优先级高于OR
(2)5类主要集函数
计数:
COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<
)
计算总和:
SUM([DISTINCT|ALL]<
计算平均值:
AVG([DISTINCT|ALL]<
求最大值:
MAX([DISTINCT|ALL]<
求最小值:
MIN([DISTINCT|ALL]<
(3)连接查询
⏹[<
表名1>
.]<
比较运算符>
[<
表名2>
比较运算符:
=、>
、<
、>
=、<
=、!
=
BETWEEN[<
AND[<
列名3>
(4)子查询:
带有IN谓词、比较运算符、ANY或ALL谓词、EXISTS谓词的子查询
7、插入数据
INSERTINTO<
[(<
属性列1>
[,<
属性列2>
…)]
VALUES(<
常量1>
常量2>
]…)
8、修改数据
UPDATE<
SET<
=<
表达式>
]…
[WHERE<
条件>
];
9、删除数据
DELETEFROM<
10、视图
建立视图
CREATEVIEW
视图名>
]…)]
AS<
子查询>
[WITHCHECKOPTION];
删除视图
DROPVIEW<
11、数据控制亦称为数据保护,包括数据的:
安全性控制、完整性控制、并发控制、恢复
(1)数据库的完整性是指数据库中数据的正确性与相容性。
⏹SQL语言定义完整性约束条件
CREATETABLE语句、ALTERTABLE语句、码、取值唯一的列、参照完整性、其他约束条件
(2)并发控制:
当多个用户并发地对数据库进行操作时,对他们加以控制、协调,以保证并发操作正确执行,保持数据库的一致性。
⏹SQL语言并发控制能力:
提供事务、事务开始、事务结束、提交等概念
(3)恢复:
当发生各种类型的故障导致数据库处于不一致状态时,将数据库恢复到一致状态的功能。
⏹SQL语言恢复功能:
提供事务回滚、重做等概念(UNDO、REDO)
(4)安全性:
保护数据库,防止不合法的使用所造成的数据泄露和破坏。
⏹授权GRANT语句的一般格式:
GRANT<
权限>
[,<
]...
[ON<
对象类型>
对象名>
]
TO<
用户>
]...
[WITHGRANTOPTION];
⏹收回权限REVOKE语句的一般格式为:
REVOKE<
FROM<
]...;
第五章关系数据理论
5.2规范化
规范化理论是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。
一、函数依赖
定义5.1设R(U)是一个属性集U上的关系模式,X和Y是U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
例:
Student(Sno,Sname,Ssex,Sage,Sdept)
假设不允许重名,则有:
Sno→Ssex,Sno→Sage,Sno→Sdept,Sno←→Sname,Sname→Ssex,Sname→Sage
Sname→Sdept
但Ssex→Sage
若X→Y,并且Y→X,则记为X←→Y。
若Y不函数依赖于X,则记为X─→Y。
二、平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y
X,则称X→Y是非平凡的函数依赖
若X→Y,但YX,则称X→Y是平凡的函数依赖
在关系SC(Sno,Cno,Grade)中,
非平凡函数依赖:
(Sno,Cno)→Grade
平凡函数依赖:
(Sno,Cno)→Sno(Sno,Cno)→Cno
三、完全函数依赖与部分函数依赖
定义5.2在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’
Y,则称Y完全函数依赖于X,记作X
Y。
若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作X
在关系SC(Sno,Cno,Grade)中,
四、传递函数依赖
定义5.3在关系模式R(U)中,如果X→Y,Y
Z,且Y
X,Y→X,则称Z传递函数依赖于X。
注:
如果Y→X,即X←→Y,则Z直接依赖于X。
在关系Std(Sno,Sdept,Mname)中,
有:
Sno→Sdept,Sdept→MnameMname传递函数依赖于Sno
五、码
定义5.4设K为关系模式R<
U,F>
中的属性或属性组合。
若K
U,则K称为R的一个侯选码(CandidateKey)。
若关系模式R有多个候选码,则选定其中的一个做为主码(Primarykey)。
主属性:
包含在任何一个候选码中的属性。
非主属性:
不包含在任何一个候选码中的属性。
全码:
整个属性组是码。
定义5.5关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey)也称外码。
六、范式:
符合某一种级别的关系模式的集合。
1、各种范式之间存在联系:
某一关系模式R为第n范式,可简记为R∈nNF。
2、种类
第一范式(1NF)
第二范式(2NF)
第三范式(3NF)
BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)
第一范式(1NF):
在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。
如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:
一是重复存储职工号和姓名。
这样,关键字只能是电话号码。
二是职工号为关键字,电话号码分为单位电话和住宅电话两个属性
三是职工号为关键字,但强制每条记录只能有一个电话号码。
以上三个方法,第一种方法最不可取,按实际情况选取后两种情况。
第二范式(2NF):
如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R是属于第二范式的。
选课关系SCI(SNO,CNO,GRADE,CREDIT)其中SNO为学号,CNO为课程号,GRADEGE为成绩,CREDIT为学分。
由以上条件,关键字为组合关键字(SNO,CNO)
在应用中使用以上关系模式有以下问题:
a.数据冗余,假设同一门课由40个学生选修,学分就重复40次。
b.更新异常,若调整了某课程的学分,相应的元组CREDIT值都要更新,有可能会出现同一门课学分不同。
c.插入异常,如计划开新课,由于没人选修,没有学号关键字,只能等有人选修才能把课程和学分存入。
d.删除异常,若学生已经结业,从当前数据库删除选修记录。
某些门课程新生尚未选修,则此门课程及学分记录无法保存。
原因:
非关键字属性CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖组合关键字(SNO,CNO)而不是完全依赖。
解决方法:
分成两个关系模式SC1(SNO,CNO,GRADE),C2(CNO,CREDIT)。
新关系包括两个关系模式,它们之间通过SC1中的外关键字CNO相联系,需要时再进行自然联接,恢复了原来的关系
第三范式(3NF):
如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。
如S1(SNO,SNAME,DNO,DNAME,LOCATION)各属性分别代表学号,
姓名,所在系,系名称,系地址。
关键字SNO决定各个属性。
由于是单个关键字,没有部分依赖的问题,肯定是2NF。
但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。
关系中存在传递依赖造成的。
即SNO->
DNO。
而DNO->
SNO却不存在,DNO->
LOCATION,因此关键辽SNO对LOCATION函数决定是通过传递依赖SNO->
LOCATION实现的。
也就是说,SNO不直接决定非主属性LOCATION。
解决目地:
每个关系模式中不能留有传递依赖。
分为两个关系S(SNO,SNAME,DNO),D(DNO,DNAME,LOCATION)
注意:
关系S中不能没有外关键字DNO。
否则两个关系之间失去联系。
BCNF:
如果关系模式R(U,F)的所有属性(包括主属性和非主属性)都不传递依赖于R的任何候选关键字,那么称关系R是属于BCNF的。
或是关系模式R,如果每个决定因素都包含关键字(而不是被关键字所包含),则RCNF的关系模式。
配件管理关系模式WPE(WNO,PNO,ENO,QNT)分别表仓库号,配件号,职工号,数量。
有以下条件
a.一个仓库有多个职工。
b.一个职工仅在一个仓库工作。
c.每个仓库里一种型号的配件由专人负责,但一个人可以管理几种配件。
d.同一种型号的配件可以分放在几个仓库中。
分析:
由以上得PNO不能确定QNT,由组合属性(WNO,PNO)来决定,存在函数依赖(WNO,PNO)->
ENO。
由于每个仓库里的一种配件由专人负责,而一个人可以管理几种配件,所以有组合属性(WNO,PNO)才能确定负责人,有(WNO,PNO)->
因为一个职工仅在一个仓库工作,有ENO->
WNO。
由于每个仓库里的一种配件由专人负责,而一个职工仅在一个仓库工作,有(ENO,PNO)->
QNT。
找一下候选关键字,因为(WNO,PNO)->
QNT,(WNO,PNO)->
ENO,因此(WNO,PNO)可以决定整个元组,是一个候选关键字。
根据ENO->
WNO,(ENO,PNO)->
QNT,故(ENO,PNO)也能决定整个元组,为另一个候选关键字。
属性ENO,WNO,PNO均为主属性,只有一个非主属性QNT。
它对任何一个候选关键字都是完全函数依赖的,并且是直接依赖,所以该关系模式是3NF。
分析一下主属性。
因为ENO->
WNO,主属性ENO是WNO的决定因素,但是它本身不是关键字,只是组合关键字的一部分。
这就造成主属性WNO对另外一个候选关键字(ENO,PNO)的部分依赖,因为(ENO,PNO)->
ENO但反过来不成立,而P->
WNO,故(ENO,PNO)->
WNO也是传递依赖。
虽然没有非主属性对候选关键辽的传递依赖,但存在主属性对候选关键字的传递依赖,同样也会带来麻烦。
如一个新职工分配到仓库工作,但暂时处于实习阶段,没有独立负责对某些配件的管理任务。
由于缺少关键字的一部分PNO而无法插入到该关系中去。
又如某个人改成不管配件了去负责安全,则在删除配件的同时该职工也会被删除。
解决办法:
分成管理EP(ENO,PNO,QNT),关键字是(ENO,PNO)工作EW(ENO,WNO)其关键字是ENO
缺点:
分解后函数依赖的保持性较差。
如此例中,由于分解,函数依赖
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 复习 提要
![提示](https://static.bdocx.com/images/bang_tan.gif)