《数据库原理及应用》模拟试卷答案

更新时间:2023-12-15 19:32:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理及应用》模拟试卷答案

1. 填空题(每格1分,总分20分)

(1) 数据库的保护功能主要包括确保数据的安全性、__________________、

________________、__________________四方面的内容。 数据的完整性 并发控制 数据库恢复

(2) 事务的性质:原子性、__________、__________、持久性。 一致性 隔离性 (3) 在SQL中,CREATE VIEW 语句用于建立视图,如果要求今后对视图用UPDATE语

句更新数据时必须满足于查询中的表达式,则应当在CREATE VIEW 语句中使用________________________短语。 WITH CHECK OPTION (4) 视图是一个虚表,它是从____________中导出的表,在数据库中只存放视图的

____________,不存放视图的____________。 基本表或视图 定义 数据

(5) 数据库设计应包括两方面的内容:一是___________特性的设计,二是

_____________特性的设计。结构 行为

(6) 关系数据操作语言(DML)的特点是:操作对象与结果均为关系、操作的非过程性

强、语言一体化、并且是建立在数学理论基础之上。DML包括数据查询和________两种数据操作语句。 数据更新

(7) 使用游标的步骤为:定义游标、打开游标、__取出记录____________、关闭游标

(释放游标)。

(8) 信息的三种世界是指__________________、__________________和数据世界,其

中数据世界又称为计算机世界。 信息的现实世界 信息世界

(9) 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:

数据冗余度大、__________________异常、__________________异常和__________________异常。插入 修改 删除

(10) 在SQL中,通配符%表示__________________,下划线_表示

__________________。 任何长度的字符串 一个任意字符 2. 单选题(每题2分,总分20分)

(1) 以下____B___采用了自底向上的设计分析方法 A)需求分析 B)概念结构设计 C)逻辑结构设计 D)物理结构设计 (2) 在视图上不能完成的操作是( D )。

A、在视图上定义新的视图 B、查询操作

第 1 页 共 16 页

C、更新数据 D、在视图上定义新的基本表

(3) 下列功能不属于SQL的功能( D )

A.数据定义功能(DDL) B.数据操作功能(DML) C.数据控制功能(DCL) D.数据嵌入功能(DEL) (4) 在SQL中,视图的删除可以用__D____。

A)DELETE TABLE命令 B)DROP TABLE命令 C)DELETE VIEW命令 D)DROP VIEW命令

(5) 设一关系模式为:运货(顾客姓名,顾客地址,商品名,供应商姓名,供应商地

址),则该关系模式的候选码是( B )。

A、顾客姓名,供应商姓名 B、顾客姓名,供应商姓名,商品名 C、顾客姓名,商品名 D、顾客地址,供应商姓名,商品名

(6) 有两个实体集,它们之间存在着一个M:N联系,则这个ER结构转换成关系的个

数为( C )。

A、1 B、2 C、3 D、4

(7) 日志文件用于记录(D )。

A、程序运行过程 B、数据操作 C、程序运行结果 D、对数据的更新操作

(8) 设关系R与关系S具有相同的目上,且相对应的属性的值取自同一个域,则R-(R-S)等于( B )。

A、R∪S B、R∩S C、R╳S D、R-S

(9) 在__B___时需要解决属性冲突、命名冲突 、结构冲突

A、设计局部E-R图 B、合并局部E-R图 C、分析用户需求 D、关系模型的规范化 (10) 数据安全性主要指( A )

A、数据的正确性、有效性、相容性 B、用户数据与程序的独立性 C、保护数据以防止不法的使用 D、防止并发程序之间的干扰 3. 判断题(每题1分,总分10分)

(1) UPDATE语句可以修改表的结构和表中的数据。……………………….( ) 错 (2) 关系中元组有先后顺序,属性没有先后顺序。………………………….( )错 (3) 数据的完整性是指保护数据以防止不合法的使用。……………… …( ) 错 (4) 一个用户可以使用多个外模式。...……………………………………….( ) 对 (5) 数据库系统中数据的一致性是指数据类型一致。…..………………….( )错 (6) 两个关系的连接是两个关系的广义笛卡儿积中的一部分记录。……… ( ) 对

