数据库系统概论习题集.docx
《数据库系统概论习题集.docx》由会员分享,可在线阅读,更多相关《数据库系统概论习题集.docx(37页珍藏版)》请在冰点文库上搜索。
![数据库系统概论习题集.docx](https://file1.bingdoc.com/fileroot1/2023-8/7/36837c0b-810d-4858-bcc9-600a5c02cdfa/36837c0b-810d-4858-bcc9-600a5c02cdfa1.gif)
数据库系统概论习题集
数据库系统概论习题集
第一章绪论
一、选择题
1.DBS是采用了数据库技术的计算机系统,DBS是一个集合体,包含数据库、计算机硬件、软件和(C)。
A.系统分析员B.程序员C.数据库管理员D.操作员
2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(C)。
A
A.DBS包括DB和DBMSB.DBMS包括DB和DBS
C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS
3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D)。
I.人工管理阶段
II.文件系统阶段
III.数据库阶段
A.I和IIB.只有II
C.II和IIID.只有I
4.下列四项中,不属于数据库系统特点的是(C)。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高
5.数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
6.描述数据库全体数据的全局逻辑结构和特性的是(B)。
A
A.模式B.内模式C.外模式D.用户模式
7.要保证数据库的数据独立性,需要修改的是(C)。
A.模式与外模式B.模式与内模式
C.三层之间的两种映射D.三层模式
8.要保证数据库的逻辑数据独立性,需要修改的是(A)。
A.模式与外模式的映射B.模式与内模式之间的映射
C.模式D.三层模式
9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C),它是模式的逻辑子集。
A.模式B.物理模式C.子模式D.内模式
10.下述(D)不是DBA数据库管理员的职责。
A.完整性约束说明B.定义数据库模式
C.数据库安全D.数据库管理系统设计
选择题答案:
(1)C
(2)A(3)D(4)C(5)B
(6)A(7)C(8)A(9)C(10)D
第二章关系数据库
一、选择题
1.下面的选项不是关系数据库基本特征的是(a)。
A.不同的列应有不同的数据类型
B.不同的列应有不同的列名
C.与行的次序无关
D.与列的次序无关
2.一个关系只有一个(d)。
A.候选码B.外码C.超码D.主码
3.关系模型中,一个码是(c)。
A.可以由多个任意属性组成
B.至多由一个属性组成
C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成
D.以上都不是
4.现有如下关系:
患者(患者编号,患者姓名,性别,出生日起,所在单位)
医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)
其中,医疗关系中的外码是(c)。
A
A.患者编号B.患者姓名
C.患者编号和患者姓名D.医生编号和患者编号
5.现有一个关系:
借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是(b)。
D
A.书号B.读者号
C.书号+读者号D.书号+读者号+借期
6.关系模型中实现实体间N:
M联系是通过增加一个(a)。
A.关系实现B.属性实现C.关系或一个属性实现D.关系和一个属性实现
7.关系代数运算是以(a)为基础的运算。
C
A.关系运算B.谓词演算C.集合运算D.代数运算
8.关系数据库管理系统应能实现的专门关系运算包括(b)。
A.排序、索引、统计B.选择、投影、连接
C.关联、更新、排序D.显示、打印、制表
9.五种基本关系代数运算是(c)。
A
A.∪-×σπ
B.∪-σπ
C.∪∩×σπ
D.∪∩σπ
10.关系代数表达式的优化策略中,首先要做的是(d)。
B
A.对文件进行预处理
B.尽早执行选择运算
C.执行笛卡尔积运算
D.投影运算
11.关系数据库中的投影操作是指从关系中(c)。
B
A.抽出特定记录B.抽出特定字段
C.建立相应的影像D.建立相应的图形
12.从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是(c)操作。
A.投影B.联接C.选择D.复制
13.关系代数中的联接操作是由(b)操作组合而成。
A.选择和投影B.选择和笛卡尔积
C.投影、选择、笛卡尔积D.投影和笛卡尔积
14.自然联接是构成新关系的有效方法。
一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的(c)。
A.记录B.行C.属性D.元组
15.假设有关系R和S,在下列的关系运算中,(d)运算不要求:
“R和S具有相同的元数,且它们的对应属性的数据类型也相同”。
A.R∩SB.R∪SC.R-SD.R×S
16.假设有关系R和S,关系代数表达式R-(R-S)表示的是(a)。
A.R∩SB.R∪SC.R-SD.R×S
17.下面列出的关系代数表达是中,那些式子能够成立(c)。
ⅰ.σf1(σf2(E))=σf1∧f2(E)
ⅱ.E1∞E2=E2∞E1
ⅲ.(E1∞E2)∞E3=E1∞(E2∞E3)
ⅳ.σf1(σf2(E))=σf2(σf1(E))
A.全部B.ⅱ和ⅲC.没有D.ⅰ和ⅳ
18.下面四个关系表达式是等价的,是判别它们的执行效率(A)。
E1=πA(σB=C∧D=E′(R×S))
E2=πA(σB=C(R×σD=E′(S))
E3=πA(R∞B=CσD=E′(S))
E4=πA(σD=E′(R∞B=CS))
A.E3最快B.E2最快C.E4最快D.E1最快
19.有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是(d)。
ⅰ.πS_ID,SCORE(σage>22(SC))
ⅱ.σage>22(πS_ID,SCORE(SC))
ⅲ.πS_ID,SCORE(σage>22(πS_ID,SCORE,AGE(SC)))
A.ⅰ和ⅱB.只有ⅱ正确C.只有ⅰ正确D.ⅰ和ⅲ正确
选择题答案:
(1)A
(2)D(3)C(4)A(5)D
(6)A(7)C(8)B(9)A(10)B
(11)B(12)C(13)B(14)C(15)D
(16)A(17)C(18)A(19)D
第三章SQL语言
一、选择题
1.SQL语言是(B)的语言,容易学习。
A.过程化B.非过程化
C.格式化D.导航式
2.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
(1)B
(2)A(3)C(4)C(5)B其中最重要的,也是使用最频繁的语句是(A)。
A.SELECTB.INSERT
C.UPDATED.DELETE
3.在视图上不能完成的操作是(C)。
A.更新视图B.查询
C.在视图上定义新的表D.在视图上定义新的视图
4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能(C)。
A.数据查询B.数据操纵
C.数据定义D.数据控制
5.SQL语言中,删除一个视图的命令是(B)。
A.DELETE
B.DROP
C.CLEAR
D.REMOVE
(6)A(7)D(8)C(9)C(10)B
(11)A(12)D(13)A(14)D(15)C
6.在SQL语言中的视图VIEW是数据库的(A)。
A.外模式B.模式C.内模式D.存储模式
7.下列的SQL语句中,(D)不是数据定义语句。
A.CREATETABLEB.DROPVIEW
C.CREATEVIEWD.GRANT
8.若要撤销数据库中已经存在的表S,可用(A)。
C
A.DELETETABLESB.DELETES
C.DROPTABLESD.DROPS
9.若要在基本表S中增加一列CN(课程名),可用(C)。
A.ADDTABLES(CNCHAR(8))
B.ADDTABLESALTER(CNCHAR(8))
C.ALTERTABLESADD(CNCHAR(8))
D.ALTERTABLES(ADDCNCHAR(8))
10.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。
要在表S中删除一个属性“年龄”,可选用的SQL语句是(B)。
A.DELETEAgefromS
B.ALTERTABLESDROPAge
C.UPDATESAge
D.ALTERTABLES‘Age’
11.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。
要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。
这里的WHERE子句的内容是(A)。
A.S.S#=SC.S#andC.C#=SC.C#andSAGE>=20andCNAME=‘ACCESS’
B.S.S#=SC.S#andC.C#=SC.C#andSAGEin>=20andCNAMEin‘ACCESS’
C.SAGEin>=20andCNAMEin‘ACCESS’
D.SAGE>=20andCNAME=’ACCESS’
12.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。
若要把“张二的化学成绩80分”插入S中,则可用(D)。
A.ADD
INTOS
VALUES(’张二’,’化学’,’80’)
B.INSERT
INTOS
VALUES(’张二’,’化学’,’80’)
C.ADD
INTOS
VALUES(’张二’,’化学’,80)
D.INSERT
INTOS
VALUES(’张二’,’化学’,80)
13.设关系数据库中一个表S的结构为:
S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。
若要更正王二的化学成绩为85分,则可用(A)。
A.UPDATES
SETgrade=85
WHERESN=’王二’ANDCN=’化学’
B.UPDATES
SETgrade=’85’
WHERESN=’王二’ANDCN=’化学’
C.UPDATEgrade=85
WHERESN=’王二’ANDCN=’化学’
D.UPDATEgrade=’85’
WHERESN=’王二’ANDCN=’化学’
14.在SQL语言中,子查询是(D)。
A.返回单表中数据子集的查询语言
B.选取多表中字段子集的查询语句
C.选取单表中字段子集的查询语句
D.嵌入到另一个查询语句之中的查询语句
15.SQL是一种(C)语言。
A.高级算法B.人工智能
C.关系数据库D.函数型
16.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。
要查询选修“数据库”课的全体男生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。
这里的WHERE子句的内容是(A)。
A.S.S#=SC.S#andC.C#=SC.C#andSEX=’男’andCNAME=’数据库’
B.S.S#=SC.S#andC.C#=SC.C#andSEXin’男’andCNAMEin’数据库’
C.SEX’男’andCNAME’数据库’
D.S.SEX=’男’andCNAME=’数据库’
17.若用如下的SQL语句创建了一个表SC:
CREATETABLESC(S#CHAR(6)NOTNULL,C#CHAR(3)NOTNULL,SCOREINTEGER,NOTECHAR(20));向SC表插入如下行时,(B)行可以被插入。
A.(’201009’,’111’,60,必修)
B.(’200823’,’101’,NULL,NULL)
C.(NULL,’103’,80,’选修’)
D.(’201132’,NULL,86,’’)
18.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。
要查询选修“Computer”课的男生姓名,将涉及到关系(D)。
A.SB.S,SCC.C,SCD.S,C,SC
选择题答案:
(1)B
(2)A(3)C(4)C(5)B
(6)A(7)D(8)C(9)C(10)B
(11)A(12)D(13)A(14)D(15)C
(16)A(17)B(18)D
二、简答题
1.试述SQL语言的特点。
答:
(1)综合统一。
SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
(2)高度非过程化。
用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
(3)面向集合的操作方式。
SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。
SQL语言既是自含式语言,又是嵌入式语言。
作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。
2.试述SQL的定义功能。
答:
SQL的数据定义功能包括定义表、定义视图和定义索引。
SQL语言使用CREATETABLE语句定义建立基本表,;ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;建立索引使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引表;SQL语言使用CREATEVIEW命令建立视图,DROPVIEW语句删除视图。
3.用SQL语句建立第3章习题3中的四个表。
答:
对于S表:
S(SNO,SNAME,STATUS,CITY);
建S表
CREATETABLES
(SNOCHAR(3),
SNAMECHAR(10),
STATUSCHAR
(2),
CITYCHAR(10));
P(PNO,PNAME,COLOR,WEIGHT);
建P表
CREATETABLEP
(PNOCHAR(3),
PNAMECHAR(10),
COLORCHAR(4),
WEIGHTINT);
J(JNO,JNAME,CITY);
建J表
CREATETABLEJ
(JNOCHAR(3),
JNAMECHAR(10),
CITYCHAR(10));
SPJ(SNO,PNO,JNO,QTY);
建SPJ表
CREATETABLESPJ
(SNOCHAR(3),
PNOCHAR(3),
JNOCHAR(3),
QTYINT);
4.针对上题中建立的四个表试用SQL语言完成第3章习题3中的查询。
答:
(1)求供应工程J1零件的供应商号码SNO;
SELECTSNO
FROMSPJ
WHEREJNO=‘J1’;
(2)求供应工程J1零件P1的供应商号码SNO;
SELECTSNO
FROMSPJ
WHEREJNO=‘J1’
ANDPNO=‘P1’;
(3)求供应工程J1零件为红色的供应商号码SNO;
SELECTSNO
FROMSPJ
WHEREJNO=‘J1’
ANDPNOIN
(SELECTPNO
FROMP
WHERECOLOR=‘红’);
或
SELECTSNO
FROMSPJ,P
WHEREJNO=‘J1’
ANDSPJ.PNO=P.PNO
ANDCOLOR=‘红’;
(4)求没有使用天津供应商生产的红色零件的工程号JNO;
解析:
用SQL语言表示如下:
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*
FROMSPJ
WHERESPJ.JNO=J.JNO
ANDSNOIN
(SELECTSNO
FROMS
WHERECITY=‘天津’)
ANDPNOIN
(SELECTPNO
FROMP
WHERECOLOR=‘红’));
或
SELECTJNO
FROMJ
WHERENOTEXISTS
(SELECT*1
FROMSPJ,S,P
WHERESPJ.JNO=J.JNO
ANDSPJ.SNO=S.SNO
ANDSPJ.PNO=P.PNO
ANDS.CITY=‘天津’
ANDP.COLOR=‘红’);
注意:
从J表入手,以包含那些尚未使用任何零件的工程号。
(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
解析:
用SQL语言表示如下:
SELECTDISTINCTJNO
FROMSPJSPJZ
WHERENOTEXISTS
(SELECT*
FROMSPJSPJX
WHERESNO='S1'
ANDNOTEXISTS
(SELECT*
FROMSPJSPJY
WHERESPJY.PNO=SPJX.PNO
ANDSPJY.JNON=SPJZ.JNO
ANDSPJY.SNO=’S1’));
ANDSPJY.SNO='S1'));
5.针对习题3中的四个表试用SQL语言完成以下各项操作:
(1)找出所有供应商的姓名和所在城市。
(2)找出所有零件的名称、颜色、重量。
(3)找出使用供应商S1所供应零件的工程号码。
(4)找出工程项目J2使用的各种零件的名称及其数量。
(5)找出上海厂商供应的所有零件号码。
(6)找出使用上海产的零件的工程名称。
(7)找出没有使用天津产的零件的工程号码。
(8)把全部红色零件的颜色改成蓝色。
(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改。
(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录。
(11)请将(S2,J6,P4,200)插入供应情况关系。
答:
(1)找出所有供应商的姓名和所在城市。
SELECTSNAME,CITY
FROMS;
(2)找出所有零件的名称、颜色、重量。
SELECTPNAME,COLOR,WEIGHT
FROMP;
(3)找出使用供应商S1所供应零件的工程号码。
SELECTJNO
FROMSPJ
WHERESNO=‘S1’;
(4)找出工程项目J2使用的各种零件的名称及其数量。
SELECTP.PNAME,SPJ.QTY
FROMP,SPJ
WHEREP.PNO=SPJ.PNO
ANDSPJ.JNO='J2';
(5)找出上海厂商供应