数据库原理与应用试题--含答案(华软)

C.介质故障 D.运行故障 SQL Server 的安全性是基于(A)。 A.用户 B.角色 C.对象和权限 D.以上都对 [数据库备份与恢复]1

下列(C)操作可以实现数据库之间的数据的转换和转移。

A.对数据库进行备份操作 B.对数据库进行还原操作 C.对数据库的导入与导出操作 D.更改数据库文件的后辍 以下关于数据库分离与附加的描述,错误的是(A)。

A. 进行数据库分离操作时,可以同时进行更新操作 B. 移动数据库前,最好为数据库做一个完整备份

C. 要确保数据库移动的目标有足够的空间,满足数据库的增长 D. 分离数据库并没有将数据库文件从磁盘上删除

三、 填空题

[关系型数据库基本原理]1

设关系模式R(A,B,C,D),(A,B)->C,A->D是R的属性依赖函数,则由于R中存在_____依赖,故关系模式不满足2NF,为使R满足2NF,应将R分解为______和__________。(部分依赖,R1(A,B,C),R2(A,D))

设关系模式R(A,B,C,D),(A,B)->C,C->D是R的属性依赖函数,则由于R中存在_____依赖,故不满足3NF,为使R满足3NF,应将R分解为______和__________。(传递依赖,R1(A,B,C),R2(C,D))

对关系模式的规范化要求分为不同的层次,如果关系R的函数依赖集中不存在传递依赖,则称R满足_______,如果不存在部分依赖,则称R满足______________,如果R中的属性不能分解为更基本的成员,则称R满足____________。(3NF,2NF,1NF) [数据库管理]1

SQL Server数据库的文件分为三类,分别是___________,____________,_____________. (主数据文件,次数据文件,事务日志文件)

SQL包括三个部分,数据定义语言简写作_______,数据操纵语言简写作__________,数据控制语言简写作________________。(DDL,DML,DCL) [数据完整性]1

关系型数据的数据完整性包括_______________,____________________和___________________。(实体完整性,参照完整性,用户自定义完整性)

关系型数据库的数据完整性包括实体完整性,参照完整性,用户自定义完整性,DBMS中用约束来保证外整性,其中,主键约束用于保证__________,外键约束用于保证_____________,检查约束用于实现__________。(实体完整性,参照完整性,用户自定义完整性)。

写出约束的中文名,PRIMARY KEY约束被称为_______约束,UNIQUE约束被称为______________约束,CHECK约束被称为____________约束。(主键,唯一,检查) [存储过程与触发器]1

事务具有四项基本属性,分别是原子性、________________,____________和___________.(一致性,隔离性,持久性)

在存储过程中可以定义事务,开始事务的关键词是_____________,提交事务的关键词是________,回退事务的关键词是______________。(BEGIN TRANS,COMMIT TRANS,ROLLBACK

TRANS)

[数据库安全管理]1

SQL Server中的权限包括3种类型:________________,_____________和_____________。(对象权限,语句权限,隐含权限)

在SQL Server 2005中,数据库的安全机制包括_______________管理、数据库用户管理、_____________________管理和_____________管理。(登录账号管理,角色管理,权限管理)

四、 简答题(18分,SQL语法考查,共6小题)

1、(共5分) 有关系模式R(U,F),属性集U={A,B,C,D,E}, 函数

依赖集合F={C->A, BC->D, D->E}, 请回答如下的问题: (1) R最高属于第几范式? 说明理由;

(2) 请分解R为符合第三范式的关系模式集合,并给出每个关系的主码:

2、(共13分) 根据以下员工表,写SQL语句完成以下任务:

工号 001 002 003 姓名 吴子丰 刘质 李智 部门号 D01 D02 D02 工资 10000 15000 30000 (1) 向员工表增加一条数据,(004,魏策,D01,25000)(2分) (2) 对员工表,列出月工资在2000~3000元之间的员工名单。(2分)

(3) 创建视图V1,用于显示各部门的平均工资,(即显示(部门号,平均工资)。) (3分) (4) 创建存储过程,取名为Proc_1 , 用于修改某员工工资的存储过程,其员工号,工资

要求以参数输入(员工号类型为:char(10);工资类型为:@score int)。(3分) (5) 为员工表 创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发

器,触发时要求显示插入,删除临时表。(3分)

答案:

1、(共5分)

(共2分)R最高属于1NF范式。 理由:关系模式R(U,F)的主码是(B,C),属性之间存在部分函数依赖C->A,同时存在传递函数依赖BC->D, D->E。 符合第三范式的关系模式集合: (共1分)R1(C,A),主码:C (共1分)R2(BC ,D),主码:BC (共1分)R3(D,E),主码:D 2、(共13分) 根据以下员工表,写SQL语句完成以下任务: 1. 向员工表增加一条数据,(004,张三,D01,2500)(2分) INSERT INTO 员工表 ----------- 0.5分

(工号,姓名, 部门号, 工资) -------------0.5’

VALUES (‘004’,’ 魏策’,’D01’,25000) -----------1 分

2.. 对员工表,列出月工资在2000~3000元之间的员工名单。(2分)

SELECT * FROM 员工表 ----------- 1分

WHERE 工资 BETWEEN 2000 AND 3000 ----------- 1分 (语句中的WHERE子句还有等价的形式,或为以下: WHERE工资 >=2000 AND工资 <=3000) 3. 创建视图V1,用于显示各部门的平均工资,【即显示(部门号,平均工资)。) (3分)

CREATE VIEW V1 AS ----------- 0.5分

SELECT 部门号,avg(工资) as 平均工资 -----------1分 FROM 员工表 ----------- 0.5分 GROUP by 部门号 -----------1分