第 2 页 共 16 页

(7) 一个存储文件可以存放一个或多个基本表.。…….…..…………………( )对 (8) 一个关系模式属于BCNF,则在函数依赖范畴已实现了彻底地分解。..( ) 对 (9) 只有主码才能唯一标识一行。…………..………………………... ( ) 错 (10) 一个表可以建立多个索引.。…………………..………………………...( ) 对 4. 简答题:(每题5分,总分10分)

(1) 简述数据库概念设计的主要步骤。

答:

1)进行数据抽象; 2)设计局部概念模式;

3)将局部概念模式综合成全局概念模式; 4)对全局结构进行评审。 (2) 什么是数据库系统?一个数据库系统应包括哪些?

答:数据库系统是指带有数据库并利用数据库技术进行数据管理的计算机系统。一个数据库系统应包括计算机硬件、数据库、数据库管理系统、应用程序系统及数据库管理员等。 5. 综合题(总分40分)

① 现有如下关系模式: R(A,B,C,D,E,F)

其中:(A,B)为码 并且存在函数依赖: B→C D→E D→F ①.该关系模式满足2NF吗?为什么? (3分) 不满足2NF,因为C部分依赖于码

②.如果将关系模式R分解为: R1(A,B,D,F) R2(B,C,E) 则关系模式R2的码是什么?(2分) (B,E)

③.将关系模式R分解到3NF。并说明理由(5分) R1(A,B, D) R2(B,C) R3(D,E,F)

(1) 现有关系数据库如下:

学生(学号,姓名,性别,专业、奖学金) 课程(课程号,课程名,学分) 选课(学号,课程号,分数)

用关系代数表达式实现下列①—③小题: ①. .检索“计算机”专业的学生学号、姓名 (2分)

∏ 学号,姓名 (σ专业=“计算机” (学生))

②.检索既选修了’软件工程’又选修了’管理信息系统’课程的学生学号(2分)

第 3 页 共 16 页

П学号(σ课程名=‘软件工程’(选课∞课程))∩ П学号(σ课程名=‘管理信息系统’(选课∞课程)) ③. 没有选修课程号为”数据库”的学生姓名(2分)

∏ 姓名(学生)- ∏ 姓名 (σ课程号=” 数据库” (学生∞选课)) 用SQL语言实现下列4—10小题:

④. 列出学号为“98001”的已有成绩的各门课名称与成绩(2分)

SELECT 课程名,成绩 FROM 课程,选课 WHERE 课程.课程号=选课.课程号 AND 学号=“98001” AND 成绩 IS NOT NULL ⑤删除姓名为“陈红”的所有选课记录(2分)

DELETE FROM 选课 WHERE 学号 IN (SELECT 学号 FROM 学生 WHERE 姓名=’陈红’)

⑥检索获得奖学金、并且至少有一门课程成绩在90分以上的学生信息,包括学号、姓名和专业; (2分)

SELECT 学号,姓名,专业 FROM 学生 WHERE 奖学金>0 AND EXISTS (SELECT * FROM 选课 WHERE 学生.学号=选课.学号 AND 成绩>95) ⑦将对选课表的全部权限授予用户王平,并且王平可以授权给其它用户;(2分)

GRANT ALL PRIVILEGES ON 选课 TO 王平 WITH GRANT OPTION

⑧. 求学号为“785222”的学生所选课程的总学分(2分)

SELECT SUM(学分) FROM 学生,选课,课程 WHERE 学生.学号=选课.学号 AND 选课.课程号=课程.课程号 AND 学号=“785222” ⑨. 将课程名为 “数据库”的成绩置为0; (2分)

