数据库考试复习.docx
- 文档编号:23654775
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:32
- 大小:1.20MB
数据库考试复习.docx
《数据库考试复习.docx》由会员分享,可在线阅读,更多相关《数据库考试复习.docx(32页珍藏版)》请在冰豆网上搜索。
数据库考试复习
第一章
(选择、简答、填空)
DB(数据库),数据库是长期存储在计算机内,有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
DBMS(数据库管理系统),数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
DBS(数据库系统),数据库系统是由数据库、数据库管理系统(及其应用程序开发工具),应用程序和数据库管理员组成的存储、管理和维护数据的系统。
DB、DBMS、DBS之间的关系:
DBS里面包括DB和DBMS.
(简答)数据库系统的特点:
1.数据结构化2.数据的共享性高,冗余度低,易扩充3.数据独立性高4.数据由DBMS统一管理和控制
数据模型是数据库系统中用于提供信息表示和操作手段的形式构架,是现实世界的模拟和抽象
数据模型三要素:
数据结构、数据操作、数据的约束条件。
三级模式结构:
外模式、模式和内模式
、
一、模式(Schema)定义:
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
①一个数据库只有一个模式;②是数据库数据在逻辑级上的视图;③数据库模式以某一种数据模型为基础;④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(ExternalSchema)
定义:
也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:
①一个数据库可以有多个外模式;②外模式就是用户视图;③外模式是保证数据安全性的一个有力措施。
三、内模式(InternalSchema)
定义:
也称存储模式(StorageSchema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
①一个数据库只有一个内模式;②一个表可能由多个文件组成,如:
数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
①为了减少数据冗余,实现数据共享;②为了提高存取效率,改善性能。
(
DBMS在三级模式之间提供二级映像——“外模式/模式映像”和“模式/内模式映像”,功能是为了保证数据库的数据具有较高的逻辑独立性和物理独立性。
物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
2.逻辑独立性逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。
第二章
(综合题参考P70第6题)
关系模型的完整性规则:
1、实体完整性规则:
要求关系中元组在组成主键的属性上不能有空值。
如果出现空值,那么主键值就起不了惟一标织元组的作用2、参照完整性规则:
参照完整性规则的形式定义如下:
如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值。
这条规则的实质是“不允许引用不存在的实体”。
3、用户定义的完整性规则:
在建立关系模式时,对属性定义了数据类型,即使这样可能还满足不了用户的需求。
此时,用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以使用统一的方法处理它们,不再由应用程序承担这项工作。
例如学生的年龄定义为两位整数,范围还太大,我们可以写如下规则把年龄限制在15~30岁之间:
CHECK( BETWEEN 15 AND 30)
@
传统的并运算:
设关系R和关系S具有相同的目n(即两个关系都有n个属性),且相应的属性取自同一个域,则关系R与关系S的并由属于R或属于S的元组组成。
其结果关系仍为n目关系。
记作:
R∪S={t|t∈R∨t∈S}
传统的交运算:
系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。
其结果关系仍为n目关系。
记作:
R∩S={t|t∈R∧t∈S}
传统的差运算:
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。
其结果关系仍为n目关系。
记作:
R-S={t|t∈R∧tS}
笛卡儿积运算两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。
元组的前n列是关系R的一个元组,后m列是关系S的一个元组。
若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。
专门的关系运算:
选择,投影,连接
|
]
!
[
|
第三章
(无简答,有应用)
SQL语言集数据查询(dataquery)、数据操纵(datamanipulation)、数据定义(datadefinition)和数据控制(datacontrol)功能于一体,充分体现了关系数据语言的特点和优点。
创建数据库:
createdatabase
删除数据库:
DROPdatabase
*
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
视图的优点:
1、视图能够简化用户的操作。
2、视图使用户能以多种角度看待同一数据3、视图对重构数据库提供了一定程度的逻辑独立性4.、视图能够对机密数据提供安全保护5、适当的利用视图可以更清晰的表达查询
—
第四章
数据库的安全性是指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
熟练使用grant进行授权,使用revoke收回权限P115
自主存取控制方法:
定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象
第五章
数据库的完整性是指数据的正确性和相容性。
数据的正确性是指数据是符合现实世界语义、反映当前实际状况的;数据的相容性是指数据库同一对象在不同关系表中的数据是否符合逻辑的。
;
主码:
是一个能唯一标识一个元组的属性。
外码:
如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
数据库的安全性与完整性的区别:
数据库的完整性是指为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:
eInGarba:
eout)所造成的无效操作和错误结果。
数据库的安全性是保护数据库防止恶意的破坏和非法的存取。
总结来说,数据库安全性措施的防范对象是非法用户和非法操作,数据库的完整性措施的防范对象是不合语义的数据。
第六章
(大题)
1NF:
每一个分量必须是不可分的数据项;
2NF:
若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码
3NF:
若R∈2NF,且每一个非主属性既不传递于码,也不部分依赖于码
BCNF:
关系模式R∈1NF,若X->YY且不包含于X时X比含有主码,则
(
R∈BCNF
第七章
(综合题,简答题,填空题,选择题)
(l)需求分析:
准确了解与分析用户需求(包括数据与处理)。
(2)概念结构设计:
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
(3)逻辑结构设计:
将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
(4)数据库物理设计:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
(5)数据库实施:
设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
(6)数据库运行和维护:
在数据库系统运行过程中对其进行评价、调整与修改。
(填空或选择)数据库物理设计的内容主要包括为关系模式选择存取方法,以及设计关系、索引等数据库文件的物理存储结构。
(回答出)逻辑结构设计的主要任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构
设计步骤为:
(l)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3)对数据模型进行优化。
ER图示设计:
实体型用矩形表示、属性用椭圆形表示、联系用菱形表示。
P217
局部视图集成过程中产生种类冲突:
属性冲突,命名冲突,结构冲突
[
第八章
(选择填空不写存储过程)
存储过程的特点:
执行速度更快,允许模块化程序设计,提高系统安全性,减少网络流通量。
常见的数据访问技术:
ODBC——开放数据库互联:
ODBC为使用不同的关系数据库提供了一个统一的程序设计接口。
在安装不同的数据库后,需要创建ODBC数据源。
——数据访问对象——远程数据对DB——对象连接与嵌入数据库——ActiveX数据对象。
第九章
(选择或填空)
关系数据库:
查询处理分为以下四个阶段:
查询分析、查询检查、查询优化、查询执行。
查询优化的优点:
不仅在于用户不必考虑如何最好地表达查询以获得较高的效率,而且在于系统可以比用户程序的“优化”做得更好。
总代价=I/O代价+CPU代价+内存代价+通信代价
-
第十章
(简答题)
事务的概念:
事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。
这些操作要么都做,要么都不做,是一个不可分割的工作单位。
事务的四大特性:
1、原子性2、一致性3、隔离性4、持续性。
数据库事务故障的种类:
事务内部的故障,2、系统故障3、介质故障4、计算机病毒。
第十一章
(选择或填空)
并发操作带来的数据不一致包括丢失修改、不可重复读和读”脏”数据。
并发控制的主要技术有封锁、时间戳、乐观控制法、和多版本并发控制。
共享锁(S锁):
又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
,
排他锁(X锁):
又称写锁。
若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。
这保证了其他事务在T释放A上的锁之前不能再读取和修改A。
关系模式为R(员工编号,日期,零件数,部门名称,部门经理)表示某个工厂每个员工日生产零件数及员工所在部门和经理的信息,假设每个员工只有一个日生产零件数,每个员工又在一个部门工作,每个部门只有一个部门经理
1、根据上述语义确定函数依赖集F和码
F={(员工编号,日期)→零件数,员工编号→部门名称,部门名称→部门经理}
码:
(员工编号,日期)
2、R是否是2NF,给出判断依据,若不是2NF,把R分解成2NF
>
R不是2NF,因为(员工编号,日期)是码,存在非主属性-部门名称对码的部分依赖(员工编号-部门名称)
分解:
R1(员工编号,日期,零件数)
R2(员工编号,部门名称,部门经理)
3、进一步将R分解成3NF
R1(员工编号,日期,零件数)
R2(员工编号,部门名称)
R3(部门名称,部门经理)
有表S(Sno,Sname),Course(Cno,Cname,Ccredit),
SC(Sno,Cno,Grade)
建立一个视图V_CG(Cno,Gavg)表示各科平均成绩
…
CreateviewV_CG(Cno,Gavg)as
SelectCno,Avg(Grede)fromSCgropebyCno;
通过V_CG和基本表查询各科平均成绩,要求显示课程号,课程名和平均成绩,并按照平均成绩由高到低排序
Select,Cname,Cavg
FromCourse,V_CG
Wnere=
OederbyGavgdesc;
3.设关系模式R(ABCD),F是R上成立的函数依赖集,F={A→C,C→B},则相对于F,写出关系模式R的主关键字。
解:
R(ABCD),F={A→C,C→B}
AD→A,AD→D
)
由A→C,C→B知A→B
所以AD→B,AD→C
AD→ABCD
主键是AD
4.设关系模式R(ABC),F是R上成立的函数依赖集,F={A→C,B→C},试分别求F在模式AB和AC上的投影。
解:
ΠAB(F)=ф ΠAC(F)={A→C}
5.设关系模式R(ABC),F是R上成立的函数依赖集,F={B→A,C→A},那么ρ={AB,BC}是R上的一个分解,试说明分解ρ是否保持函数依赖集F。
并说明理由。
解:
R(ABC),F={B→A,C→A},ρ={AB,BC}
ΠAB(F)={B→A}ΠBC(F)=ф
丢失了FDC→A
>
6.设关系模式R(ABC),F是R上成立的函数依赖集,F={B→C,C→A},那么ρ={AB,AC}相对于F,是否是无损分解和保持函数依赖说明理由。
解:
R(ABC),F={B→C,C→A},ρ={AB,AC}
U1={AB},U2={AC}
U1∩U2={A},U1-U2={B},U2-U1={C}
不能得到:
U1∩U2→U1-U2={B}或U1∩U2→U2-U1
故ρ是有损联接
ΠAB(F)={B→A},ΠAC(F)={C→A}
此分解丢失了FDB→C
7.设关系模式R(ABCD),F是R上成立的函数依赖集,F={A→B,B→C,A→D,D→C},
ρ={AB,AC,BD}是R上的一个分解,
\
(1)求F在ρ的每个模式上的投影。
(2)ρ保持F吗
解:
R(ABCD),F={A→B,B→C,A→D,D→C},ρ={AB,AC,BD}
(1)ΠAB(F)={A→B},ΠAC(F)={A→C},ΠBD(F)=ф
(2)分解丢失了FDB→C,A→D,D→C
9.设关系模式R(ABCD),F={AB→CD,A→D}
(1)试说明R不是2NF模式的理由。
(2)试把R分解成2NF模式集。
解:
R(ABCD),F={AB→CD,A→D}
(1)R的候选键是AB
/
由于A→D,存在非主属性对候选键的部分依赖,R不是2NF
(2)R应分解为ρ={AD,ABC}
ρ是2NF模式
10.设关系模式R(ABC),F={C→B,B→A}
(1)试说明R不是3NF模式的理由。
(2)试把R分解成3NF模式集。
解:
R(ABC),F={C→B,B→A}
(1)主键是C,C→B,B→A可知C→A
且A是非主属性,存在传递函数依赖,所以R不是3NF
(2)R应分解为ρ={CB,BA},ρ是3NF模式
)
11.设有一个记录各个球队队员每场比赛进球数的关系模式
R(队员编号,比赛场次,进球数,球队名,队长名)
如果规定每个队员只能属于一个球队,每个球队只有一个队长,要求:
(1)写出关系模式R的基本函数依赖和主键。
(2)试说明R不是2NF模式的理由,并把R分解成2NF模式
(3)R分解成3NF模式,并说明理由。
11.R(队员编号,比赛场次,进球数,球队名,队长名)
队员编号
比赛场次
进球数
¥
球队名
队长名
1001
一
12
火箭队
姚明
1001
二
18
#
火箭队
姚明
1001
三
8
火箭队
姚明
1002
一
8
、
火箭队
姚明
1002
二
15
火箭队
姚明
2001
一
9
(
公牛队
易建联
2001
二
13
公牛队
易建联
2001
三
18
…
公牛队
易建联
2002
一
5
公牛队
易建联
2002
三
9
%
公牛队
易建联
…
…
…
(1)基本的FD:
(队员编号,比赛场次)→进球数
—
队员编号→球队名
球队名→队长名
主键是:
(队员编号,比赛场次)
(2)由于:
队员编号→球队名,即存在非主属性对主键的部分函数依赖,
所以R不是2NF
将R分解为
R1={队员编号,比赛场次,进球数},
R2={队员编号,球队名,队长名},
R1,R2都是2NF模式
(3)R1是3NF模式
%
R2中:
队员编号→球队名,球队名→队长名
有队员编号→队长名,存在传递函数依赖,R2不是3NF
将R2分解为:
R21(队员编号,球队名),R22(球队名,队长名)
则R21,R22均是3NF
ρ={R1,R21,R22}是一个3NF的模式集.
第二种理解:
队员编号
比赛场次
进球数
、
球队名
队长名
1001
3场
38
火箭队
姚明
1002
2场
23
'
火箭队
姚明
2001
3场
40
公牛队
易建联
2002
2场
14
[
公牛队
易建联
…
…
…
第三种理解:
队员编号
比赛场次
{
进球数
球队名
队长名
10
3
38
火箭队
姚明
8
2
#
23
火箭队
姚明
5
2
12
火箭队
姚明
10
3
、
40
公牛队
易建联
8
2
14
公牛队
易建联
…
…
~
…
12.设有关系模式R(职工名,项目名,工资,部门号,部门经理)
如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。
要求:
(1)写出关系模式R的基本函数依赖和主键。
(2)试说明R不是2NF模式的理由,并把R分解成2NF模式
(3)R分解成3NF模式,并说明理由。
…
12.
职工名
项目名
工资
部门号
部门经理
姚明
华林
-
1200
BM1
李光忠
姚明
东方
1800
BM2
刘建明
易建联
大同大学
/
1650
BM3
王守一
大鲨鱼
华林
2000
BM1
李光忠
大鲨鱼
大同大学
:
2300
BM3
王守一
…
…
…
R1(职工名,项目名,工资)
"
R21(项目名,部门号)R22(部门号,部门经理)
王珊教材2
学生(学号,姓名,出生年月,系名,班名,宿舍区)
班级(班名,专业名,系名,人数,入校年份)
系(系名,系号,系办公室地点,人数)
学会(学会名,成立年份,地点人数)
学生-学会(学号,学会名,入会年份)
每个关系的模式的极小函数依赖集:
学生(学号,姓名,出生年月,系名,班名,宿舍区)
极小函数依赖集:
学号→姓名,学号→出生年月,学号→班名,班名→系名,系名→宿舍区
存在传递函数依赖:
学号→系名,班名→宿舍区,学号→宿舍区,
因为:
学号→班名,班名→系名,系名→宿舍区
候选码是:
学号;
外部码是:
系名,班名;
班级(班名,专业名,系名,人数,入校年份)
极小函数依赖集:
班名→专业名,班名→人数,班名→入学年份,专业名→系名,
(专业名,入学年份)→班名
存在传递函数依赖:
班名→系名,班名→宿舍区,学号→宿舍区,
因为:
班名→专业名,专业名→系名
(专业名,入学年份)→班名是完全函数依赖.
候选码是:
班名,(专业名,入学年份);
外部码是:
系名
系(系名,系号,系办公室地点,人数)
极小函数依赖集:
系号→系名,系名→系号,系号→系办公室地点,系号→人数
不存在传递函数依赖
候选码是:
系号,系名;
外部码是:
无;
学会(学会名,成立年份,地点,人数)
极小函数依赖集:
学会名→成立年份,学会名→地点,学会名→人数
不存在传递函数依赖
候选码是:
学会名
21.R(ABCDEG),F={E→D,C→B,CE→G,B→A}
(1)主健是CE,是1NF
(2)ρ={CEG,CB,BA,ED}是3NF
(3)也是BCNF
(4)是无损联接分解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 考试 复习