4. 创建存储过程,取名为Proc_1 , 用于修改某员工工资的存储过程,其员工号,工资要求以参数输入(员工号类型为:char(10);工资类型为:@score int)。(3分)

CREATE PROCEDURE Proc_1 -----------0.5 分 @sid char(10), @score int ----------- 1分 AS ----------0.5 分 UPDATE 员工表

SET 工资=@score ----------- 0.5分 WHERE 工号=@sid ----------- 0.5分

5. 为员工表 创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

CREATE TRIGGER test_tr ----------- 0.5分

ON 员工表 FOR INSERT,UPDATE,DELETE ----------1 分 AS ----------0.5 分

SELECT * FROM inserted ----------- 0.5分 SELECT * FROM deleted ----------- 0.5分 1、(共5分)有关系模式R(U,F),属性集合U ={A,B,C,D,E}, 函数依赖集合F = {A->BC, B->D, CD->E, E->B},

请回答如下的问题: (1) R的候选码是:

(2) R最高属于第几范式? 说明理由;

(3) 请分解R为符合第三范式的关系模式集合,并给出每个关系模式的主码。

2、(共13分)根据以下学生表,写SQL语句完成以下任务:

学号 001 002 003

(1). 向学生表增加一条数据,(004,张三丰,D01,16)(2分)

姓名 符林 白水晶 刘质 系号 D01 D02 D02 年龄 18 17 16 (2). 对学生表,列出年龄在15~17岁之间的学生名单。(2分)

(3). 创建视图V1,用于显示各系的平均年龄,【即显示(系号,平均年龄)。】(3分) (4). 创建存储过程,取名为Proc_1 , 用于修改某学生年龄的存储过程,其学号,年龄要求以参数输入(员学号类型为:char(10);年龄类型为:@score int)。(3分)

(5). 为学生表 创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

答案:

1.(共5分) 答案

(1) (共1分) R的候选码是:A (2) (共2分)

R最高属于第2(2NF)范式。

理由:关系模式R(U,F)中不存在非主属性对码的部分函数依赖。 (3) (共2分) 分解如下:

R1(A,B,C),主码:A R2(B,D), 主码:B R3(C,D,E), 主码:(C,D) R4(E,B), 主码:E

2、(共13分)

根据以下学生表,写SQL语句完成以下任务:

1. 向学生表增加一条数据,(004,张三丰,D01,16)(2分) INSERT INTO 学生表 ----------- 0.5分

(学号,姓名, 系号, 年龄) -------------0.5’

VALUES (‘004’,’张三丰’,’D01’,16) -----------1 分 2.. 对学生表,列出年龄在15~17岁之间的学生名单。(2分)

SELECT * FROM 学生表 ----------- 1分

WHERE 年龄 BETWEEN 15 AND 17 ----------- 1分 (语句中的WHERE子句还有等价的形式,或为以下: WHERE年龄 >=15 AND年龄 <=17) 3. 创建视图V1,用于显示各系的平均年龄,【即显示(系号,平均年龄)。) (3分)

CREATE VIEW V1 AS ----------- 0.5分

SELECT 系号,avg(年龄) as 平均年龄 ----------- 1分 FROM 学生表 ----------- 0.5分 GROUP by 系号 -----------1分

4. 创建存储过程,取名为Proc_1 , 用于修改某学生年龄的存储过程,其学号,年龄要求以参数输入(员学号类型为:char(10);年龄类型为:@score int)。(3分)

CREATE PROCEDURE Proc_1 -----------0.5 分 @sid char(10), @score int ----------- 1分 AS --------- 0.5分 UPDATE 学生表

SET 年龄=@score ----------- 0.5分 WHERE 学号=@sid ----------- 0.5分

5. 为学生表 创建一个名为test_tr的触发器,当执行添加、更新或删除时,激活该触发器,触发时要求显示插入,删除临时表。(3分)

CREATE TRIGGER test_tr ----------- 0.5分

ON 学生表 FOR INSERT,UPDATE,DELETE -----------1 分 AS --------- 0.5分

SELECT * FROM inserted ----------- 0.5分 SELECT * FROM deleted ----------- 0.5分

1、(共5分) 分析如下的问题:有关系模式R(U,F), 属性集U={A,B,C,D,E}, 函数依赖集合F={AB->C, C ->D, D->E },请回答如下的问题: (1) R最高属于第几范式? 说明理由; (2) R属于第三范式?说明理由,若是第三范式就不用分解,否则分解成符合第三范式的模式。 2、(共13分)“教学”数据库中有三个表:学生表(学号,姓名,性别,生日),课程表(课程号,课程名,学分),成绩表(学号,课程号,成绩),写SQL语句完成以下任务: (1) 向学生表增加一条数据,(0930200001,张三,男,1990-3-5)。(2分) (2) 在课程表中,查询课程号为‘NN1008’的课程名和学分。(2分) (3) 创建视图V1,用于显示各学生的平均成绩,【即显示(学号,平均成绩)。)。(3分) (4) 创建存储过程,取名为Proc_1 , 用于修改某课程名的存储过程,其课程号,课程名

要求以参数输入(员课程号类型为:@sid char(10);课程名类型为:@score char(10))。(3分)

答案:

1、

答案(共5分) (1) (共2分)、

R最高属于2NF范式。

理由:关系模式R(U,F)的主码是(A,B),非主属性存在对码的传递函数依赖AB->C, C ->D, D->E。

(2) (共3分)、 R不属于第三范式,

理由:关系模式R(U,F)的主码是(A,B),非主属性存在对码的传递函数依赖AB->C, C ->D, D->E。

分解为符合第三范式的关系模式集合如下: R1(A,B,C) R2(C,D) R3(D,E) 2、(共13分)

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4