UPDATE 选课 SET 成绩=0 WHERE 课程号=(SELECT 课程号 FROM 课程 WHERE 课程名=“数据库”

⑩在选课情况表中插入各门课的选课信息;(2分)

INSERT INTO选课情况 SELECT 课程号,课程名,COUNT(*) FROM 选课 GROUP BY 课程号

(3) 学校中有若干系,每个系有若干个班级和教研室,每个教研室有若干个教员,其中有的教授和副教授每人各带若干个研究生,每个班有若干学生,每个学生选修若干课程,每门课程可以有若干学生选修。

①根据学校的情况,用E-R图画出概念模型,并注联系类型。(5分) 答:

第 4 页 共 16 页

②将E-R图转换成关系模型 ,并注明主码和外码。(5分) 答:

系(系代号,系名称,系电话,系主任) PK=系代号

教研室(教研室编号,教研室名称,教研室电话,教研室地址,系代号) PK=教研室编号

FK=系代号,参照表是系

班级(班级编号,班级人数,系代号) PK=班级编号

FK=系代号,参照表是系

教员(教员编号,姓名,参加工作时间,职称,教研室编号) PK=教员编号

FK=教研室编号,参照表是教研室 学生(学号,姓名,班级编号) PK=学号

FK=班级编号,参照表是班级

课程(课程号,课程名称,课程学分) PK=课程号

选课(学号,课程号,成绩) PK=学号,课程号

FK=学号,参照表是学生 FK=课程号,参照表是课程 指导(教员编号,学号) PK=教员编号,学号

FK=教员编号,参照表是教员 FK=学号,参照表是学生 一、单选题

1.DB、DBS、DBMS三者之间的关系是_____。 A. DB包括DBS和DBMS B. DBS包括DB和DBMS

C. DBMS包括DBS和DB D. DBS与DB和DBMS无关

2.在数据库中,区分不同实体的依据是_____。 ( ) A. 名称 B. 属性 C. 对象 D. 概念

3. 下列关于数据库数据模型的说法中,_____是不正确的。 ( )

A. 任何一张二维表都表示一个关系 B. 层次模型的数据结构是有向树结构

C. 在网状模型中,一个子结点可以有多个父结点

第 5 页 共 16 页

( )

D. 在面向对象模型中每一个对象都有一个惟一的标识

4. 关系数据模型是目前最重要的一种数据模型,它的三个要素分别是_____。

A. 实体完整性、参照完整性、用户自定义完整性 B. 数据结构、关系操作、完整性约束 C. 数据增加、数据修改、数据查询 D. 外模式、模式、内模式

5.顾客可到多个商场购物,商场有很多顾客购物,商场与顾客之间的联系方式_____。

A. 1:1 B. 1:n C. m:n D. m:1

6. 从E-R图导出关系模型时,如果实体间的联系是1:N的,下列说法中不正确的是

_____。

A. 将N方码和联系的属性纳入1方的属性中 B. 将1方码和联系的属性纳入N方的属性中

C. 增加一个关系表示联系,其中纳入1方和N方的码 D. 在1方属性和N方属性中均增加一个表示级别的属性

7. 描述数据库全体数据的全局逻辑结构和特性的是_____。

A. 模式 B. 内模式 C. 外模式 D. 子模式

8. 在关系数据库中,若数据库的存储结构改变了,而用户的应用程序可以不变,这是_____。

A. 数据的物理独立性 B. 数据的逻辑独立性 C. 数据的位置独立性 D. 数据的语义独立性

9. 关系代数运算是以 为基础的运算。

A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算 10.按指定条件从一个关系中挑选出指定的属性组成一个新关系的运算是_____。 A. 选择 B. 投影 C. 连接 D. 自然连接 11.一个关系中,能唯一标识元组的属性集称为关系的_____。 A. 唯一键 B. 主键 C. 从键 D. 参数 12.下列选项中,不正确的是_____。

A. R=(R-S)∪(R∩S) B. R-S=R-(R∩S) C. R∩S=S-(R-S) D. R∩S=S-(S-R)

13.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共

有的_____。 ( ) A. 记录 B. 行 C. 属性 D. 元组 14.设有关系R(A,B,C)和S(C,D),与SQL语句select A,B,D from R,S where

R.C=S.C等价的关系代数表达式是_____。 ( )

A. σ

R.C=S.C

A,B,D

(R×S)) B. π

