您的位置: 网站首页 > 公共课 > 计算机软件技术基础 > 第4章 数据库系统 > 【4.4 数据库系统习题及参考答案】

4.4 数据库系统习题及参考答案

 

 

1.指出下列缩写的含义

1DML;(2DBMS(3)DDL;(4DBS;(5SQL;(6DB;(7DBA;(8DCL

2.分析文件系统与数据库系统之间的区别和联系

3.什么是数据库系统的数据独立性?

4.层次模型、网状模型和关系模型等三种基本数据模型是根据什么来划分的?

5.设有商业销售记帐数据库,一个顾客可以买多种商品,一种商品可以供应多个顾客。

  顾客:顾客姓名,单位,电话号码

  商品:商品名称,型号,单价

(1)       试画出对应的E-R图。

(2)       E-R图转换成关系模型,并指出主关键字及外部关键字。

6.设有如下实体

学生:学号,单位,姓名,性别,年龄,选修课程名

课程:编号,课程名,开课单位,任课老师号

教师:教师号,姓名,性别,职称,讲授课程号

单位:单位名称,电话,教师号,教师名

上述实体间存在如下联系:

(1)       一个学生可选修多门课程,一门课程可为多个学生选修;

(2)       一个教师可讲授多门课程,一门课程可为多个教师讲授;

(3)       一个单位可以有多个教师,一个教师只能属于一个单位。

   要求完成如下工作:

(1) 分别设计学生选课和教师任课两个局部信息结构的E-R图。

(2) 将上述局部E-R图合并成一个全局E-R图。

(3)将全局E-R图转换为等价的关系模型。

7.已知三个局部模型如图4.13所示,将其合并成一个全局信息模型结构。各实体的构成为:

 

4.13  三个局部模型图

 

 部门:部门号,部门名,电话,地址

 职工:职工号,职工名。职务,年龄,性别

 设备处:单位号,电话,地址

 工人:编号,姓名,年龄,性别

 设备:设备号,名称,规格,价格

 零件:零件号,名称,规格,价格

 生产厂:单位号,名称,电话,地址

8.一个图书借阅管理数据库,要求提供下述服务:

1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。

2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。

约定:任何人可以借多种书,任何一种书可以为多个人所借,借书证号具有唯一性。

(4)       需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。

约定:一个出版社可以出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上情况,作如下设计:

(1)       构造满足需要的E-R图。

(2)       转换为等价的关系模型结构。

9. 设有图4.14所示的关系RS,计算

                              4.14  关系RS

 

(1)       R1=RS

(2)       R2=RS

(3)       R3=RS

(4)       R4=RχS

10.设有关系RST如图4.15 所示,计算:

                             4.15  关系RST

 

(1)       R1=RS

(2)       R2=RS

(3)       R3=RS

(4)       R4=RS

          A<C

(5)       R5=A(R)

(6)       R6=σA=C(RχT)

11.设有关系RWD如图4.16所示。计算:

                                    4.16  关系RWD

 

(1)    R1=∏Y,T(R)

(2)    R2=σP>5∧T=C(R)

(3)    R3=R∞W

(4)    R4=[2],[1],[6]( σ[3]=[5](RχD))

12.设有图4.17所示的三个关系SCSC,将下列关系表达式用自然语言表达出来,并求其结果。

          

                                    4.17 SCSC

 

1[2],[6],[7]( σ籍贯=上海(S∞SC))

(2)∏[2],[9],[8](S∞SC∞σ课程名=操作系统(C))

13.对上题的关系SCSC,试用关系代数表达式表示下列查询语句:

1)查询赵旭老师所授课程的课程号和课程号。

2)查询年龄大于19的男学生学好和课程名。

3)查询“李军”同学不选修的课程的课程号。

4)查询至少选修两门课程的学生号。

5)查询选修课程包含“赵旭”老师所授课程之一的学生学号。

6)查询选修课程名为“数据库系统”的学生学号和姓名。

14.设有关系RST如下:

RBHXMXBDWH

SDWHDWM

TBHXMXBDWH

写出下述功能的SQL语句:

(1)       实现σDWH=‘100’(R)

