数据库习题集及答案参考.docx
《数据库习题集及答案参考.docx》由会员分享,可在线阅读,更多相关《数据库习题集及答案参考.docx(29页珍藏版)》请在冰豆网上搜索。
![数据库习题集及答案参考.docx](https://file1.bdocx.com/fileroot1/2023-4/17/51b719ad-1058-4028-946a-dce537beff7c/51b719ad-1058-4028-946a-dce537beff7c1.gif)
数据库习题集及答案参考
数据库系统概论习题集
数据库基本概况
一、选择题
1.DBS是采用了数据库技术的计算机系统,它是一个集合体,包含数据库、计算机硬件、软件和()。
A.系统分析员B.程序员C.数据库管理员D.操作员
2.数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是()。
A.DBS包括DB和DBMSB.DBMS包括DB和DBS
C.DB包括DBS和DBMSD.DBS就是DB,也就是DBMS
3.下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是()。
I.人工管理阶段II.文件系统阶段 III.数据库阶段
A.I和IIB.只有IIC.II和IIID.只有I
4.下列四项中,不属于数据库系统特点的是()。
A.数据共享B.数据完整性C.数据冗余度高D.数据独立性高
5.数据库系统的数据独立性体现在()。
A.不会因为数据的变化而影响到应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
6.描述数据库全体数据的全局逻辑结构和特性的是()。
A.模式B.内模式C.外模式D.用户模式
7.要保证数据库的数据独立性,需要修改的是()。
A.模式与外模式B.模式与内模式C.三层之间的两种映射D.三层模式
8.要保证数据库的逻辑数据独立性,需要修改的是()。
A.模式与外模式的映射B.模式与内模式之间的映射 C.模式D.三层模式
9.用户或应用程序看到的那部分局部逻辑结构和特征的描述是(),它是模式的逻辑子集。
A.模式B.物理模式C.子模式D.内模式
10.下述()不是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.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:
描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:
数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据模型是数据库的核心概念。
每个数据库中数据的都是按照某一种数据模型来组织的。
数据库系统:
数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.试述文件系统与数据库系统的区别和联系。
文件系统与数据库系统的区别:
文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。
数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
3.试述数据库系统的特点。
数据库系统的主要特点有:
一、数据结构化:
数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
二、数据的共享性高,冗余度低,易扩充:
数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。
三、数据独立性高:
数据独立性包括数据的物理独立性和数据的逻辑独立性。
数据库管理系统的模式结构和二级映象功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
四、数据由DBMS统一管理和控制:
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。
为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。
4.数据库管理系统的主要功能有哪些?
①数据库义功能;
②数据存取功能;
③数据库运行管理;
④数据库的建立和维护功能。
5.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。
一般地讲,数据模型是严格定义的概念的集合。
这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。
因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
①数据结构:
是所研究的对象类型的集合,是对系统的静态特性的描述。
②数据操作:
是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
③数据的约束条件:
是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
6.试述概念模型的作用。
概念模型实际上是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。
7.定义并解释概念模型中以下术语:
实体,实体型,实体集,属性,码,实体联系图(E-R图)
实体:
客观存在并可以相互区分的事物叫实体。
实体型:
具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集:
同型实体的集合称为实体集。
属性:
实体所具有的某一特性,一个实体可由若干个属性来刻画。
码:
唯一标识实体的属性集称为码。
实体联系图:
E-R图提供了表示实体型、属性和联系的方法:
·实体型:
用矩形表示,矩形框内写明实体名。
·属性:
用椭圆形表示,并用无向边将其与相应的实体连接起来。
·联系:
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
关系数据库
一、选择题
1.下面的选项不是关系数据库基本特征的是()。
A.不同的列应有不同的数据类型 B.不同的列应有不同的列名
C.与行的次序无关 D.与列的次序无关
2.一个关系只有一个()。
A.候选码B.外码C.超码D.主码
3.关系模型中,一个码是()。
A.可以由多个任意属性组成 B.至多由一个属性组成
C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D.以上都不是
4.关系代数表达式的优化策略中,首先要做的是( )
A.对文件进行预处理 B.尽早执行选择运算
C.执行笛卡儿积运算 D.投影运算
5.部门DEPT(Deptno,Name,Tel,Leader)和职工EMP(Empno,Name,Sex,Address,Deptno)实体集,若一个职工只能属于一个部门,部门负责人Leader是一个职工。
DEPT与EMP的关系为()
A.多对多B.一对多C.多对一D.一对一
6.在关系理论中,如果一个关系中的一个属性或属性组能够唯一地标识一个元组,那么可称该属性或属性组为
A.码B.关键字C.域D.关系名
7.关系代数运算是以()为基础的运算。
A.关系运算B.谓词演算C.集合运算D.代数运算
8.关系数据库管理系统应能实现的专门关系运算包括()。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
9.五种基本关系代数运算是()。
A.∪-×σπ B.∪-σπ C.∪∩×σπ D.∪∩σπ
10.关系代数表达式的优化策略中,首先要做的是()。
A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡尔积运算 D.投影运算
11.关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B.抽出特定字段 C.建立相应的影像D.建立相应的图形
12.从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B.联接C.选择D.复制
13.关系代数中的联接操作是由()操作组合而成。
A.选择和投影B.选择和笛卡尔积 C.投影、选择、笛卡尔积D.投影和笛卡尔积
14.自然联接是构成新关系的有效方法。
一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的()。
A.记录B.行C.属性D.元组
15.假设有关系R和S,在下列的关系运算中,()运算不要求:
“R和S具有相同的元数,且它们的对应属性的数据类型也相同”。
A.R∩SB.R∪SC.R-SD.R×S
16.关系模型是由一个或多个()组成的集合。
A.元组B.关系C.属性D.关系名
17.有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是()。
ⅰ.π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)B(5)B(6)A(7)C(8)B(9)A(10)B
(11)B(12)C(13)B(14)C(15)D(16)C(17)D
二、简答题
1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.设有一个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。
试用关系代数完成如下查询:
(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))
SQL语言
一、选择题
1.SQL语言是()的语言,容易学习。
A.过程化B.非过程化 C.格式化D.导航式
2.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。
其中最重要的,也是使用最频繁的语句是()。
A.SELECTB.INSERT C.UPDATED.DELETE
3.在视图上不能完成的操作是()。
A.更新视图B.查询 C.在视图上定义新的表D.在视图上定义新的视图
4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。
A.数据查询B.数据操纵 C.数据定义D.数据控制
5.SQL语言中,删除一个视图的命令是()。
A.DELETE B.DROP C.CLEAR D.REMOVE
6.在SQL语言中的视图VIEW是数据库的()。
A.外模式B.模式C.内模式D.存储模式
7.下列的SQL语句中,()不是数据定义语句。
A.CREATETABLEB.DROPVIEW C.CREATEVIEWD.GRANT
8.若要撤销数据库中已经存在的表S,可用()。
A.DELETETABLESB.DELETES C.DROPTABLESD.DROPS
9.若要在基本表S中增加一列CN(课程名),可用()。
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语句是()。
A.DELETEAgefromSB.ALTERTABLESDROPAge
C.UPDATESAgeD.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.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中,则可用()。
A.ADDINTOSVALUES(’张二’,’化学’,’80’)
B.INSERTINTOSVALUES(’张二’,’化学’,’80’)
C.ADDINTOSVALUES(’张二’,’化学’,80)
D.INSERTINTOSVALUES(’张二’,’化学’,80)
13.设关系数据库中一个表S的结构为:
S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。
若要更正王二的化学成绩为85分,则可用()。
A.UPDATESSETgrade=85WHERESN=’王二’ANDCN=’化学’
B.UPDATESSETgrade=’85’WHERESN=’王二’ANDCN=’化学’
C.UPDATEgrade=85WHERESN=’王二’ANDCN=’化学’
D.UPDATEgrade=’85’WHERESN=’王二’ANDCN=’化学’
14.在SQL语言中,子查询是()。
A.返回单表中数据子集的查询语言
B.选取多表中字段子集的查询语句
C.选取单表中字段子集的查询语句
D.嵌入到另一个查询语句之中的查询语句
15.SQL是一种()语言。
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.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表插入如下行时,()行可以被插入。
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”课的男生姓名,将涉及到关系()。
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中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。
视图本身不独立存储在数据库中,是一个虚表。
即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。
4.试述视图的优点。
答:
(1)视图能够简化用户的操作。
(2)视图使用户能以多种角度看待同一数据。
(3)视图对重构数据库提供了一定程度的逻辑独立性。
(4)视图能够对机密数据提供安全保护。
5.所有的视图是否都可以更新?
为什么?
答:
不是。
视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。
因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。
如《概论》3.5.1中的视图S_G(学生的学号及他的平均成绩)
CREATVI