数据库系统教程期末考试试卷(2011-11-09 21:30:42)
转载▼
标签:
关系模式
笛卡尔积
关键码
实体完整性
主属性
校园
试题名称:数据库系统教程
3. DB数据导航是指(从已知数据找未知数据的过程)
4. 在最小依赖集F中,错误的是(F中每个FD的左部都是单属性)
5. 设有关系模式R(A,B,C,D),F是R成立的FD集,F={B—A,B—C,C—D,D—A},则F+中,左部(CD)的函数依赖有(16个)
6. SQL中,与“not in ”等价的操作符是(<>all)
7. 当同一个实体集内部的实体之间存在着一个1:N联系时,那么根据ER模型转换成关系模型的规则,这个ER结构转换成关系模式个数(1个)
8. 在关系代数表达式的查询优化中,不正确的是(尽可能早的执行连接)
9. 数据库恢复的重要依据是(事物日志)
10. 数据库系统的核心是(数据库管理系统DBMS)
11. 实体完整性规则:(主键的属性上不能有空值)
12. 如果事物已经加了X锁:(不能加任何锁)
13. 关系代数表达式优化的三个原则(①尽可能早的执行选择操作②尽可能早的执行投影操作③避免直接做笛卡尔积,把笛卡尔积操作前和之后的一连串选择和投影合并起来一起做)
三、简答题
1.数据库管理系统主要功能?
①数据库的定义功能(定义数据库的三层结构两级映像,定义数据的完整性约束保密限制等约束)②数据库的操纵功能(检索:查询更新:插入,删除更新)③数据库的保护功能(数据库的恢复并发控制数据完整性控制数据安全性控制)④数据库的维护功能⑤数据字典
2.关系有哪些规范性限制?
①关系中每一个属性值都是不可分解的②关系中不允许出现重复元组③由于关系是一个集合,因此不考虑元组间的顺序,即没有行序④元组中的属性在理论上也是无序的,但使用时按习惯考虑列的顺序
3.笛卡尔积等值连接自然连接有什么区别:
等值连接中有笛卡尔积运算;
自然连接是一种等值连接,它是两个关系中所有公共属性进行等值连接的结果。
4.为什么进行关系模式分解分解的依据是什么?
消除数据冗余和操作异常现象存储悬挂元组,存储泛关系中无法存储的信息。②依据:数据等价与语义等价
5.数据库管理系统有哪些组成成分?
从模块结构来观察,DBMS由两大部分组成:查询处理器和存储管理器。
l 查询处理器有四个主要成分:DDL编译器,DML编译器,嵌人式DML的预编译器及查询运行核心程序。
l 存储管理器有四个主要成分:权限和完整性管理器,事务管理器,文件管理器及缓冲区管理器。
6.关系模型的三类完整性规则各是什么?
①实体完整性规则:要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标志元组的作用。
②参数完整性规则:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只有两种可能,或者为空值,或者等于R1关系中的某个主键值。(不允许引用不存在的实体)
③用户定义完整性规则:在建立关系模式时,对属性定义了数据类型,即使这样也满足不了用户的需求,此时,用户可以针对具体的数据约束,设置完整性规则,有系统检验实施以使用统一的方法处理它们,不再由应用程序承担这项工作
7. 2NF3NFBCNF定义?
2NF:如果关系模式R是1NF,且每个非主属性完全函数依赖于候选键,那么成R是第二范式。
3NF:如果关系模式R是1NF,且每个非主属性都不传递依赖于R 的候选键
BCNF:如果关系模式R是1NF,且每个属性都不传递依赖于R的候选键
8.核心SQL由那些组成?
①数据定义语言,SQLDDL用于定义SQL模式,基本表,视图,索引等结构。②数据操纵语言(SQLDML)数据查询和数据更新(插入删除修改)③嵌入式SQL语言使用规定④数据控制语言(SQL DCL)对基本表和视图的授权,完整性规则的描述,事务控制等内容
四.应用题
1.1 R(s# c# grade tname taddr )
每个学生每学一门课只有一个成绩,每门课程只有一个老师,每个老师只有一个地址。
4.选出数据依赖和候选键。2.分解成2NDF 3.分解成3NDf
五.综合题
15.
4.28设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式记录商店里每个职工的日营业额以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作,每个部门只有一个经理。试回答:
l 根据上述规定,写出模式R的基本FD和关键码。
l 说明R不是2NF的理由,并把R分解成2NF
l 进而分解成3NF模式集
① FD=【(职工编号,日期)----日营业额;职工编号---部门名;部门名—部门经理。】R的关键码(职工编号,日期)
②职工编号---部门名非主属性局部依赖于关键码,故R不是2NF
R可分解为R1(职工编号,部门名) R2=R-部门名=(职工编号,日期,日营业额,部门经理)职工编号---部门名,部门名—部门经理故职工编号---部门经理部门经理局部依
赖与关键码所以R2可继续分解为R21(职工编号,部门经理)R22(职工编号,日期,日营业额)
R1 R21 R22都是2NF
故:R可分为R1(职工编号,部门名))︼R21(职工编号,部门经理)︼R22(职工编号,日期,日营业额)
③由R1 R21 R22都是分解最简形式,故不再分解
3.2类型题
S(S#,SNAME, AGE ,SEX)
SC (S#,C#,GRADE)
C (C#,CNAME,TEACHER)
①检索liu老师所教课程的课程号,课程名
②检索年龄大雨23岁的男生的学号,姓名
③检索学号为S3学生所学课程的课程名,任课教师名
④检索至少选修liu老师所教课程中一门课程的女学生姓名
⑤检索wang同学不学的课程的课程号
⑥检索至少选修两门课程的学生学号
⑦检索全部学生都选修的课程的课程号,课程名
⑧检索选修课程包含liu老师所教课程的学生学号
答:
① CHESELECT C#,CNAME
FROM C
WHERE TEAR=?LIU?;
② SELECT S#,SNAME
FROM S
WHERE AGE>23, AND SEX=?M?;
③ SELECT CNAME,TEACHER
FROM SC, C
WHERE SC.C#=C.C# AND S#=?S3?;
④ SELECT SNAME
FROM S, SC, C
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=?F? AND TEACHER=?LIU?;
⑤ SELECT C#
FROM C
WHERE NOT EXISTS
( SELECT *
FROM S, SC
WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=WANG?);
⑥ SELECT DISTINCT X. .S#
FROM SC AS X, SC AS Y
WHERE X.S#=Y.S# AND X.C#!=Y.C#;
⑦ SELECT C#, CNAME
FROM C
WHERE NOT EXITS
( SELECT *
FROM S
WHERE NOT EXITS
(SELECT *
FROM SC
WHERE S#=S.S# AND C#=C.C#));
⑧ SELECT DISTINCT S#
FROM SC AS X
WHERE NOT EXISTS
( SELECT *
FROM C
WHREE TEACHER=?LIU?
AND NOT EXISTS
(SELECT *
FROM SC AS Y
WHERE Y.S#=X.S# AND Y.C#=C.C#));
一、选择题
1.在数据库系统中,把可以相互区别的客观事物称为( D )
A.属性 B.字段
C.文件
D.实体
2.数据库的存储设备和存取方法变化不影响整体逻辑结构的特点,称为数据库的( D )
A.实体独立性 B.物理数据独立性
C.客观独立性
D.逻辑数据独立性
3.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是
( B )
A.多对多
B.一对多
C.多对一
D.一对一
4.如果关系模式R上有函数依赖AB→C和A→C,则R中存在( B )
A.完全依赖
B.部分依赖
C.传递依赖
D.多值依赖
5.关系模型的参照完整性约束是指(C)
A.限制引用一个关系中的不同元组数据
B.限制引用不同关系中的元组数据
C.限制一个关系引用与之联系关系中不存在的元组数据
D.限制两个关系间的互相引用
6.在嵌入式SQL中,为了把集合操作转换成单记录处理方式,引进了以下哪个概念( B )
A.宿主语言 B.游标
C.DDL语言
D.DML语言
7、单个用户使用的数据视图的描述称为(A)。
A.外模式
B.概念模式
C.内模式
D.存储模式
9.数据库系统的独立性是指(B)
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为数据存储策略的变化而影响数据存储结构
D.不会因为某些数据逻辑结构的变化而影响应用程序
10.设有T1和T2两个事务,若并发操作如下,则下面评价中正确的是(C)。
T1 T2
①读A=100,B=5
②读A=100
A=A*2回写
③求A+B=105,验证错
A.该操作不存在问题
B.该操作丢失修改
C.该操作不能重复读
D.该操作读“脏数据”
11.下列SQL语句中,修改表结构的是(ALTER)
12.概念模型独立于(DBMS)
13.一个数据库系统必须能够表示实体和关系,联系可以与(1个或者1个以上)实体有关。
14.若数据库中只包含成功事务提交的结果,则此数据库就称为处于(一致)状态。
15.索引属于(内模式)。
16.恢复机制的关键问题是建立冗余数据,最常用的技术是(D:数据转储+登录日志文件)
17.在基本的关系中,下列说法正确的是(C)
A行列顺序有关 B属性名允许重名 C任意两个元组不允许重复 D列式非同质的
18.两个关系在没有公共属性时,其自然连接操作表现为(A:结果为空关系)
19.在关系数据库中,从关系规范化的意义看,如果关系R中的非主属性对码有部分函数依赖,那么R至多
是(B:2NF)
20.设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的解答是(C)。A.W1(工号,姓名),W2(工种,定额) B.W1(工号,工种,定额),W2(工号,姓名) C.W1(工号,姓名,工种),W2(工号,
定额) D.以上都不对
21.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分丢失或全部丢失,这种情况称为
(A )。
A.介质故障
B.系统故障
C.事务故障
D.运行故障
22.数据流程图(DFD)是用于描述结构化方法中(C)阶段的工具。
A.可行性分析
B.程序设计
C.需求分析
D.详细设计
23.进行自然联接运算的两个关系必须具有(B)。
A.相同属性个数
B.公共属性
C.相同关系名
D.相同关键字
24.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指(D)。
A.同一应用的多个程序共享一个数据集合
B.多个用户、同一语言共享
C.多个用户共享同一个数据文
件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合
25.关系模型中,表示实体间N:M联系是通过增加一个(A)。
A.关系实现
B.属性实现
C.关系或一个属性实现
D.关系和一个属性实现
26. SQL语言是(B)的语言,易学习。
A.过程化
B.非过程化
C.格式化
D.导航化
27.建立数据字典的时机是(A)。
A.需求分析阶段
B.数据库物理设计阶段
C.数据库实施
D.概念结构设计阶段
28.现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期),它的主键是(B)。
A.宿舍编号
B.学号
C.宿舍地址,姓名)
D.宿舍编号,学号)
29.数据库系统的体系机构是(C)。
A.二级模式结构和一级1映射
B.三级模式结构和一级映射
C.三级模式结构和二级映
射 D. 三级模式结构和三级映射
30.为提高效率,关系数据库系统必须进行(B)处理。
A.定义视图
B.查询优化
C.数据恢复
D.数据规范化到最高范式
31.下列聚合函数中不忽略空值(NULL)的是(C )。
A. SUM(列名)
B. MAX(列名)
C. COUNT(*) E. A VG(列名)
32.如果事务T获得了数据项Q上的它锁,则T对Q(B )。
A.只能读不能写
B.既可读又能写
C.只能写不能读
D.不能读不能写
33.设有关系R,按条件f对关系R进行选择,正确的是( D)。
A. R×R
B. R?fR
C. Пf(R)
D. σf(R)
34.在数据库系统中死锁属于(C:事务故障)
35.有一个关系,学生(学号,姓名,系别)规定学号的值域是8个数字组成的字符串,这一规则属于(D:
用户自定义完整性约束)
36.关系模式设计理论最要解决的问题是(C:减少数据操作的复杂性)
37.关于视图,下列说法正确的是(D )。
A.对视图的使用与表一样,也可以进行插、查、删、改操作
B.视图只能从表中导出
C.视图与表一样,
也存储着数据D.对视图的操作,最终都要转化成对基本表的操作
38.如果事务T的封锁序列为:LOCK S(A)—LOCK S(B)—LOCK X(C) —UNLOCK(B) —UNLOCK(A)
—UNLOCK(C),则T(B)。
A.会发生死锁
B.遵守两段锁协议
C.可串行化
D.不会发生死锁
39.管理数据库系统是数据库系统的核心,它负责有效地组织、存储、获取和管理数据,属于一种(A ),
是位于用户与操作系统之间的一层数据管理软件。
A.系统软件
B.工具软件
C.应用软件
D.数学软件
40.数据库逻辑设计时,下列原则中不正确的是(D )。
A.数据流程图和数据字典
B. E-R图
C.规范化理论
D.SQL语言
41.应用数据库的主要目的是(C )。
A.解决数据保密问题
B.解决数据完整性问题
C.解决数据共享问题
D.解决数据量大的问题
42.假如采用关系数据库系统实现应用,在数据库设计的(逻辑设计)阶段,需要将E-R模型转化为关系模
型。
43.为了提高效率,关系数据系统必须进行(查询优化)处理。
44.如果采用关系数据库来实现应用,在数据库设计的(C)阶段将关系模式进行规化处理。
A需求分析 B概念设计 C逻辑设计 D物理设计
45.DBMS通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D )。
A.可靠性 B.一致性 C.完整性 D.安全性
二、填空题
1、SQL中有两种安全机制:一是视图机制,二是(授权子系统)。
2、数据库管理系统的三层模式中的内模式是数据库(物理结构)和(存储方式)的描述,是数据
在数据库内部的表示方式。
3、数据库保护包括:安全性保护、完整性保护、(并发控制)和恢复。
4、根据关系演算中变量的不同,可将关系演算进一步分为(元组关系演算)和域关系演算。
5、数据库设计分为6个阶段:需求分析阶段、(物理结构设计阶段)、逻辑设计阶段、( 关系模型设
计阶段 )、(数据库实施阶段)、运行阶段和维护阶段。
6、设有以下关系:合同(合同号,用户号,用户名,拥护地址),若合同号是惟一的,则这个关系的范式
等级是( 2NF )。
7、关系数据库的实体完整性规则规定基本关系的(主码)不能取空值。
8、DBMS并发控制的单位为(事务)。
9、关系代数的基本运算是并、差、(笛卡尔积)、(选择)和(投影)。
10、视图是定义在()字之上的,对视图的一切操作最终要转换为对(基本表)的操作。
11、在DBMS的授权子系统中,授权和回收权限的语句分别是(GRANT)和Revolce语句。
12、数据字典是对系统中数据的详细描述,通常包括数据项,(数据结构),数据流,(数据存储)和数据处
理五部分。
13、数据库运行过程中可能产生的故障有(事务故障)、(系统故障)、介质故障等故障。
14、DBMS提供数据操纵语言对数据库的操纵功能分成两种:检索和更新。其中更新操作包括(修改)(插
入)(删除)。
16、数据在两个或更多文件中重复出现称为(数据冗余),在数据更新时可能导致(数据异常、数据不一致
性)等错误。
17、数据库恢复是将数据库从(错误)状态恢复到某一已知的正确状态。
18、若关系模式R中的属性全部是主属性,则R的最高范式必定是( 3NF )。
19、目前,设计数据库系统主要采用的是以(新奥尔良方法)和基于E-R模型的数据库设计方法)为中
心的规范设计方法。
20、查询优化的策略之一是对关系文件进行适当的预处理。预处理的方法是对文件进行排序或建立(索引
文件)。
21、SQL以同一种语法格式,提供______交互式_______和嵌入式两种使用方式。
22、在SQL Select语句中要去掉查询结果中的重复记录应使用(DISTINCT)关键字。
23、事务必须具有四个性质是:原子性、一致性,(隔离性)和永久性。
24、关系模型由关系数据结构,关系操作集合和(完整性约束)三部分组成。
25、设计概念结构通常有四类方法:自顶向下,自底向上、(逐步扩张)(混合策略)。
26、将一个关系模式分解成多个关系模式时,为了保持原模式所满足的特性,要求分解处理具有
_____1NF_____和_____2NF_____。
三、简述题(选三)
1、数据库的外模式、模式和内模式,两级(层)映象的作用是什么?
(1)外模式:是用户与数据库系统的接口,是用户用到的那部分数据的描述。
(2)内模式:是数据库在物理存储方面的描述,定义所有的内部记录类型、索引和文件的组成方式,以及
数据控制方面的细节。
(3)模式/内模式映象:这个映象存在于概念级和内部级之间,用于定义概念模式和内模式间的对应性,即概念记录和内部记录间的对应性。此映象一般在内模式中描述。
(4)外模式/模式映象:这人映象存在于外部级和概念级之间,用于定义外模式和概念模式间的对应性,即外部记录和内部记录间的对应性。此映象都是在外模式中描述。
2、封锁协议
答:封锁是实现并发控制的主要技术。封锁分排它锁(X锁)和共享锁(S锁)两种类型。对X锁或S锁何时申请锁、何时释放锁均有约定的规则。三级封锁协议可分别达到系统一致性的不同级别,两段锁协议是
保证并发调度可串行性的封锁协议。
3、试述索引选择的原则
答:索引是与表或视图关联的磁盘上结构,可以加快从表或视图中检索行的速度。索引包含由表或视图中
的一列或多列生成的键。
1.了解数据库本身的特征。
2.了解最常用的查询的特征。
3.了解查询中使用的列的特征。
4.确定哪些索引选项可在创建或维护索引时提高性能。
5.确定索引的最佳存储位置。非聚集索引可以与基础表存储在同一个文件组中,也可以存储在不同的文件
组中。
4、试述数据库设计的过程
答:这里只概要列出数据库设计过程的六个阶段:( l)需求分析;( 2)概念结构设计;( 3)逻辑结构设计;( 4)数据库物理设计;( 5)数据库实施;( 6)数据库运行和维护。这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善
的数据库应用系统往往是上述六个阶段的不断反复。
5、假设R和S分别是三元和二元关系,试把表达式П1,5(σ2=4∧3=4(R×S))转换成等价的元组表达式。
解:元组表达式:{t|( u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}
6、实现嵌入式SQL需解决那些问题?
(1)如何将嵌有SQL的宿主语言程序编译成可执行码(这是首要问题)。
(2)宿主语言和DBMS之间如何传递数据和信息。
(3)如何将查询结果赋值给宿主语言程序中的变量(通过游标语句)。
(4)宿主语言与SQL之间数据类型的转换问题(按系统约定转换)。
7、什么是数据库设计?
答:数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。
8、什么是概念结构设计?
答:概念结构是信息世界的结构,即概念模型,其主要特点是:( l)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;( 2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键;( 3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;( 4)易于向关系、网状、层次等各种数据模型转换。概念结构的设计策略通常有四种:l)自顶向下,即首先定义全局概念结构的框架,然后逐步细化;2)自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;3)逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;4)混合策略,即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
9、数据模型的优化包含哪些方法?
1.确定数据依赖。按需求分析阶段所得到的语义分别写出每个关系模式内部各属性之间的数据依赖以及不
同关系模式属性之间数据依赖。
2.对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
3.按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖
等,确定各关系模式分别属于第几范式。
4.按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确
定是否要对它们进行合并或分解。
5.按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合
并,以提高数据操作的效率和存储空间的利用率。
10、试述关系数据库的特点?
(1)以面向系统的观点组织数据,使数据具有最小的冗余度,支持复杂的数据结构;
(2)具有高度的数据和程序的独立性,应用程序与数据的逻辑结构及数据的物理存储方式无关;
(3)由于数据具有共享性,使数据库中的数据能为多个用户服务;
(4)关系数据库允许多个用户同时访问,同时提供了各种控制功能,保证数据的安全性、完整性和并发性控制。安全性控制可防止未经允许的用户存取数据;完整性控制可保证数据的正确性、有效性和相容性;
并发性控制可放置多用户并发访问数据时由于相互干扰而产生的数据不一致。
四、设计题
1、设计一个学生——课程的数据库,包含下列表关系:
学生关系(学号,姓名,性别,年龄,所在系)
课程关系(课程号,课程名,,学分)
选修关系(学号,课程号,成绩)
试用E-R图描述这个数据库,要求在图中表示联系的类型(1:1,1:N,M:N);并且指出每个表关系的键码。注:一个学生可以选修多门课,一门课可由多个学生选修,学生选课后有成绩。
2、用SQL语句定义上述表关系结构。
3、假定一个部门的数据库包含下述信息。
职工的信息:职工号、姓名、地址和所在部门。
部门的信息:部门所在职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、厂址、生产的产品名和价格。
试画出这个数据库的E-R图,并注明属性和联系类型。
4、将3题所得到的E-R图转换成关系模型,并给出各关系模式中的关键字。
职工(职工号、姓名、住址)。
部门(部门名、经理,职工号)。
产品(产品名、产品内部编号)。
制造商(制造商名称、地址)。
生产(产品内部编号,制造商名称,价格、型号)
5、学生管理的情况:一个系有若干名学生,一个学生只属于一个系,一个系只有一名系主任,一个学生可
以选修多门课程,一门课程可由多名学生选修,每个学生学了每门课程有一个成绩,请设计一个数据库模
式(E-R图,逻辑结构)。
解:E-R图如下:
6、已知某企业各部门有许多职员,一个职员仅属于一个部门;每个职员可在多项工程中做工或负责管理,每项
工程可有多个职员参加.
其中,职工有:职工号,职工名;
部门有:部门号,部门名;
工程有:工程号,工程名;
每个职工参加某个工程有参加日期.
请完成如下设计或处理:
(1)据上述语义设计E—R模型,要求标注联系类型,可省略属性.(5分)
(2)将E—R模型转换成关系数据模型,并指出每一个关系的主键和外键(如果存在).(5分)
五综合题
1、设有如下三个基本表,表结构如下:
BORROWER(借书证号,姓名,系名,班级)
LOANS(借书证号,图书登记号,借书日期)
BOOKS(索书号,书名,作者,图书登记号,出版社,价格)
试用SQL语言进行查询:
(1)检索借了5本书以上的学生的借书证号、姓名、系名和借书数量。
(2)检索借书和欧阳同学所借图书中任意一本相同的学生的姓名、系名、书名和借书日期。
(3)建立信息系学生借书的视图SB,该视图的属性列由借书证号、姓名、班级、图书登记号、书名、出版
社和借书日期组成。
解:
1)select借书证号,姓名,系名,count(*)
from borrow,loans
where borrow.借书证号=loans.借书证号
group by借书证号
having count(*)>5
2)select姓名、系名、书名和借书日期
from borrow,loans
where borrow.借书证号=loans.借书证号
and图书登记号in
{select图书登记号
feom borrow,loans
where borrow.借书证号=loans.借书证号
and姓名=欧阳}
3)creat view sb(借书证号、姓名、班级、图书登记号、书名、出版社和借书日期)
as
select 借书证号、姓名、班级、图书登记号、书名、出版社和借书日期
from borrow,loans
where borrow.借书证号=loans.借书证号 and loans.图书登记号=books。图书登记号
2、现有关系模式:教务(学号,课程号,成绩,教师姓名,教师年龄,教师办公室),其中,学号与课程号组成主键。请将其进行无损联接分解,规范化至3NF。假设一门课程总是由一个教师讲授,但一个教师
可以教多门课程,教师可能重名。
3、上题所得到的结果关系模式,用SQL语言执行下列操作。
①定义所得关系(表)结构。
②查询年龄在30-35岁之间的教师所教课程的成绩单。
③插入一条记录:9607001号学员C12号课程成绩为80分。
④将教师张三的办公室从“7-401”搬到“7-418”。
⑤停开(即删除)选课人数不足5人的课程
4、假设有三个关系模式如下:
学生表:S(SNO,SNAME,SEX)
各属性含义依次为学号、姓名和性别;
课程表:C(CNO,CNAME,CREDIT)
各属性含义依次为课程号、课程名、学分;
学生选课表:SC(SNO,CNO,MARK)
各属性含义依次为学号、课程号和成绩。
基于以上关系模式回答36—39题。
1.试用SQL语句统计男生和女生的人数。
select sex,count(*) from s group by sex
2.试用SQL语句写出下列查询:
检索出所有男生的姓名、所选课程号和成绩。
select sname,c#,grade from s,sc where s.s#=sc.s# and sex='男'
3.试用SQL语句实现下列查询:
检索出各门课程的学生平均成绩(要求列出课程名称和平均成绩)。
SELECT https://www.doczj.com/doc/d44036836.html,AME,A VG(score) as平均成绩FROM C,SC where https://www.doczj.com/doc/d44036836.html,O=https://www.doczj.com/doc/d44036836.html,O GROUP BY https://www.doczj.com/doc/d44036836.html,O
4.用关系代数表达式实现下列查询:
检索出没有选修课程号为C3的所有学生姓名。
select sname from s where sno in (select sno from sc where cno not in (select cno from c where cno='c3'))
SQL Server练习题一
一、单项选择题
1.______是位于用户和操作系统之间的一层数据管理软件。
A) DB B) DBS C) DBMS D) DBA
2.下列选项中,不属于数据库特点的是______。
A) 数据共享 B) 数据完整性 C) 数据冗余很高 D) 数据独立性强
3.数据库系统不仅包括数据库本身,还要包括计算机软、硬件和______。
A)数据库管理系统 B) 数据库应用系统 C) 计算机系统 D)各类相关人员
4.用二维表数据来表示实体及实体之间联系的数据模型称为______。
A) 实体-联系模型 B) 层次模型
C) 网状模型 D) 关系模型
5.数据库 DB,数据库系统 DBS,数据库管理系统 DBMS三者之间的关系是______。
A) DBS 包括 DB 和 DBMS B) DBMS 包括 DB 和 DBS
C) DB 包括 DBS 和 DBMS D) DBS 就是 DB,也就是 DBMS
6.结构式查询语言的缩写是______。
A) SCL B) SOL C) SQL D)SDL
7.不属于数据库的数据模型是______。
A) 层次型 B) 网状型 C) 关系型 D)实体型
9.在下列四个选项中,不属于基本关系运算的是______
A)连接 B)投影 C)选择 D)排序
10.SQL Server支持的数据模型是______
A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型
11.依赖于同一个应用程序内的多线程工作的结构称为______。
A) 多进程单线程结构 B) 多进程多线程结构
C) 单进程单线程结构 D) 单进程多线程结构
12.可以在WindowsXP/Win2000系统下安装的SQL Server的版本是______。
A) 企业版 B) 标准版 C) 开发版 D)个人版
13.关系数据表的关键字可由______字段组成。
A) 一个 B) 两个 C) 多个 D)一个或多个
14.参照完整性的规则是:表的______必须是另一个表主键的有效值,或者是空值。
A) 外键 B) 候选键 C) 主键 D)普通索引
15.关系数据库是若干______的集合。
A) 列 B) 行 C) 实体 D) 表
16.约束“年龄限制在18-35岁之间”属于DBMS的______功能。
A) 数据定义 B) 数据操作 C) 并发控制 D)完整性
17.反映现实世界中实体及实体联系的信息模型是______。
A) 关系模型 B) 层次模型 C) 网状模型 D)E-R模型
18.关系数据模型的3个组成部分中,不包括______。
A) 数据结构 B) 数据操作 C) 并发控制 D)完整体约束
19.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生
之间的联系类型是______。
A) 1:1 B) 1:M C)M:1 D)M:N
20.数据库中的冗余数据是指______的数据。
A) 容易产生错误 B) 容易冲突 C) 由基本数据导出 D)不太重要
21.关系模式的任何属性______。
A) 不可再分B) 可以再分C) 名称可以不唯一 D)位置固定不变
22.关系模型的完整性约束:实体完整性、参照完整性、域完整性。定义外部关键字
实现______。
A) 实体完整性B) 参照完整性C) 域完整性D)以上都是
23.在关系运算中,投影运算是______。
A) 在关系中选择满足条件的记录组成一个新的关系
B) 在关系中选择字段组成一个新的关系
C) 在关系中选择满足条件的记录和属性组成一个新的关系
D) 上述说法都是正确的
24.下列选项中,不是关系数据库基本特征的是______。
A) 不同列应有不同的列名 B) 不同列应有不同的数据类型
C) 与行的次序无关 D) 与列的次序无关
25.在关系中选择满足条件的记录组成一个新的关系的操作是______运算。
A) 连接 B) 选择 C) 投影 D)复制
26.关系数据库的3个要素分别是______。
A) 数据增加、数据修改、数据删除 B) 实体完整、参照完整、域完整性
C) 数据结构、关系运算、完整性约束 D) 数据表、视图、索引
27.不属于SQL Server安装程序创建的系统数据库是______。
A) Master B) Model C) Tempdb D)Test
28.用于启动、停止和暂停服务的SQL群组选项是______。
A) 企业管理器 B) 查询分析器 C) 服务管理器 D)服务器网络实用工具29.SQL Server系统数据库中,包括所有的登录账号、系统配置信息、所有数据库的信息、所有用户数据库的主文件地址等信息的数据库是______。
A) master B) model C) msdb D) tempdb
30.______数据库是SQL Server系统数据库中所有数据库的模板。
A) master B) model C) msdb D) tempdb
31.在SQL Server正常关闭时,______数据库中的所有对象都被删除。
A) master B) model C) msdb D) tempdb
32.不属于SQL Server 2000的数据库对象的是______。
A) table B)view C)database D)trigger
33.主要数据文件的扩展名是______。
A) .mdf B) .ldf C) .ndf D) .dbf
34.数据库中系统存储过程和扩展存储过程是预先编译好的程序,所有的系统存储过
程的名字都以______开头。
A) sys B) sy_ C) sp_ D) ex_
35.用企业管理器创建新的数据库时,在______页框中,要求用户输入数据库名称以
及排序规则名称。
A)数据文件 B)事务日志 C)选项 D)常规
36.不属于T-SQL语言定义数据库的选项是______。
A)table B) size C) name D)filegrowth
37.用T-SQL创建新的数据库时,______指定文件的逻辑名称。
A)filename B)name C) filegroup D)filegrowth
38.用T-SQL创建新的数据库时,______用于指定主文件组中的文件。
A) primary B)secondary C)filegroup D)database
39.用T-SQL创建新的数据库时,______指定数据库文件的初始大小。
A)filename B)name C) maxsize D)size
40.用T-SQL创建新的数据库时,______指定数据库文件的增长方式。
A) filegrowth B)name C) filegroup D) filename
二、填空题
1.SQL Server 2000的数据库文件有三种类型;分别是______、______、和______。
2.一个简单的数据库可以只有一个______和一个日志文件。
3.______允许多个数据库文件组成一个组,并对它们整体进行管理。
4.数据库的存储结构分为逻辑存储结构和______两种。
5.SQL Server在安装时自动创建______和______数据库是作为学习工具使用的。
6.创建数据库mydb99,各项参数均取默认值的命令是______。该数据库的主文件为______,日志文件名为______;主文件和日志文件的大小都同______数据库的主文件和日志文件大小一致,并且可以自由增长。(将99改成自己学号后2位)7.用企业管理器显示数据库信息,首先在企业管理器的树形目录中选中想要查看的______,然后单击右键、选择______,数据库属性窗口中就会显示数据库的相关信息。
8.显示服务器中数据库信息的系统存储过程命令有______或______。
9.删除数据库my_db99的T-SQL语句是______。(将99改成自己学号后2位)10.系统数据库Master的数据文件为______,日志文件为______;Model的数据文件
为______,日志文件为______。
三、改错题
(以下各题中,将99改成自己学号后2位,将999改成自己学号)
1.创建mydb99数据库,该数据库的数据文件逻辑名称为mydb99_data,物理文件名为mydb99.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为mydb99_log,物理文件名为mydb99.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。其T-SQL语句如下,修改其中的错误。(将99改成自己学号后2位,将
999改成自己学号)
create table mydb99 --found error1
in --found error2
(filename=mydb99_data, --found error3
name=…C:\ 999\mydb99.ndf', --found error4
size=10,
filegrowth=10) --found error5
log in --found error6
(name=mydb99_log,
fil ename=…C:\ 999\mydb99.mdf', --found error7
size=1,maxsize=5,
filegrowth=1%) --found error8
2. 将数据库my_db99更名为my_99的存储过程命令语句为:
sp_rename my_db99 to my_99
3.给mydb99数据库添加一个数据文件,该文件逻辑名称为mydb2_99,物理文件名为mydb2.ndf,初始大小为5MB,最大尺寸为无限大,增长速度为1Mb。其T-SQL语句如下,
修改其中的错误。
create database mydb99 --found error1
modify file --found error2
(name=mydb2_99,
filename='C:\ 999\mydb2.mdf', --found error3
size=5, maxsize=unlimited, filegrowth=1)
四、操作题
(完成下面的数据库的基本要求是:1)用“自己的名字”作为数据库的名称;2)文件的初始大小为自己学号最后1位(若最后1位为0或5的倍数,则所有衡量文件大小的选项均不定义)、最大容量为自己学号后3位、增长为自己学号后2位;3)所有文件的物理位置均为d:盘的自己学号文件夹;4)文件组名称为名字汉语拼音的首字母;5)数据库的脚本文件为“数据库名称.sql”)
1.创建一个数据库,该数据库包含3个数据文件(其中1个数据文件放到Primary文
件组,另外2个数据文件放到自己定义的文件组)、2个日志文件。写出创建该数据库
的详细步骤。
2. 写出创建数据库脚本文件的详细步骤。
3. 写出删除一个数据文件和一个日志文件的操作命令。
4.写出添加一个数据文件到自定义文件组的操作命令。
5.写出删除自定义文件组的操作命令。
SQL Server练习题二
一、单项选择题
1.下列关于Create Table创建数据表,叙述正确的是______。
A)必须在数据表名称中指定表所属的数据库
B)必须指明数据表的所有者
C)指定的所有者和表名称在数据库中必须唯一
D)省略表名称时,自动创建一个临时表
2.表设计器的“允许空”,用于创建字段的______约束。
A)主键 B)外键 C) CHECK D)非空
3.下列字段定义错误的是______。
A)学号varchar(16) B)人数int 4 C)产量float D)价格decimal(8,2) 4.删除数据库中已经存在的数据表test的命令是______。
A) DELETE TABLE test B) DELETE test
C) DROP TABLE test D) DROP test
5.在数据表test中增加一个字段cj(成绩)的命令是______。
A) ADD TABLE test cj int B) ADD TABLE test ALTER cj int
C) ALTER TABLE test DROP cj int D) ALTER TABLE test ADD cj int
6.在关系模式test(学号,姓名,性别,年龄)中,删除属性“年龄”的命令是______。
A) DELETE年龄FROM test B) ALTER TABLE test DROP年龄
C) UPDATE test SET年龄 D) ALTER TABLE test ADD年龄
7.在关系模式test(学号,课程名称,成绩)中,插入一条记录的正确命令是______。
A) ADD INTO test VALUES(…0001?,?高数?,?80?)
B) INSERT INTO test VALUES(…0001?,?高数?,?80?)
C) ADD IN TO test VALUES(…0001?,?高数?,80)
D) INSERT INTO test VALUES(…0001?,?高数?,80)
8.在关系模式test(学号,课程名称,成绩)中,若要把“0001”的高数成绩改成85分,正确命令是______。
A) UPDATE test SET成绩=”85” WHERE学号=”0001” and课程名称=”高数”
B) UPDATE test SET成绩=85 WHERE学号=”0001” and课程名称=”高数”
C) UPDATE test SET成绩=?85? WHERE学号=?0001? and课程名称=?高数?
D) UPDATE test SET成绩=85 WHERE学号=?0001? and课程名称=?高数?9.不属于SQL Server的数据类型是______。
A)整型数据类型 B)浮点数据类型
C)通用型数据类型 D)字符数据类型
10.不属于整型数据类型的是______。
A) int B) smallint C) tinyint D) integer
11.如果数据表中某个字段只包含1~200之间的整数,则该字段最好定义为______。
A) int B) smallint C) tinyint D) bit
12.如果数据表中某个字段的数据精度要求8~12位,则该字段最好定义为______。
A) real B) smallint C) float D) money
13.某个字段的数据类型定义为decimal(12,5),则该字段有______位整数。
A) 12 B) 5 C) 6 D) 7
14.存储诸如”邮政编码”的字段类型最好定义为______。
A) Char(6) B) varChar(6) C) NChar(6) D) NvarChar(6)
15.存储诸如”通讯地址”的字段类型最好定义为______。
A) Binary(n) B) varChar(n) C) Nbianry(n) D) Ntext 16.SQL查询的HAVING子句通常出现在______子句中。
A) ORDER BY B) GROUP BY C) INDEX D) INTO
17.SELECT-SQL语句中的条件子句的关键字是______。
A) WHERE B) FROM C) ORDER BY D)GROUP BY
18.INSERT-SQL命令的功能是______。
A)在表头插入一条记录 B)在表尾插入一条记录
C)在指定位置插入一条记录 D)在指定位置插入若干记录
19.UPDATE-SQL命令的功能是______。
A)数据定义 B)数据查询
C)更新表中某些列的属性 D)修改表中的某些列的内容
20.查询命令中,限制显示记录条数的关键字是____。
A)TOP n B)DISTINCT C) ORDER D)HAVING
21.查询命令中,搜索介于两个指定值之间的所有信息的关键字是____。A)TOP n B)LIKE C) BETWEEN D)IN
22.能对某列进行平均值运算的函数是______。
A) SUM() B) AVERAGE() C) COUNT() D)AVG()
23.查询命令中,搜索与给定的列表中任意一个值相匹配的记录的关键字是____。
A)TOP n B)LIKE C) BETWEEN D)IN
24.模式匹配符号中,可匹配任意类型和长度的字符串的模式符号是____。
A) _(下划线) B) % C) [ ] D)[^ ]
25.从表中删除一条或多条记录的T-SQL命令是______。
A) DELETE B) DELETE…FROM…WHERE
C)DROP…FROM D) DELETE…TABLE…WHERE
26.对数据表的结构进行修改的命令是______。
A) MODIFY TABLE B)ALTER TABLE C)DROP TABLE D)CREATE TABLE
27.查询命令中,消除字段数据的重复值的关键字是____。
A)TOP n B)DISTINCT C) ORDER D)HAVING
28.用于统计记录个数的运算函数是______。
A) SUM() B) AVERAGE() C) COUNT() D)AVG()
29.查询命令中,搜索某字符串是否与指定的模式匹配的关键字是____。
A)TOP n B)LIKE C) BETWEEN D)IN
30.连接查询中,连接的结果是从两个表中挑选出符合连接条件的数据的连接方式是____。
A) Inner Join B)Left Join C)Right Join D)Full Join
二、填空题
1.在SQL中,create table、alter table和drop table命令分别是在数据库中、和_______基本表结构的命令。
2.向基本表插入数据时,可以在命令中使用关键字引出记录值。或者在命令中子句得到一个结果表。
3.在SQL的查询语句中,选项实现投影运算,
___________选项实现连接运算,选项实现选择运算。4.在SQL的查询语句中,选项实现分组统计功能,
选项实现对结果表的排序功能。
5.在SELECT语句的ORDERBY子句中,DESC表示按______输出;省略DESC 则按______输出。
6.在SQL SERVER中,datetime数据类型主要用来存储______和______的组合数据,其常量需要用______括起来;通常用______数据类型来表示逻辑数据。7.在SQL SERVER中,整数类型包括______、______、______和______4种,它们分别占用______、______、______和______个存储字节。
8.在SQL SERVER中,数据表的完整名称应包括______、______和______3
个部分,其中______和______可以省略。
9.SQL Server提供的双字节数据类型共有3类,分别是______、______、______。10.在SQL Server中,共使用了3种数据类型来存储二进制数据,分别是______、______、______。在对二进制数据进行插入操作时,必须在数据常量前面增加一个前缀______。