数据库原理及应用复习题 3Word格式文档下载.docx
《数据库原理及应用复习题 3Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用复习题 3Word格式文档下载.docx(22页珍藏版)》请在冰豆网上搜索。
5、SQL语言具有(B)的功能
A.关系规范化、数据操纵、数据控制台
B.数据定义、数据操纵、数据控制
C.数据定义、关系规范化、数据控制
D.数据定义、关系规范化、数据操纵
6、语句SELETCOUNT(*)FROMhuman返回(A)行。
A.1
B.2
C.3
D.4
7、在SQL语言中,子查询是(D)。
A.返回单表中数据子集的查询语句
B.选取多表中字段子集的查询语句
C.选取单表中字段子集的查询语句
D.嵌入到另一个查询语句之中的查询语句
8、假设数据表“test1”中有10条数据行,可获得最前面两条数据行的命令为(B)
A.SELECT2*FROMtest1
B.SELECTTOP2*FROMtest1
C.SELECTPERCENT2*FROMtest
D.SELECTPERCENT20*FROMtest1
9、并发操作不会带来的问题:
(C)
A.丢失更新B.可重复读C.未提交读D.幻象读
10、有两种错误可能造成事务执行失败:
(C)
A.逻辑错误和数据错误B.系统错误和数据错误
C.逻辑错误和系统错误D.均不正确
11、关系模型是用(B)来表示数据之间的联系。
A.图结构B.二维表C.树结构D.链表
12、关系操作的特点是:
(B)
A.单一数据操作方式B.集合操作方式
C.数组操作方式D.队列操作方式
13、设关系R和S的元组个数分别为100和300,关系T是R与S的笛卡儿积,则T的元组个数是:
(C)
A.400B.10000C.30000D.90000
14、SQL语言集数据查询、数据操作、数据定义、和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现下列哪类功能:
(C)
A.数据查询B.数据操纵C.数据定义D.数据控制
15、在SQL语言的SELECT语句中,能实现投影操作的是:
(A)
A.SELECT投影B.FROM连接C.WHERE选择D.GROUPBY分组
16、在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建:
(D)
A.另一个表B.游标C.视图D.索引
17、不属于实体完整性的是:
(A)
A.check约束B.唯一性约束C.主键约束D.非空约束
18、用于数据库恢复的重要文件是(A)
A、数据库文件B、索引文件C、日志文件D、数据文件
19、SQLServer2000中事务的类型有(A)
A、系统、用户定义的事务B、分布式事务
C、数据库事务D、其他事务
20、下面字符串能与通配符表达式[abc]%a进行匹配的是:
(C)。
A、bcdefB、a_bcdC、abc_aD、a%a
21、关系操作的特点是:
(B)
C.数组操作方式D.队列操作方式
22、SQLServer2000中取当前时间的函数是(B)
A.DATA()B.GETDATE()C.NOW()D.CURRENTTIME()
23、数据恢复的几种方式中损失最小的是:
(A)
A.崩溃恢复B.版本恢复C.前滚恢复D.均不正确
24、设置参照完整性是为了保证数据表之间的数据保持一致,通过在两个数据表的(A)之间建立外键约束来实现。
A.主键和外键B.唯一键和外键
C.主键和唯一键D.A和B均正确
25、关系模型是用(B)来表示数据之间的联系。
26、关系可以分为三种类型,不属于这三种类型的是:
(D)
A.基本关系B.查询表C.视图表D.存储过程
27、就查找速度而言,以下哪种索引最佳(A)
A.聚集索引B.非聚集索引C.唯一索引D.以上均不正确
28、函数SUBSTRING(CONVERT(CHAR(33),GETDATE(),112),3,2)执行的结果是(B)
A.12B.20C.09C.00
29、SQLServer2000中的数据库文件组分为(A)
A.主文件组和用户定义文件组B.主文件组和辅文件组
C.主文件组和事务文件组D.以上均不正确
30、SQLServer2000中,根据文件的功能划分,可分为(D)两大类。
A.数据库文件和脚本文件B.事务日志文件和mdf文件
C.mdf文件和ndf文件D.数据文件和事务日志文件
31、下面仅存在于服务器端的组件是:
A、服务管理器B、企业管理器C、查询分析器D、导入导出组件
32、数据库中只存放视图的(C)。
A、操作C、对应的数据B、定义D、限制
33、Select语句中用来连接字符串的符号是(A)。
A、“+”B、“&
”C、“||”D、“|”
34、两个关系在没有公共属性时,其自然连接操作表现为(B)
A.结果为空关系B.笛卡儿积操作
C.等值联接操作D.无意义的操作
35、数据流程图(DFD)是用于描述结构化方法中(C)阶段的工具。
A.可行性分析B.程序设计C.需求分析D.详细设计
36、关系模型中,表示实体间N:
M联系是通过增加一个(A)。
A.关系实现B.属性实现
C.关系或一个属性实现D.关系和一个属性实现
37、为提高效率,关系数据库系统必须进行(B)处理。
A.定义视图B.查询优化
C.数据恢复D.数据规范化到最高范式
38、在基本的关系中,下列说法正确的是(C)
A.行列顺序有关B.属性名允许重名
C.任意两个元组不允许重复D.列是非同质的
39、一个数据库系统必须能够表示实体和关系,联系可以与(C)实体有关。
A.0个B.1个C.1个或1个以上D.2个或2个以上
40、若数据库中只包含成功事务提交的结果,则此数据库就称为处于(B)状态。
A.安全B.一致C.完整D.正确
41、假设数据表“test1”中有10条数据行,预取全部数据建立一个新表的命令为()
A.SELECTtott*FROMtest1
B.SELECT*tottFROMtest1
C.SELECT*FROMtest1tott
D.SELECT*FROMtotttest
42、有两种错误可能事务执行失败()
A.逻辑错误和数据错误B.系统错误和数据错误
C.逻辑错误和系统错误D.均不正确
三、判断题
1、列是同质的,即每一列中的分量来自同一域,是同一类型的数据。
(0)
2、文件系统阶段的数据处理的方式仅有批处理方式。
3、数据库的三级模式结构有利于数据的安全保密。
(1)
4、一个1:
n联系可以转换为一个独立的关系模式,也可以与1端对应的关系模式合并。
5、BETWEEN…AND语句是定义的是一个开区间(0)
6、利用一级封锁协议可以防止丢失更新问题的发生。
7、事务执行过程中,若有某个修改操作失败,则事务仍可以成功提交。
8、从三个级别来对sqlserver的安全性进行控制来看,分别是数据库服务器、数据库和数据库对象。
9、大多数数据库对象的命名采用模式名加对象名的命名规则,即
对象名.模式名。
10、一个1:
(0)
11、SQLSERVER不能通过windows用户登录(0)
12、串行调度的结果不一定总是正确的。
13、相对表而言,视图没有自己的数据。
14、具有IDENTITY属性的字段需要人工手动赋值。
15、执行系统存储过程时,在其名称前可以省略EXEC。
16、SQLServer2000中使用差异备份和事务日志备份即可完全恢复数据库。
17、DBMS的主要职责就是有效地实现数据库三级之间的转换,即把用户(或应用程序)对数据库的一次访问,从用户级带到概念级,再导向物理级。
(1)
18、ODBC可以无条件访问各种异构数据库。
(1)
19、默认约束的默认值可以是常量。
20、一个1:
l联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
(1)
21、二级封锁协议能防止丢失更新、读未提交数据和不可重复读。
(0)
22、相对表而言,视图没有自己的数据。
23、UNIQUE约束的列不允许为空(0)
24、通常情况下,执行系统存储过程时,在其名称前可以省略EXEC。
25、SQLServer2000中使用差异备份和事务日志备份即可完全恢复数据库。
26、实体完整性又称为行的完整性,要求表中有一个主键,其值不能为空且能唯一地标识对应的记录。
(1)
27、聚集索引中数据的物理排列顺序和逻辑顺序不一致。
28、默认值约束的默认值可以是常量。
29、现实世界中的实体具有可区分性,不具有唯一性。
30、可在同一台计算机上安装多个SQLServer实例。
31、SQLServer2000中数据库一旦建立只能增大,不能缩小。
SQL语言不是一种标准而是一种商业产品。
32、聚集索引中数据的物理排列顺序和逻辑顺序不一致。
(0)
33.、变量可以通过SELECT语句赋值
(1)
34.、两个查询语句除了连接方式不同,其他元素都相同,则通过内连接的获得的查询记录数大于或等于通过外连接获得的查询记录数。
四、名词解释题
1、关系模式:
指关系的描述,包括关系名、关系中的属性名、属性向域的映象、属性间的数据依赖关系等,记作R(A1,A2,„,An)
2、函数依赖:
指关系中一个或一组属性的值可以决定其它属性的值。
3、模式/内模式映像:
数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是惟一的。
定义通常包含在模式描述中。
当数据库的存储设备和存储方法发生变化时,数据库管理员对模式/内模式映像要做相应的改变,使模式保持不变,从而应用程序也不变,保证了数据与程序的物理独立性,简称为数据的物理独立性。
4、数据库的外延:
其值是某一时刻关系的集合
5、非平凡函数依赖:
设一个关系为R(U),X和Y为属性集U上的子集,若X→Y且X不包含Y,则称X→Y为非平凡函数依赖,否则若XY则必有X→Y,称此X→Y为平凡函数依赖。
其型是关系模式的集合,即数据库描述,称作数据库的内涵
6.参照完整性约束
参照完整性是指外码的值要么为空,要么为另一个数据库中已有的值。
如一个学生的专业不能是专业库中没有的记录
7.事物
8.第三范式
9.实体完整性
⏹实体完整性即指每一实体必须是可分的,它的主码是唯一的,如学号不能重复。
分析设计题
1.
(1)设有一个学生-课程数据库,包含下列表关系:
学生关系(学号、姓名、性别、年龄、所在系)
课程关系(课程号、课程名、先行课、学分)
选修关系(学号、课程号、成绩)
试用E-R图描绘这个数据库,要求在图中表示联系的类型(1:
1,1:
N,M:
N),并且指出每个表关系的键码。
注:
一个学生可以选修多门课程,一门课程也可以被多个学生选修,学生选修后有成绩。
(2)用SQL语句定义上述表关系结构。
2.
(1)假定一个部门的数据库包含下述信息:
职工的信息:
职工号、姓名、地址和所在部门
部门的信息:
部门所在职工、经理和销售的产品
产品的信息:
产品名、制造商、价格、型号及产品内部编号。
制造商的信息:
制造商名称、厂址、生产的产品名和价格。
试画出E-R图,并注明属性和联系类型。
(1)将上诉所得到的E-R转化成关系模型,并给出个关系模式中的关键字。
3.有一个应用:
包括三个实体集:
实体“商店”的属性有:
商店编号、店名、店址、店经理;
实体“会员”的属性有:
会员编号、会员名、地址;
实体“职工”的属性有:
职工编号、职工名、性别、工资;
每家商店有若干职工,但每个职工只能服务于一家商店,每家商店有若干会员,每个会员可以属于多家商店,在联系中应反映出职工参加某个商店工作的时间,会员的加入时间。
(1)试画出反映商店、职工、会员实体类型及联系类型的E-R图;
(2)将E-R图转换成关系模型,并指出每个表的主键和外键。
4.现有学生和教师教学模型
(1)有若干个班级,每个班级包括:
班级号、班级名、专业、人数。
(2)每个班级有若干学生,学生只能属于一个班级,学生包括:
学号、姓名、性别、年龄。
(3)有若干教师,教师包括:
编号、姓名、性别、年龄。
(4)开设若干课程,课程包括:
课程号、课程名、课时、学分。
(5)一门课程可有多名教师任教,一名教师可任多门课程。
(6)一门课程有多名学生选修,每名学生科选多门课程,但选同一门时,只能选其中一名教师。
按要求回答下面的问题:
(1)画出每个实体及其属性关系、实体间实体联系的E-R图。
(2)根据试题中的处理要求,完成数据库逻辑模型,包括各个表的名称和属性
五、按要求编写SQL脚本
1、设有一学籍管理系统,其数据库名为“EDUC”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;
日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”,物理文件名为“student_data.mdf,存放路径为“E:
\sql_data”。
日志文件的逻辑文件名为“student_log”,物理文件名为“student_log.ldf”,存放路径为“E:
按照题目要求写出创建该数据库的脚本。
createdatabaseeduc
on(
name='
student_data'
filename="
e:
\sql_data\student.mdf"
size=10Mb,
maxsize=50mb,
filegrowth=5%
)
logon(
student_log'
\sql_data\student_log.Ldf"
size=2mb,
maxsize=5mb,
filegrowth=1mb
)go
2、已知下列表的结构:
表2.1student表(学生信息表)
字段名称
类型
宽度
允许空值
主键
说明
sno
char
8
NOTNULL
是
学生学号
sname
学生姓名
sex
2
NULL
学生性别,只能取值’男’或’女’
birthday
smalldate
4
学生出生日期
spno
专业代码(外键)
entime
学生入校时间
表2.2course表(课程信息表)
cno
10
课程编号
cname
20
课程名称
表2.3student_course表(学生选课成绩表)
上课编号
score
int
学生成绩
表2.4department表(专业信息表)
Spno
Notnull
专业代码
Spname
Null
专业名称
编写sql脚本创建下列对象和查询
student表(学生信息表)course表(课程信息表)
创建:
createtablestudent
(
snochar(8)notnull,
snmechar(8)notnull,
sexchar
(2)null,
birthdaysmalldatetimenull,
spnochar(4),
entimesmalldatetimenull
Go
查询:
select*fromstudent
createtablecourse
(
cnochar(10)notnull,
spnochar(8)null,
cnamechar(20)notnull
select*fromcourse
student_course表(学生选课成绩表)department表(专业信息表)createtablestudent_course
scoreintnull
createtabledepartment
spnochar(8)notnull,
spnamechar(20)null
go
将各系学生人数,平均年龄定义为视图V_NUM_AVG将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G
createviewV_NUM_AVG(学生人数,平均年龄)
as
selectcount(sno)as学生人数,avg(datediff(yy,birthday,getdate()))[平均年龄]
fromstudent
createviewV_AVG_S_G(选修课程的门数,及平均成绩)
selectcount(cno),avg(score)
fromstudent_course
在student_course表的sno(升序),cno(升序)和score(降序)三列上建立一个普通索引IX_SC。
CREATEINDEXIX_SC
ONstudent_course(snoasc,cnoasc,scoredesc)
在course表的cname列上建立唯一索引IX_C。
REATEUNIQUECLUSTEREDINDEXIX_CONcourse(cname)
求计算机系和数学系的姓张的学生的信息;
select*fromdepartment,student
wheredepartment.spno=student.spnoandsnamelike'
张%'
and(spname='
计算机系'
orspname='
数学系'
)
3、请根据下表内容完成题目要求:
(表的名字为:
商品表)
编号商品名单价数量状态
001电视机120050
002洗衣机1650130
003空调560081
004自行车180431
005电视机2580181
006洗衣机3600230
1、查询表中所有的数据行。
2、查询表中前两行数据。
3、显示表中商品名和单价,并去掉重复行的数据。
4、查看表中数量低于10的商品信息。
5、查看表中价格最高的的商品名。
6、向表中添加一行数据,其值为(‘007’,‘电冰箱’,4560,56)
7、更改表中的数据,将自行车的单价改为280。
8、删除表中商品名为电冰箱的数据行。
select*from商品表
selecttop2*from商品表
selectdistinct商品名,单价from商品表
select*from商品表where数量<
(selecttop1*from商品表orderby单价desc
select*from商品表where单价between1000and3000
select商品名,单价from商品表orderby单价desc)
select*from商品表where商品名like'
电%'
insertinto商品表(编号,商品名,单价,数量)valuse('
007'
'
电冰箱'
4560,56)
update商品表set单价=280where商品名='
自行车'
deletefrom商品表where商品名='