数据库原理与应用教程—SQL - Server课后习题答案(2)

2025-07-13

联系,一个供应商可供应多种零件,每种零件也可由多个供应商提供,每个供应商每提供一种零件要记录供应量;仓库与保管员之间有“工作”联系,一个仓库可以有多名保管员,但一名保管员只能在一个仓库工作。

(1)试为该工厂的数据库设计一个ER模型,要求标注联系类型,可省略实体属性。

1 N (2)根据转换规则,将ER模型转换成关系模型,要求标明每个关系模式的主键和外键。

答:(1)ER模型 职工号 姓名 保管员 M 工作 零件号 零件名 规格 单价 1 仓库 M 存放 N 零件 M 供应商号 供应 N 供应商 地址

仓库号 仓库面积 库存量 供应量 供应商名 (2)关系模式:

仓库(仓库号,仓库面积)

零件(零件号,零件名,规格,单价) 供应商(供应商号,供应商名,地址) 保管员(职工号,姓名,仓库号) 库存(仓库号,零件号,库存量) 供应(供应商号,零件号,供应量)

6

8.某网上订书系统,涉及如下信息:

(1)客户:客户号、姓名、地址、联系电话。 (2)图书:书号、书名、出版社、单价。

(3)订单:订单号、日期、付款方式、总金额。

其中:一份订单可订购多种图书,每种图书可订购多本;一位客户可有多份订单,一份订单仅对应一位客户。

(1)根据以上叙述,建立ER模型,要求标注联系类型(可省略实体的属性)。

(2)根据转换规则,将ER模型转换成关系模型,要求标注每个关系模型的主键和外键(如果存在)。 答:(1)ER模型 日期 订单号 付款方式 书号 客户号

书名 M N 1 M 订单 图书 客户 拥有 订购 姓名 出版社

总金额 单价 联系电话 数量 地址

(2)关系模式:

客户(客户号,姓名,地址,联系电话,订单号) 图书(书号,书名,出版社,单价)

订单(订单号,日期,付款方式,总金额) 订购(订单号,书号,数量)

3.4 习题

1.关系数据模型由哪三个要素组成。

答:关系数据模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2.简述关系的性质。

答:(1) 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。 (2) 在同一个关系中,不同的列的数据可以是同一种数据类型,但各属性的名称都必须是互不相同。

(3) 同一个关系中,任意两个元组都不能完全相同。

(4) 在一个关系中,列的次序无关紧要。即列的排列顺序是不分先后的。

(5) 在一个关系中,元组的位置无关紧要。即排行不分先后,可以任意交换两行的位置。

(6) 关系中的每个属性必须是单值,即不可再分,这就要求关系的结构不能嵌套。这是关系应满足的最基本的条件。

7

3.简述关系的完整性。

答:关系模型允许定义三类完整性约束:实体完整性、参照完整性和用户自定义的完整性约束。

实体完整性规则要求关系中元组在组成主码的属性上不能有空值。

参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S可能是相同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。

用户定义的完整性规则由用户根据实际情况对数据库中数据的内容进行的规定,也称为域完整性规则。

4.传统的集合运算和专门的关系运算都有哪些。

答:(1) 传统的集合操作:并、差、交、笛卡儿积 。 (2) 专门的关系操作:投影(对关系进行垂直分割)、选择(水平分割)、连接(关系的结合)、除法(笛卡儿积的逆运算)等 。 5.根据给定的关系模式进行查询。

设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC(学号S#,课程号C#,成绩G)。请用关系代数分别写出下列查询:

(1)检索学生的所有情况。

∏S#, SN, SD, SA(S)

(2)检索学生年龄大于等于20岁的学生姓名。

∏SN(σSA≥20 (S))

(3)检索先修课号为C2的课程号。

∏C#(σPC#=?C2? (C))

(4)检索课程号C1的成绩为A的所有学生姓名。

∏SN(σC#=?C1? ∧ G=?A? (S∞SC))

(5)检索学号为S1的学生选修的所有课程名及先修课号。

∏CN, PC#(σS#=?S1? (C∞SC))

8

(6)检索年龄为23岁的学生所选修的课程名。

∏CN(σSA=23 (C∞SC∞S))

4.3 习题

1.解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式。

答:函数依赖:指在关系R中,X、 Y为R的两个属性或属性组,如果对于R的所有关系r都存在: 对于X的每一个具体值,Y都只有一个具体值与之对应,则称属性Y函数依赖于属性X。记作X→Y。当Y不函数依赖于X时,记作:X Y。当X→Y且Y→X时,则记作:X ? Y。

平凡函数依赖:设关系模式R(U),U是R上的属性集,X、 Y?U;如果X→Y,且Y?X,则称X→Y为平凡的函数依赖。

非平凡函数依赖、如果X→Y,且Y不是X的子集,则称X→Y为非平凡的函数依赖。

完全函数依赖:设关系模式R(U),U是R上的属性集,X、Y?U;如果X→Y,并且对于X的任何一个真子集Z,Z→Y都不成立,则称Y完全函数依赖于X;

部分函数依赖:如果X→Y,但对于X的某一个真子集Z,有Z→Y成立,则称Y部分函数依赖于X。

传递函数依赖:设关系模式R(U),X?U,Y?U,Z?U;如果X→Y,Y→Z成立,但Y→X不成立,且Z-X、Z-Y和Y-X均不空,则称X→Z为传递函数依赖。

范式:范式(Normal Form)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准,达到的关系才是规范化的。 2.简述非规范化的关系中存在哪些问题。

答:①数据冗余 ②更新异常 ③插入异常 ④删除异常 3.简述关系模式规范化的目的。 答:关系模式规范化的目的是解决关系模式中存在的数据冗余、插入和删除异常以及更新异常等问题。其基本思想是消除数据依赖中的不合适部分,使各关系模式达到某种程度的分离,使一个关系描述一个概念、一个实体或实体间的一种联系。因此,规范化的实质是概念的单一化。

4.要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会,有一个入会年份。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。

9

描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系号、系名、系办公室地点、人数。 描述研究会的属性有:研究会名、成立年份、地点、人数。

试给出上述数据库的关系模式;写出每个关系的基本的函数依赖集;指出是否存在传递函数依赖,指出各关系的主码和外码。

答:关系模式:

学生(学号,姓名,出生年月,系号,班号,宿舍区) 班级(班号,专业名,系号,人数,入校年份) 系(系号,系名,系办公室地点,人数)

研究会(研究会名,成立年份,地点,人数) 参加研究会(学号 ,研究会名 ,入会年份)

学生关系的基本函数依赖集:学号→(姓名,出生年月,系号,班号),系名→宿舍区

班级关系的基本函数依赖集:班号→(专业名,系号,人数,入校年份)

系关系的基本函数依赖集:系名→(系号,系办公室地点,人数)

研究会关系的基本函数依赖集:研究会名→(成立年份,地点,人数)

参加研究会关系的基本函数依赖集:(学号 ,研究会名)→入会年份

5.设有关系模式R(运动员编号,姓名,性别,班级,班主任,项目号,项目名,成绩)

10


数据库原理与应用教程—SQL - Server课后习题答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第2章 网络商务信息收集

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219