A,B,D

R,C= S.C

(R×S))

C. σR.C=S.C((πA,B R)×(πDS)) D. σR,C=S.C(πD((πA,BR)×S)

15.SQL Server中,下面关于数据库文件叙述错误的是_____。 ( ) A.可添加辅助数据文件和事务日志文件 B.可删除主数据文件和事务日志文件 C.可修改数据文件和事务日志文件大小 D.一个数据库至少有一个事务日志文件

16. 下列关于查询分析器的使用错误的是_____。 ( ) A.可以直接打开数据表为其添加、修改或删除记录 B.可以通过执行 INSERT 语句添加记录 C.可以通过执行 UPDATE 语句修改记录 D.可以通过执行 DELETE 语句删除记录

第 6 页 共 16 页

17.在数据库标准语言SQL中,关于NULL值叙述正确选项是_____。 ( ) A. NULL 表示空格 B. NULL表示0

C. NULL既可以表示0,也可以表示是空格 D. NULL表示空值

18. 在SQL Server的系统表Sysobjects中,默认值的对象类型为_____。( ) A. U B. D C. V D. P

19. 在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,

常用的方法是创建_____。 ( ) A. 另一个表(table) B. 游标(cursor) C. 视图(view) D. 索引(index)

20.表的 CHECK 约束是_____的有效性检验规则。 ( ) A. 实体完整性 B. 参照完整性 C. 用户自定义完整性 D. 唯一完整性

21.下面关于数据库文件叙述错误的是_____。 ( ) A. 可添加辅助数据文件和事务日志文件 B. 可删除主数据文件和事务日志文件

C.可修改数据文件和事务日志文件大小 D.数据文件和事务日志文件默认允许自动增加大小

22.下列关于ALTER TABLE语句叙述错误的是_____。 ( )

A.可以添加字段 B.可以删除字段 C.可以修改字段名称 D.可以修改字段数据类型 23. SQL Server中,对用户授予数据库操作的语句关键字为_____。 ( ) A. REVOKE B. CREATE C. SET D. GRANT

24.关于冗余数据的叙述中,不正确的是_____。 ( ) A. 冗余的存在容易破坏数据库的完整性 B. 冗余的存在给数据库的维护增加困难

C. 不应该在数据库中存储任何冗余数据 D. 冗余数据是指可由基本数据导出的数据 25. 已知关系模式R(A,B,C,D,E)及其上的函数依赖集合F={A→D,B→C ,E

→A },该关系模式的候选码是_____。 ( ) A. AB B. BE C. CD D. DE

26.假如采用关系数据库系统来实现应用,在数据库设计的 阶段,需要将E-R

模型转换为关系数据模型。 ( ) A. 概念设计 B. 物理设计 C. 逻辑设计 D. 运行阶段 27.事务的原子性是指_____。 ( ) A. 事务中包括的所有操作要么都做,要么都不做 B. 事务一旦提交,对数据库的改变是永久的

C. 一个事务内部的操作对并发的其他事务是隔离的

D. 事务必须使数据库从一个一致性状态变到另一个一致性状态 28.如果事务T获得了数据项Q上的排他锁,则T对Q _____。 ( ) A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读也不能写 29.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是

_____。

A. 一个是DELETE,一个是SELECT B. 一个是SELECT,一个是DELETE C. 两个都是UPDATE D. 两个都是SELECT

30.下列不属于并发操作引起的问题是_____。 ( ) A. 丢失修改 B. 不可重复读 C. 活锁或死锁 D. 读脏数据 二、多选题

31.下面列出的条目中,哪些是数据库系统的组成部分? ( ) A.应用系统 B.数据库

第 7 页 共 16 页

C.数据库管理系统 D.系统分析员 E. 数据库管理员

32.关系数据库基本特征的是_____。 ( ) A. 不同的列应有不同的数据类型 B. 不同的列应有不同的列名 C. 与行的次序无关 D. 与列的次序无关 E. 都正确 33.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系

SC(S#,C#,GRADE)。要查询选修“Computer”课的男生姓名,将涉及到关系_____。

A. S B. SC C. C D. 不确定 E. 都没有

34.下列关于关系数据库视图的说法中,_____是正确的? ( ) A. 视图是关系数据库三级模式中的内模式 B. 视图能够对机密数据库提供一定的安全保护 C. 视图对重构数据库提供了一定程度的逻辑独立性 D. 对视图的一切操作最终都要转换为对基本表的操作 E. 所有的视图都是可以更新的

35.若用如下的SQL语句创建了一个表SC: CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,_____行不能被插入。

A. ('201009 ','111’,60,必修) B. ('201006 ','101’,NULL,NULL) C. (NULL,'103 ',80,'选修') D. ('201132’,NULL,86,' ') E. ('201132’, '111 ',86,' ') 三、填空题

36.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶

段:人工管理阶段、________________阶段和数据库系统阶段。

37.在关系模型中,若属性A是关系R的主码,则在R的任何元组中,属性A的取值都不允

许为空,这种约束称为________________规则。 38. SQL的中文全称是________________。

39. SQL语言是一个综合性的功能强大的语言,除了具有数据查询和数据操纵功能之外,还

具有数据定义和________________的功能。

40. 已知学生关系(学号,姓名,年龄,班级),要检索班级为空值的学生姓名,其 SQL语句

中WHERE子句的条件表达式是________________。

41. 数据库的安全性是指保护数据库以防止不合法的使用所造成的________________、 更改或破坏。 42. 关系模型的参照完整性在定义表中用________________短语定义哪些列为外码列, 用REFERENCES

短语指明这些外码参照哪些表的主码。

43.若关系为1NF,且它的每一非主属性都________________候选码,则该关系为2NF。

44. 在数据库设计中,________________阶段确定数据库存储结构,即确定关系、索引、聚簇、日志、

备份等数据的存储安排和存储结构。

45. 数据库管理系统是位于用户和________________之间的一个数据管理软件。 四、简答题

(请按照题目要求按步骤在空白处写出正确答案)

47.设数据库中有三个关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)、SC(S#,C#,GRADE),请用代数表达式表示下列查询: 1) 检索选修课程名为Maths的学生的学号与姓名 2) 检索所有选修C2课学生的姓名与年龄;

第 8 页 共 16 页

48.设数据库中有三个关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)、SC(S#,C#,GRADE),请用SQL语言表示下列要求:

1) 按照“学号、姓名、年龄、性别”的顺序列出学生信息,其中性别按以下规定显示:

性别为男显示为男 生,性别为女显示为女 生,其他显示为“条件不明”;

2) 将选修课程号为“1”的同学成绩加5分;

