数据库系统原理0.docx
《数据库系统原理0.docx》由会员分享,可在线阅读,更多相关《数据库系统原理0.docx(19页珍藏版)》请在冰点文库上搜索。
数据库系统原理0
数据库系统原理
一、单项选择题
1.单个用户使用的数据视图的描述称为?
A
A.外模式B.概念模式C.内模式D.存储模式
2.一个关系中的候选关键字可以有几个?
B
A.至多一个B.可多个C.必须多个D.至少3个
3.在数据库设计中,将ER图转换成关系数据模型的过程属于?
B
A.需求分析阶段B.逻辑设计阶段
C.概念设计阶段D.物理设计阶段
4.下列不属于事务的特性的是?
C
A.隔离性B.一致性C.完整性D.原子性
5.下面哪个选项不是SQL语言优点?
A
A.能方便地生成报表B.高度非过程化
C.数据独立性好D.语言简练,易学易用
6.E-R图适用于建立数据库的什么模型?
A
A.概念模型B.逻辑模型C.结构模型D.物理模型
7.在数据库恢复时,对已完成的事务,将执行以下哪个操作?
B
A.UNDO操作B.REDO操作
C.COMMIT操作D.ROLLBACK操作
8.关系数据库系统中,表的结构信息存储在哪里?
A
A.数据字典中B.指针中C.关系中D.表中
9.在关系数据库系统中,一个关系中的任意两个元组?
C
A.可全同B.必须全同C.不能全同D.以上都不是
10.实体完整性规则是什么意思?
B
A.不允许有空行B.主键不允许有空值
C.不允许有空列D.外键不允许有空值
11.以下关于事务调度和封锁的描述中,正确的是?
A
A.遵守两段封锁协议的并发事务一定是可串行化的前者是后者必要条件关系
B.可串行化的并发事务一定遵守两段封锁协议
C.遵守两段封锁协议的并发事务不一定是可串行化的
D.遵守两段封锁协议的并发事务一定不会产生死锁
12.在SQL语言中,GRANT/REVOKE语句实现什么功能?
D
A.并发控制B.完整性控制
C.一致性控制D.安全性控制,授权/收权语句
13.在数据库系统中,把可以相互区别的客观事物称为?
C
A.文件B.字段C.实体D.关键码
14.在数据库系统中,日志文件用于?
D
A.保障事务的并发性B.保障数据的安全性
C.检测系统的死锁D.数据库故障的恢复
15.数据库管理系统中的安全控制模块属于?
D
A.数据库定义程序模块B.数据库操纵程序模块C.数据库运行管理程序模块D.数据库组织、存储和管理程序模块
16.在数据库的三级模式中,内模式有(A)。
A.1个B.2个C.3个D.任意多个
17.在查询中,默认的字段显示顺序是(B)
A.在表的“数据表视图”中的显示顺序
B.添加时的顺序
C.按照字母顺序
D.按照文字笔画顺序
18.数据模型的三个要素分别是(B)。
A.实体完整性、参照完整性、用户自定义完整性
B.数据结构、关系操作、完整性约束
C.数据增加、数据修改、数据查询
D.外模式、模式、内模式
19.在关系模式R中,Y函数依赖于X的语义是:
(B)。
A.在R的某一关系中,若两个元组的X值相等,则Y值也相等。
B.在R的每一关系中,若两个元组的X值相等,则Y值也相等。
C.在R的某一关系中,Y值应与X值相等。
D.在R的每一关系中,Y值应与X值相等。
20.若对于实体集A中的每一个实体,实体集B中有1个实体(n≥0)与之联系,而对于实体集B中的每一个实体,实体集A中只有1个实体与之联系,则实体集A和实体集B之间的联系类型为(A)。
A.1:
1B.1:
NC.M:
ND.N:
1
21.若关系R为M列P行,关系S为N列Q行,则(B)的结果为M+N列P×Q行。
A.R-SB.R×SC.R÷SD.R+S
22.在可信计算机系统评测标准中,达到初步安全产品要求的是(A)级。
A.C1B.C2C.B1D.B2
23.实现数据库安全性控制的常用方法和技术有(A)
A.用户标识与鉴别、存取控制、视图机制、审计、数据加密
B.存取控制、视图机制、审计、数据加密、防火墙
C.用户标识与鉴别、存取控制、视图机制、审计、防火墙
D.存取控制、视图机制、审计、数据加密、数据转储
24.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C)。
A.完整性B.可靠性C.安全性D.一致性
25.当关系S自然联接时,能够把S原该舍弃的元组放到结果关系中的操作是(D)
A.左外联接B.右外联接C.外部并D.外联接
26.数据库系统的数据独立性体现在(B)。
A.不会因为数据的变化而影响到应用程序
B.不会因为数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
27.在SQL语言的Select语句中实现选择运算的子句是(A)。
A.SelectB.FromC.WhereD.Groupby
28.如果事务T对数据D已加S锁,则其他事务对数据D(A)
A.可以加S锁,不能加X锁B.可以加S锁,也可以加X锁
C.不能加S锁,可以加X锁D.不能加任何锁
29.对于除备注、超级链接和OLE对象类型之外的其他类型的字段,可以指定建立(C)索引防止输入重复数据。
A.无反复B.正常C.无重复D.规则化
30.数据库文件打开的方法有(D)
A.使用“文件”菜单中的打开命令
B.使用工具栏上的“打开”命令按钮
C.在文件夹中用鼠标左键双击数据库文件
D.以上都可以
二、填空题
1.在数据库方式下的信息处理中,数据占据了中心位置。
2.数据库应用系统设计中逻辑设计的主要内容是把ER模型的实体和联系转换为关系模式。
3.关系模式的操作异常问题往往是由数据冗余引起的。
4.如果关系R中只有一个键,且该键是单属性,那么R至少属于第二范式。
5.SQL语言的使用方式有两种,一种是交互式,另一种是嵌入式。
6.删除索引时,系统会同时从数据字典中删除有关该索引的描述。
7.事务运行过程中,由于种种原因,使事务未运行到正常终止点就被撤消,这种情况称为事务故障。
8.数据库的并发操作带来三个问题是:
丢失更新问题、读脏数据问题和不可重复读问题。
9.S锁解决了丢失更新问题,但同时又可能会引起死锁问题。
10.在SQL Server中,将一组具有相同权限的用户组织在一起称为角色。
11.第二范式是在第一范式的基础上消除了部分函数依赖。
12.事务是并发控制的基本单位。
13.在数据库的两层映像中,模式/内模式映像保证了物理独立性。
14.事务并发控制机制中,预防死锁的方法是一次封锁法和顺序封锁法;
15.第三范式是在第二范式的基础上消除了传递函数依赖。
16.数据库系统的三级模式结构是指数据库系统由外模式、模式和内模式三级构成。
17.建立冗余数据最常用的技术是数据转储和备份日志文件。
18.数据库设计分为如下几个阶段:
需求分析、结构设计、行为设计数据库实施、数据库运行和维护。
19.数据库结构设计包括概念结构设计、逻辑结构设计、物理结构设计。
20.基本的锁类型有两种:
排他锁或X锁或写锁、共享锁或S锁或读锁。
三、简答题
1.什么是安全运算?
答:
在数据库技术中,不产生无限关系和无穷验证的运算称为安全运算,相应的表达式称为安全表达式,所采取的措施称为安全约束。
在关系演算中约定,运算只对表达式中公式在涉及到的关系的值范围内操作。
这样就不会产生无限关系和无穷验证问题,关系演算是安全的。
2.简述查询优化的优化策略?
答:
(1)在关系代数表达式中尽可能早地执行选择操作。
(2)把笛卡尔积和随后的选择操作合并成F联接运算。
(3)同时计算一连串的选择和投影操作,以免分开运算造成多次扫描文件,从而能节省操作时间。
(4)如果在一个表达式中多次出现某个子表达式,应该将该子表达式预先计算出结果保存起来。
以免重复计算。
(5)适当的对关系文件进行预处理。
3.SQL的组成分成几部分?
答;SQL主要分成四部分:
(1)数据定义。
(SQLDDL)用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
(2)数据操纵。
(SQLDML)数据操纵分成数据查询和数据更新两类。
数据更新又分成插入、删除、和修改三种操作。
(3)数据控制。
包括对基本表和视图的授权,完整性规则的描述,事务控制等内容。
(4)嵌入式SQL的使用规定。
涉及到SQL语句嵌入在宿主语言程序中使用的规则。
4.什么是视图,它与表的区别是什么?
答:
在SQL中,外模式一级数据结构的基本单位是视图,视图是从若干基本表和(或)其他视图构造出来的表。
我们创建一个视图时,只是把其视图的定义存放在数据字典中,而不存储视图对应的数据,因此,视图被称为“虚表”,这是它与表的主要区别。
5.数据字典由哪几部分组成?
答;
(1)数据项
(2)数据结构(3)数据流(4)数据存储(5)加工过程.
6.什么是依赖联系?
答:
在现实世界中,常常有某些实体对于另一些实体具有很强的依赖关系,即一个实体的存在必须以另一个实体的存在为前提。
我们通常把前者称为弱实体。
在ER图中,用双线框表示弱实体,用指向弱实体的箭头表明依赖联系。
7.什么是物理设计?
答:
对一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,称为数据库的物理设计。
物理结构,主要指数据库在物理设备上的存储结构和存取方法。
8.数据库实现阶段的主要工作?
答:
(1)建立实际数据库结构
(2)试运行(3)装入数据
9.什么是事务?
答:
事务是一个操作序列。
这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位,相当于操作系统环境中的“进程”概念。
事务以BEGINTRANSACTION语句开始,以COMMIT语句或ROLLBACK语句结束。
10.用户访问数据库都有哪些权限?
答:
(1)读权限
(2)插入权限(3)修改权限(4)删除权限。
11.文件系统阶段的数据管理有哪些特点?
答:
文件系统阶段主要有5个特点:
数据以“文件”形式长期保存;数据的逻辑结构与物理结构有了区别;文件组织已多样化;数据面向应用;对数据的操作以记录为单位。
12.试解释DB、DBMS和DBS三个概念。
答:
DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
DBMS是位于用户与0S之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法。
DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件
和数据资源组成的系统,即采用数据库技术的计算机系统。
13.SQLServer2005有哪些数据类型?
答:
SQLServer中数据类型分为整型、浮点型、二进制数据型、逻辑型、字符型、文本型、图形型、日期时间型、货币型、自定义类型、可变数据类型和表数据类型。
14.文件系统阶段的数据管理有些什么缺陷?
试举例说明。
答:
主要有3个缺陷:
数据冗余;数据不一致性;数据联系弱。
例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,如联系电话,家庭住址等。
这就是“数据”冗余;如果某个学生搬家,就要修改3个部门文件中的数据,否则会引起同一数据在3个部门中不一致;产生上述问题的原因是这3个部门的文件中数据没有联系。
15.数据库阶段的数据管理有哪些特色?
答:
主要有3个缺陷:
数据冗余;数据不一致性;数据联系弱。
例如学校里教务处、财务处、保健处建立的文件中都有学生详细资料,如联系电话,家庭住址等。
这就是“数据”冗余;如果某个学生搬家,就要修改3个部门文件中的数据,否则会引起同一数据在3个部门中不一致;产生上述问题的原因是这3个部门的文件中数据没有联系。
16.什么是数据独立性?
在数据库中有哪两级独立性?
答:
数据独立性是指应用程序与DB的数据结构之间的相互独立。
在物理结构改变时,尽量不影响应用程序,称为物理独立性;在逻辑结构改变时,尽量不影响应用程序,称之为逻辑数据独立性。
17.简述层次、网状和关系模型中数据联系的实现方法。
答:
1、在层次、网状模型中,数据之间联系是用指针实现的。
2、在关系模型中,数据之间的联系是通过外键和主键间联系实现的。
18.为什么关系中的元组没有先后顺序?
答:
由于关系定义为元组的集合,而集合中的元素是没有顺序的,因而关系中的元组也就没有先后顺序。
19.什么是完全函数依赖?
答:
在关系R(U,F)中,如果X—>Y,而对于X的任何真子集X’,Y对X’均不存在函数依赖,称Y对X完全依赖。
20.简述SQL数据库的体系结构中表的三种类型。
答:
1)基本表2)视图3)导出表。
基本表是实际存储在数据库中的表,视图是由若干基本表或视图构成的表的定义,而导出表是执行了查询时产生的表。
四、设计题
1.对于教学数据库的三个基本表(如下):
学生S(S#,SNAME,AGE,SEX)
学习SC(S#,C#,GRADE)
课程C(C#,CNAME,TEACHER)
请设计一个SQL语句,检索年龄大于23岁的男学生的学号和姓名
答:
Selects#,sname
Froms
WhereAGE>23andsex=’男’
2.设教学数据库有如下表格:
Student(S#,Sname,Sage,Ssex)
Course(C#,Cname,T#)
Teacher(T#,Tname)
SC(S#,C#,score)
请设计一个SQL语句,查询同时存在"01"课程和"02"课程的情况
答:
selecta.*,b.score[课程'01'的分数],c.score[课程'02'的分数]fromStudenta,SCb,SCcwherea.S#=b.S#anda.S#=c.S#andb.C#='01'andc.C#='02'
3.设教学数据库有如下表格:
Student(S#,Sname,Sage,Ssex)
Course(C#,Cname,T#)
Teacher(T#,Tname)
SC(S#,C#,score)
请设计一个SQL语句,查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩
答:
selecta.S#,a.Sname,cast(avg(b.score)asdecimal(18,2))avg_score fromStudenta,scb wherea.S#=b.S# groupbya.S#,a.Sname havingcast(avg(b.score)asdecimal(18,2))>=60 orderbya.S#
4.设教学数据库有如下表格:
Student(S#,Sname,Sage,Ssex)
Course(C#,Cname,T#)
Teacher(T#,Tname)
SC(S#,C#,score)
请设计一个SQL语句,查询学过"张三"老师授课的同学的信息
答:
selectdistinctStudent.*fromStudent,SC,Course,Teacher whereStudent.S#=SC.S#andSC.C#=Course.C#andCourse.T#=Teacher.T#andTeacher.Tname='张三' orderbyStudent.S#
5.数据库中包括3按各表:
客户表:
由客户号、姓名、地址、电话、邮编五个属性组成,关系模式为:
KH(Kno,Kname,Addr,Phone,YZBM), 其中Kno为主码。
发票表:
由发票号、客户号、开票日期、发票金额、业务员号五个属性组成,关系模式为:
FP(Fno,Kno,Fdate,Fmoney,Yno),其中Fno为主码。
业务员表:
由业务员号、姓名、性别、年龄、工资、办公室编号六个属性组成,关系模式为:
YWY(Yno,Yname,Ysex,Yage,Salary,Ono),其中Yno为主码。
请设计一个SQL语句,查询各办公室男性和女性业务员的平均工资。
SelectOno,Ysex,avg(Salary)fromYWYgroupbyOno,Ysex
6.设某图书集团有一关系模式R如下:
R(书店编号,书籍编号,库存数量,部门编号,负责人)如果规定:
(1)每个书店的每种书籍只在该书店的一个部门销售;
(2)每个书店的每个部门只有一个负责人;
(3)每个书店的每种书籍只有一个库存数量。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)有三个函数依赖:
(书店编号,书籍编号)部门编号(2分)
(书店编号,部门编号)负责人(2分)
(书店编号,书籍编号)库存数量(2分)
部门编号负责人
书籍编号库存数量
(2)R的候选码:
(书店编号,书籍编号)(3分)
(3)R属于2NF。
(2分)
因为R中存在着非主属性“负责人”对候选码(书店编号,书籍编号)的传递函数依赖,所以R属于2NF。
(3分)
(4)分解成:
R1(书店编号,书籍编号,库存数量,部门编号)(3分)
R2(书店编号,部门编号,负责人)
7.设有关系模式:
授课表(课程号,课程名,学分,授课教师号,教师名,授课时数)。
其语义为:
一门课程号有确定的课程名和学分,每名教师有确定的教师名,每门课程号可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程号有确定的授课时数。
回答以下问题:
(1)根据上述规定写出关系模式R的基本函数依赖;
(2)找出关系模式R的候选码;
(3)试问关系模式R最高已经达到第几范式?
为什么?
(4)将R分解成3NF模式集。
答:
(1)课程号(课程名,学分)F
授课教师号教师名F
(授课教师号,课程号)授课时数F
(授课教师号,课程号)(课程名,学分,教师名)P
(2)候选码:
授课教师号,课程号
(3)存在部分函数依赖,R达到第一范式
(4)Course(课程号,课程名,学分)
Teacher(授课教师号,教师名)
CT(课程号,授课教师号,授课时数)
8.设有选课关系SC(学号,课号,成绩),试用SQL语句定义一个有关学生学号及其平均成绩的视图SV。
答:
CREATEVIEWSVAS
SELECT学号,AVG(成绩)FROMSC
GROUPBY课号
9.设有选课关系SC(学号,课号,成绩),试用SQL语句检索选修B2或B5课程的学生学号。
答:
SELECT学号FROMSCWHERE课号=‘B2’OR课号=‘B5’
10.设有学生关系S(学号,姓名,性别,奖学金),选课关系SC(学号,课号,成绩),用SQL语句完成如下操作:
对成绩得过满分(100)的学生,如果没有得过奖学金(NULL值),将其奖学金设为1000元。
答:
UPDATEINTOS
SET奖学金=1000
WHERE学号IN(SELECT学号FROMSCWHERE成绩=100)
五、综合题
1.某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。
工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。
(1)根据上述语义画出ER图
(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
答:
工厂(工厂编号、厂名、地址)主键:
工厂编号
产品(产品编号、产品名、规格)主键:
产品编号
职工(职工号、姓名、工厂编号、聘期、工资)主键:
职工号外键:
工厂编号
生产(工厂编号、产品编号、计划数量)主键:
(工厂编号,产品编号)组合起来是主键
外键:
工厂编号、产品编号
2.某公司的业务规则如下:
(1)每位职工可以参加几个不同的工程,且每个工程有多名职工参与;
(2)每位职工有一个职位,且多名职工可能有相同的职位;
(3)职位决定小时工资率,公司按职工在每一个工程中完成的工时,计算酬金;
(4)职工的属性有职工号、姓名、职位和小时工资率;
(5)工程的属性有工程号和工程名称。
(1)根据上述语义画出ER图
(2)将ER模型转换成关系模型,并指出每个关系模式的主键和外键。
答:
工厂(工厂编号、厂名、地址)主键:
工厂编号
产品(产品编号、产品名、规格)主键:
产品编号
职工(职工号、姓名、工厂编号、聘期、工资)主键:
职工号外键:
工厂编号
生产(工厂编号、产品编号、计划数量)主键:
(工厂编号,产品编号)组合起来是主键
外键:
工厂编号、产品编号
3.设某商业集团数据库中有三个实体集:
商店:
商店编号、商店名、地址
商品:
商品编号、商品名、规格、单价
职工:
职工编号、姓名、性别、业绩
每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品时有月销售量;每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出E-R图,要求在图上注明属性及联系的类型;
(2)将E-R图转换成关系模型,并注明主码;
4.设学校数据库中有两个实体集:
学生表:
学号、姓名、班级
课程表:
课程号、课程名称、教师
某学校有若干学生,每个学生可以选修多门课程,学校有若干课程供学生选修,每门课程可以供多个学生选修,要建立该学校学生选修课程的数据库,请设计:
(1)试画出E-R图,要求在图上注明属性及联系的类型;
(2)将E-R图转换成关系模型,并注明主码;
答:
(1)
(2)这个E-R图可转换为3个关系模式:
(6分)
课程表(学号,姓名,班级)
选修(学号,课程号)
课程表(课程号,课程名称,教师)