1、软件水平考试(中级)数据库系统工程师下午(应用技术)试题-试卷 8 及答案解析(总分:72.00,做题时间:90 分钟)一、试题一(总题数:2,分数:24.00)1.试题一()(分数:12.00)_阅读以下说明和关系表,回答问题 1-6。 说明 设有三个关系 学生 S(学号,姓名,性别,年龄,籍贯) 课程 C(课程号,课程名,任课老师,所用教材) 学生成绩 SC(学号,课程号,得分) 其中规定各属性定义如下: 学号:SNUM 姓名:SNAME 性别:SEX 年龄:AGE 籍贯:NATIVE 课程号:CNUM 课程名:CNAME 任课老师:TEACHER 所用教材:BOOK 得分:GRADE 试
2、用关系代数表达式表示下列查询语句。(分数:12.00)(1).检索张三老师所授课程的名称。(分数:2.00)_(2).检索选修全部课程的学生的学号和姓名。(分数:2.00)_(3).检索全部学生都选修的课程号。(分数:2.00)_(4).检索至少选修了课程号为 1 和课程号为 5 的课程的学生的学号。(分数:2.00)_(5).检索选修课程包含李四老师所授课程之一的学生姓名。(分数:2.00)_(6).检索选修课程包含学号为 2 且年龄小于 20 的学生所修全部课程的课程号。(分数:2.00)_二、试题二(总题数:2,分数:12.00)2.试题二()(分数:6.00)_阅读以下说明,回答问题
3、13。说明 有关系 R,有依赖关系 AEB ACD CEB CFEBA FE4A AC(分数:6.00)(1).求出关系模式的候选码。(分数:2.00)_(2).此关系模式最高属于哪级范式。(分数:2.00)_(3).将此模型按照模式分解的要求分解为 3NF。(分数:2.00)_三、试题三(总题数:2,分数:16.00)3.试题三()(分数:8.00)_阅读以下说明,回答问题 14。说明 设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。设仓库与商品之间存在“库存
4、”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个仓库每存储一种商品有日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。(分数:8.00)(1).试画出 ER 图,并在图上注明属性、联系类型、实体标识符。(分数:2.00)_(2).将 ER 图转换成关系模型,并说明主键和外键。(分数:2.00)_(3).将 ER 图转换成对象联系图。(分数:2.00)_(4).将 ER 图转换成 UML 的类图。(分数:2.00)_四
5、、试题四(总题数:2,分数:20.00)4.试题四()(分数:10.00)_阅读以下说明和关系表,回答问题 15。说明 已知某儿童医院的医疗数据库的模式如下: PATIENT (PNUM,PNAME,SEX,AGE) DOCTOR (DNUM,DNAME,DEPT) ORDER (PNUM,DNUM,NUMBER) 其中 PNUM 表示病人号,PNAME 表示病人姓名,SEX 表示病人的性别,AGE 表示病人的年龄,DNUM 表示医生工作号,DNAME表示医生的姓名,DEPT 表示医生所在的科室, NUMBER 表示医生给病人所看病的次数。 试定义下列完整性约束:(分数:10.00)(1).在
6、 PATIENT 中插入病人的性别时必须为“男”或“女”,年龄在 118 岁之间。(分数:2.00)_(2).在 ORDER 中插入元组时,其中的 DNUM 和 PNUM 必须出现在 PATIENT 和 DOCTOR 中。(分数:2.00)_(3).在 ORDER 中修改 NUMBER 的值必须大于 0。(分数:2.00)_(4).删除个 PATIENT 中的一个元组时,必须将关系 ORDER 中那些具有相同的 PNUM 值的元组全部删除。(分数:2.00)_(5).在修改 DOCTOR 中的某个 DNUM 时,必须同时将 ORDER 中那些的 DNUM 的值页修改为新值。(分数:2.00)_
7、软件水平考试(中级)数据库系统工程师下午(应用技术)试题-试卷 8 答案解析(总分:72.00,做题时间:90 分钟)一、试题一(总题数:2,分数:24.00)1.试题一()(分数:12.00)_解析:阅读以下说明和关系表,回答问题 1-6。 说明 设有三个关系 学生 S(学号,姓名,性别,年龄,籍贯) 课程 C(课程号,课程名,任课老师,所用教材) 学生成绩 SC(学号,课程号,得分) 其中规定各属性定义如下: 学号:SNUM 姓名:SNAME 性别:SEX 年龄:AGE 籍贯:NATIVE 课程号:CNUM 课程名:CNAME 任课老师:TEACHER 所用教材:BOOK 得分:GRADE
8、 试用关系代数表达式表示下列查询语句。(分数:12.00)(1).检索张三老师所授课程的名称。(分数:2.00)_正确答案:(正确答案:CNAME( TEACHER=张三(C)解析:(2).检索选修全部课程的学生的学号和姓名。(分数:2.00)_正确答案:(正确答案:SNUM,CNUM(SC)CNUM(C) SNUMM,SNAME(S)解析:(3).检索全部学生都选修的课程号。(分数:2.00)_正确答案:(正确答案:SNUM,CNUM(SC)SNUM(S)解析:(4).检索至少选修了课程号为 1 和课程号为 5 的课程的学生的学号。(分数:2.00)_正确答案:(正确答案:可建立一个临时关系
9、 R )解析:(5).检索选修课程包含李四老师所授课程之一的学生姓名。(分数:2.00)_正确答案:(正确答案:SNUM(CNUM(TEACHER=李四(C)S C) )解析:(6).检索选修课程包含学号为 2 且年龄小于 20 的学生所修全部课程的课程号。(分数:2.00)_正确答案:(正确答案:CNUM(SNUM(SNUM=2(S) )解析:二、试题二(总题数:2,分数:12.00)2.试题二()(分数:6.00)_解析:阅读以下说明,回答问题 13。说明 有关系 R,有依赖关系 AEB ACD CEB CFEBA FE4A AC(分数:6.00)(1).求出关系模式的候选码。(分数:2.
10、00)_正确答案:(正确答案:对依赖关系的右部分解为: (1)AEB (2)ACD (3)CEB (4)CFEB (5)CFEA (6)FEA (7)AC 去掉多余依赖 由(5)可得 CFEAE,加上(1),可得(4)多余 由(7)可得 AECE,加上(3),可得 AEB 多余 由(6)可得(5)多余 由(7)和(2)可得 AD,且(2)多余 所有最小依赖集为: ACD CEB FEA AC 所以,候选码为 FE。)解析:(2).此关系模式最高属于哪级范式。(分数:2.00)_正确答案:(正确答案:由于不存在部分依赖,所以属于 2NF。但是非主属性 c 等存在对 FE 的传递依赖,所有不屈于
11、3NF,所以最高为 2NF。)解析:(3).将此模型按照模式分解的要求分解为 3NF。(分数:2.00)_正确答案:(正确答案:消除传递依赖得: R1(A,C,D),R2(C,E,B),R3(E,F,A)解析:三、试题三(总题数:2,分数:16.00)3.试题三()(分数:8.00)_解析:阅读以下说明,回答问题 14。说明 设某商业集团数据库中有三个实体集。一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。设仓库与商品之间存在“库存”联系,每个仓库可存储若干种商品,每种商品存储在若干仓库中,每个
12、仓库每存储一种商品有日期及存储量;商店与商品之间存在着“销售”联系,每个商店可销售若干种商品,每种商品可在若干商店里销售,每个商店销售一种商品有月份和月销售量两个属性;仓库、商店、商品之间存在着“供应”联系,有月份和月供应量两个属性。(分数:8.00)(1).试画出 ER 图,并在图上注明属性、联系类型、实体标识符。(分数:2.00)_正确答案:(正确答案: )解析:(2).将 ER 图转换成关系模型,并说明主键和外键。(分数:2.00)_正确答案:(正确答案:据转换规则,图 2 的 ER 图可转换成 6 个关系模式; 仓库(仓库号,仓库名,地址) 商品(商品号,商品名,单价) 商店(商店号,
13、商店名,地址) 库存(仓库号,商品号,日期,库存量) 销售(商店号,商品号,月份,月销售量) 供应(仓库号,高店号,高品号,月份,月供应量)解析:(3).将 ER 图转换成对象联系图。(分数:2.00)_正确答案:(正确答案:图 1 的 ER 图的对象联系图如图 2 所示。其转换规则基本上与转换成关系模型的规则类似。三个实体类型转换成三个对象类型,两个 M:N 联系类型和一个 M:N:P 联系类型也转换成三个对象类型。因此对象联系图中共有六个对象类型,如图 2 所示。图中未标出基本数据类型属性,具体如下:仓库(仓库号,仓库名,地址) 商品(商品号,商品名,单价) 商店(商店号,商店名,地址)
14、库存(日期,库存量) 销售(月份,月销售量) 供应(月份,月供应量) )解析:(4).将 ER 图转换成 UML 的类图。(分数:2.00)_正确答案:(正确答案:图 1 的 ER 图的 UML 类图如图 3 所示。三个实体类型转换成三个类,三个联系型转换成三个关联类,如图 3 所示。 )解析:四、试题四(总题数:2,分数:20.00)4.试题四()(分数:10.00)_解析:阅读以下说明和关系表,回答问题 15。说明 已知某儿童医院的医疗数据库的模式如下: PATIENT (PNUM,PNAME,SEX,AGE) DOCTOR (DNUM,DNAME,DEPT) ORDER (PNUM,DN
15、UM,NUMBER) 其中 PNUM 表示病人号,PNAME 表示病人姓名,SEX 表示病人的性别,AGE 表示病人的年龄,DNUM 表示医生工作号,DNAME表示医生的姓名,DEPT 表示医生所在的科室, NUMBER 表示医生给病人所看病的次数。 试定义下列完整性约束:(分数:10.00)(1).在 PATIENT 中插入病人的性别时必须为“男”或“女”,年龄在 118 岁之间。(分数:2.00)_正确答案:(正确答案:在定义 PREATE 时使有检查子句: CREATE TABLE PATIENT ( PNUM CHAR(4), PNAME CHAR(S) NOT NULL, SEX C
16、HAR (2), AGE SMALLINT, PRIMARY KEY( PNUM), CHECK( SEX: 男OR SEX = 女, CHECK(AGE =0 AND AGE = 18) );)解析:(2).在 ORDER 中插入元组时,其中的 DNUM 和 PNUM 必须出现在 PATIENT 和 DOCTOR 中。(分数:2.00)_正确答案:(正确答案:在定义 ORDER 时使用权用外键约束 CREATE TABLE ORDER ( PNUM CHAR(4), DNUM CHAR(4), NUMBER REAL, PRIMARY KEY ( PNUM, DNUM), PRIMARY K
17、EY ( PNUM ) REFERENCES PATIENT( PNUM), PRIMARY KEY (DNUM) REFERENCES DOCTOR(DNUM), )解析:(3).在 ORDER 中修改 NUMBER 的值必须大于 0。(分数:2.00)_正确答案:(正确答案:在定义 ORDER 时加入检查子句 CHECK( NUMBER 0)解析:(4).删除个 PATIENT 中的一个元组时,必须将关系 ORDER 中那些具有相同的 PNUM 值的元组全部删除。(分数:2.00)_正确答案:(正确答案:在定义 ORDER 时使用外键子句: FOREIGN KEY ( PNUM ) REFERENCES PATIENT(PNUM) ON DELETE CASCADE)解析:(5).在修改 DOCTOR 中的某个 DNUM 时,必须同时将 ORDER 中那些的 DNUM 的值页修改为新值。(分数:2.00)_正确答案:(正确答案:在定义 ORDER 时使作外键子句: FOREIGN KEY ( DNUM ) REFERENCES PATIENT(DNUM) ON UPDATE CASCADE)解析: