数据库考试文档格式.docx
- 文档编号:20084196
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:14
- 大小:61.92KB
数据库考试文档格式.docx
《数据库考试文档格式.docx》由会员分享,可在线阅读,更多相关《数据库考试文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一数据。
共享的好处:
降低数据的冗余度,节省存储空间,避免数据间的不一致性,使系统易于扩充。
数据库的完整性是指数据的正确性、有效性和相容性。
6.数据模型的组成要素;
实体-联系模型(E-R模型)及其相关概念;
三种实体集之间的联系类型;
三种数据模型(层次模型,网状模型,关系模型)的概念;
关系模型的三种完整性约束.
答:
数据模型的组成要素:
数据结构、数据操作、完整性约束;
实体联系图:
E-R图提供了表示实体型、属性和联系的方法:
属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
联系本身:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1、1:
n或m:
n);
用层次模型间接表示多对多联系,表示方法:
将多对多联系分解成一对多联系;
网状模型:
允许一个以上的结点无双亲;
一个结点可以有多于一个的双亲。
关系模型的基本数据结构:
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
实体完整性、参照完整性、用户定义的完整性。
7.用E-R模型描述现实世界的方法。
8.数据库系统三级模式结构对数据独立性的意义,逻辑独立性、物理独立性
外模式/模式映象的用途:
保证数据的逻辑独立性。
1当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变。
2应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映象的用途:
保证数据的物理独立性。
1当数据库的存储结构改变了,数据库管理员修改模式/内模式映象,使模式保持不变,2应用程序不受影响。
保证了数据与程序的物理独立性,简称数据的物理独立性。
9.关系的性质;
候选码,主码,外码的概念;
实体完整性,参照完整性,用户定义的完整性;
实体以及实体间的联系的表示。
关系:
在域D1,D2,…,Dn上笛卡尔积D1×
D2×
…×
Dn的子集称为关系,表示为R(D1,D2,…,Dn)。
若关系中的某一最小属性组的值能唯一地标识一个元组,则称该属性组为候选键;
若一个关系有多个候选键,则选定其中一个为主键;
设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外部码(Foreignkey),简称外码。
实体完整性规则:
若属性A是基本关系R的主属性,则属性A不能取空值。
参照完整性规则就是定义外码与主码之间的引用规则:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。
用户定义的完整性是针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
外码:
关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码也称
10、在参照完整性中,为什么外部码属性的值也可以为空?
什么情况下才可以为空?
关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:
实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
11、关系代数的基本运算都有哪几类,除法的特点?
用关系代数表示查询要求。
并、差、交、笛卡尔积;
选择、投影、连接、除;
除操作是同时从行和列角度进行运算。
选择运算符的含义:
在关系R中选择满足给定条件的诸元组σF(R)={t|tR∧F(t)='
真'
},F:
选择条件,是一个逻辑表达式,基本形式为:
X1θY1,选择运算是从关系R中选取使逻辑表达式F为真的元组,是从行的角度进行的运算。
投影运算符的含义:
从R中选择出若干属性列组成新的关系πA(R)={t[A]|tR},A:
R中的属性列,投影操作主要是从列的角度进行运算,但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)。
连接运算的含义:
从两个关系的笛卡尔积中选取属性间满足一定条件的元组RS={|trR∧tsS∧tr[A]θts[B]}#A和B:
分别为R和S上度数相等且可比的属性组#θ:
比较运算符,一般的连接操作是从行的角度进运算,自然连接还需要取消重列,所以是同时从行和列的角度进行运算.
12.:
用SQL语句定义基本表,修改基本表的定义,撤消基本表;
用SQL语句定义和撤消索引.
定义一个学生-课程模式S-T:
CREATESCHEMA“S-T”AUTHORIZATIONWANG;
为用户WANG定义了一个模式S-T。
DROPSCHEMAZHANGCASCADE;
删除模式ZHANG.
定义基本表:
建立“学生”表Student,学号是主码,姓名取值唯一。
CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR
(2),SageSMALLINT,SdeptCHAR(20));
修改基本表:
ALTERTABLE<
表名>
[ADD<
新列名>
<
数据类型>
[完整性约束]]
[DROP<
完整性约束名>
][ALTERCOLUMN<
列名>
];
将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。
ALTERTABLEStudentALTERCOLUMNSageINT;
创建索引:
CREATE[UNIQUE][CLUSTER]INDEX<
索引名>
ON<
(<
[<
次序>
]…)。
删除索引:
DROPINDEX<
.
13、SELECT语句的格式和用法;
等值连接和自然连接的区别
SELECT[ALL|DISTINCT]<
目标列表达式>
[别名][,<
[别名]]…FROM<
表名或视图名>
[别名]]…
[WHERE<
条件表达式>
][GROUPBY<
列名1>
[HAVING<
]]
[ORDERBY<
列名2>
[ASC|DESC]
等值连接是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。
即等值连接为:
RA=BS={trts|tr∈R∧ts∈S∧tr[A]=ts[B]} 自然连接(Naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。
即若R和S具有相同的属性组B,则自然连接可记作:
RS={trts|tr∈R∧ts∈S∧tr[B]=ts[B]}
14、简单查询;
带条件查询;
分组统计查询;
对查询结排序;
多关连接查询;
相关子查询.以及一些连接词的用法
15、视图的概念,视图与基本表的异同;
采用视图概念的优点.
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
。
1.视图能够简化用户的操作2.视图使用户能以多种角度看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机密数据提供安全保护5.适当的利用视图可以更清晰的表达查询。
16、用SQL语句定义和撤消视图;
针对视图的查询.
定义视图:
CREATEVIEW<
视图名>
[(<
[,<
]…)]AS<
子查询>
[WITHCHECKOPTION];
删除视图:
DROPVIEW<
;
视图消解转换后的查询语句为:
SELECTSno,SageFROMStudentWHERESdept='
IS'
ANDSage<
20;
。
17、属性之间的联系类型;
候选码,主码,主属性,非主属性,单码,全码等概念;
函数依赖和码的唯一性。
数据依赖:
一个关系内部属性与属性之间的约束关系,现实世界属性间相互联系的抽象,数据内在的性质,语义的体现。
数据依赖的类型:
函数依赖,多值依赖。
设K为关系模式R<
U,F>
中的属性或属性组合.若KU,则K称为R的一个候选码;
若关系模式R有多个候选码,则选定其中的一个做为主码;
主属性:
在主码中出现的属性;
非主属性/非码属性:
不在任何候选码中出现的属性;
全码:
所有属性构成码。
18、第一范式,第二范式,第三范式,BCNF的定义。
1NF的定义:
如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。
2NF的定义:
若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。
3NF的定义:
关系模式R<
U,F>
中若不存在这样的码X、属性组Y及非主属性Z(ZY),使得X→Y,Y→Z成立,Y→X,则称R<
∈3NF。
定义:
∈1NF,若X→Y且YX时X必含有码,则R<
∈BCNF。
19、判定关系模式的规范化程度的方法,能够应用规范化的理论规范关系模式到第三范式.
关系模式规范化的基本步骤:
消除决定属性集非码的非平凡函数依赖,1NF—2NF(消除非主属性对码的部分函数依赖),2NF—3NF(消除非主属性对码的传递函数依赖),3NF—BCNF(消除主属性对码的部分和传递函数依赖),BCNF—4NF(消除非平凡且非函数依赖的多值依赖).
20、数据字典的定义和包含内容。
数据字典的用途:
数据字典是各类数据描述的集合,数据字典是进行详细的数据收集和数据分析所获得的主要结果,数据字典在数据库设计中占有很重要的地位。
数据字典的内容:
数据项,数据结构,数据流,数据存储,处理过程。
21.试述数据库设计过程。
1)需求分析:
准确了解与分析用户需求(包括数据与处理)。
2)概念结构设计:
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。
3)逻辑结构设计:
将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
4)数据库物理设计:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
5)数据库实施:
设计人员运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
6)数据库运行和维护:
在数据库系统运行过程中对其进行评价、调整与修改。
22、从E-R模型转换为关系模型的方法.一对多、多对多的转换方法。
一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5)具有相同码的关系模式可合并。
23、数据库恢复技术概念
事务是数据库的逻辑工作单位。
事务是恢复和并发控制的基本单位。
事务和程序是两个概念:
1在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序,2一个应用程序通常包含多个事务。
定义事务的两种方式:
显式,隐式方式。
DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性
DBMS必须对事务故障、系统故障和介质故障进行恢复。
恢复中最经常使用的技术:
数据库转储和登记日志文件恢复的基本原理:
利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库.事务故障的恢复:
事务撤消(UNDO;
系统故障的恢复:
1清除尚未完成的事务对数据库的所有修改;
2将缓冲区中已完成事务提交的结果写入数据库;
介质故障的恢复:
装入数据库发生介质故障前某个时刻的数据副本;
重做自此时始的所有成功事务,将这些事务已提交的结果重新记入数据库。
数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
24、什么是日志文件?
为什么要设立日志文件?
(1)日志文件是用来记录事务对数据库的更新操作的文件。
(2)设立日志文件的目的是:
进行事务故障恢复;
进行系统故障恢复;
协助后备副本进行介质故障恢复。
25、三级封锁协议;
死锁的预防和解除。
三级封锁协议:
1级封锁协议,2级封锁协议,3级封锁协议
1级封锁协议可防止丢失修改,并保证事务T是可恢复的,它不能保证可重复读和不读“脏”数据;
2级封锁协议可以防止丢失修改和读“脏”数据,它不能保证可重复读;
3级封锁协议可防止丢失修改、读脏数据和不可重复读。
预防死锁的方法:
:
一次封锁法,顺序封锁法。
解除死锁的基本方法:
1选择一个或多个处于死锁状态的事务,将其撤消,2释放它们持有的锁,使其它事务能继续运行下去。
注意:
被撤消的事务对数据的修改必须加以恢复.死锁的诊断与解除:
超时法,等待图法。
并发操作带来的数据不一致性包括三类:
丢失修改、不可重复读和读“脏”数据。
26.什么是封锁?
答:
封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
27、基本的封锁类型有几种?
试述它们的含义。
基本的封锁类型有两种:
排它锁(ExclusiveLocks,简称X锁)和共享锁(ShareLocks,简称S锁)。
排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。
这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
共享锁又称为读锁。
若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。
这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。
28、不同封锁协议与系统一致性级别的关系是什么?
不同的封锁协议对应不同的一致性级别。
一级封锁协议可防止丢失修改,并保证事务T是可恢复的。
在一级封锁协议中,对读数据是不加S锁的,所以它不能保证可重复读和不读“脏”数据。
二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。
在二级封锁协议中,由于读完数据后立即释放S锁,所以它不能保证可重复读。
在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。
所以三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
29、试述活锁的产生原因和解决方法。
活锁产生的原因:
当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。
避免活锁的简单方法是采用先来先服务的策略。
当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。
30、请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。
DBMS并发控制子系统检测到死锁后,就要设法解除。
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。
当然,对撤销的事务所执行的数据修改操作必须加以恢复。
31.试述两段锁协议的概念。
两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。
·
在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁;
在释放一个封锁之后,事务不再申请和获得任何其他封锁。
32、数据库运行中可能产生的故障有哪几类?
哪故障影响事务的正常执行
(1)?
哪故障破坏数据库数据
(2)?
数据库系统中可能发生各种各样的故障,大致可以分以下几类:
(1)事务内部的故障1;
(2)系统故障;
1(3)介质故障;
2(4)计算机病毒。
2
1.查询全体学生的学号与姓名。
SELECTSno,SnameFROMStudent;
2.查询全体学生的姓名、学号、所在系。
SELECTSname,Sno,SdeptFROMStudent;
3.查全体学生的姓名及其出生年份。
SELECTSname,2004-Sage/*假定当年的年份为2004年*/FROMStudent;
4.查询选修了课程的学生学号。
SELECTSnoFROMSC;
等价于:
SELECTALLSnoFROMSC;
SELECTDISTINCTSnoFROMSC;
5.查询计算科学系全体学生名单。
SELECTSnameFROMStudentWHERESdept=‘CS’;
6.查询所有年龄在20岁以下的学生姓名及其年龄。
SELECTSname,Sage
FROMStudentWHERESage<
20;
7.查询考试成绩有不及格的学生的学号。
SELECTDISTINCTSno
FROMSCWHEREGrade<
60;
8.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。
SELECTSname,Sdept,SageFROMStudentWHERESageBETWEEN20AND23;
9.查询年龄不在20~23岁之间的学生姓名、系别和年龄SELECTSname,Sdept,Sage
FROMStudentWHERESageNOTBETWEEN20AND23;
10.查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。
SELECTSname,SsexFROMStudentWHERESdeptIN('
,'
MA'
CS'
);
11.查询所有姓刘学生的姓名、学号和性别。
SELECTSname,Sno,SsexFROMStudent
WHERESnameLIKE‘刘%’;
12.查询姓"
欧阳"
且全名为三个汉字的学生的姓名。
SELECTSnameFROMStudent
WHERESnameLIKE'
欧阳__'
13.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
SELECTSno,CnoFROMSCWHEREGradeISNULL
14.查所有有成绩学生学号和课号SELECTSno,CnoFROMSCWHEREGradeISNOTNULL;
15.查询计算机系年龄在20岁以下的学生姓名。
WHERESdept='
16.查询选修了3号课程的学生学号及其成绩,查询结果按分数降序排列。
SELECTSno,Grade
FROMSCWHERECno='
3'
ORDERBYGradeDESC;
17.查询学生总人数。
SELECTCOUNT(*)FROMStudent;
18.查询选修了课程的学生人数。
SELECTCOUNT(DISTINCTSno)FROMSC;
19.计算1号课程的学生平均成绩。
SELECTAVG(Grade)FROMSCWHERECno='
1'
20.查询选修1号课程的学生最高分数SELECTMAX(Grade)FROMSCWHERCno=‘1’;
21.查询学生200215012选修课程的总学分数。
SELECTSUM(Ccredit)FROMSC,Course
WHERSno='
200215012'
ANDSC.Cno=Course.Cno;
22.求各个课程号及相应选课人数。
SELECTCno,COUNT(Sno)FROMSCGROUPBYCno;
23.查询选修了3门以上课程的学生学号。
SELECTSnoFROMSCGROUPBYSno
HAVINGCOUNT(*)>
3;
24.查询每个学生的学号、姓名、选修的课
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 考试