(2)       实现∏XM,DWH( σXB=‘女’(R))

(3)       实现∏XM,XB(R)

(4)       实现R∞S

(5)       实现∏XM,XB,DWM(σXB=‘男’(R))

15.设有如下关系:

R(NO,NAME,SEX,AGE,CLASS)主关键字为NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,ClASS为班号。写出实现如下功能的SQL语言:

(1)   插入一个记录(0204,‘王燕’,‘女’,20。‘9903’)。

(2)   插入‘9903’班学号为0244,姓名为‘李甲’的学生纪录。

(3)   将学号为‘0112’的学生姓名改为‘赵军’。

(4)   将班号‘9903’改为‘9900’

(5)   删除学号为‘0205’的学生记录。

(6)   删除所有姓“李”的学生记录。

16.已知关系RS如图4.18所示。

4.18 关系R1S1

 

执行如下的SQL语言:

(1)       CREATE VIEW H(A,B,C,D,E)

AS SELECT A,B,R1.C,D,E

FROM R1,S1

WHERE R1.C=S1.C;

(2)       SELECT B,D,E

FROM H

WHERE C=’c2’;

试给出:

(1)       视图H

(2)       对视图H的查询结果。

17. 已知学生表S和选课表SC,其关系模式如下:

SSNOSNSDPROV

SC(SNO,CN,GR)

其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。

试用SQL语言实现下列操作:

(1)       查询“信息工程系”的学生来自哪些省区。

(2)       按分数降序排序,输出“人文学院”学生选修“计算机概论”课程的学生姓名和分数。

18. 设有学生表SSNO,SN)和学生选修课程表SCSNOCNOCNG),其中SNO为学生学号,SN为姓名,CNO为课程号,G为成绩。试用SQL语言完成以下操作:

1)建立一个视图V-SSCSNOSNCNOCNG)并按CNO升序排序。

2)从视图V-SSC上查询课程成绩在90分以上的SNCNG

19. 分析关系模式STUDENT(学号,姓名,出生日期,系名,班号,宿舍区),指出其中的候选关键字,最小依赖集和存在的传递函数依赖。

20. 设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在系(D),这些数据有如下语义:

学号和课程号分别与其所代表的学生和课程一一对应。

一个学生所修的每一门课程都有一个成绩。

教师中没有重名,每个教师只属于一个系。

(1)       根据上述语义确定函数依赖集。

(2)       如果用上述属性组成一个关系模式,那么该关系模式为何种范式?并举例说明在进行插入、删除操作失当异常现象。

(3)       将上述关系模式分解成满足3NF的模式。

21. 如图4.19所给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的范式中是否可以避免分解前关系中存在的操作异常?

        

  4.19 关系R

22. 设有如图4.20所示的关系S

4.20 关系S

 

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

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

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

23. 设有如图4.21所示的关系P

4.21 关系P

 

试问P是否属于3NF?为什么?若不是,它属于第几范式?并如何规范化为3NF

 

 

 

参考文献

 

1.       史嘉权等.数据库系统教程.北京:清华大学出版社,2001

2.       李春葆.数据库原理与应用——习题解析.北京:清华大学出版社,2001

3.       吴保国等.数据库应用基础.北京:清华大学出版社,1998

 

 

参考答案

 

1. 1)数据操纵语言

   2)数据库管理系统

   3)数据描述语言

4)数据库系统

5)结构化查询系统

6)数据库

7)数据库管理员

8)数据控制语言

2. 1)文件系统与数据库之间的区别:

2)文件系统与数据库系统之间的联系:

它们均为数据组织管理技术;均由数据管理软件来管理数据;程序与数据分离;数据库系统是在文件系统的基础上发展而成的。

3.  数据独立性是指应用程序与数据库中存储的数据不存在依赖关系,它包括逻辑数据独立性和物理数据独立性。

逻辑数据独立性是指局部逻辑数据结构(用户视图)与全局逻辑数据结构(概念视图)之间的独立性。当数据的全局逻辑数据结构发生变化(数据定义的修改、数据之间联系的变更或者增加新的数据类型等)时,不影响某些局部的逻辑数据结构的性质,不必修改应用程序。