3) 查询学号最后一位为1或者2或者3的学生的学号、姓名、年龄及性别;

4) 查询所选课程的平均成绩大于张力的平均成绩的所有学生的学号、姓名及平均成

绩;

5) 创建视图stu_info,包含所有学生的学号、姓名、性别、年龄、选修课程号、课

程名、考试成绩及任课教师;

49.设有关系模式R(A,B,C,D),F是R上成立的FD集。F={AB→C,C →D,D →A}。试计算出关系模式R的所有候选键,并说明理由。 五、程序设计题 50.要求在本地磁盘D创建学生数据库stu,数据文件和日志文件名称分别为stu_data和stu_log,初始大小都为3MB,增长方式分别为10%和1MB,数据文件最大为500MB,日志文件大小不受限制;并定义数据表Student,包含的字段有学号、姓名、性别、年龄及院系,其中学号为主键,要求学号必须由9个数字字符组成,并且不等于0000000000;男生的年龄在15~25岁之间,女生的年龄在14~25岁之间。 六、综合题

51.设有系、教师、学生、课程等实体,其中每一个系包括系名、系址、系主任姓名、办公电话等属性,教师实体包括工作证号码、教师名、出生日期、党派等属性。学生实体包括学号、姓名、出生日期、性别等属性。课程实体包括课程号、课程名、预修课号等属性。设一个系可以有多名学生和教师,学生和教师只能属于一个系,每个教师教多门课程, 一门课程由一个教师教。其中有的教师指导多个学生。每一个学生可选多门课程,每门课程只有一个预修课程,每一个学生选修一门课程有一个成绩,试根据以上语义完成下述要求。 1) 根据上述规则设计E-R模型;

