数据库原理及应用试题库.docx
《数据库原理及应用试题库.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用试题库.docx(21页珍藏版)》请在冰豆网上搜索。
数据库原理及应用试题库
一.选择题
1.(B)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
A.数据库系统B.数据库C.关系数据库D.数据库管理系统
2.
(1)在数据库的三级模式中,内模式有(A)。
A.1个B.2个C.3个D.任意多个
2.
(2)在数据库的三级模式中,外模式有(D)。
A.1个B.2个C.3个D.任意多个
2.(3)在数据库的三级模式中,模式有(A)。
A.1个B.2个C.3个D.任意多个
2.(4)在数据库的三级模式体系结构中,内模式、模式和外模式个数的比例是(B)。
A.1:
1:
1B.1:
1:
NC.1:
M:
ND.M:
N:
P
3.数据模型的三个要素分别是(B)。
A.实体完整性、参照完整性、用户自定义完整性
B.数据结构、关系操作、完整性约束
C.数据增加、数据修改、数据查询
D.外模式、模式、内模式
4.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A.DBS包括DB和DBMSB.DBMS包括DB和DBS
C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS
5.在关系模式R中,Y函数依赖于X的语义是:
(B)。
A.在R的某一关系中,若两个元组的X值相等,则Y值也相等。
B.在R的每一关系中,若两个元组的X值相等,则Y值也相等。
C.在R的某一关系中,Y值应与X值相等。
D.在R的每一关系中,Y值应与X值相等。
6.若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,而对于实体集B中的每一个实体,实体集A中只有1个实体与之联系,则实体集A和实体集B之间的联系类型为(B)。
A.1:
1B.1:
NC.M:
ND.N:
1
6.
(2)若对于实体集A中的每一个实体,实体集B中有1个实体(n≥0)与之联系,而对于实体集B中的每一个实体,实体集A中只有1个实体与之联系,则实体集A和实体集B之间的联系类型为(A)。
A.1:
1B.1:
NC.M:
ND.N:
1
7.下列不属于数据安全性控制方法的是(D)。
A.用户标识和鉴定B.用户存取权限控制C.数据加密D.网络流量控制
8.若关系R为M列P行,关系S为N列Q行,则(B)的结果为M+N列P×Q行。
A.R-SB.R×SC.R÷SD.R S
9.数据模型应满足(D)的要求。
A.真实模拟现实世界B.容易为人们所理解C.便于在计算机上实现D.以上都是
10.在可信计算机系统评测标准中,达到初步安全产品要求的是()级。
A.C1B.C2C.B1D.B2
11.下面的选项不是关系数据库基本特征的是(A)。
A.不同的列应有不同的数据类型B.不同的列应有不同的列名
C.与行的次序无关D.与列的次序无关
12.实现数据库安全性控制的常用方法和技术有(A)
A.用户标识与鉴别、存取控制、视图机制、审计、数据加密
B.存取控制、视图机制、审计、数据加密、防火墙
C.用户标识与鉴别、存取控制、视图机制、审计、防火墙
D.存取控制、视图机制、审计、数据加密、数据转储
13.数据的(B)是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。
数据的()是保护数据库防止恶意的破坏和非法的存取。
A.安全性、完整性B.完整性、安全性
C.保密性、安全性D.安全性、保密性
14.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C)。
A.完整性B.可靠性
C.安全性D.一致性
15.关系模型中,一个码是(C)。
A.可以由多个任意属性组成B.至多由一个属性组成
C.由一个或多个属性组成,其值能够惟一标识关系中一个元组D.以上都不是
16.当关系S自然联接时,能够把S原该舍弃的元组放到结果关系中的操作是(D)
A.左外联接B.右外联接C.外部并D.外联接
17.下列不属于需求分析阶段工作的是:
(A)。
A.建立E-R图B.分析用户活动C.建立数据字典D.建立数据流图
18.数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序
B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
19.若关系R为M列P行,关系S为N列Q行,则R×S的结果为(B)列()行。
A.M+N、P+QB.M+N、P×QC.M×N、P+QD.M×N、P×Q
20.在SQL语言的Select语句中实现选择运算的子句是(A)。
A.SelectB.FromC.WhereD.Groupby
21.数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序
B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
22.如果事务T对数据D已加S锁,则其他事务对数据D(A)
A.可以加S锁,不能加X锁B.可以加S锁,也可以加X锁
C.不能加S锁,可以加X锁D.不能加任何锁
23.当关系S自然联接时,能够把S原该舍弃的元组放到结果关系中的操作是(D)
A.左外连接B.右外连接C.外部并D.外连接
二.填空题
1.数据模型通常分为层次模型、(网状模型)、(关系模型)、面向对象模型和对象关系模型等。
2.关系模型中有三类完整性约束:
(实体完整性)、(参照完整性)和用户定义的完整性。
3.关系数据库中,二维表中的列称为关系的(属性或字段),二维表中的行称为关系的(元组或记录)。
4.DBMS的主要功能有:
(数据定义功能)、数据组织存储和管理功能、(数据操作功能)、数据库的事务管理和运行功能、数据库的建立和维护功能。
5.关系代数运算中,专门的关系运算有(选择),(投影)和连接。
6.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,学生关系的主码是(学号),学生关系的外码是(系编号)。
7.关系的实体完整性规则定义了(主键字段)不能取空值。
8.关系的参照完整性规则定义了 和 之间的引用规则。
9.事务的ACID特性包括:
(原子性)、一致性、(独立性)和持续性。
10.事务并发控制机制中,避免活锁产生的方法是采用(先来先服务)的策略;
11.第二范式是在第一范式的基础上消除了(部分函数依赖)。
13.(事务)是并发控制的基本单位。
14.在数据库的两层映像中,(模式/内模式映像)保证了物理独立性。
14.在数据库的两层映像中,(外模式/模式映像)保证了逻辑独立性。
15.事务并发控制机制中,预防死锁的方法是(一次封锁法)和(顺序封锁法);
16.第三范式是在第二范式的基础上消除了(传递函数依赖)。
17.数据库系统的三级模式结构是指数据库系统由(外模式)、(模式)和(内模式)三级构成。
18.建立冗余数据最常用的技术是数据转储和(备份日志文件)。
19.数据库设计分为如下几个阶段:
(需求分析)、(结构设计)、(行为设计)、(数据库实施)、(数据库运行和维护)。
20.数据库结构设计包括(概念结构设计)、(逻辑结构设计)、(物理结构设计)。
21.基本的锁类型有两种:
(排他锁或X锁或写锁)、(共享锁或S锁或读锁)
22.并发操作带来的数据不一致性情况大致可以分为四种:
(丢失数据修改)、(读“脏数据”)、(不可重复读)和产生幽灵数据。
三、简答题
1.设有关系模式:
学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。
设一名学生可以选修多门课程号,一门课程号可以被多名学生选修;一名学生有唯一的所在系,每门课程号有唯一的课程名和学分。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)学号(姓名,所在系,性别)F
课程号(课程名,学分)F
(学号,课程号)成绩F
(学号,课程号)(姓名,所在系,性别,课程号,学分)P
(2)候选码:
学号,课程号
(3)存在部分函数依赖,R达到第一范式
(4)Student(学号,姓名,所在系,性别)
SC(学号,课程号,成绩)
Course(课程号,课程名,学分)
2.设有关系模式:
学生表(学号,姓名,所在系,班号,班主任,系主任)。
其语义为:
一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)学号(姓名,所在系,班号,班主任,系主任)F
班号(班主任,系主任)F
班主任系主任F
所在系系主任F
(2)候选码:
学号
(3)存在传递依赖,不存在部分函数依赖,R达到第二范式
(4)Student(学号,姓名,所在系,班号)
Class(班号,班主任)
Dept(所在系,系主任)
3.设有关系模式:
授课表(课程号,课程名,学分,授课教师号,教师名,授课时数)。
其语义为:
一门课程号有确定的课程名和学分,每名教师有确定的教师名,每门课程号可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程号有确定的授课时数。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)课程号(课程名,学分)F
授课教师号教师名F
(授课教师号,课程号)授课时数F
(授课教师号,课程号)(课程名,学分,教师名)P
(2)候选码:
授课教师号,课程号
(3)存在部分函数依赖,R达到第一范式
(4)Course(课程号,课程名,学分)
Teacher(授课教师号,教师名)
CT(课程号,授课教师号,授课时数)
4.(20分)设某图书集团有一关系模式R如下:
R(书店编号,书籍编号,库存数量,部门编号,负责人)如果规定:
(1)每个书店的每种书籍只在该书店的一个部门销售;
(2)每个书店的每个部门只有一个负责人;
(3)每个书店的每种书籍只有一个库存数量。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)有三个函数依赖:
(书店编号,书籍编号)部门编号(2分)
(书店编号,部门编号)负责人(2分)
(书店编号,书籍编号)库存数量(2分)
部门编号负责人
书籍编号库存数量
(2)R的候选码:
(书店编号,书籍编号)(3分)
(3)R属于2NF。
(2分)
因为R中存在着非主属性“负责人”对候选码(书店编号,书籍编号)的传递函数依赖,所以R属于2NF。
(3分)
(4)分解成:
R1(书店编号,书籍编号,库存数量,部门编号)(3分)
R2(书店编号,部门编号,负责人)(3分)
四、综合题
1.设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:
供应商表S(供应商代码SNO,供应商姓名SNAME,供应商状态STATUS,供应商所在城市CITY);
零件表P(零件代码PNO,零件名PNAME,颜色COLOR,重量WEIGHT);
工程项目表J(项目代码JNO,项目名JNAME,项目所在城市CITY);
供应情况表SPJ(供应商代码SNO,零件代码PNO,项目代码JNO,供应数量QTY);
用SQL语言完成如下查询:
(1)找出所有供应商的姓名和所在城市;
(2)求供应工程J1零件P1的供应商号码SNO;
(3)求供应工程J1零件为红色的供应商号码SNO;
(4)找出所有零件的名称、颜色、重量;
(5)找出上海厂商供应的所有零件号码;
(6)找出工程项目J2使用的各种零件的名称及其数量;
(7)找出所有供应商的姓名和所在城市;
(8)找出所有零件的名称、颜色、重量;
(9)找出使用供应商S1所供应零件的工程号码;
(10)找出工程项目J2使用的各种零件的名称及其数量。
(1)selectSNAME,CITYfromS(2分)
(2)selectSNOfromSPJwhereJNO=’J1’andPNO=’P1’(3分)
(3)selectSNOfromSPJwhereSPJ.PNO=P.PNOandJNO=’J1’andCOLOR=’red’(3分)
(4)selectPNAME,COLOR,WEIGHTfromP;(3分)
(5)selectS.SNOfromS,P,SPJwhereS.SNO=SPJ.SNOandSPJ.PNO=P.PNOandCITY=’上海’;(3分)
(6)selectPNAME,WEIGHTfromP,SPJwhereP.PNO=SPJ.PNOandJNO=’J2’;(3分)
(7)Selectsname,city1fromS;(2分)
(8)SelectPname,color,weightfromP;(2分)
(9)SelectJnofromSPJwheresno=’s1’;(3分)
(10)SelectP.pname,SPJ.qtyfromSPJ,PwhereSPJ.pno=P.pnoandSPJ.Jno=’J2’;(3分)
2.设某商业集团数据库中有三个实体集:
商店:
商店编号、商店名、地址
商品:
商品编号、商品名、规格、单价
职工:
职工编号、姓名、性别、业绩
每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品时有月销售量;每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出E-R图,要求在图上注明属性及联系的类型;
(2)将E-R图转换成关系模型,并注明主码;
(3)根据实际情况,使用SQL创建表,包括各种约束;
(4)用SQL语句查找大于平均业绩的职工姓名;
(5)用SQL语句创建一个业绩大于100的所有男职工信息的视图。
(1)(5分)
(2)这个E-R图可转换为4个关系模式:
(8分)
商店(商店编号,商店名,地址)(2分)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(2分)
商品(商品编号,商品名,规格,单价)(2分)
销售(商店编号,商品编号,月销售量)(2分)
(3)createshop(Sidchar(3)primarykey,Snamechar(10),Saddchar(50));(2分)
createemployee(Eidchar(3)primarykey,Enamechar(5),Esexchar
(1),Eachreal,Sidchar(3),
Eredate,Esaint,foreignkey(Sid)references(shop));(2分)
createcommodity(Cidchar(3)primarykey,Cnamechar(10),Cspchar(10),Cprreal);(2分)
createvendition(Sidchar(3),Cidchar(3),Vseint,primarykey(Sid,Cid),
foreignkey(Sid)references(shop),foreignkey(Cid)references(commodity));(2分)
(4)selectEnamefromemployeexwhereEach>=(selectavg(Each)fromemployeeywherey.Each=x.Each);(2分)
(5)createviewEman(Eid,Ename,Esex,Each,Sid,Ere,Esa)
AsselectEid,Ename,Esex,Each,Sid,Ere,EsfromemployeewhereEach>100andEsex=’男’;(2分)
3.(10分)设有学生表S(SNO,SN),其中SNO为学号,SN为姓名;
学生选课表SC(SNO,CNO,CN,G),其中CNO为课程号,CN为课程名,G为成绩,用SQL语言完成以下各题:
(1)建立一个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序;(5分)
(2)从视图V-SSC上查询平均成绩在90分以上的SN,CN和G。
(5分)
(1)CREATEVIEWV-SSC(SNO,SN,CNO,CN,G)
ASSELECTS.SNO,S.SN,SC.CNO,SC.CN,SC.G
FROMS,SC
WHERES.SNO=SC.SNO;
ORDERBYCNO;(5分)
(2)SELECSN,CN,G
FROMV-SSC
GROUPBYSNO
HAVINGAVG(G)>90;(5分)
4.(共10分)设学校数据库中有两个实体集:
学生表:
学号、姓名、班级
课程表:
课程号、课程名称、教师
某学校有若干学生,每个学生可以选修多门课程,学校有若干课程供学生选修,每门课程可以供多个学生选修,要建立该学校学生选修课程的数据库,请设计:
(1)试画出E-R图,要求在图上注明属性及联系的类型;
(2)将E-R图转换成关系模型,并注明主码;
(2)这个E-R图可转换为4个关系模式:
(12分)
商店(商店编号,商店名,地址)(3分)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)(3分)
商品(商品编号,商品名,规格,单价)(3分)
销售(商店编号,商品编号,月销售量)(3分)
5.(10分)有“学生选课系统”数据库,学生选课的关系模式为:
学生(学号,姓名,性别,年龄,所在系)
课程(课程号,课程名,先行课)
选课(学号,课程号,成绩)
根据所给系统,用关系代数运算完成下面查询。
(1)查询年龄小于20岁的学生。
(2)查询学生的姓名和所在系,即求“学生”关系中学生姓名和所在系两个属性上的投影。
(3)查询选修了2号课程的学生学号。
(4)查询选修了全部课程的学生的学号和姓名。
6、(10分)设有学生表S(SNO,SN,SA),其中SNO为学号,SN为姓名,SA为年龄;
学生选课表SC(SNO,CNO,CN,G),其中CNO为课程号,CN为课程名,G为成绩,用SQL语言完成以下各题:
(1)查询所有年龄在20岁以下的学生姓名及年龄。
(5分)
(2)查询选修了2号课程且成绩在90分以上的所有学生的学号及姓名。
(5分)
(1)selectsn,sa_______(2分)
froms———(1分)
wheresa<20;(2分)
(2)selects.sno,smamefroms,sc_______(2分)
Wheres.sno=sc.snoando=’2’andsc.g>90;————(3分)
7.设有一个SPJ数据库,包括S、P、J、SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY)
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;
工程向目标J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某种供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:
试用SQL完成如下查询:
(1)建立题目所述的四个表,并输入数据;
(2)求供应工程J1零件的供应商号码SNO;
(3)求供应工程J1零件P1的供应商号码SNO;
(4)求供应工程J1零件为红色的供应商号码SNO;
(5)求没有使用天津供应商生产的红色零件的工程号JNO;(暂时不做)
(6)求至少用了供应商S1所供应的全部零件的工程号JNO;(暂时不做)
(7)找出所有供应商的姓名和所在城市;
(8)找出所有零件的名称、颜色、重量;
(9)找出所有使用供应商S1所供应零件的工程号码;
(10)找出工程项目J2使用的各种零件的名称及其数量;
(11)找出上海厂商供应的所有零件号码;
(12)找出使用上海产的零件的工程名称;
(13)找出没有使用天津产的零件的工程号码;
(14)把全部红色零件的颜色改为蓝色;
(15)由S5供给J4的零件P6改为由S3供应,请做出必要的修改;
(16)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
(17)请将(S2,J6,P4,200)插入供应情况关系;
答案:
(1)Createtable;
(2)Selectsnofroms,spjwheres.sno=spj.snoandjno=’j1’;
(3)Selectsnofroms,spjwheres.sno=spj.snoandjno=’j1’andpno=’p1’;
(4)Selectsnofroms,spj,pwheres.sno=spj.snoandspj.pno=p.pnoandjno=’j1’andcolor=’红’;
(5)略
(6)略
(7)Selectsname,cityfroms;
(8)Selectpname,color,weightfromp;
(9)Selectjnofromj,spjwherej.j