(1) SQL语言是( B )语言。
A、层次数据库 B、关系数据库 C、网状数据库 D、非数据库
(2) SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE
实现的是哪类功能( B )。
A、数据查询 B、数据操纵 C、数据定义 D、数据控制
(3) 下列关于视图的说法,哪一条是不正确的( C )。
A、视图是外模式 B、视图是虚表
C、使用视图可以加快查询语句的执行速度 D、使用视图可以简化查询语句的编写
(4) SQL语句中,与 X between 10 and 20等效的是(D )。
A、X in (10,20) B、X<10 or X>20 C、X>10 and X<20 D、X>=10 and X<=20
(5) 下列SQL语句中,创建关系表的是( B )。
A、ALTER B、CREATE C、UPDATE D、INSERT
(6) 读者(读者号,姓名,性别,年龄)中,读者号是主码,已有记录如下图:
读者号 D001 D002 D003 姓名 王平 李峰 王璐 性别 男 男 女 年龄 20 28 34 在该表中插入一条新的记录,以下哪一条是正确的( C )。 A、insert into 读者values(‘D006’,‘男’, ‘王明’,23)
B、insert into 读者(读者号,姓名,性别,年龄)values(‘D003’,‘王明’,‘男’,23) C、insert into 读者(姓名,读者号,年龄)values(‘王明’,‘D006’,23) D、insert into 读者values(‘王明’,23)
13. 简答题
简述where子句和having子句的异同点。
答:where和having子句同是条件筛选子句,但作用的对象不同,WHERE子句作用于数据源,从中选择
满足条件的元组,HAVING短语作用于结果集的分组,从中选择满足条件的组;HAVING短语必须与GROUP BY子句合用,不能单独使用。 14. 语法题
对于学生选课关系,其关系模式如下: 职工(职工号,姓名,年龄,性别)
社会团体(编号,名称,负责人,活动地点) 参加(职工号, 编号,参加日期)
其中职工表的主码是职工号;社会团体表的主码是编号,外码是负责人;参加表的主码是职工号
和编号的属性组,外码是职工号、编号;
试用关系代数完成下列查询:
⑨ 定义职工表、社会团体表和参加表,并说明其主码和参照关系。 Create table 职工(职工号 char(5)primary key,
姓名 char(8)NOT NULL, 年龄 samllint, 性别 char(2)
Constraint C1 check(性别 in (‘男’,‘女’)));
Create table 社会团体(编号 char(5)primary key,
名称 char(20)NOT NULL,
负责人char(5), 活动地点 char(20)
Constraint C2 FOREIGN KEY(负责人)REFERENCES 职工(职工号));
Create table 参加(职工号 char(5),
编号char(5),
参加日期char(10),
Constraint C3 PRIMARY KEY(职工号,编号)
Constraint C4 FOREIGN KEY(职工号)REFERENCES 职工(职工号) Constraint C5 FOREIGN KEY(编号)REFERENCES 社会团体(编号));
⑩ 新建视图WD1,内容为年龄在25到40岁之间的职工号和姓名;
Create view WD1(职工号,姓名)
As select 职工号,姓名 from 职工 where 年龄 between 25 and 40; ? 为职工表按职工号降序建立索引,索引名为职工_职工号;
Create index 职工_职工号 on 职工(职工号 DESC); ? 查找参加歌唱队或篮球队的职工号和姓名;
Select 职工.职工号,姓名 from 职工,参加,社会团体
where 职工.职工号=参加.职工号 and 社会团体.编号=参加.编号 and名称 in (‘篮球队’,‘歌唱对’);
? 求每个社会团体的参加人数和社会团体的名称;
Select 名称, count(*)as参加人数 from 参加,社会团体
where社会团体.编号=参加.编号 group by 社会团体.编号,名称
? 求参加人数超过100人的社会团体的名称和负责人;
Select 名称, 负责人 from 参加,社会团体
where社会团体.编号=参加.编号
group by 社会团体.编号,名称,负责人 having count(*)>100; ? 求参加人数最多的社会团体的名称和参加人数;
Select 名称,count(*)as参加人数 from 参加,社会团体
where社会团体.编号=参加.编号
group by 社会团体.编号,名称 having count(*)>=all(Select count(*)from 参加 group by 编号 )
? 查找没有参加篮球队的职工编号和姓名;
Select 职工编号,姓名 from 职工
where职工编号 not in (select 职工编号 from 参加,社会团体 where社会团体.编号=参加.编号 and 名称=‘篮球队’); ? 查找参加了全部社会团体的职工情况;
Select * from 职工 where not exists(select * from 社会团体 where not exists(select * from 参加 where 职工.职工号=职工号 and 社会团体.编号=编号) ) ? 查找参加了职工号为‘1001’的职工所参加的全部社会团体的职工号;
Select 职工号 from 职工 where not exists(select * from 参加 A where A.职工号=‘1001’and not exists(select * from 参加 B where 职工.职工号=B.职工号 and A.编号=B.编号) )
? 把歌唱队的活动地点改成‘工人文化宫’;
Update 社会团体
Set 活动地址=‘工人文化宫‘
Where 名称=‘歌唱队‘
? 删除编号为‘1002’的职工的所有信息;
Delete * From 参加
Where 职工号=‘1002‘; Delete * From 职工
Where 职工号=‘1002‘;
备注:为了书写方便,语法题中的标点符号,半角全角没有加以区分,实际在查询分析器中运行时需要改成半角标点符号。 15. 名词解释
(1) 函数依赖:对于每一个确定的X,Y的值就被唯一地确定,则说X函数确定Y,或者说Y函数
依赖于X。
(2) 1NF:如果关系模式R,其所有属性都是不可再分的基本数据项,则称R属于第一范式,R∈1NF (3) 2NF:如关系模式R∈1NF,且每个非主属性完全函数依赖于候选码,则称R属于第二范式,
R∈2NF。
(4) 3NF:如果关系模式R∈2NF,且R的任一非主属性都不传递函数依赖于任何候选码,则称R
属于第三范式,R∈3NF。
(5) BCNF:设关系模式R(U)∈1NF,若X → Y,且Y
即若每一个决定因素都包含码,则R∈BCNF。
16. 填空题
(1) 关系数据库的规范化理论是数据库___数据模型___设计的一个有力工具。 (2) X→Y,则X称为____决定_______因素,Y称为__依赖______因素。 (3) __3NF___是一个可用的关系模式应满足的最低范式。 17. 单选题
(1) (学号,姓名)?姓名,这是( B )。
A、完全函数依赖 B、平凡函数依赖 C、非平凡函数依赖 D、传递函数依赖 (2) (读者号,书号)?读者姓名( B )。
A、完全函数依赖 B、部分函数依赖 C、平凡函数依赖 D、传递函数依赖
(3) 现有关系:比赛(比赛日期,球队编号,球队名称,队长,比赛成绩)。假定一只球队一天只参
加一场比赛,则候选码是( C )。
A、球队编号 B、球队编号,球队名称 C、比赛日期,球队编号 D、球队编号,比赛成绩
18. 判断题
(1) 3NF是函数依赖范围内能够达到的最彻底的分解。(F) (2) 函数依赖关系是属性间的一种一对一的关系。(F)
(3) 如果R只有一个侯选码,且R ∈3NF,则R必属于BCNF。(T) (4) 对于关系R,如果候选码是单个属性,则R∈2NF。(T)
X,则X必包含候选码,那么R∈BCNF。
第七章 习 题(答案)
19. 简答题
(1) 评价关系模式的标准是什么?
答:尽可能少的数据冗余;没有插入异常;没有删除异常;没有更新(修改)异常。
20. 综合题
(1) 现有关系模式: 库存(零件号、零件名称、仓库号、仓库名称、仓库管理员,库存量)
规定:一种零件可以存放在多个仓库,一个仓库可以存放多种零件
①请列出基本函数依赖和候选码;
②是否存在删除异常、插入异常和更新异常,若存在,请举例说明; ③属于第几范式?说明理由。 ④分解为3NF并说明理由。
⑤分解到3NF是否已经属于BCNF,说明理由。
答:①基本函数依赖:零件号→零件名称,仓库号→仓库名称,仓库号→仓库管理员, (零件号,仓库号)→库存量; 候选码:(零件号,仓库号)
②存在删除异常、插入异常和更新异常。
当删除零件记录时,有可能会一同删除仓库的信息,使仓库信息丢失,发生删除异常; 当仓库中没有存储零件时,无法插入仓库信息,同时如果零件还未明确存储地点,也无法插入零
件信息,发生插入异常;
当更新仓库信息,比如修改仓库管理员时,由于存在多条仓库记录,需要修改多处,容易发生错
改或漏改,发生更新异常;
③由于(零件号,仓库号)
1NF;
④将原关系分解成 R1(零件号,零件名称);
R2(仓库号,仓库名称,仓库管理员);
R3(零件号,仓库号,库存量) 对于R1,候选码是零件号。零件号
所以R1 ∈3NF。
对于R2,候选码是仓库号。仓库号
的传递函数依赖,所以R2 ∈3NF。
对于R3,候选码是(零件号,仓库号)。(零件号,仓库号)
候选码的传递函数依赖,所以R3 ∈3NF。
⑤属于BCNF,R1,R2,R3所有的函数依赖的决定因素都包含了候选码。
第八章 习 题(答案)
21. 填空题
(1) SQL Server 有两种安全认证模式,即___WINDOWS_______________安全认证模式和______混
合______安全认证模式。
(2) SQL SERVER安装好以后,只有2个已经创建的用户:___SA_______和BULTIN/administrators,
它们都是超级用户,对数据库拥有一切权限。
(3) 数据库的完整性是指数据的___正确性___和___相容性____。 (4) 按数据库状态,数据转储分为 动态转储 和 静态转储 。 (5) 按数据转储方式,数据转储分为 海量转储和 增量转储 。 22. 单选题
库存量,且不存在非主属性对
(仓库名称,仓库管理员),且不存在非主属性对候选码零件名称,且不存在非主属性对候选码的传递函数依赖,
零件名称,存在非主属性对候选码的部分函数依赖,所以属于