2) 将E-R模型转换成关系数据模型,并指出关系的主键和外键; 3) 写出各关系模式中的最小函数依赖集;

所有的关系模式的规范化级别都达到3NF了吗?若没有达到请将其分解以达到3NF。

一、填空题(每空1分,共15分)

1. 数据管理技术经历了 人工管理 、 文件系统 和 数据库系统 三个阶段。 2. 数据库管理系统的主要功能有 数据定义功能 、 数据操纵功能 、数据库的运行管理和数据库的建立以及维护等4个方面。

3.关系代数运算中,基本的运算是 并 、 差 、 笛卡尔积 、 投影 和 选择 。 4.数据库的完整性是指数据的 实体完整性 . 参照完整性__和 用户定义完整性 。 5.对于非规范化的模式,将1NF经过 消除非主属性对关键字的部分依赖 转变为2NF,将2NF经过 消除非主属性对关键字的部分依赖 转变为3NF。

二、选择题(每题2分,共30分)

1. 是存储在计算机内有结构的数据的集合。

A.数据库系统 B.数据库 C.数据库管理系统 D.数据结

第 9 页 共 16 页

2.数据库中存储的是 。

A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息 3.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的 。

A.元组 B.行 C.记录 D.属性 4.设有关系R,按条件f对关系R进行选择,正确的是 。 A.R?R B.R ?? R C. ?f(R) D.?f(R)

F 5.如图所示,两个关系R1和R2,它们进行 运算后得到R3。

R2

R1 A A C D B 1 2 1 C X Y y R3

A A C C

A.交 B.并 C.笛卡尔积 D.连接 6.SQL语言具有 的功能。

A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 7.SQL语言具有两种使用方式,分别称为交互式SQL和 。 A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL

8.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系 。 A.S B.SC,C C.S,SC D.S,C,SC 9.下面哪个不是数据库系统必须提供的数据控制功能 。

A.安全性

B.可移植性

C.完整性

D.并发控制

B 1 1 2 C X Y y D M M N E I I J D 1 2 5 E M N M M I J K 10. 在数据系统中,对存取权限的定义称为 。

第 10 页 共 16 页

A.命令 B.授权 C.定义 D.审计

11. 关于主键约束以下说法错误的是( )

A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束

C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段组合设置为主键 12.当关系模式R(A,B)已属于3NF,下列说法中 是正确的。

A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是

13.关系模型中的关系模式至少是 。

A.1NF B.2NF C.3NF D.BCNF 14. 在关系数据库设计中,设计关系模式是 的任务。

A.需求分析阶段

B.概念设计阶段

C.逻辑设计阶段

D.物理设计阶段

15. 用于数据库恢复的重要文件是 。

A.数据库文件 B.索引文件

C.日志文件

D.备注文件

三、查询设计题(每小题4分,共计40分)

1.设学生-课程数据库中包括三个表:

学生表:Student (Sno,Sname,Sex,Sage,Sdept) 课程表:Course(Cno,Cname,Ccredit) 学生选课表:SC(Sno,Cno,Grade)

其中Sno、Sname、Sex、Sage、Sdept、 Cno、Cname、Ccredit 、Grade分别表示学号、姓名、性别、年龄、所在系名、课程号、课程名、学分和成绩。 试用SQL语言完成下列项操作:

