FROM SC SCY
WHERE SCY.SNO = ' 1042' AND NOT EXISTS (SELECT * FROM SC SCZ
WHERE SCZ.SNO=SCX.SNO AND SCZ.CNO=SCY.CNO)); (2) CREATE VIEW S_CS_VIEW AS
SELECT SNO,SNAME,SEX FROM STUDENT
WHERE Sdept=’CS’ (3)UPDATE S_CS_VIEW SET SNAME=’ 王慧平’ WHERE SNAME=’ 王平’ (4) CREATE VIEW datascore_view AS
SELECT SNO 学号、SNAME 姓名、GRADE 成绩 FROM STUDENT,SC,COURSE WHERE STUDENT.SNO=SC.SNO AND COURSE.CNO=SC.CNO AND CNAME=’ 数据库’
第4章数据库的安全性
一、选择题
1、下面哪个不是数据库系统必须提供的数据控制功能 。 A.安全性 B.可移植性 C.完整性 D.并发控制 答案:B
2、保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的 。
A.安全性 B.完整性 C.并发控制 D.恢复 答案:A 3、数据库的 完整性 是指数据的正确性和相容性。A.安全性 B.完整性 C.并发控制 D.恢复 答案:B 4、在数据系统中,对存取权限的定义称为 。答案:BA.命令 B.授权 C.定义 D.审计
5、数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的 。
A.可靠性 B.一致性 C.完整性 D.安全性 答案:D 6、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)的修改权”这一功能的是 C
A.REVOKE UPDATE(XH) ON TABLE FROM ZHAO B.REVOKE UPDATE(XH) ON TABLE FROM PUBLIC C.REVOKE UPDATE(XH) ON STUD FROM ZHAO D.REVOKE UPDATE(XH) ON STUD FROM PUBLIC 7、把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是 A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAO
C)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 答案:C 8、在SQL Server 中删除触发器用( )。A.ROLLBACK B. DROP C.DELALLOCATE D. DELETE 答案:B 二、填空题
1、保护数据安全性的一般方法是 设置用户标识和存取权限控制 。 答案:设置用户标识和存取权限控制
2、安全性控制的一般方法有①、②、③、④和视图的保护五级安全措施。答案:①用户标识鉴定 ②存取控制 ③审计 ④数据加密 3、存取权限包括两方面的内容,一个是 ① ,另一个是 ②。 答案:①要存取的数据对象 ②对此数据对象进行操作的类型 4、在数据库系统中对存取权限的定义称为授权 。 答案:授权
5、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 ① 语句,收回所授的权限使用 ② 语句。 答案:①GRANT ②REVOKE
6、DBMS存取控制机制主要包括两部分:自主存取控制,_强制存取控制_______________。 答案:强制存取控制 7、 当对某一表进行诸如( )、 ( )、 ( ) 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句。
答案:INSERT,DELETE,UPDATE
第5章数据库完整性 一、选择题:
1、在数据库系统中,保证数据及语义正确和有效的功能是 ( d )A.并发控制 B.存取控制 C.安全控制 D.完整性控制 2、关于主键约束以下说法错误的是( )
A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束
C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段组合设置为主键 答案:C 3、在表或视图上执行除了(D )以外的语句都可以激活触发器。A.Insert
B. Delete C. Update
4、数据库的____是指数据的正确性和相容性。A.安全性 B.完整性 C.并发控制 D.恢复 答案:B 5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的________约束。
D.Create
A、 实体完整性B、参照完整性C、用户自定义D、用户操作 答案:C 二、填空题
1.数据库的完整性是指数据的 ① . ②__和 ③ 。答案:①实体完整性 ②参照完整性 ③用户定义完整性 2、实体完整性是指在基本表中,主属性不能取空值 。 答案:主属性不能取空值
3、参照完整性是指在基本表中, 。 答案:外码可以是空值或者另一个关系主码的有效值
4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS就 。答案:拒绝此操作 第6章关系数据理论
一、选择题
1、关系规范化中的删除操作异常是指 ① ,插入操作异常是指 ② 。答案:①A ②D
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入 2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑 答案:A 3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大 的缺陷。 A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 答案:C 4、当关系模式R(A,B)已属于3NF,下列说法中 是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是 答案:B 5、关系模型中的关系模式至少是 A.1NF B.2NF C.3NF D.BCNF 答案:A
6、在关系DB中,任何二元关系模式的最高范式必定是 d A.1NF B.2NF C.3NF D.BCNF 7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是 。 A.2NF B.3NF C.4NF D.BCNF 答案:C
8、候选关键字中的属性称为 。 A.非主属性 B.主属性 C.复合属性 D.关键属性 答案:B
9、消除了部分函数依赖的1NF的关系模式,必定是 。A.1NF B.2NF C.3NF D.4NF 答案:B
10、关系模式的候选关键字可以有 ① c ,主关键字有 ② b 。 A.0个 B.1个 C.1个或多个 D.多个 11、关系模式的分解不惟一 。 A.惟一 B.不惟一 答案:B
12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? 。 部门(部门号,部门名,部门成员,部门总经理)
A.部门总经理 B.部门成员 C.部门名 D.部门号 答案:B 二、填空题
1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为 。答案:外部键
2、对于非规范化的模式,经过 ① 转变为1NF,将1NF经过 ② 转变为2NF,将2NF经过 ③ 转变为3NF。 答案:①使属性域变为简单域 ②消除非主属性对主关键字的部分依赖③消除非主属性对主关键字的传递依赖
3、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和无损连接性 。 答案:无损连接性
三、概念解释: 1、 平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 2、 非平凡的函数依赖
在关系模式R(U)中,对于U的子集X和Y,
若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖 四、综合练习
1、已知学生关系模式
S(Sno,Sname,SD,Sdname,Course,Grade)
其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。 (1)写出关系模式S的基本函数依赖和主码。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? (3)将关系模式分解成3NF,并说明为什么? (1)写出关系模式S的基本函数依赖和主码。 答: 关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: S1(Sno,Sname,SD,Sdname) S2(Sno,Course,Grade)
(3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname)
分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如
下分解满足3NF。 S11(Sno,Sname,SD)
S12(SD,Sdname) S2(Sno,Course,Grade) 2、设有如下关系R (1)它为第几范式? 为什么?
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?
(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? (1)它为第几范式? 为什么?
解:它是2NF。 因为R的候选关键字为“课程名”。 依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的? 解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。
(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题? 解: 分解为高一级范式如图所示。
R1如下: R2如下:
分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。
3、设某商业集团数据库中有一关系模式R如下: R (商店编号,商品编号,数量,部门编号,负责人)
如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。
试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;
答: 关系模式S的基本函数依赖如下: (商店编号,商品编号) →部门编号,(商店编号,部门编号)→负责人,(商店编号,商品编号) →数量
(2) 找出关系模式R的候选码;答:关系模式R的码为:(商店编号,商品编号, 部门编号)。
(3) 试问关系模式R最高已经达到第几范式?为什么?答: 原关系模式R是属于1NF的,码为(商店编号,商品编号, 部门编号),非主属性对码的函数依赖全为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人) (4) 如果R不属于3NF,请将R分解成3NF模式集。答:将R分解为
R1(商店编号,商品编号, 部门编号, 数量) R2(商店编号,部门编号, 负责人) 分解后的R不存在传递的函数依赖,所以分解后的R已经是第3NF
第7章数据库设计 一、选择题
1、在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的 阶段。
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计 答案:B
2、在关系数据库设计中,设计关系模式是 的任务。
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段 答案:C
3、数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是 。
A.建立库结构
B.扩充功能
C.加载数据
D.系统调试 答案:B
4、在数据库的概念设计中,最常用的数据模型是 。
A.形象模型
B.物理模型
C.逻辑模型
D.实体联系模型 答案:D
5、从E-R模型关系向关系模型转换时,一个M∶N联系转换为关系模型时,该关系模式的关键字是 。
A.M端实体的关键字 B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性 答案:C 6、当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是 。
A.属性冲突
B.语法冲突
C.结构冲突
D.命名冲突 答案:B
C.操作系统和DBMS
D.DBMS 答案:B
7、概念模型独立于 A.E-R模型 B.硬件设备和DBMS
8、数据流程图(DFD)是用于描述结构化方法中 c 阶段的工具。A.可行性分析 B.详细设计 C.需求分析 D.程序编码 9、下图所示的E-R图转换成关系模型,可以转换为 c 关系模式。A.1个B.2个 C.3个 D.4个
二、填空题
1、数据库设计的几个步骤是 。答案:需求分析,概念设计,逻辑设计,物理设计,系统实施,系统运行和维护 2、“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库 设计阶段。答案:物理
3、在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为 。答案:数据字典
4、在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计的,所以各个分E-R图之间难免有不一致的地方,这些冲突主要有 ① 、 ② 和 ③ 三类。答案:①属性冲突 三、应用题
设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名
上述实体中存在如下联系:
(1).一个学生可选修多门课程,一门课程可为多个学生选修;(2).一个教师可讲授多门课程,一门课程可为多个教师讲授;(3).一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:(1).分别设计学生选课和教师任课两个局部信息的结构E-R图。(2).将上述设计完成的E-R图合并成一个全局E-R图。(3).将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。 解:(1).学生选课、教师任课局部E-R图如下所示。
学号 姓名 性别 年龄 编号 课程名 单位名 单位
②命名冲突
③结构冲突
借书证姓名 单位 总编号 分类号 书名 借书人 借阅日期 位置 价格 图书 作者 m 借阅 n 1 1 拥有 开课 m m 学生 m 选修 课程 教师号 学生选课局部E-R图
(2).合并后的全局E-R图如下所示。
为避免图形复杂,下面给出各实体属性:
单位:单位名、电话 学生:学号、姓名、性别、年龄 教师:教师号、姓名、性别、职称 课程:编号、课程号 (3).该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:
单位(单位名,电话) 教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名) 学生(学号,姓名,性别,年龄,单位名) 讲授(教师号,课程编号) 选修(学号,课程编号) 第8章数据库编程
一、选择题
1、修改存储过程使用的语句是( )。
A. ALTER PROCEDURE B. DROP PROCEDURE C. INSERT PROCEDUE D. DELETE PROCEDUE 答案:A 2、创建存储过程的语句是( )。
A. ALTER PROCEDURE B. DROP PROCEDURE C. CREATE PROCEDUE D. INSERT PROCEDUE 答案:C 3、下面( )组命令,将变量count值赋值为1。答案:AA.DECLARE @count
SELECT @count=1
拥有 开课 单位 单位名 电话 属于 教师 教师号 姓名 性别 年龄 m 讲授 n 课程 编号 m 1 单位教师授课局部E-R图
属于 1 m 教师 1 1 m 讲授 m m 学生 m n 选修 n 课程 全局E-R图