1、软件水平考试(中级)数据库系统工程师下午(应用技术)试题-试卷 6 及答案解析(总分:60.00,做题时间:90 分钟)一、试题一(总题数:2,分数:16.00)1.试题一()(分数:8.00)_阅读以下说明,回答问题 1-4。说明某工程数据库关系表如下: (分数:8.00)(1).找出关系表“工程”和表“工作人员”所有可能的候选键及外键;(分数:2.00)_(2).关系表“工作人员”最高满足第几种范式?叙述其存在何种数据异常。(分数:2.00)_(3).修改问题 2中的数据异常,使关系表“工作人员”满足高一级范式。(分数:2.00)_(4).问表“工程”最高可到达几级范式?并写出其最高级范式
2、。(分数:2.00)_二、试题二(总题数:2,分数:12.00)2.试题二()(分数:6.00)_阅读以下说明,回答问题 1-3。在图书馆数据库有三个基本表:书目表 Cata(书号 Cno、书名 Cname、作者Cauthor、出版年 Cdate、价格 Cprice)、学生表 Student(学号 Sno、姓名 Sname、性别 Sgender、专业Sdept)和借书历史表 Borrow(所借书号 Cno、借书者学号 Sno、借书日期 Bbdate、还书日期 Brdate)。(分数:6.00)(1).请用 SQL 语句来建立这三个基本表(请注意数据类型的选择)。(分数:2.00)_(2).请用
3、 SQL 实现如下操作: (1)图书馆里已有的鲁迅著作的名称 (2)按借书日期列出学生李明的所借书名 (3)往学生表 Student 中插入一个学生记录。(学号:132,姓名:张华,性别:男,系别:计算机) (4)把野火集的价格修改为 15 元(分数:2.00)_(3).请用 SQL 语句来实现如下改变:为借书历史 Borrow 增加一个属性罚金 Bfine,同时删去书目表 Cata中的属性价格 Cprice。(分数:2.00)_三、试题三(总题数:2,分数:16.00)3.试题三()(分数:8.00)_阅读以下说明,回答问题 14。 说明 在教学管理数据库中,存在关系模式 SC: SC(SN
4、O,SN,AGE,SEX,DEPT,CNO,CN,GRADE) 其中,SNO 表示学生学号,SN 表示学生姓名,AGE 表示学生年龄,SEX 表示性别,DEPT 表示学生所在的系别,CNO 表示课程号,CN 表示课程名,SCORE 表示成绩。在教学管理中,一个系有若干个学生,但一个学生只属于一个系;一个学生可以选修多门功课,每门课程可有若干学生选修;每个学生学习课程有一个成绩。在此关系模式中已有一部分数据,具体如下图所示:(分数:8.00)(1).试述一个数据库管理系统的组成内容。(分数:2.00)_(2).题中所给关系的主码是什么?(分数:2.00)_(3).简述该数据库在进行操作时,会出现
5、哪几方面的问题?(分数:2.00)_(4).为了消除上述问题,该如何对上述关系进行分解?写出上图分解后的结果。(分数:2.00)_四、试题四(总题数:2,分数:16.00)4.试题四()(分数:8.00)_阅读以下说明,回答问题 14。说明 设某商业集团为仓库存储商品设计了三个基本表: 仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓库名称和地址。 存储 SG(S#,C#,QUANTITY),其属性是仓库编号、商品编号和数量。 商品 GOODS(C#,GNAME,PRICE),其属性是商品编号、商品名称和单价。 现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。(分数
6、:8.00)(1).试写出相应的关系代数表达式、元组表达式、关系逻辑规则和 SELECT 语句。(分数:2.00)_(2).在基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和 SELECT 语句。(分数:2.00)_(3).在基本表中,检索每个仓库存储商品的总价值。试写出相应的 SELECT 语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。(分数:2.00)_(4).在基本表中,写一个断言,规定每个仓库存储商品的单价为 1 万元以上的商品种类最多为 20 种。(分数:2.00)_软件水平考试(中级)数据
7、库系统工程师下午(应用技术)试题-试卷 6 答案解析(总分:60.00,做题时间:90 分钟)一、试题一(总题数:2,分数:16.00)1.试题一()(分数:8.00)_解析:阅读以下说明,回答问题 1-4。说明某工程数据库关系表如下: (分数:8.00)(1).找出关系表“工程”和表“工作人员”所有可能的候选键及外键;(分数:2.00)_正确答案:(正确答案:表“工程”有两个候选键为(工程号)或(负责人);表“工作人员”的候选键为(工程号,姓名)或(工程号,人员编号)其外键是“工程号”。)解析:(2).关系表“工作人员”最高满足第几种范式?叙述其存在何种数据异常。(分数:2.00)_正确答案
8、:(正确答案:表“工作人员”满足 1NF。但存在数据异常:若选用主键(“工程号,人员编号”),则“人名编号”“姓名”。)解析:(3).修改问题 2中的数据异常,使关系表“工作人员”满足高一级范式。(分数:2.00)_正确答案:(正确答案:可改成 2NF: 工作人员 1(工程号,人员编号,所在部门,工作天数) 工作人员2(人员编号,姓名)解析:(4).问表“工程”最高可到达几级范式?并写出其最高级范式。(分数:2.00)_正确答案:(正确答案:“工程”表最高可到达 BCNF 范式,其分解成的关系模式为: 工程 1(工程号,负责人) 工程 2(工程号,工程所在地)解析:二、试题二(总题数:2,分数
9、:12.00)2.试题二()(分数:6.00)_解析:阅读以下说明,回答问题 1-3。在图书馆数据库有三个基本表:书目表 Cata(书号 Cno、书名 Cname、作者Cauthor、出版年 Cdate、价格 Cprice)、学生表 Student(学号 Sno、姓名 Sname、性别 Sgender、专业Sdept)和借书历史表 Borrow(所借书号 Cno、借书者学号 Sno、借书日期 Bbdate、还书日期 Brdate)。(分数:6.00)(1).请用 SQL 语句来建立这三个基本表(请注意数据类型的选择)。(分数:2.00)_正确答案:(正确答案:CREATE TABLE Cata
10、( Cno INT, Cname CHAR(40), Cauthor CHAR(10), Cdate INT, Cpriee float, ); CREATE TABLE Student( Sno INT, Shame CHAR(20), Sgendcr CHAR(2), Sdept CHAR(20), ); CREATE TABLE BORROW( Cno INT, Sno INT, Bbdate INT: Brdate INT。 );)解析:(2).请用 SQL 实现如下操作: (1)图书馆里已有的鲁迅著作的名称 (2)按借书日期列出学生李明的所借书名 (3)往学生表 Student 中插
11、入一个学生记录。(学号:132,姓名:张华,性别:男,系别:计算机) (4)把野火集的价格修改为 15 元(分数:2.00)_正确答案:(正确答案:(1)SELECTCname FROM Cata WHEREauthor=鲁迅; (2)SELECT Cname from Cata,Student,Borrow Where Student. Sno=Bom)w. Sno and Cata. Cno=BorrowCno and Snamc=李明 Group by Bbdate (3)INSERT INTO Student(Sno,Sname,Sgcn- der,Sdept) VALUES(132,
12、张华,男,计算机); (4)UPDATE Cata SET Cprice=25 WHERE Cnarse=野火集;)解析:(3).请用 SQL 语句来实现如下改变:为借书历史 Borrow 增加一个属性罚金 Bfine,同时删去书目表 Cata中的属性价格 Cprice。(分数:2.00)_正确答案:(正确答案:ALTER TABLE Borrow ADD Brine float; ALTER TABLE Cata drop Cprice Float;)解析:三、试题三(总题数:2,分数:16.00)3.试题三()(分数:8.00)_解析:阅读以下说明,回答问题 14。 说明 在教学管理数据库
13、中,存在关系模式 SC: SC(SNO,SN,AGE,SEX,DEPT,CNO,CN,GRADE) 其中,SNO 表示学生学号,SN 表示学生姓名,AGE 表示学生年龄,SEX 表示性别,DEPT 表示学生所在的系别,CNO 表示课程号,CN 表示课程名,SCORE 表示成绩。在教学管理中,一个系有若干个学生,但一个学生只属于一个系;一个学生可以选修多门功课,每门课程可有若干学生选修;每个学生学习课程有一个成绩。在此关系模式中已有一部分数据,具体如下图所示:(分数:8.00)(1).试述一个数据库管理系统的组成内容。(分数:2.00)_正确答案:(正确答案:一个数据库系统由数据库、数据库管理系
14、统、数据库应用、数据库管理员和系统平台所构成。 数据库是数据的集合,它具有一定的组织形式并存放于统一的存储介质上,它是多种应用数据的集成,并可被多个应用所共享。 数据库管理系统是一种负责数据库的定义、建立、操纵、管理和维护的系统软件。 数据库管理员负责数据库的设计、规划、协调、管理和运行维护工作。 数据库应用是数据库的应用程序。 系统平台指整个系统的基本物理支撑环境,包括计算机、操作系统、计算机网络三个部分。)解析:(2).题中所给关系的主码是什么?(分数:2.00)_正确答案:(正确答案:主码为:SNO+CNO。)解析:(3).简述该数据库在进行操作时,会出现哪几方面的问题?(分数:2.00
15、)_正确答案:(正确答案:会存在数据冗余、插入异常、删除异常、更新异常四个方面的问题。)解析:(4).为了消除上述问题,该如何对上述关系进行分解?写出上图分解后的结果。(分数:2.00)_正确答案:(正确答案:分解为 3 个关系: R1(SNO,SN,AGE,SEX,DEPT),R2(CNO,CN),R3 (SNO,CNO,GRDE) 分解后的三个图如下: )解析:四、试题四(总题数:2,分数:16.00)4.试题四()(分数:8.00)_解析:阅读以下说明,回答问题 14。说明 设某商业集团为仓库存储商品设计了三个基本表: 仓库STORE(S#,SNAME,SADDR),其属性是仓库编号、仓
16、库名称和地址。 存储 SG(S#,C#,QUANTITY),其属性是仓库编号、商品编号和数量。 商品 GOODS(C#,GNAME,PRICE),其属性是商品编号、商品名称和单价。 现检索仓库名称为“莘庄”的仓库里存储的商品的编号和名称。(分数:8.00)(1).试写出相应的关系代数表达式、元组表达式、关系逻辑规则和 SELECT 语句。(分数:2.00)_正确答案:(正确答案:关系代数表达式为: G#,GNAME(SNAME=莘庄(STORE SG GOODS) 元组表达式为: t |(u)(v)(w)(COODS(u)SC(v) STOBE(w) u1=v21:w1w2 =莘庄t1=u1t
17、2=u2) 关系逻辑规则如下: W(x,y)(GOODS(x,y,a)SG(b,x,c) STORE(b,莘庄,d) SELECT 语句为: SELECT AG#,GNAME FROM GOODS AS ASG AS B,STORE AS C WHERE AC#:BC# AND BS#=CS# AND SNAME=莘庄:)解析:(2).在基本表中,检索存储全部种类商品的仓库的编号及名称。试写出相应的关系代数表达式、元组表达式、关系逻辑规则和 SELECT 语句。(分数:2.00)_正确答案:(正确答案:关系代数表达式为: S#.SNAME(STORE(S#,G#(SG)G#(GOODS) 元组
18、表达式为: t(u)(v)(w)(STORE(u)GOODS(v)SG(w)w1 =u1)w2=v1t1=u1t 2=u2) 关系逻辑规则如下: W(x,y) STORE(x,y,a) GOODS(b,c, d) SG(x,b,e) SELECT 语句为: SELECT S#, SNAME FROM STORE WHERE NOT EXISTS ( SELECT * FROM GOODS WHERE NOT EXISTS ( SELECT * FROM SG WHERE SG. S# = STORE. S# AND SG. G# = GOODS. G#) );)解析:(3).在基本表中,检索每
19、个仓库存储商品的总价值。试写出相应的 SELECT 语句。要求显示(S#,SUM_VALUE),其属性为仓库编号及该库存储商品的总价值。(分数:2.00)_正确答案:(正确答案:SELECT 语句为: SELECT S#, SUM ( QUANTITY * PRICE) AS SUM_VALUE FROM SG,GOODS WHERE SG. G# = GOODS. G# GROUP BY S#;)解析:(4).在基本表中,写一个断言,规定每个仓库存储商品的单价为 1 万元以上的商品种类最多为 20 种。(分数:2.00)_正确答案:(正确答案:CREATE ASSERTION ASSE6 CHECK (20 = ALL ( SELECT COUNT( SG. G#) FROM SG, GOODS WHERE SG. G# = GOODS. G# AND PRICE 10000 GROUP BY S#);)解析: