数据库复习题.docx
《数据库复习题.docx》由会员分享,可在线阅读,更多相关《数据库复习题.docx(28页珍藏版)》请在冰点文库上搜索。
数据库复习题
判断题:
判断下列模式分别属于哪个范式(最高范式)并说明理由。
1.R({A,B,C},{(A,C)->B,(A,B)->C,B->C})
答:
1NF,由题目可知,关系的候选码为(A,C)和(A,B),B→C表明存在对码的部分依赖,所以这只能是1NF。
2.R({S#,SD,SL,SN},{S#->SD,S#->SN,S#->SL,SD->SL})
答:
2NF,由题目可知,关系的码为S#,模式中存在对码的传递依赖。
判断下题中给出的命题是否正确,若不对,请给出你认为正确的答案。
如一组事务是按一定的顺序执行的,则称这组事务是可串行的。
答:
错误。
根据可串行化的定义,多个事务并发执行时,当且仅当起执行的结果与这一组事务按某一次序串行地执行结果相同,才能称这种调度策略为可串行化。
各种调度的策略会产生不同的结果,但未必与串行的结果相同,所以它们不都是可串行的。
简答题:
1.在数据库中为什么要有并发控制?
答:
数据库是一个共享资源,它允许多个用户同时存取修改同一数据。
若系统对并发操作不加控制,就可能产生错误的结果,如存取和存储不正确的数据,破坏数据库一致性等。
并发控制的目的,就是要以正确的方式调度并发操作,避免造成各种不一致性,使一个事务的执行不受另一个事务的干扰。
2.试述数据库中完整性的概念,类型及你所了解的系统完整性检查方法。
答:
数据库的完整性是指数据的正确性和相容性,为了防止不合语义的数据进入数据库。
系统完整性检查方法有多种,例如,在一句语句执行完后立即检查是否违背完整性约束即立即执行完整性检查。
有时完整性检查延迟到整个事务执行结束后再进行,检查正确方可提交,即延迟执行约束完整性检查,等等。
3.什么是数据模型,试述其组成成分。
答:
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
不同的数据模型是提供给我们模型化的数据和信息的不同工具。
根据模型型应用的不同目的,可以将模型分成两类或两个层次:
一是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模。
另一是数据模型,是按计算机系统的观点对数据建模,用于机器世界。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
数据模型通常有数据结构、数据操作和完整性约束三部分组成。
a.数据结构是所研究的对象类型的集合,是对系统的静态特性的描述。
b.数据操作是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
c.数据的约束条件是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
4.什么是数据库系统的三级模式结构?
这种体系结构的优点是什么?
答:
数据库系统的三级模式结构由外模式、模式和内模式组成。
外模式,亦称子模式或用户模式,是数据库用户看到的数据视图。
模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。
内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。
模式描述的是数据的全局逻辑结构。
外模式涉及的是数据的局部的逻辑结构,通常是模式的子集。
这种体系结构的优点:
数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象的处理数据,而不必关心数据在计算机中的表示和存储。
而为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:
外模式/模式映像和模式/内模式映像,正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。
5.什么是日志文件、简述用日志文件恢复事务的过程。
答:
用日志文件恢复事务(即事务故障的恢复)的过程如下:
(1)反响扫描文件日志(从最后向前扫描日志文件),查找该事务的更新操作。
(2)对该事务的更新操作执行逆操作。
即将日志记录中“更新前的值”写入数据库。
如果日志记录中是插入操作,则做删除操作;若日志记录中是删除操作,则做插入操作;若是修改操作,则用修改前值代替修改后值。
(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。
(4)如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。
求解题:
某医院病房计算机管理中需要如下信息:
科室:
科室名,科地址,科电话,医生姓名
病房:
病房号,床位号,所属科室名
医生:
姓名,职称,所属科室名,年龄,工作证号
病人:
病历号,姓名,性别,诊断,主管医生,病房号
其中,一个科室有多个病房,多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。
完成如下设计:
1)设计该计算机管理系统的E-R图
2)将该E-R图转换为关系模型的结构
3)指出转换结果中每个关系模式的候选码
2.设有关系模型R(C,T,S,N,G),其中C代表课程,T代表教师的职工号,S代表学生号,N代表学生的姓名,G代表分数(成绩)。
其函数依赖集F=(C->T,CS->G,S->N),即每一门课由一名教师讲授,每个学生每门课只有一个成绩,学生的学号决定学生的姓名。
试求:
1)该关系模式的候选码(应根据候选码的定义,并给出所求的过程);
2)将该模式分解成既符合BCNF,又具有无损连接的若干关系模式(要求给出过程);
3)将R分解成R1(C,T,S,G)和R2(C,S,N,G)试说明他们各符合第几范式。
问答题:
图书馆流通数据库中的三个关系,读者关系,图书关系,借书关系,他们所含的属性及码分别为:
READER(CARDNO,SNAME,DEPT),KEY=CARDNO
BOOKS(BCALLNO,TITLE,AUTHOR,BOOKNO,PUBHOU,PRICE),KEY=BCALLNO
LOANS(CARDNO,BCALLNO,DATE),KEY=(CARDNO,BCALLNO,)
其中:
CARDNO——借书证号
SNAME——姓名
DEPT——单位
BOOKNO——图书登记号(一本书对应一个图书馆登记号,例如《数据库系统概论》有一个图书登记号RDDB1801)
DATE——借书日期
BCALLNO——索书号(借出一本书有一个索书号,例如图书馆中有60本数据库系统概论书,有60个索书号,例如从RDDB1801001到RDDB1801060)
TITLE——书名
AUTHOR——作者
PUBHOU——出版单位
PRICE——价格
要求用关系代数和SQL分别表示如下查询:
1.查询借阅“数据库”的读者姓名;
2.找出2014.1.1前被借出的书的书名和作者;
3.作者“王平”所著“操作系统”书共借出几本?
(仅用SQL)
2.
选择题
1.五种基本关系代数运算是(A)
A.
-,X,
和σ
B.
-,
和σ
C.
X,
和σ
D.
和σ
2.下列聚集函数中不忽略空值(null)的是(C)
A.SUM(列名)
B.MAX(列名)
C.COUNT(*)
D.AVG(列名)
3.设关系模式R(A,B,C),F是R上成立的FD集,F={B->C},则分解
={AB,BC}(A)
A.是无损联接,也是保持FD的分解
B.是无损联接,但不是保持FD的分解
C.不是无损联接,但保持FD的分解
D.既不是无损联接,也不保持FD的分解
4.在数据库设计中,将ER图转换成关系数据库模型的过程属于(C)
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段
5.DBNS中实现事务持久性的子系统是(D)
A.安全性管理子系统
B.完整性管理子系统
C.并发控制子系统
D.恢复管理子系统
6.当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是(D)
A.左外连接
B.右外连接
C.外部并
D.外连接
名词解释
1.关系模型中的实体完整性、参照完整性
2.二段锁协议,可串行化调度
简答题:
1.什么是数据模型及其要素?
2.文件系统的特点及其主要缺点是什么?
3.什么是数据库恢复?
简述数据库恢复的基本技术。
求解题:
在供应商、零件数据库中有以下三个关系模式:
供应商:
S(SNO,SNAME,CITY,STATUS)
零件:
P(PNO,PNAME,WEIGHT,COLOR,CITY)
供应货:
SP(SNO,PNO,QTY)
各属性的含义可由属性名体现了,不再重复,供应货关系SP表示某供应商SNO,供应了PNO零件,数量为QTY.
用SQL语言完成以下操作:
1.求供应红色零件的供应商名字。
2.求北京供应商的号码,名字和状况(STATUS)
3.求零件P2的总供应量。
4.把零件P2的重量增加5,颜色改为黄色。
问答题:
已知关系模式R,U={A,B,C,D,E,G}F={AC->B,CB->D,A->BE,E->GC}
求:
AB,BC,AC是否为关系R的候选码?
证明题:
试证有关系模式中全部属性组成的集合为候选码的关系是3NF,也是BCNF。
综合题:
现有如下关系模式:
其中,Teacher(Tno,Tname,Tel,Dpartment,Bno,Bname,BorrowDate,RDate,Backup).
Tno--教师编号,
Tname--教师姓名,
Tel--电话,
Department--所在部门,
Bno--借阅图书编号,
Bname--书名,
BorrowDate--借书日期,
RDate--还书日期,
Backup--备注
该关系模式的属性之间具有通常的语义,例如教室编号函数决定教师姓名,即教室编号是唯一的;图书编号是唯一的等等。
请回答:
1.教师编号是候选码吗?
2.说明上一题判断的理由是什么。
3.写出该关系模式的主码。
4.该关系模式中是否存在部分函数依赖?
如果存在,请写出其中两个。
5.说明要将一个INF的关系模式转化为若干个2NF关系,需要如何做?
6.该关系模式最高满足第几范式?
并说明理由。
7.将该关系模式分解为3NF
综合题
假设某商业集团数据库中有一个关系模式R如下:
R(商店编号,商品编号,商品库存数量,部门编号,负责人)
如果规定:
(1)每个商店的每种商品只在该商店的一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量。
试回答下列问题:
(1)根据上述规定,写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经到达第几范式?
为什么?
(4)如果R不属于3NF,请将R分解成3NF模式集。
简答题:
1.简述DBMS的主要功能。
2.对如下关系R,指出是否存在多值依赖C->->HR?
为什么?
CTHRSG
C1T1H1R1S1G1
C1T1H2R2S1G1
C1T1H1R1S2G2
求解题:
有一个学校教学数据库,包括学生、课程、教师、学生成绩4个关系。
学生关系S(SNO,SN,AGE,SEX),有属性:
学号、姓名、年龄、性别;
课程关系C(CNO,CN,PCNO),包括属性课程号、课程名、先修课课程号;
教师关系T(ENO,EN,DEPT),包括属性学生号、课程号、任课教师职工号和学生学习成绩。
请分别用关系代数与关系演算完成下列操作:
1.求选修了所有课程并且成绩全为A的学生名。
2.求选修了王平老师讲授的所有课程的学生名。
3.求不选修信息系老师开设的所有课程的学生名。
求解题:
某学校有若干系,每个系有若干学生,若干课程,每个学生选修若干课程,每门课有若干学生选修,某一门课可以为不同的系开设,今要建立该校学生选修课程的数据库。
请你设计:
1.关于此学校数据库的E-R图。
2.并把该E-R图转换为关系模型。
证明题:
试证明:
在关系模型中,若R
BCNF,则R
3NF
求解题:
供应商一零件一工程项目数据库由以下四个关系模式构成:
S(SNO,SNAME,STATUS,CITY)
P(PNO,PNAME,COLOR,WEIGHT,CITY)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
供应商S,零件P和工程项目J分别由供应商号(SNO),零件号(PNO)和工程项目号(JNO)唯一标识。
供货SPJ是指由某个供应商向某个工程项目供应某些数量的某种零件。
请用SQL语言完成如下的操作:
1.找出给北京的工程项目提供不同的零件号。
2.将没有供货的所有工程项目从J中删除。
3.查询提供全部零件的供应商名。
4.查询这样的工程项目号:
供给该工程项目的零件P1的平均供应量大于供给工程项目J1的任何一种零件的最大供应量。
5.定义一个视图,它由所有这样的工程项目(工程项目号与所在城市名称)组成:
她们由供应商S1供货且使用零件P1。
求解题:
设有如下两事务:
T1:
读B;A=B+1;写回A
T2:
读A;B=A+1写回B
1.若这两个事务并发执行,举例可能的结果。
并发事务执行是否正确的标准是什么?
2.请给出一个可串行化的调度,并给出执行结果。
问答题:
在关系数据库中为提高查询效率,在物理实现时,对存储结构有哪些考虑?
选择题:
1.数据库与文件系统的根本区别在于(C)
a)提高了系统效率
b)方便了用户使用
c)数据的结构化
d)节省了存储空间
2.现有关系模式:
EMP(empno,ename,mgr,sal,workday)
DEPT(deptno,dname,loc)
在以下视图中,不可能更新的视图为(BD)
a)视图V1,由2014年以后参加工作的雇员组成
b)视图V2,由部门号和各部门的平均工资组成
c)视图V3,由雇员姓名和其领导者姓名组成
d)视图V4,由薪金超出所有雇员平均薪金以上的雇员组成。
3.对由SELECT-FROM-WHERE-GROUP-ORDER组成的SQL语句,其在被DBMS处理时,个句子的执行次序为(C)
a)SELECT-FROM-GROUP-WHERE-ORDER
b)FROM-SELECT-WHERE-GROUP-ORDER
c)FROM-WHERE-GROUP-SELECT-ORDER
d)SELECT-FROM-WHERE-GROUP-ORDER
简述题
1.试给出BCNF的定义,并说明满足BCNF的关系有哪些特性
2.在建立一个数据库应用系统时,为什么要首先调试运行DBMS的恢复功能?
简述一下你所了解的数据库系统的恢复方法。
3.试述关系数据库系统中视图(VIEW)的定义,引进VIEW的概念有什么优点。
4.试述数据模型中完整性约束条件的概念,并给出关系模型中完整性约束。
求解题:
设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:
(1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序;
(2)从试图V-SSC上查询平均成绩在90分以上的SN、CN和G。
求解题
今有如下关系数据库:
S(SNO,SN,STATUS,CITY)
P(PNO,PN,COLOR,WEIGHT)
J(JNO,JN,CITY)
SPJ(SNO,PNO,JNO,QTY)
其中,S为供应单位,P为零件,J为工程项目,SPJ为工程订购零件的订单,其语义为:
某供应单位供应某种零件给某个工程,请用SQL完成以下操作。
(1)求为工程J1提供红色零件的供应商代号。
(2)求使用S1供应的零件的工程名称。
(3)求供应商与工程所在城市相同的供应商提供的零件代号。
(4)求至少有一个和工程不在同一城市供应商提供零件的工程代号。
问答题:
假设存款余额x=1000元,甲事务取走存款300元,乙事务取走存款200元,其执行时间如下:
甲事务时间乙事务
读xt1
t2读x
更新x=x-300t3
t4更新x=x-200
如何实现这两个事务的并发控制?