(1) 查询选修课程包括“1042”号学生所学的课程的学生学号

SELECT DISTINCT SNO FROM SC SCX WHERE NOT EXISTS (

SELECT * 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) 创建一个计科系学生信息视图S_CS_VIEW,包括Sno学号、Sname姓名、Sex性

别;

CREATE VIEW S_CS_VIEW AS

SELECT SNO,SNAME,SEX FROM STUDENT

第 11 页 共 16 页

WHERE Sdept=’CS’

(3) 通过上面第2题创建的视图修改数据,把王平的名字改为王慧平

UPDATE S_CS_VIEW SET SNAME=’ 王慧平’ WHERE SNAME=’ 王平’

(4) 创建一选修数据库课程信息的视图,视图名称为datascore_view,包含学号、

姓名、成绩。

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='数据库'

2. 设有如下所示的关系S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#,C#,GRADE),试用关系代数表达式表示下列查询语句:

(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。 ∏C#,CNAME(σTEACHER=‘程军’(C))

(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 ∏S#,SNAME(σ AGE>21∧ SEX=”男” (C))

(3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 ∏SNAME{swv [∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]} (4)检索”李强”同学不学课程的课程号(C#)。 ∏C#(C)- ∏C#(σSNAME=‘李强’(S) wv SC) (5)检索至少选修两门课程的学生学号(S#)。 ∏S#(σ[1]=[4]∧[2]≠[5] (SC × SC))

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 ∏C#,CNAME(Cwv (∏S#,C#(sc)÷∏S#(S)))

四、综合题(每小题5分,共计15分)

设有如下关系R

(1) 它为第几范式? 为什么?

第 12 页 共 16 页

它是2NF。 因为R的候选关键字为“课程名”。

依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址, 所以 课程名→教师地址。

即存在非主属性“教师地址”对候选关键字课程名的传递函数, 因此R不是3NF。

但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2) 是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

存在。当删除某门课程时会删除不该删除的教师的有关信息。

(3) 将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异

常问题?

分解后,若删除课程数据时,仅对关系 R1操作,教师地址信息在关系 R2中仍然保留,不会丢失教师方面的信息。

分解为高一级范式如图所示。

第 13 页 共 16 页

答案

一、单项选择题 1.B

2.B

3.A

4.B

5.C

6.A

7.A

8.A

9.C

10.B

11.B 12.C 21.B 22.C 二、多选题 31.ABCDE 三、填空题

13.C 14.B 15.B

25.B

16.A 26.C

17.D 18.B 19.C 27.A

28.C

29.D

20.C 30.C

23.D 24.C

32.BCD 33.ABC 34.BCD 35.ACD

36. 文件系统 39. 数据控制

37. 实体完整性 40. 班级is null

38. 结构化查询语言 41. 数据泄露

44. 物理设计 45. 操作系统

42. foreign key 四、简答题

43. 完全函数依赖于

47. 1)πS#,SNAME (σCNAME=’ Maths’(S

SC C))

也可写为:πS#,SNAME (S 2)πSNAME,AGE(σC#=’C2’(S

(case

SC(σCNAME=’ Maths’(C))

S C))

48. 1)select s# 学号,sname 姓名, age 年龄,性别 =

when sex='男' then '男 生'

when sex='女' then '女 生' else '条件不明' end)

from s

2) update sc

Set grade = grade+5

Where c#=‘1’ 3) select s# ,sname ,age,sex

from s

where s# like ‘%[1-3]’ from s ,sc

where s. s # =sc. s # group by s.s#,sname having avg(grade)>