物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构和应用程序没有影响,即数据库的存储结构与存取方法独立。

数据独立性的好处是,如果数据的物理存储设备更新了,物理表示及存取方法改变了,但数据的逻辑模式可以不改变,便于程序维护。同时对同一数据库的逻辑模式,可以建立不同的用户模式,提高了数据的共享性,使数据库系统有较好的可可扩充性。

4.       它们是依据描述实体与实体之间联系的不同方式来划分的。用树结构来表示实体和实体之间联系的模型叫做层次模型;用图结构来表示实体和实体之间的联系的模型叫做网状模型;用二维表格来表示实体和实体之间联系的模型叫做关系模型。

5.       1E-R图如图4.22所示。

2)关系模型为:

 顾客(顾客姓名,单位,电话号码)主关键字:顾客姓名

 商品(商品名称,型号,单价)主关键字:型号

 购买(顾客姓名,型号)主关键字:(顾客姓名,型号);外部关键字(顾客姓名,型号)

4.22 E-R

 

6.       1)学生选课局部E-R图如图4.23所示,教师任课局部E-R图如图4.24所示。

4.23 学生选课局部E-R

 

4.24 教师任课局部E-R

 

   2)合并后的全局E-R图如图4.25 所示。

               

4.25 合并后的全局E-R

 

为简化图形,各实体的属性为:

学生学号,姓名,性别,年龄

教师教师号,姓名,性别,职称

课程编号,课程名

单位单位名,电话

3)转换成等价的关系模型为:

   单位(单位名,电话)

   教师(教师号,姓名,职称,单位名)

   课程(课程编号,课程名,单位名)

   学生(学号,姓名,性别,名称,单位号)

   讲授(教师号,课程编号)

   选修(学号,课程编号)

7.       汇总后的E-R图如图4.26所示。

4.26 汇总后的E-R

 

各类实体的属性为:

部门部门号,部门名,电话,地址

职工职工号,职工名,职务,年龄,性别

设备设备号,名称,规格,价格

零件零件号,名称,规格,价格

8.       1)满足上述需求的E-R图如图4.27所示。

         

                    4.27 图书借阅管理数据库E-R

 

    2)转换为等价的关系模型结构如下:

     借书人(借书证号,姓名,单位)

     图书(书号,书名,数量,位置,出版社名)

     出版社(出版社名,电报编号,电话,编号,地址)

     借阅(借书证号,书号,借阅日期,还书日期)

9.       各小题的结局4.28所示

4.28 RS各种计算结果

 

10.   各小题的结果如图4.29所示。

4.29  RST各种计算结果

 

11.   各小题的结果如果4.30所示。

4.30  RWD各种计算结果

 

12.   1)查询籍贯为上海的学生姓名、学号和选修的课程号,其结果为图4.31中的R1

2)查询选修操作系统的学生姓名、课程号和成绩,其结果为4.31中的R2

  4.31 关系SCSC计算结果

 

13.   1∏课程号,课程名(σ教师姓名=‘赵旭’(C))

2∏学号,姓名(σ年龄>19∧性别=‘男’(S))

