数据库原理与应用试题含答案.docx
《数据库原理与应用试题含答案.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用试题含答案.docx(19页珍藏版)》请在冰豆网上搜索。
数据库原理与应用试题含答案
一、判断题
[数据库系统概论]2
(F)与用文件系统来管理数据相比,用数据库管理数据增加了数据冗余度。
(F)一个信息只能用一种数据形式来表示。
(F)数据库系统是数据库管理系统的重要组成部分。
(F)数据库的三级模式是概念模型、逻辑模型和物理模型。
(F)E-R模型只能转换为关系模型,不能转换为层次模型和网状模型。
(F)如果一个实体A对应多个实体B,则A与B之间必然是一对多的联系。
[关系型数据库基本原理]2
(F)一个关系的主键只能包含一个属性。
(F)在实体-联系模型中,实体具有属性,联系不能具有属性。
(F)关系运算中,选择运算是从列的角度进行的运算,投影运算是从行的角度进行的运算。
(F)在一个关系模式中,如果A->B,B->C,则称C部分依赖于A。
(F)E-R图转换为关系模型时,实体可转换为关系模式,联系不能转换为关系模式。
(F)E-R图转换为关系模式时,所有的联系都必须转换为独立的关系模式。
[数据库的管理]1
(F)数据库的文件包括数据文件、事务日志文件和索引文件。
(F)数据库的一个数据文件可以属于多个文件组。
(F)在SQLServer中,数据库的主数据文件的扩展名是ldf。
[表的管理]2
(F)创建一个表时,对于表的每一列,必须指明数据类型和长度,例如“生日datetime(8)”。
(T)在SQLServer中,nchar数据类型与nvarchar数据类型的区别是,前者是固定长度的,后者是可变长度的。
(T)在SQLServer中,存储逻辑型数据值的数据类型是bit.
(F)SQL中的数据定义语言(DDL)用于实现数据增、删、改、查等数据操作。
(F)对于逻辑型的属性,赋值是只能写“YES”或“NO”。
(T)在SQL语句中,对一个字符型的属性赋值,应该两边用单引号将值包括起来。
[数据查询]1
(F)关系型数据库的连接查询有内连接和外连接之分,内连接只能实现两个表的查询,外连接可以实现多个表的查询。
(F)在SELECT语句的WHERE子句部分,不能再使用SELECT语句。
(T)在进行分组统计时,如果需要对分组进行筛选,应使用HAVING语句而不是WHERE语句。
[索引与视图]2
(F)为了提高数据库的检索和更新速度,最好在数据表的每个字段都建立索引。
(F)聚集索引一定是唯一性索引,非聚集索引一定是非唯一性索引。
(T)主键索引必然是唯一索引。
(F)视图一旦创建,就存储了数据。
(F)视图只能用来查看数据,不能在视图上进行数据更新。
(F)视图只能用来查看一个基本表的数据,相当于在一个基本表上的投影与选择。
[数据完整性]1
(F)数据完整性有3种类型:
实体完整性、参照完整性、更新完整性。
(F)外键约束定义了表与表之间的关系,用于保证实体完整性。
(F)检查约束和默认约束都用于保证数据的实体完整性。
[存储过程和触发器]2
(T)存储过程可以带参数,从而增加调用灵活性。
(F)SQLSERVER中的所有存储过程都必须由用户自定义,系统本身没有定义好的存储过程。
(F)存储过程一旦创建,其脚本就被加密,不能再次编辑修改。
(F)触发器被定义以后,只有当用户调用它时才触发,用户不调用时触发器不起作用。
(F)可以根据完整性的需要,对某一个表定义SELECT触发器。
(F)事务的原子性是指事务中的每一个操作彼此是独立的。
[数据的安全管理]1
(T)SQLServer身份验证有两种模式:
Windows身份验证模式和混合身份验证模式。
(F)凡可以登录到SQLServer上的用户,都可以打开任意数据库,并读取数据库中的表。
(F)如果一个用户能读取某数据库的某表的数据,则该用户必然能对该表的数据进行修改。
[数据库的备份与还原]1
(T)SQLServer数据库中的数据,可以导入到一个Excel文件中。
(T)SQLServer支持完全备份、事务日志备份、差异备份。
(F)在SQLServer上进行数据库分离,意味着删除数据文件。
二、选择题(30分,单项选择,共15题,每题2分)
[数据库系统概论]2
E-R图用于描述数据库的(A)。
A.概念模型B.物理模型
C.存储模型D.逻辑模型
ER图中的主要元素是(B)。
A.结点、记录和文件 B.实体、联系和属性
C.记录、文件和表 D.记录、表、属性
以下(A)组术语属于概念模型的范畴。
A.实体和联系B.文件和文件组
C.索引和视图D.存储过程与触发器
数据库物理存储方式的描述称为(B)。
A.外模式 B.内模式
C.概念模式 D.逻辑模式
数据库三级模式间引入二级映射的主要作用是(A)。
A.提高数据与程序的独立性 B.提高数据与程序的安全性
C.保持数据与程序的一致性 D.提高数据与程序的可移植性
在DBS、DBMS、DB三者的关系是(A)。
A.DBS包括DBMS和DB B.DBMS包括DBS和DB
C.DB包括DBS和DBMS D.三者的包含关系在不同的场合下会发生改变
[关系型数据库基本原理]2
A∩B可等价替换为(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.(学号,班级号,班主任)
[数据库管理]1
下面(A)不是SQLServer2005的数据库对象。
A.SQL语句B.存储过程
C.索引D.触发器
SQLServer的物理存储主要包括两类文件,它们是(B)。
A.图片文件和文本文件B.数据文件和事务日志文件
C.函数文件和数据文件D.源文件和可执行文件
SQLServer事务日志文件的扩展名为(C)。
A.mdfB.ndf
C.ldfD.idx
[表的管理]1
如果表S(A,B,C)中,设置A为主键,当向S表插入一行新数据时,该行(D)。
A.A,B,C属性的值都可以与已有的行相同
B.A,B,C属性的值都不能与已有的行相同
C.A属性的值不能与已有的行相同,但允许为空
D.A属性的值不能与已有的行相同,也不能为空
在SQLServer的以下数据类型中,最适合表示一个人的体重(公斤,保留一位小数)的是(D)。
A.char B.float
C.tinyint D.decimal
对于数据库中的表A,如果想要清空A中的数据且不留下事务日志,应使用(D)。
A.DELETETABLEAB.DROPTABLEA
C.ALTERTABLEAD.TRUNCATETABLEA
[数据查询]3
对R和S进行连接查询时,如果想在显示中保留R的所有行应该使用(C)。
A.R全外连接S B.R内连接S
C.R左外连接S D.右外连接S
对R和S进行连接查询时,如果想在显示中保留S的所有行应该使用(D)。
A.R全外连接S B.R内连接S
左外连接S D.R右外连接S
对R和S进行连接查询时,如果想在显示中保留R和S的所有行应该使用(A)。
A.R全外连接S B.R内连接S
C.R左外连接S D.右外连接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号部门员工工资的员工信息,查询语句的WHERE子句应使用(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)。
A.SELECT性别,Count(*),AVG(身高)FROM学生表GROUPBY身高
B.SELECT姓名,Count(*),AVG(身高)FROM学生表GROUPBY性别
C.SELECT性别,Count(身高),AVG(*)FROM学生表GROUPBY性别
D.SELECT性别,Count(*),AVG(身高)FROM学生表GROUPBY性别
[索引与视图]2
建立索引的主要目的是(B)。
A.节省存储空间B.提高检索速度
C.提高检索和更新速度C.增强数据安全性
对于索引,以下说法正确的是(C)。
A.一个数据表只能有一个索引B.一个数据表只能有一个唯一索引
C.一个数据表只能有一个聚集索引D.一个数据标只能有一个非聚集索引
CreateUniqueNonclusteredIndexwriter_indexOn作者信息(作者编号)语句执行后,在作者信息表上创建了一个﹝D﹞索引。
A.惟一聚集索引B.聚集索引
C.主键索引D.惟一非聚集索引
对于视图,以下正确的说法是(A)。
A.视图显示的数据可以取自于多个基础表。
B.视图并不存储数据,每次查看视图时,视图中的数据来源于基础表
C.可以基于一个视图,一次性地更改多个基础表的数据
D.视图存在于内存中,每次重新启动DBMS时,视图便会自动消失。
删除视图用下面哪条语句(A)。
A.DROPVIEW B.DELETEVIEW
C.REMOVEVIEW D.RMVIEW
对所有的视图都可以进行(B)操作。
A.插入数据B.选择数据
C.更新数据D.删除数据
[数据完整性]1
在关系型数据库中,用于实现参照完整性的办法是(D)。
A.设置默认值B.设置检查约束
C.设置外键约束D.设置主键约束
设属性A是关系R的唯一主属性,则属性A不能取空值(NULL),这是﹝D﹞规则。
A.域完整性B.参照完整性
C.用户自定义完整性D.实体完整性
以下方法中,用于实现用户自定义完整性的办法是(B)。
A.为字段设置数据类型B.设置检查约束
C.设置外键约束D.设置主键约束
[存储过程与触发器]3
关于存储过程的描述正确的一项是(C)。
A.存储过程存在于内存中,每次重新启动DBMS时,便会自动消失
B.存储过程在每次调用时都会被编译一次
C.存储过程可以包含输入和输出函数,增加了调用时的灵活性
D.执行一次存储过程所花的时间,比执行相同的SQL批处理要长
如果有两个事务同时对数据库中同一数据进行操作,不会引起冲突的是(D)。
A.一个DELETE和一个SELECTB.一个SELECT和一个DELETE
C.两个UPDATED.两个SELECT
当触发器执行时,系统会创建临时表保存用户操作更改的行的新值和旧值,UPDATE操作所涉及的值会被临时保存在(C)。
A.updated表B.inserted表
C.deleted表D.inserted表和updated表
[数据库的安全管理]1
一组具有相同权限的用户被称为(A)。
A.角色B.数据C.视图D.结构
系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况属于﹝A﹞。
A.事务故障B.系统故障
C.介质故障D.运行故障
SQLServer的安全性是基于(A)。
A.用户B.角色
C.对象和权限D.以上都对
[数据库备份与恢复]1
下列(C)操作可以实现数据库之间的数据的转换和转移。
A.对数据库进行备份操作B.对数据库进行还原操作
C.对数据库的导入与导出操作D.更改数据库文件的后辍
以下关于数据库分离与附加的描述,错误的是(A)。
A.进行数据库分离操作时,可以同时进行更新操作
B.移动数据库前,最好为数据库做一个完整备份
C.要确保数据库移动的目标有足够的空间,满足数据库的增长
D.分离数据库并没有将数据库文件从磁盘上删除
三、填空题
[关系型数据库基本原理]1
设关系模式R(A,B,C,D),(A,B)->C,A->D是R的属性依赖函数,则由于R中存在_____依赖,故关系模式不满足2NF,为使R满足2NF,应将R分解为______和__________。
(部分依赖,R1(A,B,C),R2(A,D))
设关系模式R(A,B,C,D),(A,B)->C,C->D是R的属性依赖函数,则由于R中存在_____依赖,故不满足3NF,为使R满足3NF,应将R分解为______和__________。
(传递依赖,R1(A,B,C),R2(C,D))
对关系模式的规范化要求分为不同的层次,如果关系R的函数依赖集中不存在传递依赖,则称R满足_______,如果不存在部分依赖,则称R满足______________,如果R中的属性不能分解为更基本的成员,则称R满足____________。
(3NF,2NF,1NF)
[数据库管理]1
SQLServer数据库的文件分为三类,分别是___________,____________,_____________.(主数据文件,次数据文件,事务日志文件)
SQL包括三个部分,数据定义语言简写作_______,数据操纵语言简写作__________,数据控制语言简写作________________。
(DDL,DML,DCL)
[数据完整性]1
关系型数据的数据完整性包括_______________,____________________和___________________。
(实体完整性,参照完整性,用户自定义完整性)
关系型数据库的数据完整性包括实体完整性,参照完整性,用户自定义完整性,DBMS中用约束来保证外整性,其中,主键约束用于保证__________,外键约束用于保证_____________,检查约束用于实现__________。
(实体完整性,参照完整性,用户自定义完整性)。
写出约束的中文名,PRIMARYKEY约束被称为_______约束,UNIQUE约束被称为______________约束,CHECK约束被称为____________约束。
(主键,唯一,检查)
[存储过程与触发器]1
事务具有四项基本属性,分别是原子性、________________,____________和___________.(一致性,隔离性,持久性)
在存储过程中可以定义事务,开始事务的关键词是_____________,提交事务的关键词是________,回退事务的关键词是______________。
(BEGINTRANS,COMMITTRANS,ROLLBACKTRANS)
[数据库安全管理]1
SQLServer中的权限包括3种类型:
________________,_____________和_____________。
(对象权限,语句权限,隐含权限)
在SQLServer2005中,数据库的安全机制包括_______________管理、数据库用户管理、_____________________管理和_____________管理。
(登录账号管理,角色管理,权限管理)
四、简答题(18分,SQL语法考查,共6小题)
1、(共5分)有关系模式R(U,F),属性集U={A,B,C,D,E},函数
依赖集合F={C->A,BC->D,D->E},请回答如下的问题:
(1)R最高属于第几范式说明理由;
(2)请分解R为符合第三范式的关系模式集合,并给出每个关系的主码:
2、(共13分)根据以下员工表,写SQL语句完成以下任务:
工号
姓名
部门号
工资
001
吴子丰
D01
10000
002
刘质
D02
15000
003
李智
D02
30000
(1)向员工表增加一条数据,(004,魏策,D01,25000)(2分)
(2)对员工表,列出月工资在2000~3000元之间的员工名单。
(2分)
(3)创建视图V1,用于显示各部门的平均工资,(即显示(部门号,平均工资)。
)(3分)
(4)创建存储过程,取名为Proc_1,用于修改某员工工资的存储过程,其员工号,工资要求以参数输入(员工号类型为:
char(10);工资类型为:
@scoreint)。
(3分)
(5)为员工表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。
(3分)
答案:
1、(共5分)
(共2分)R最高属于1NF范式。
理由:
关系模式R(U,F)的主码是(B,C),属性之间存在部分函数依赖C->A,同时存在传递函数依赖BC->D,D->E。
符合第三范式的关系模式集合:
(共1分)R1(C,A),主码:
C
(共1分)R2(BC,D),主码:
BC
(共1分)R3(D,E),主码:
D
2、(共13分)根据以下员工表,写SQL语句完成以下任务:
1.向员工表增加一条数据,(004,张三,D01,2500)(2分)
INSERTINTO员工表-----------分
(工号,姓名,部门号,工资)-------------0.5’
VALUES(‘004’,’魏策’,’D01’,25000)-----------1分
2..对员工表,列出月工资在2000~3000元之间的员工名单。
(2分)
SELECT*FROM员工表-----------1分
WHERE工资BETWEEN2000AND3000-----------1分
(语句中的WHERE子句还有等价的形式,或为以下:
WHERE工资>=2000AND工资<=3000)
3.创建视图V1,用于显示各部门的平均工资,【即显示(部门号,平均工资)。
)(3分)
CREATEVIEWV1AS-----------分
SELECT部门号,avg(工资)as平均工资-----------1分
FROM员工表-----------分
GROUPby部门号-----------1分
4.创建存储过程,取名为Proc_1,用于修改某员工工资的存储过程,其员工号,工资要求以参数输入(员工号类型为:
char(10);工资类型为:
@scoreint)。
(3分)
CREATEPROCEDUREProc_1分
@sidchar(10),@scoreint-----------1分
AS分
UPDATE员工表
SET工资=@score-----------分
WHERE工号=@sid-----------分
5.为员工表创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。
(3分)
CREATETRIGGERtest_tr-----------分
ON员工表FORINSERT,UPDATE,DELETE----------1分
AS分
SELECT*FROMinserted-----------分
SELECT*FROMdeleted-----------分
1、(共5分)有关系模式R(U,F),属性集合U={A,B,C,D,E},函数依赖集合F={A->BC,B->D,CD->E,E->B},
请回答如下的问题:
(1)R的候选码是:
(2)R最高属于第几范式说明理由;
(3)请分解R为符合第三范式的关系模式集合,并给出每个关系模式的主码。
2、(共13分)根据以下学生表,写SQL语句完成以下任务:
学号
姓名
系号