(select avg(grade)from s,sc where s.s#=sc.s# and sname=’张力’) 5) CREATE PROCEDURE stu_info

AS

SELECT s.s#,sname,sex,age,c.c# ,cname,teacher,grade From s,sc,c

where s.s#=sc.s# and c.c#= sc.c# and c.c#=‘1’ 49.步骤1:求关系R的所有单属性的闭包;

第 14 页 共 16 页

14

AF+ = A , B F+ = B , C F+ = ACD, D F+ = AD 步骤2:求关系R的所有双属性的闭包; (AB)F+ =ABCD, (AC)F+ =ACD, (AD)F+ =AD, (BC)F+ =ABCD, (BD)F+ =ABCD, (CD)F+ =ACD 步骤3:求关系R的所有三属性的闭包; (ABC)F+ =ABCD, (ABD )F+ =ABCD (ACD)F+ =ACD, (BCD)F+ =ABCD 步骤4:求关系R的所有四属性的闭包; (ABCD)F+ =ABCD

结论:候选码为AB,BC,BD 五、程序设计

50.CREATE DATABASE stu ON [ primary ] ( NAME = stu, FILENAME = 'D:\\stu.mdf' , SIZE = 3MB , MAXSIZE = 500MB , FILEGROWTH=10%) LOG ON ( NAME = stu_log, FILENAME ='D:\\stu_log.ldf', SIZE = 3MB , [ MAXSIZE = unlimited ,] FILEGROWTH = 1MB ) CREATE TABLE student( 学号 char(9) PRIMARY KEY Check

(学号 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' and 学号<>'000000000') , 姓名 char(8) , 性别 char(2) , 年龄 int , 院系 char(20),

CHECK(年龄<=25 AND ( (性别='男' AND 年龄>=15) OR (性别='女' AND 年龄>=14) )) ) 六、综合题 52.

2)将E-R模型转换成关系数据模型,并指出每个关系的主键; 系(系名,系址,系主任姓名,办公电话) 教师(工作证号码,教师名,出生日期,党派,系名) 外键:系名 学生(学号,姓名,出生日期,性别,系名) 外键:系名 课程(课程号,课程名,预修课号,工作证号码) 外键:工作证号码 成绩(学号,课程号,成绩)

3)写出各关系模式中的函数依赖集;

系函数依赖集为F1={系名→系址,系名→系址,系名→系主任姓名,系名→办公电话}

15

第 15 页 共 16 页

教师函数依赖集为F2={工作证号码→教师名,工作证号码→出生日期,工作证号码→党派,工作证号码→系名}

学生函数依赖集为F3={学号→姓名,学号→出生日期,学号→性别,学号→系名} 课程函数依赖集为F4={课程号→课程名,课程号→预修课号,课程号→工作证号码} 成绩函数依赖集为F5={(学号,课程号)→成绩}

4)若没有达到请将其分解以达到3NF。 判断F1 ,主属性为系名,不存在部分依赖和传递依赖,属于3NF;

判断F2 ,主属性为工作证号码,不存在部分依赖和传递依赖,属于3NF; 判断F3 ,主属性为学号,不存在部分依赖和传递依赖,属于3NF; 判断F4 ,主属性为课程号,不存在部分依赖和传递依赖,属于3NF;

判断F5 ,主属性为学号和课程号,不存在部分依赖和传递依赖,属于3NF;

第 16 页 共 16 页

16

教师函数依赖集为F2={工作证号码→教师名,工作证号码→出生日期,工作证号码→党派,工作证号码→系名}

学生函数依赖集为F3={学号→姓名,学号→出生日期,学号→性别,学号→系名} 课程函数依赖集为F4={课程号→课程名,课程号→预修课号,课程号→工作证号码} 成绩函数依赖集为F5={(学号,课程号)→成绩}

4)若没有达到请将其分解以达到3NF。 判断F1 ,主属性为系名,不存在部分依赖和传递依赖,属于3NF;

判断F2 ,主属性为工作证号码,不存在部分依赖和传递依赖,属于3NF; 判断F3 ,主属性为学号,不存在部分依赖和传递依赖,属于3NF; 判断F4 ,主属性为课程号,不存在部分依赖和传递依赖,属于3NF;

判断F5 ,主属性为学号和课程号,不存在部分依赖和传递依赖,属于3NF;

第 16 页 共 16 页

16

本文来源:https://www.bwwdw.com/article/kqi5.html

Top