(3)∏课程号(C)-∏课程号(σ姓名=‘李军’(S)wvSC

(4)∏学号(σ[1]=[4] ∧[2]≠[5](SCΧSC))

(5)∏学号(S Cwv∏课程号(σ教师姓名=‘赵旭’(C)))

(6)∏学号,姓名(S∞∏学号(SC wv(σ课程名=‘数据库系统’(C)))

14.  (1) SELECT*FROM R WHERE DWH=‘100’;

     (2) SELECT XM,DWH FROM R WHERE XB=‘女’;

     (3) SELECT XM,XB FROM R

     (4) SELECT R.BH,R.XM,R.XB,R.DWH,S.DWH,S.DWM FROM R,S WHERE R.DWH=S.DWH

     (5) SELECT R.XM,R.XB,S.DWM FROM R,S WHERE R.DWH=S.DWH AND R.XB=‘男’;

15.  (1) INSERT INTO R VALUES(0204,‘王燕’,‘女’,20,‘9903’);

     (2) INSERT INTO R (NO,NAME,CLASS)VALUES(0244,‘李甲’,‘9903’);

     (3) UPDATE R SET NAME=‘赵军’WHERE NO=0112;

     (4) UPDATE R STE CLASS=‘9900’WHERE CLASS =‘9903’;

     (5) DELETE FROM R WHERE NO=0205

     (6) DELETE FROM R WHERE NAME LIKE‘李%’;

16.  (1)H视图如图4.32所示。

     (2)视图H的查询结果如图4.33所示。

          

图4.32 视图H                 图4.33 视图H查询结果

 

17. (1)SELECT SNO,PROV

         FROM S

         WHERE SD=‘信息工程系’;

(2)SELECT SN,GR

     FROM S,SC

     WHERE SD=‘人文学院’AND CN=‘计算机概论’AND S.SNO=SC.NO

     ORDER BY GR DESC

18. (1)CHEATE VIEW V-SSC(SNO,SN,CNO,CN,G)

         AS SELECT S.SNO,S.SN,SC.CNO,SC.CN,SC.G

         FROM S,SC

         WHERE S.SNO=SC.SNO

         ORDER BY CNO;

     (2) SELECT SN,CN,G

         FROM V-SSC

         WHERE G>90;

19.  候选关键字:学号(每个学生只有唯一的学号)。

     最小依赖集:{学号→姓名,学号→出生年月,学号→班号,系名→宿舍区,班号→系名}

存在的传递函数依赖:

                              t

学号→系名→宿舍区,因此,学号→宿舍区。

                              t

班号→系名→宿舍区,因此,班号→宿舍区。

                            t

学号→班号→系名,因此,学号→系名。

20.  1)函数依赖关系有:

      S#C#→G,C#→TN,TN→D。

     (2)此关系模式为1NF,因为该关系模式的候选关键字为(S#,C#),而非主属性有G、TN、和D。其中C#→TN,存在非主属性TN对候选关键字(S#,C#)的部分依赖,即(S#,

            p

C#)→TN。

如果新增设一门课程,而暂时没有学生选修时,因缺少关键字S#的值而不能进行插入操作;若某个教师调离学校要删除其相关信息时,将把有关的课程信息也删除了。

     (3)分解成3NF的关系模式为:

       R1=(S#,C#,G)

       R2=(C#,TN)

       R3=(TN,D)

21.  它是1NF,因为该关系的候选关系字为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选关键字的子集“工程号”,即:

    

                      p

(工程号,材料号)→开工日期

                  p

    (工程号,材料号)→完工日期

    因此不满在足2NF

    它存在的操作异常为:如果工程确定后,若暂时没有用材料,则该工程的数据因缺少关键字的一部分(材料号)而不能进入到数据库中,出现插入异常;若某工程下马,则删去该工程时将丢失有关材料方面的信息。

    将上述关系中的部分函数依赖分解为一个独立的关系,则产生如图4.34所示的两个2NF的关系自模式R1R2

4.34 关系R1R2

 

    分解后,若新工程确定后,尽管还没有用到材料,该工程的数据可在关系R2中插入。如果要删除某工程数据时,仅对关系R2操作,不会丢失材料方面的信息。

22. 1)它是2NF

    因为S的主关键字是课程名,而课程名→教师名,故教师名-﹨->课程名,教师名→教师地址,因此,课程名→教师地址,即存在非主属性教师地址对主属性课程名的传递函数依赖,所以S不是3NF。

又因为不存在非主属性对主属性的部分函数依赖,因此,R是2NF。

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

3)分解为高一级范式3NF如图4.35所示。

    分解后,若删除课程时,仅对关系S1进行操作,教师地址信息在关系S2中仍然保留,不会丢失。

23.  P不属于3NF,它是2NF。因为P的主属性是职工号,而职工号→单位号,单位号-﹨->职工号,单位号→单位名。

    因此,职工号→单位名,既存在非主属性单位名为主属性主属性职工号的传递函数依赖。

    规范化后的关系模式为图4.36所示P1和P2。

 图4.36 关系P1,P2