《数据库原理与应用》练习题.docx
《《数据库原理与应用》练习题.docx》由会员分享,可在线阅读,更多相关《《数据库原理与应用》练习题.docx(20页珍藏版)》请在冰豆网上搜索。
![《数据库原理与应用》练习题.docx](https://file1.bdocx.com/fileroot1/2023-5/23/52c86e4c-127b-4801-9f2d-4b157e16f6d2/52c86e4c-127b-4801-9f2d-4b157e16f6d21.gif)
《数据库原理与应用》练习题
、判断题
[数据库系统概论]
(F)数据库系统的核心是数据库
(F)与用文件系统来管理数据相比,用数据库管理数据增加了数据冗余度。
(F)一个信息只能用一种数据形式来表示。
(F)数据库系统是数据库管理系统的重要组成部分。
(F)数据库的三级模式是概念模型、逻辑模型和物理模型。
(F)E-R模型只能转换为关系模型,不能转换为层次模型和网状模型。
(F)如果一个实体A对应多个实体B,则A与B之间必然是一对多的联系。
[关系型数据库基本原理]
(F)一个关系的主键只能包含一个属性。
(F)在实体-联系模型中,实体具有属性,联系不能具有属性。
(F)关系运算中,选择运算是从列的角度进行的运算,投影运算是从行的角度进行的运算。
(F)在一个关系模式中,如果A->B,B->C,则称C部分依赖于A。
(F)E-R图转换为关系模型时,实体可转换为关系模式,联系不能转换为关系模式。
(F)E-R图转换为关系模式时,所有的联系都必须转换为独立的关系模式。
[数据库的管理]
(T)数据库的文件包括数据文件、事务日志文件和索引文件。
(F)数据库的一个数据文件可以属于多个文件组。
(F)在SQLServer中,数据库的主数据文件的扩展名是ldf。
(T)事务日志文件不属于任何文件组。
(T)一个数据库可以有0个次数据文件。
(F)每个数据库可以有1个或多个主数据文件。
[表的管理]
(F)创建一个表时,对于表的每一列,必须指明数据类型和长度,例如“生日datetime(8)”。
(T)在SQLServer中,nchar数据类型与nvarchar数据类型的区别是,前者是固定长度的,后者是可变长度的。
(T)在SQLServer中,存储逻辑型数据值的数据类型是bit.
(F)SQL中的数据定义语言(DDL用于实现数据增、删、改、查等数据操作。
(F)对于逻辑型的属性,赋值是只能写“YES'或“NC”。
(T)在SQL语句中,对一个字符型的属性赋值,应该两边用单引号将值包括起来。
[数据查询]
(F)关系型数据库的连接查询有内连接和外连接之分,内连接只能实现两个表的查询,外连接可以实现多个表的查询。
(F)在SELECT语句的WHER子句部分,不能再使用SELECT语句。
(T)在进行分组统计时,如果需要对分组进行筛选,应使用HAVING语句而不是WHER语句。
(T)having子句作用于组,必须与groupby子句连用,用来指定每一分组应满足的条件。
(F)数据查询语句select的语法中,必不可少的子句是select和where。
(F)如果要使select的查询结果排序输出,需要用groupby子句配合。
(F)DELETEFROM语句将表结构同表中数据全部删除。
[索引与视图]
(F)为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。
(F)聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。
(T)主键索引必然是唯一索引。
(F)视图一旦创建,就存储了数据。
(F)视图只能用来查看数据,不能在视图上进行数据更新。
(F)视图只能用来查看一个基本表的数据,相当于在一个基本表上的投影与选择。
(F)当用户删除一个表后,基于该表建立的视图也不存在了。
[数据完整性]
(F)数据完整性有3种类型:
实体完整性、参照完整性、更新完整性。
(F)外键约束定义了表与表之间的关系,用于保证实体完整性。
(F)检查约束和默认约束都用于保证数据的实体完整性。
[存储过程和触发器]
(T)存储过程可以带参数,从而增加调用灵活性。
(F)SQLSERVER中的所有存储过程都必须由用户自定义,系统本身没有定义好的存储过程。
(F)存储过程一旦创建,其脚本就被加密,不能再次编辑修改。
(F)触发器被定义以后,只有当用户调用它时才触发,用户不调用时触发器不起作用。
(F)可以根据完整性的需要,对某一个表定义SELECT触发器。
(F)事务的原子性是指事务中的每一个操作彼此是独立的。
(T)表的每个触发动作只能有一个INSTEADOF触发器
(T)在表或视图上执行select操作不会激活触发器。
(T)Tempdb数据库保存所有的临时表和临时存储过程。
(T)建表时,在表名前用"#”前缀表是本地临时表。
[数据的安全管理]
(T)SQLServer身份验证有两种模式:
Windows身份验证模式和混合身份验证模式。
(F)凡可以登录到SQLServer上的用户,都可以打开任意数据库,并读取数据库中的表
(F)如果一个用户能读取某数据库的某表的数据,则该用户必然能对该表的数据进行修改
[数据库的备份与还原]
(T)SQLServer数据库中的数据,可以导入到一个Excel文件中。
(F)SQLServer只支持完全备份、事务日志备份、差异备份三种备份。
文件和文件组备份
(F)在SQLServer上进行数据库分离,意味着删除数据文件。
选择题
以下(A)组术语属于概念模型的范畴。
A.
实体和联系B.文件和文件组
要保证数据库逻辑数据独立性,需要修改的是(C)。
A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式
数据库物理存储方式的描述称为(B)。
A.外模式B.内模式
C.概念模式D.逻辑模式
数据库三级模式间引入二级映射的主要作用是(A)。
A.
提高数据与程序的独立性
B.
提高数据与程序的安全性
C.
保持数据与程序的一致性
D.
提高数据与程序的可移植性
在DBS
DBMSDB三者的关系是(
A)。
A.
DBS包括DBM罰DB
B.
DBMS包括DBS和DB
C.
DB包括DBS和DBMS
D.
三者的包含关系在不同的场合卜会发生改变
在数据库的三级模式中,视图是(
D)
A内模式B模式C存储模式D外模式
关系数据模型的三个组成部分钟,不包括(D)
A完整性规则B数据结构C数据操作D并发控制关系数据库的规范化是为了解决关系数据库的(A)问题而引入的。
A插入、删除和数据冗余B提高查询速度
C减少数据操作的复杂性D保证数据的安全性和完整性
数据库中的冗余数据是指(D)的数据
A容易产生错误B容易产生冲突C无关紧要D由基本数据导出
[关系型数据库基本原理]AnB可等价替换为(A)。
A.A-(A-B)B.AU(A-B)
C.A-(B-A)D.B-(A-B)
有关系:
教师(编号,姓名,生日,职称),从关系中查询所有教授的情况应使用(B)关系
运算。
A.投影B.选择
C.连接D.笛卡儿积
有关系:
教师(编号,姓名,生日,职称),从关系中查询所有教师的姓名和生日应使用(A)
关系运算。
A.
投影
B.
选择
C.
连接
D.
笛卡儿积
有关系:
销售
(商品号,推销员编号,销售日期,客户名
),那么,该关系的主键是(D)。
A.商品号B.商品号,推销员编号
C.(商品号,推销员编号,销售日期)D.(商品号,推销员编号,销售日期,客户名)
有关系:
教学(学号、教工号、课程号),每个学生可以选修多门课程,每门课程可以由多名学生来选修,每个老师可以讲授多门课程,每门课程可以由多个老师来讲授,那么该关系的
主键是(C)。
A.课程号B.教工号
C.(学号,教工号,课程号)D.(学号,教工号)
有关系:
教学(学号、班级号、班主任,班主任联系电话),一个学生只能属于一个班级,一
个班级只有一个班主任,一个班主任只有一个联系电话,那么该关系的主键是〔A〕。
A.学号B.班级号
C.(学号,班级号)D.(学号,班级号,班主任)
关系代数中的连接运算是由(
B)操作导出的。
A选择和投影
B选择和笛卡儿积
C投影、选择、笛卡儿积
D投影和笛卡儿积
设有两个关系R(A,B)和S(B,C),与下列SELECT语句等价的关系代数表达式是(C)
SELECTA,BFROMRWHEREBNOTIN
(SELECTBFROMSWHEREC='C56')
A.nA,B(cCM'C56'(R?
S))
B.nA,B(R?
S)
Cm'C56'
C.R—nA,B(cC='C56'(R?
S))
D.R—nA,B(cCm'C56'(R?
S))
[数据库管理]下面(A)不是SQLServer的数据库对象。
A.SQL语句B.存储过程
C.索引D.触发器
SQLServer的物理存储主要包括两类文件,它们是(B)。
A.图片文件和文本文件B.数据文件和事务日志文件
C.函数文件和数据文件D.源文件和可执行文件
SQLServer事务日志文件的扩展名为(C)。
A.mdfB.ndf
对R和S进行连接查询时,如果想在显示中保留S的所有行应该使用(D)。
A.R全外连接SB.R内连接S
C.R左外连接SD.R右外连接S
对R和S进行连接查询时,如果想在显示中保留R和S的所有行应该使用(A)。
A.R全外连接SB.R内连接S
C.R左外连接SD.右外连接S
已知关系:
学生〔学号,姓名,年龄丨,如果按年龄降序列出所有学生,并且相同年龄的学生按姓名升序排列。
则排序子句应该是〔B〕。
A.OrderBy年龄,姓名B.OrderBy年龄Desc,姓名
C.OrderBy姓名,年龄DescD.B项与C项都正确
已知关系:
员工〔工号,入职日期,部门〕,如果按部门降序列出所有员工,并且相同部门的员工按入职日期升序排列,则排序子句应该是〔C〕。
A.OrderBy部门,入职日期B.OrderBy入职日期,部门DESC
C.OrderBy部门DESC,入职日期D.B项与C项都正确
已知关系:
课程〔编号,学分,开课学期,如果按开课学期升序排列,同一学期的按学分降序排列,则排序子句应该是〔C〕。
A.OrderBy学分,开课学期B.OrderBy开课学期,学分
C.OrderBy开课学期,学分DESCD.OrderBy开课学期,学分ASC
对工资表(员工号,姓名,部门号,月薪)进行查询,列出属于D01号部门,且工资高于所有
D02号部门员工工资的员工信息,查询语句的WHER子句应使用(B)。
A.部门号=‘D01'AND月薪>ANY(SELECT月薪FROM员工表WHERE部门号='D02')
B.部门号=‘D01'AND月薪>ALL(SELECT月薪FROM员工表WHERE部门号='D02')
C.部门号=‘D01'AND月薪>(SELECT月薪FROM员工表WHERE部门号='D02')
D.部门号=‘D01'or月薪>ALL(SELECT月薪FROM员工表WHERE部门号='D02')对工资表(员工号,姓名,部门号,月薪)进行查询,分部门统计人数和平均工资,查询语
句应使用(D)。
A.SELECT部门号,Count(*),AVG(月薪)FROM工资表GROUPBY月薪
B.SELECT姓名,Count(*),AVG(月薪)FROM工资表GROUPBY部门号
C.SELECT部门号,Count(月薪),AVG(*)FROM工资表GROUPBY部门号
D.SELECT部门号,Count(月薪),AVG(月薪)FROM工资表GROUPBY部门号对学生表(学号,姓名,性别,身高)进行统计,分性别统计人数和平均身高,查询语句应使用(D)。
Count(*),AVG(身高)FROM学生表GROUPBY身高
Count(*),AVG(身高)FROM学生表GROUPBY性别
Count(身高),AVG(*)FROM学生表GROUPBY性别
Count(*),AVG(身高)FROM学生表GROUPBY性别学生成绩表grade中有字段score(float),现要把所有在55-60之间的分数提高5分,以下语句正确的是(B)
Aupdategradesetscore=score+5wherescorein55…60
Bupdategradesetscore=score+5wherescore>=55andscore<=60
Cupdategradesetscore=score+5wherescorebetween55or60
Dupdategradesetscore=score+5wherescore<=55andscore>=60[索引与视图]
建立索引的主要目的是(B)
A.一个数据表只能有一个索引
C.一个数据表只能有一个聚集索引
CreateUniqueNonclusteredIndexwriter_在作者信息表上创建了一个〔D〕索引。
A.惟一聚集索引B.聚集索引
C.主键索引D.惟一非聚集索引
对于视图,以下正确的说法是(A)。
A.视图显示的数据可以取自于多个基础表。
B.视图并不存储数据,每次查看视图时,视图中的数据来源于基础表
C.可以基于一个视图,一次性地更改多个基础表的数据
D.视图存在于内存中,每次重新启动DBMS寸,视图便会自动消失。
删除视图用下面哪条语句(A)。
在视图上不能完成的操作是(C)
A更新视图B查询C在视图上定义新的表D在视图上定义新的视图
索引是对数据库表中(C)字段的值进行排序。
A一个B多个C一个或多个D零个
下列关于索引的描述不正确的是(B)
A索引是一个指向表中数据的指针
B索引是在元组上建立的一种数据库对象
C索引的建立和删除对数据毫无影响
D表被删除时将同时删除表上建立的索引
在创建表的同时,可以用(A)来创建唯一性索引
A设置主键约束或唯一约束Bcreatetable,createindex
CcreateindexD都可以
[数据完整性]
在关系型数据库中,用于实现参照完整性的办法是(C)。
A.设置默认值B.设置检查约束
C.设置外键约束D.设置主键约束
设属性A是关系R的唯一主属性,则属性A不能取空值(NULL,这是〔D〕规则。
A.域完整性B.参照完整性
C.用户自定义完整性D.实体完整性
以下方法中,用于实现用户自定义完整性的办法是(B)。
B.设置检查约束设置主键约束
(C)。
A.为字段设置数据类型
C.设置外键约束D.
[存储过程与触发器]关于存储过程的描述正确的一项是
A.存储过程存在于内存中,每次重新启动DBMS寸,便会自动消失
B.存储过程在每次调用时都会被编译一次
C.存储过程可以包含输入和输出函数,增加了调用时的灵活性
D.执行一次存储过程所花的时间,比执行相同的SQL批处理要长
如果有两个事务同时对数据库中同一数据进行操作,不会引起冲突的是(D)。
A.一个DELETE和一个SELECTB.一个SELECT和一个DELETE
C.两个UPDATED.两个SELECT
UPDATE操作所
B.inserted表
D.inserted表禾口deleted表
当触发器执行时,系统会创建临时表保存用户操作更改的行的新值和旧值,涉及的值会被临时保存在(D)。
A.updated表
C.deleted表
在表或视图上执行(D)操作不会激活触发器
AinsertBupdateCdeleteDselect
存储过程是一组预定义并(B)的t-sql语句
A保存B编译C解释D编写一个事务要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是不可分割的操作序列。
这是事务的(A)特性。
A原子性B一致性C隔离性D持久性表示两个或多个事务可以同时运行而不互相影响的是(C)
A原子性B一致性C隔离性D持久性
t-sql语句中,用(B)语句实现对事务的回滚
AcreatetableBrollbackCgrant禾口revokeDcommit
为了防止一个用户的工作不适当地影响另一个用户,应采取(C)
A完整性控制B访冋控制在数据库系统中,死锁属于(
A系统故障B事务故障
[数据库的安全管理]一组具有相同权限的用户被称为
A.角色系统在运行过程中,情况属于〔C〕。
A.事务故障
C.介质故障[数据库备份与恢复
C.
并发控制
)
介质故障
A)。
B.数据
由于某种硬件故障,
B.系统故障
D.运行故障
D安全性控制
D程序故障
D.结构
视图
使存储在外存上的数据部分损失或全部损失,
这种
下列(C)操作可以实现数据库之间的数据的转换和转移。
A.对数据库进行备份操作B.对数据库进行还原操作
C.对数据库的导入与导出操作D.更改数据库文件的后辍
以下关于数据库分离与附加的描述,错误的是(
A)。
A.
B.
C.
D.
进行数据库分离操作时,可以同时进行更新操作移动数据库前,最好为数据库做一个完整备份要确保数据库移动的目标有足够的空间,满足数据库的增长分离数据库并没有将数据库文件从磁盘上删除
以下哪个选项正确(B)
A简单恢复模型不允许高性能大容量复制操作
B完全恢复模型可以恢复到任意即时点
C大容量日志记录恢复可以允许数据库恢复到任意即时点
D完全恢复模型在大容量复制时会造成严重数据丢失日志文件的主要作用是处理数据库的(C)。
A安全性B完整性C恢复D并发控制
三、填空题
设关系模式R(A,B,C,D),(A,B)->C,A->D是R的属性依赖函数,则由于R中存在__部分__依赖,故关系模式不满足2NF,为使R满足2NF,应将R分解为___AB、C_和_A、D。
()
设关系模式R(A,B,C,D),(A,B)->C,C->D是R的属性依赖函数,则由于R中存在—传递—依赖,故不满足3NF,为使R满足3NF,应将R分解为A、B匚和__C、D。
()
对关系模式的规范化要求分为不同的层次,如果关系R的函数依赖集中不存在传递依赖,则
称R满足__无传递依赖__,如果不存在部分依赖,则称R满足一完全依赖,如果R
中的属性不能分解为更基本的成员,则称R满足属性原子性。
()
SQL包括三个部分,数据定义语言简写作__DDL,数据操纵语言简写作DML,数据
控制语言简写作DCLq()
数据库系统包括硬件系统、软件系统、—数据库_和数据库管理员。
在_聚集_索引中,表中各行的物理顺序和键值的逻辑顺序相同。
运用—索引—可以使数据库程序迅速找到表中的数据,而不必扫描整个数据库,从而提高工
作效率。
数据库通常被划分为_用户视图_和物理视图。
tempdb数据库中保存所有的临时表和临时数据、临时创建的存储过程。
修改表的字段名可以使用系统存储过程sp_rename。
t-sql中删除记录可以使用delete或truncate_语句。
联合查询是指使用_union_运算符将多个查询结果合并在一起。
关系型数据的数据完整性包括—实体完整性—,—参照完整性—和用户自定义完整性
__q()
关系型数据库的数据完整性包括实体完整性,参照完整性,用户自定义完整性,DBMS中用
约束来保证外整性,其中,主键约束用于保证—实体完整性,外键约束用于保证
参照完整性_,检查约束用于实现用户自定义完整性。
()。
写出约束的中文名,PRIMARYKEY约束被称为―主键_约束,UNIQUE约束被称为—唯一—
约束,CHECK勺束被称为检查_约束。
()
事务具有四项基本属性,分别是原子性、一致性,隔离性—和持久性—.()
在存储过程中可以定义事务,开始事务的关键词是begintran,提交事务的关
键词是committran__,回退事务的关键词是rollbacktran。
()
触发器是一种特殊的存储过程,基于表创建,主要用来保证数据的一致性和完整性。
触发器可以在对一个表进行_增—、—删—和_改操作中的任一种或几种操作时
被自动调用执行。
SQLServer中的权限包括3种类型:
对象权限—,_语句权限和暗示性权限。
()
在SQLServer中,数据库的安全机制包括—登陆账户—管理、数据库用户管理、—角色—
管理和权限管理、架构管理。
()
sqlserver的固定角色包括固定服务器角色和固定数据库角色。
使用T-SQL语句grant授予用户或角色权限,使用__deny___禁止权限,使用REVOKE
撤销以前授予或拒绝的权限。
四、综合题
1有关系模式R(U,F),属性集U={A,B,C,D,E},函数
依赖集合F={C->A,BC->D,D->E},请回答如下的问题:
(1)R最高属于第几范式?
说明理由;
(2)请分解R为符合第三范式的关系模式集合,并给出每个关系的主码:
(1)R最高属于第1范式,因为R中存在部分依赖和传递依赖。
(2)R1(B,C,D);R2(A,C);R3(D,E)
2在studentdb数据库中,有学生表(学号,姓名,性别,生日,所在系),课程表(课程号,课程名,学分),成绩表(学号,课程号,成绩)
程序填空:
1Createprocst_g
As
Begin
Selectx.学号,x.姓名,y.分数
Fromstu_infox,gradey
Wherex.学号=y.学号
End
该段程序完成的功能是。
2createprocst_ag
As
Begin
Select学号,avg(分数)as平均分
Fromgrade
Groupby学号
End
该段程序完成的功能是。
3createprocst_up
@achar(10),
@bchar(6),
@cfloat
As
Updategrade
Set分数=@c
Where学号=@aand课程号=@b
当执行此存储过程时,输入数据为’1234500005',‘NN0005',90时,结果是:
Sql语句:
1向学生表中增加一条