完整数据库原理及应用SQL习题集含答案全解推荐文档.docx
《完整数据库原理及应用SQL习题集含答案全解推荐文档.docx》由会员分享,可在线阅读,更多相关《完整数据库原理及应用SQL习题集含答案全解推荐文档.docx(27页珍藏版)》请在冰豆网上搜索。
完整数据库原理及应用SQL习题集含答案全解推荐文档
《数据库原理及应用SQL》课程习题集
一、单选题
1.ER模型属于( )
A.概念模型B.层次模型
C.网状模型D.关系模型
2.数据库系统的三级模式结构中,定义索引的组织方式属于( )
A.概念模式B.外模式
C.逻辑模式D.内模式
3.SQL语言中,实现数据存取控制功能的语句是( )
A.CREATE和DROP B.INSERT和DELETE
C.GRANT和REVOKE D.COMMIT和ROLLBACK
4.物理结构的改变不影响整体逻辑结构的性质,称为数据库的( )
A.物理数据独立性B.逻辑数据独立性
C.物理结构独立性 D.逻辑结构独立性
5.全局ER模型的设计,需要消除属性冲突、命名冲突和( )
A.结构冲突 B.联系冲突
C.类型冲突D.实体冲突
6.一个供应商可供应多种零件,而一种零件可由多个供应商供应,则实体供应商与零件之间的联系是( )
A.一对一 B.一对多
C.多对一D.多对多
7.表达式“AGEBETWEEN18AND24”等价于( )
A.AGE>18ANDG<24B.AGE>=18ANDG<24
C.AGE>18ANDG<=24D.AGE>=18ANDAGE<=24
8.在数据库设计中,独立于计算机的硬件和DBMS软件的设计阶段是( )
A.概念设计 B.物理设计
C.逻辑设计D.系统实施
9.按照PX协议规定,一个事务要更新数据对象Q,必须先执行的操作是( )
A.READ(Q)B.WRITE(Q)
C.LOCKS(Q)D.LOCKX(Q)
10.下列聚集函数中不忽略空值(null)的是()
A.SUM(列名)B.MAX(列名)
C.COUNT(*)D.AVG(列名)
11.数据库系统中,对用户使用的数据视图的描述称为( )
A.概念模式B.内模式
C.存储模式D.外模式
12.数据库的三级模式之间存在着两级映象,使数据库系统具有较高的数据( )
A.相容性B.独立性
C.共享性D.一致性
13.实体完整性规则是指关系中( )
A.不允许有空行B.主键不允许有空值
C.不允许有空列D.外键不允许有空值
14.实现关系代数投影运算的SQL子句是( )
A.SELECTB.ORDER BY
C.FROM D.WHERE
15.SQL语言中,用GRANT/REVOKE语句实现数据库的( )
A.并发控制 B.完整性控制
C.一致性控制D.安全性控制
16.在事务依赖图中,若各个事务之间的依赖关系构成循环,则就会出现( )
A.死锁B.共享锁
C.活锁D.排它锁
17.以下关于事务调度和封锁的描述中,正确的是( )
A.遵守两段封锁协议的并发事务一定是可串行化的
B.可串行化的并发事务一定遵守两段封锁协议
C.遵守两段封锁协议的并发事务不一定是可串行化的
D.遵守两段封锁协议的并发事务一定不会产生死锁
18.数据库与文件系统的根本区别在于()
A提高了系统效率B方便了用户使用
C数据的结构化D节省了存储空间
19.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )。
A.多对多B.一对一
C.多对一D.一对多
20.“一个事务中的诸操作要么都做,要么都不做”,这是事务的( )属性。
A.原子性B.一致性
C.隔离性 D.持续性
21.关系模型中,一个码是()
A可以由多个任意属性组成
B至多由一个属性组成
C由一个或多个属性组成,其值能够惟一标识关系中一个元组
D以上都不是
22.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()
A.DBS包括DB和DBMSB.DBMS包括DB和DBS
C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS
23.区分不同实体的依据是()
A.名称B.属性
C.对象D.概念
24.SQL基本表的创建中是通过( )实现参照完整性规则的。
A.主键子句 B.外键子句
C.检查子句D.NOTNULL
25.设计性能较优的关系模式称为规范化,规范化的主要理论依据是()。
A.关系规范化理论B.关系运算理论
C.代数运算理论D.数理逻辑理论
26.在E-R模型转换成关系模型的过程中,下列叙述不正确的是( )。
A.每个实体类型转换成一个关系模式
B.每个M∶N联系类型转换一个关系模式
C.每个联系类型转换成一个关系模式
D.在处理1∶1和1∶N联系类型时,不生成新的关系模式。
27.假如采用关系数据库系统来实现应用,在数据库设计的( )阶段,需要将E-R模型转换为关系数据模型。
A.概念设计B.物理设计
C.逻辑设计D.运行阶段
28.DBMS普遍采用()方法来保证调度的正确性。
A.索引B.授权
C.封锁D.日志
29.多个事务执行的次序称为( )
A步骤B过程
C流程D调度
30.如果事务T已在数据R上加了X锁,则其他事务在数据R上( )
A只可加X锁B只可加S锁
C可加S锁或X锁D不能加任何锁
31.模式的逻辑子集通常称为( )
A存储模式B内模式
C外模式D模式
32.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。
A完整性B可靠性
C隔离性D安全性
33.在数据库设计中,将E-R图转换成关系数据模型的过程属于()
A.需求分析阶段B.概念设计阶段
C.逻辑设计阶段D.物理设计阶段
34.如果事务T已在数据R上加了S锁,则其他事务在数据R上( )
A只可加X锁B只可加S锁
C可加S锁或X锁D不能加任何锁
35.在数据库系统中,视图可以提供数据的( )
A完整性B并发性
C安全性D可恢复性
36.事务的持续性是指()
A.事务中包括的所有操作要么都做,要么都不做
B事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作对并发的其他事务是隔离的
D.事务必须使数据库从一个一致性状态变到另一个一致性状态
37.一辆汽车由多个零部件组成,且相同的零部件可适用于不同型号的汽车,则汽车实体集与零部件实体集之间的联系是( )
A.1:
1B.1:
M
C.M:
1D.M:
N
38.系统故障会造成( )
A.内存数据丢失B.硬盘数据丢失
C.软盘数据丢失D.磁带数据丢失
39.数据库系统核心是()
A数据B数据库管理系统
C数据库用户D数据库管理员
40.构造关系数据模型时,通常采用的方法是( )。
A.从网状模型导出关系模型B.从层次模型导出关系模型
C.从E—R图导出关系模型D.以上都不是
41.数据库系统的三级模式中,表达物理数据库的是( )。
A.外模式B.模式
C.用户模式 D.内模式
42.具有坚实数学理论基础的数据模型是( )。
A.关系模型B.层次模型
C.网状模型D.E—R模型
43.SQL语言中,实现数据更新功能的语句是( )
A.CREATE和DROPB.INSERT和DELETE
C.GRANT和REVOKED.COMMIT和ROLLBACK
44.在关系模型中,关系的每一个属性值( )。
A.不能全同 B.可以全同
C.必须全同D.是不可分割的
45.多个用户同时对同一数据进行操作,描述的是( )。
A.数据库的完整性B.数据库的并发控制
C.数据库的恢复 D.数据的完整性
46.一个供应商可供应多种原材料,而一种原材料可由多个供应商供应,则实体供应商与原材料之间的联系是( )
A.一对一 B.一对多
C.多对一 D.多对多
47.以下四项中,不包括在数据库维护工作中的是( )。
A.故障维护B.设计关系模型
C.定期维护 D.日常维护
48.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是()。
A.一个是DELETE,一个是SELECTB.一个是SELECT,一个是DELETE
C.两个都是UPDATED.两个都是SELECT
49.SQL语言的结构中,( )有对应的存储文件。
A.视图B.基表
C.视图和基表D.存储文件和视图
50.事务日志用于保存()。
A.程序运行过程B.程序的执行结果
C.对数据的更新操作D.对数据的查询操作
二、综合设计题
51.某公司欲建立一个定单管理系统,要求保存销售职工信息,产品信息,供应商信息,定货人信息。
已知每个销售职工可销售多种产品,每个产品可被个多个销售职工销售。
每个供应商可供应多种产品,而每种产品可由多个供应商供应。
每个定货人可订购多种产品,而每种产品可由多个定货人订购。
销售职工有:
职工号,姓名,电话;
供应商有:
供应商号,姓名,电话,地址;
产品有:
产品号,产品名称,型号规格。
定货人有:
定货人号,姓名,电话,地址;
每次定货有定货日期和数量。
要求:
1根据上述语义设计E-R模型,要求标注联系类型。
2将其转化为关系模式。
注明每个关系的主键和外键。
52.已知某个工厂中有多个工段,每个工段有多个车间,每个车间只在一个工段中,
每个车间生产多种产品,而每种产品可由多个车间生产。
工段有:
工段号,工段名;
车间有:
车间号,车间名,车间领导;
产品有:
产品号,产品名称,型号规格。
每个车间完成的产品都有完工日期。
1根据上述语义设计E-R模型,要求标注联系类型,可省略属性。
2E-R模型转换成关系数据模型,并指出每一个关系的主键和外键(如果存在)。
53.假设某公司在多个地区设有销售部经销本公司的各种产品,每个销售部聘用多名
职工,且每名职工只属于一个销售部。
销售部有:
部门名称、地区和电话等属性;
产品有:
产品编码、品名和单价等属性;
职工有:
职工号、姓名和性别等属性;
每个销售部销售产品有数量属性。
1根据上述语义画出ER图,要求在图中画出属性并注明联系的类型。
2试将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
54.假设某公司的业务规则如下:
1公司下设几个部门,如技术部、财务部、市场部等。
2每个部门承担多个工程项目,每个工程项目属于一个部门。
3每个部门有多名职工,每一名职工只能属于一个部门。
4一个部门可能参与多个工程项目。
5工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性;职工有职工号、姓名、性别属性;
问题:
1.根据上述规则设计E-R模型。
2.将E-R模型转换成关系数据模型,并指出每个关系的主键和外键。
55.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。
工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
1根据上述语义画出ER图,在ER图中需注明实体的属性、联系的类型及实体的标识符。
2将E-R模型转换成关系模型,并指出每个关系模式的主键和外键。
三、编程题1
56.在供应商、零件数据库中有以下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公斤,颜色该为黄色。
5统计每个供应商供应的项目总数。
6建立一个存储过程,输入零件编号显示零件的PNAME,WEIGHT,COLOR,CITY
57.假设新华书店数据库中有2个关系模式:
出版社(出版社编号,出版社名称,出版社地址)
图书(图书编号,书名,出版社编号,图书分类,定价)
试用SQL语句完成下题。
1.检索出版社编号为“CS”的图书编号、书名和定价。
2.查询图书分类为“教材”的书名、定价和出版社名称。
3.按照出版社编号统计每个出版社出版的图书有多少种和平均定价。
4.检索由高等教育出版社出版、图书分类为“教材”且定价超过30元的图书编号和书名。
”
5.删除图书编号“2000301”的图书信息
6.建立一个存储过程,统计各分类的图书的本数。
58.设有三个关系模式如下:
学生S(S#,SNAME,AGE,SEX)各属性的含义为:
学号,姓名,年龄,性别
学习SC(S#,C#,GRADE)各属性的含义为:
学号,课程号,成绩
课程C(C#,CNAME,TEACHER)各属性的含义为:
课程号,课程名,教师
于以上关系模式试用SQL语句回答下列题:
1统计男生和女生的人数。
2.检索教师‘张明’所授课程的课程号和课程名。
4.选修数据库原理的学生名单。
5.删除200030号学生的选课记录。
6.建立一个存储过程,通过输入学号,显示学生选课门数.
59.职工(职工号,姓名,性别,职务,家庭地址,部门编号)
部门(部门编号,部门名称,地址,电话)
保健(保健卡编号,职工号,检查身体日期,健康状况)
用SQL语句完成下列问题:
1.查找所有女科长的姓名和家庭地址;
2.查找“办公室”的科长姓名和家庭地址;
3.统计“财务科”中健康状况为“良好”的职工人数。
4.删除职工关系表中职工号为“3016”的记录;
5.将职工号为“3061”的职工的健康状况改为“一般”;
6.建立健康状况为“差”的职工的视图。
60.有三个关系
部门(部门号,名称,负责人编号,联系电话.
职工(职工号,姓名,出生日期,性别,工资,部门号,职称)
医疗(职工号,就医日期,医疗费用,医院名称,诊断结果)
用SQL语言实现下列问题:
1.检索职工“卢仪”作为部门负责人所在部门的名称和联系电话;
2.检索在“协和医院”中没有就医记录的职工号、姓名和部门名称;
3.将职工号为‘3301‘的职工每次的医疗费用减半;
4.统计每个职工的医疗费用总和。
5.定义一个没有任何医疗记录的职工的职工号、姓名视图AAA。
6建立一个存储过程,以职工号为形参,显示该职工的医疗清单。
四、编程题2
61.用PB编程程序,某登录界面如下:
数据库中有表LOGIN(TID,PASSWORD,ROLE),请写出该窗口上控件cb_1的clicked事件的程序。
当通过验证后进入窗口W-mian,否则提示:
“你是非法用户,不能进入系统”
62.用PB编写程序,有窗口W_data能完成对数据的管理,如图请对分别对cb_1,cb_2,cb_3,cb_4编程。
63.如图lv_1为列表视图,报表风格,当w_list打开时lv_list中显示数据库中学生表的所有学生的信息。
请为w_1的open事件编程。
使用表:
学生(姓名,性别,年龄,系别)
64.用PB编程,如图1点击菜单中的注册新用户,打开w_new.
1写出菜单项”退出”的clicked事件中的代码.
2在sle_1中输入新用户名,如果此用户名已存在则出现消息框,提示”此用户名已存在,请另输入用户名”.
3写出cb_1的clicked事件中的代码.
使用表user(username,password,role)
65.用PB编写程序,界面如图:
1对w_data的open事件编程,使w_data一打开dw_1中就显示数据.
2对w_data的closequery事件编程,使dw_1中的数据发生改变而又未保存就退
出窗口时给用户一个消息框提示.
五、简答题
(略)……
答案
一、单选题
1.A
2.D
3.C
4.A
5.A
6.D
7.D
8.A
9.D
10.C
11.D
12.B
13.B
14.A
15.D
16.A
17.A
18.C
19.C
20.A
21.C
22.A
23.B
24.B
25.A
26.C
27.C
28.C
29.D
30.D
31.D
32.D
33.C
34.B
35.C
36.D
37.D
38.A
39.B
40.C
41.D
42.A
43.B
44.D
45.B
46.D
47.B
48.D
49.B
50.C
二、综合设计题
51.
供应商(供应商号,姓名,电话)
主键:
供应商号外键:
产品(产品号,名称,规格,单价)
主键:
产品号外键:
供应(产品号,供应商号,数量)
主键:
(产品号,供应商号)外键:
产品号,供应商编号
销售职工(职工号,姓名,工资)
主键:
职工号
定货人(定货人号,姓名,地址,电话)
主键:
定货人号
订购(定货人号,职工号,产品号,时间,数量)
主键:
(定货人号,职工号,产品号)外键:
定货人号,职工号,产品号
52.
工段(工段号,工段名)
主键:
工段号
车间(车间号,车间名,车间领导,工段号)
主键:
车间号外键:
工段号
产品(产品号,产品名称,型号规格)
主键:
产品号
生产(产品号,车间号,完工日期)
主键:
(产品号,车间号)外键:
产品号,车间号。
53.
销售部(部门名称、地区、电话)
主键:
部门名称
产品(产品编码、品名、单价)
主键:
产品编码
职工(职工号、姓名、性别、部门名称)
主键:
职工号外键:
部门名称
销售(部门名称、产品编码、数量)
主键:
(部门名称、产品编码)外键:
部门名称、产品编码
54.
工程项目(工程号、工程名,部门号)
主键:
工程号外键:
部门号
部门(部门号、部门名称)
主键:
部门号
职工(职工号、姓名、性别、部门号)
主键:
职工号,外键:
部门号
55.
工厂(工厂编号、厂名、地址)
主键:
工厂编号
产品(产品编号、产品名、规格)
主键:
产品编号
职工(职工号、姓名、工资、聘期、工厂编号)
主键:
职工号外键:
工厂编号
生产(产品编号、工厂编号、计划数量)
主键:
(产品编号、工厂编号)外键:
产品编号、工厂编号
三、编程题1
56.1SELECTSNAMEFROMSWHERESNOIN(SELECTSNOFROMP,SPWHEREP.COLOR=‘红色’ANDP.PNO=SP.PNO);
2.SELECTSNO,SNAME,STATUSFROMSWHERES.CITY=‘北京’
3.Selectsum(QTY)fromSPWHEREPNO=‘P2’.
4UPDATEPSETWEIGHT=WEIGHT十5,COLOR=‘黄色’WHEREPNO=‘P2’
5SelectSNO,count(distinctPNO)FromSPGroupby(SNO)
6CTREATEPROCP_LIST@IdCHAR(4)
AsSelectPNAME,WEIGHT,COLOR,CITY
FromP
WHEREPNO=@Id
57.1SELECT图书编号,书名,定价
from出版社,图书
where出版社.出版社编号=图书.出版社编号and出版社编号=’CS’
2.SELECT书名,定价,出版社名称
from图书
where图书分类=‘教材’
3.Selcet出版社编号,count(distinct图书分类),avg(定价)from图书
groupby(出版社编号)
4SELECT图书编号,书名from出版社,图书
where出版社.出版社编号=图书.出版社编号
and高等教育出版社and图书分类=’教材and定价>30
5deletefrom图书where图书编号=’2000301’
6createprocbook_count
asSelcet图书分类,count(*)from图书groupby(图书分类)
58.1SELECTSEX,COUNT(*)fromSgroupby(sex)
2.SELECTC#,CNAMEFROMC
whereTEACHER=’张明‘
3.SELECTcount(*)FROMS,SC,C
WhereC.C#=SC.C#ANDS.S#=SC.S#ANDC.TEACHER=’张明‘.
4SELECTS.SNAMEFROMC,SC,C
WhereC.C#=SC.C#ANDS.S#=SC.S#ANDC.CNAME=’数据库原理‘
5DELETEFROMSWHERES#=‘200030’
6CREATEPROCc_count@idintfor
selectcount(distinct.课程编号)as选课门数
from选课