数据库考题.docx
- 文档编号:10666278
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:15
- 大小:34.85KB
数据库考题.docx
《数据库考题.docx》由会员分享,可在线阅读,更多相关《数据库考题.docx(15页珍藏版)》请在冰点文库上搜索。
数据库考题
第一章
1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:
(l)数据(Data):
描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义是不可分的。
(2)数据库(DataBase,简称DB):
数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
(3)数据库系统(DataBas。
Sytem,简称DBS):
数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
(4)数据库管理系统(DataBaseManagementsytem,简称DBMs):
数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
5.试述数据库系统的特点。
答:
数据库系统的主要特点有:
(l)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。
(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
(4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。
9.定义并解释概念模型中以下术语:
实体,实体型,实体集,属性,码,实体联系图(E一R图)
答:
实体:
客观存在并可以相互区分的事物叫实体。
实体型:
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
实体集:
同型实体的集合称为实体集。
属性:
实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:
惟一标识实体的属性集称为码。
实体联系图(E一R图):
提供了表示实体型、属性和联系的方法:
·实体型:
用矩形表示,矩形框内写明实体名;·属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来;·联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。
请用E一R图画出此学校的概念模型。
答:
13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E一R图画出此工厂产品、零件、材料、仓库的概念模型。
答:
18.试述关系模型的概念,定义并解释以下术语:
(l)关系
(2)属性(3)域(4)元组(5)主码(6)分量(7)关系模式
答:
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(l)关系:
一个关系对应通常说的一张表;
(2)属性:
表中的一列即为一个属性;(3)域:
属性的取值范围;(4)元组:
表中的一行即为一个元组;(5)主码:
表中的某个属性组,它可以惟一确定一个元组;(6)分量:
元组中的一个属性值;(7)关系模式:
对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)
21.定义并解释以下术语:
模式、外模式、内模式、DDL、DML
模式、外模式、内模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部逻辑结构,通常是模式的子集。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
DDL:
数据定义语言,用来定义数据库模式、外模式、内模式的语言。
DML:
数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。
第二章
3定义并理解下列术语,说明它们之间的联系和区别
(1)、域,笛卡尔积,关系,元祖,属性
(2)、主码,候选码,外部码
(3)、关系模式,关系,关系数据库
答:
(1)域是一组具有相同数据类型的值的集合。
笛卡尔积:
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1,D2,…,Dn的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di?
Di,i=1,2,…,n}
笛卡尔积是域上面的一种集合运算。
(2)若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码.
若一个关系有多个候选码,其中任何一个都可以做主码,主码的诸属性就称为主属性.
一个表中如果有一个字段,存储另外一个表的主键,这个字段就是外键,又称外码。
在关系模式A(城市,街道,邮编)中,只有知道了城市和街道或者街道和邮编才能唯一的确定一个地址,在两个元组中,城市名,街道名,邮编号都有可能相同,它们中的任何一个都不能唯一识别这个元组.
(3)见书P47
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))
6.试述等值连接与自然连接的区别和联系。
答:
连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。
第三章
5.针对习题3中的四个表试用SQL语言完成以下各项操作:
(1)找出所有供应商的姓名和所在城市。
SELECTSNAME,CITYFROMS
(2)找出所有零件的名称、颜色、重量。
SELECTPNAME,COLOR,WEIGHTFROMP
(3)找出使用供应商S1所供应零件的工程号码。
SELECT DISTJNOFROMSPJWHERESNO='S1'
(4)找出工程项目J2使用的各种零件的名称及其数量。
SELECTPNAME,QTYFROMSPJ,P
WHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2'
(5)找出上海厂商供应的所有零件号码。
SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'
(6)出使用上海产的零件的工程名称。
SELECTJNAMEFROMSPJ,S,J
WHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO
(7)找出没有使用天津产的零件的工程号码。
注意:
SELECTDISPJNOFROMSPJ WHEREJNONOTIN(SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='天津')适用于JNO是唯一或不唯一的情况.
注意:
SELECTDISTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY<>'天津'适用于JNO是唯一的情况
(8)把全部红色零件的颜色改成蓝色。
UPDATEPSETCOLOR='蓝' WHERECOLOR='红'
(9)由S5供给J4的零件P6改为由S3供应。
UPDATE SPJ SETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6'
(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
A、DELETE FROM S WHERE SNO=’S2’
B、DELETE FROM SPJ WHERE SNO=‘S2’
(11)请将(S2,J6,P4,200)插入供应情况关系。
INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200)
第四章
1.什么是数据库的安全性?
答:
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
6.什么是数据库中的自主存取控制方法和强制存取控制方法?
答:
自主存取控制方法:
定义各个用户对不同数据对象的存取权限。
当用户对数据库访问时首先检查用户的存取权限。
防止不合法用户对数据库的存取。
强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
第五章
6.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。
用sQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。
答
CREATETABLEDEPT
(DeptnoNUMBER
(2),
DeptnameVARCHAR(10),
ManagerVARCHAR(10),
PhoneNumberChar(12)
CONSTRAINTPK_SCRIMARYKEY(Deptno));
CREATETABLEEMP
(EmpnoNUMBER(4),
EnameVARCHAR(10),
AgeNUMBER
(2),
CONSTRAINTC1CHECK(Aage<=60),
JobVARCHAR(9),
SalNUMBER(7,2),
DeptnoNUMBER
(2),
CONSTRAINTFK_DEPTNO
FOREIGNKEY(Deptno)
REFFERENCESDEPT(Deptno));
第六章
1.理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All一key)、1NF、ZNF、3NF、BcNF、多值依赖、4NF。
定义1:
设R(U)是属性集U上的关系模式。
X,Y是属性集U的子集。
若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XàY。
(即只要X上的属性值相等,Y上的值一定相等。
)
术语和记号:
XàY,但Y不是X的子集,则称XàY是非平凡的函数依赖。
若不特别声明,总是讨论非平凡的函数依赖。
XàY,但Y是X的子集,则称XàY是平凡的函数依赖。
若XàY,则X叫做决定因素(Determinant)。
若XàY,YàX,则记作XßàY。
若Y不函数依赖于X,则记作XàY。
定义2:
在R(U)中,如果XàY,并且对于X的任何一个真子集X’,都有X’àY,则称Y对X完全函数依赖
若XàY,但Y不完全函数依赖于X,则称Y对X部分函数依赖
定义3:
若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。
定义4:
若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF。
(即1NF消除了非主属性对码的部分函数依赖则成为2NF)。
定义5:
关系模式R中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的子集)使得XàY,YàX,YàZ成立,则称R∈3NF。
定义6:
关系模式R∈1NF。
若XàY且Y不是X的子集时,X必含有码,则R∈BCNF。
定义7:
关系模式R∈1NF,如果对于R的每个非平凡多值依赖XààY(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。
2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
学生:
学号、姓名、出生年月、系名、班号、宿舍区。
班级:
班号、专业名、系名、人数、入校年份。
系:
系名、系号、系办公地点、人数。
学会:
学会名、成立年份、办公地点、人数。
语义如下:
一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一宿舍区。
每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。
指出各关系模式的候选码、外部码,有没有全码存在?
解:
(1)关系模式如下:
学生:
S(Sno,Sname,Sbirth,Dept,Class,Rno)
班级:
C(Class,Pname,Dept,Cnum,Cyear)
系:
D(Dept,Dno,Office,Dnum)
学会:
M(Mname,Myear,Maddr,Mnum)
(2)每个关系模式的最小函数依赖集如下:
A、学生S(Sno,Sname,Sbirth,Dept,Class,Rno)的最小函数依赖集如下:
SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno
传递依赖如下:
由于SnoàDept,而DeptàSno,DeptàRno(宿舍区)
所以Sno与Rno之间存在着传递函数依赖。
由于ClassàDept,DeptàClass,DeptàRno
所以Class与Rno之间存在着传递函数依赖。
由于SnoàClass,ClassàSno,ClassàDept
所以Sno与Dept之间存在着传递函数依赖。
B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:
ClassàPname,ClassàCnum,ClassàCyear,PnameàDept.
由于ClassàPname,PnameàClass,PnameàDept
所以C1ass与Dept之间存在着传递函数依赖。
C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:
DeptàDno,DnoàDept,DnoàOffice,DnoàDnum
根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。
D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下:
MnameàMyear,MnameàMaddr,MnameàMnum
该模式不存在传递依赖。
(3)各关系模式的候选码、外部码,全码如下:
A、学生S候选码:
Sno;外部码:
Dept、Class;无全码
B、班级C候选码:
Class;外部码:
Dept;无全码
C、系D候选码:
Dept或Dno;无外部码;无全码
D、学会M候选码:
Mname;无外部码;无全码
第10章数据库恢复技术
1.试述事务的概念及事务的4个特性。
恢复技术能保证事务的哪些特性?
答:
(1)事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务具有4个特性:
原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)。
这4个特性也简称为ACID特性。
原子性:
事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:
一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对其他
并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
持续性:
持续性也称永久性
(Perfnanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接
下来的其他操作或故障不应该对其执行结果有任何影响。
(2)事务的ACID特性:
原子性、一致性、隔离性、持续性
5.数据库恢复的基本技术有哪些?
答:
数据转储和登录日志文件是数据库恢复的基本技术。
当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复
到故障前的某个一致性状态。
6.数据库转储的意义是什么?
试比较各种数据转储方法。
答:
数据转储是数据库恢复中采用的基本技术。
所谓转储即DBA定期地将数据库复制到磁带或另一个磁盘上保存起来的过程。
当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。
静态转储:
在系统中无运行事务时进行的转储操作,如上图所示。
静态转储简单,但必须等待正运行的用户事务结束才能进行。
同样,新的事务必须等待转储结束才能执行。
显然,这会降低数据库的可用性。
动态转储:
指转储期间允许对数据库进行存取或修改。
动态转储可克服静态转储的缺点,它不用等待正在运行的用户事务结束,也不会影响新事务的运行。
但是,转储结束时后援副本上的数据并不能保证正确有效。
因为转储期间运行的事务可能修改了某些数据,使得后援副本上的数据不是数据库的一致版本。
为此,必须把转储期间各事务对数据库的修改活动登记下来,建立日志文件(109file)。
这样,后援副本加上日志文件就能得到数据库某一时刻的正确状态。
转储还可以分为海量转储和增量转储两种方式。
海量转储是指每次转储全部数据库。
增量转储则指每次只转储上一次转储后更新过的数据。
从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来更简单些。
但如果数据库很
大,事务处理又十分频繁,则增量转储方式更实用更有效。
7.什么是日志文件?
为什么要设立日志文件?
答:
(1)日志文件是用来记录事务对数据库的更新操作的文件。
(2)设立日志文件的目的是:
进行事务故障恢复;进行系统故障恢复;协助后备副本进行
介质故障恢复。
第11章并发控制
1.在数据库中为什么要并发控制?
并发控制技术能保证事务的哪些特征?
答:
数据库是共享资源,通常有许多个事务同时在运行。
当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。
若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
所以数据库管理系统必须提供并发控制机制。
并发控制技术可保证事务的隔离性和一致性
2.并发操作可能会产生哪几类数据不一致?
用什么方法能避免各种不一致的情况?
答:
并发操作带来的数据不一致性包括三类:
丢失修改、不可重复读和读“脏’夕数据。
(l)丢失修改(lostupdate)两个事务Tl和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)Tl提交的结果,导致Tl的修改被丢失。
(2)不可重复读(Non一RepeatableRead)不可重复读是指事务Tl读取数据后,事务几执行更新操作,使Tl无法再现前一次读取结果。
(3)读“脏”数据(DirtyRead)读“脏’夕数据是指事务Tl修改某一数据,并将其写回磁盘,事务几读取同一数据后,Tl由于某种原因被撤销,这时Tl已修改过的数据恢复原值,几读到的数据就与数据库中的数据不一致,则几读到的数据就为“脏”数据,即不正确的数据。
避免不一致性的方法和技术就是并发控制。
最常用的技术是封锁技术。
也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。
3.什么是封锁?
基本的封锁类型有几种?
试述它们的含义。
答:
封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
基本的封锁类型有两种:
排它锁(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做任何修改。
15.理解并解释下列术语的含义:
封锁、活锁、死锁、排它锁、共享锁、并发事务的调度、可串行化的调度、两段锁协议。
封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
封锁是实现并发控制的一个非常重要的技术。
如果事务Tl封锁了数据R,事务几又请求封锁R,于是几等待。
几也请求封锁R,当Tl释放了R上的封锁之后系统首先批准了几的请求,几仍然等待。
然后几又请求封锁R,当几释放了R上的封锁之后系统又批准了几的请求……几有可能永远等待,这就是活锁的情形。
活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。
如果事务Tl封锁了数据Rl,几封锁了数据凡,然后Tl又请求封锁几,因几已封锁了几,于是Tl等待几释放几上的锁。
接着几又申请封锁Rl,因Tl已封锁了Rl,几也只能等待Tl释放Rl上的锁。
这样就出现了Tl在等待几,而几又在等待T}的局面,T}和几两个事务永远不能结束,形成死锁
排它锁又称为写锁。
若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 考题