数据库原理教程习题答案全.docx

上传人:b****1 文档编号:28970425 上传时间:2023-07-20 格式:DOCX 页数:82 大小:831.70KB
下载 相关 举报
数据库原理教程习题答案全.docx_第1页
第1页 / 共82页
数据库原理教程习题答案全.docx_第2页
第2页 / 共82页
数据库原理教程习题答案全.docx_第3页
第3页 / 共82页
数据库原理教程习题答案全.docx_第4页
第4页 / 共82页
数据库原理教程习题答案全.docx_第5页
第5页 / 共82页
点击查看更多>>
下载资源
资源描述

数据库原理教程习题答案全.docx

《数据库原理教程习题答案全.docx》由会员分享,可在线阅读,更多相关《数据库原理教程习题答案全.docx(82页珍藏版)》请在冰豆网上搜索。

数据库原理教程习题答案全.docx

数据库原理教程习题答案全

 

0000000000

第1章数据库系统概述

习题参考答案

税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。

典型的数

据处理包括纳税、退税处理、统计各类纳税人纳税情况等。

银行使用数据库存储客户基本信息、客户存贷款信息等。

典型的数据处理包括处理客户

存取款等。

超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。

典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。

1.2DBMS是数据库管理系统的简称,是一种重要的程序设计系统。

它由一个相互关联的数据集合和一组访问这些数据的程序组成。

数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。

数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。

数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。

数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。

数据库模式是数据库中使用数据模型对数据建模所产生设计结果。

对于关系数据库而言,数据库模式由一组关系模式构成。

1.3DBMS提供如下功能:

(1)

(2)

数据字典是DBMS维护的一系列内部表,用来存放元数据。

所谓元数据是关于数据的数据。

数据定义:

提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。

数据操纵:

提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。

事务管理和运行管理:

统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。

数据存储和查询处理:

确定数据的物理组织和存取方式,提供数据的持久存储和有

效访问;确定查询处理方法,优化查询处理过程。

(5)数据库的建立和维护:

提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。

(6)

1.4使用数据库进行信息管理具有如下优点:

(1)

其他功能:

包括DBMS与其它软件通信、异构数据库之间数据转换和互操作等。

数据整体结构化:

在数据库中,数据的组织面向整个机构、面向所有可能的应用,而不是某个具体部门或某个特定的应用。

数据结构不仅描述现实世界的对象,而且描述对象之间的联系。

数据可以充分共享:

数据库中的数据的面向整个机构组织使得它能够更好地被多个用户、多个应用程序共享。

数据独立性:

数据独立性是指数据与应用程序相互独立,包括数据的物理独立性和数据的逻辑独立性。

数据的结构用数据模型定义,无需程序定义和解释。

数据由DBMS同一管理和控制,使得系统能够为数据管理提供更多的支持。

这些支持包括:

提供事务支持、增强安全性、保证完整性、平衡相互冲突的请求和面对故障的弹性。

标准化:

使用数据库进行信息管理有利于制定部门标准、行业标准、工业标准、国家标准和国际标准,促进数据库管理系统和数据库开发工具的研制、开发,推动数据管理应用的健康发展。

1.5数据模型的三个基本要素是:

数据结构:

描述数据库的对象和对象之间的联系,是对数据的静态描述。

数据操作:

数据库中各种对象允许的操作和操作规则,使对系统的动态描述。

完整性约束:

一组完整性规则,用以限定符合数据模型的数据库状态和状态的变化,证数据的正确、有效和相容。

对于关系数据库而言,关系模型只有一种数据结构一一关系。

现实世界中的对象和对象

之间的联系都用关系表示。

关系是元组的集合。

从用户角度来看,关系是一张二维表。

在关系模型中,定义数据操作的方法有两种:

关系代数和关系演算。

关系代数显式地定

义了一些关系运算,而关系演算的基础是一阶谓词逻辑,它用逻辑公式表示查询结果必须满

足的条件。

关系模型的完整性约束包括实体完整性、参照完整性和用户定义的完整性。

其中实体完

整性和参照完整性是通用完整性约束,由关系模型明确定义。

1.6数据库系统的三级模式是指外模式、模式和内模式。

外模式是特定数据库用户的数据视图,是与某一具体应用相关的数据局部逻辑结构的描述。

模式是数据库中全体数据的总体逻

辑结构描述,是所有用户的公共数据视图。

内模式是数据物理结构和存储方式的描述,定义

数据在数据库内部的表示方式。

数据库系统的三级模式提供了三个层次的数据抽象。

这样做的一个优点是可以隐蔽数据存储细节,从而隐蔽系统内部的复杂性,简化系统的用户界面。

另一个优点是可以带来数据的独立性。

1.7所谓数据独立性是指数据独立于应用程序,分数据的逻辑独立性和数据的物理独立性两

种。

当数据的逻辑

数据的逻辑独立性是指应用程序与数据库的逻辑结构之间的相互独立性。

结构改变时,通过修改外模式-模式映像,保持外模式不变,从而使得建立在外模式上的应用程序也可以不变。

数据的物理独立性是指应用程序与存储在磁盘上的数据库中数据之间的相互独立性。

当数据的物理存储结构改变时,通过修改模式-内模式映像,保持模式不变。

由于外模式是定义在模式上的,模式不变,则外模式不需要改变,从而使得建立在外模式上的应用程序也可以不变。

而数据的物理独立性是指

数据的逻辑独立性是指数据的逻辑结构改变不影响应用程序,数据的物理组织(存储结构)改变不影响应用程序。

1.8

(1)

(2)

(3)

(4)

DBA的主要职责包括:

决定数据库中的信息内容和数据的逻辑结构。

决定数据库的存储结构和存取策略。

定义数据的安全性要求和完整性约束条件。

数据库系统的日常维护:

周期性转储数据库、故障恢复、监督系统运行、优化系统性能、设置必要的审计。

重组和重构数据库。

 

第2章实体-联系模型

部分习题参考答案2.1解释术语:

实体是客观存在并且可以相互区分的任何事物。

实体集是具有相同属性的实体的集合。

n(n2)个实体集,它En}的一个子集,其中(ei,n是联系的度(元)。

联系是多个实体之间的相互关联。

联系集是相同类型联系的集合。

形式地说,设Ei,E2,…,En是

们不必互不相同。

联系集R是{(ei,e2,…,en)|eiEi,e2E2,…,ene2,…,en)R是一个联系,并称ei(1in)是该联系的参与者,简单属性是不能划分成更小的部分的属性。

复合属性是可以划分成更小部分的属性(即可以分成一些其他属性)单值属性是一个特定的实体在该属性上只能取单个值的属性。

多值属性是特定的实体在该属性上可以取多个值的属性。

基本属性是其值不能通过其他属性的值推导出来的属性。

派生属性又称计算属性,是其值可以从其他相关属性或实体计算得到的属性。

码是主码或候选码的简称。

主码是指数据库的设计者选中的,用来区分同一实体集中不同实体的候选码。

候选码:

其真子集都不是超码的极小超码称为候选码。

超码:

其值可以惟一确定实体集中每个实体的属性集称为该实体集的超码。

一对一联系:

如果Ei中的每个实体最多与E2中的一个实体相关联,并且E2中的每个实体也最多与Ei中的一个实体相关联,则称Ei和E2之间联系为一对一联系。

一对多联系:

如果Ei中的每个实体都可以与E2中任意多个实体相关联,而E2中的每个实体最多与Ei中一个实体相关联,则称这种联系为Ei到E2的一对多联系。

多对一联系:

如果Ei中的每个实体最多与E2中的一个实体相关联,而E2中的每个实体都可以与Ei中任意多个实体相关联,则称这种联系为Ei到E2的多对一联系。

多对多联系:

如果Ei中的每个实体都可以与E2中任意多个实体相关联,并且E2中的

每个实体也可以与Ei中任意多个实体相关联,则称Ei和E2之间联系为多对多联系。

标识商品。

用户识别。

用于商品分类。

2.2商品应当包含如下属性:

商品条码:

商品名称:

商品类别:

生产商:

生产时间:

进价:

销售价:

存货数量:

2.3所有部门形成一个实体集,所有经理形成一个实体集。

假定每个部门最多只有一个经理,而每个人只能在一个部门出任经理,那么部门与经理之间的联系“管理”是一对一联系。

果允许部门经理空缺,但一个人是经理的话,必须在一个部门任职,那么经理对联系“管理”的参与是全部参与,而部门是部分参与。

所有学生形成一个实体集,所有院系形成一个实体集。

每个院系由多个学生,而每个学

生只能在一个院系。

因此,学生与院系之间的联系是多对一联系。

通常,一个学生总在一个

院系中,而每个院系都有学生。

因此,学生和院系对该联系都是全部参与。

商品是一个实体集,订单是一个实体集。

每个订单可以包括多种商品,而一种商品可以

被多个订单订购。

这样,商品与订单之间的联系“订购”是多对多联系。

通常,每个订单至少包含一种商品,而每种商品都会被某个订单订购(否则就不再销售这种商品)。

这样,商

品和订单对该联系的参与都是全部参与。

2.5弱实体集的主码可以通过它与强实体集的联系推断。

如果将强实体集的主码属性添加到

弱实体集,那么这些属性将通过实体集和联系两种方式提供,从而导致冗余。

此外,实体集

应当只包含描述该实体的属性,强实体集的主码属性并不是描述弱实体集的,因此添加它们

使得模型不清晰。

2.6如果一部分实体集通过E-R图的一条路径相连接,则这些实体集是相关的,或许是间接相关的。

一个非连通的图意味一部分实体集与另一部分实体集是不相关的。

如果我们将E-R图划分成连通分支,则事实上我们就有了一些分离的数据库,每个对应一个连通分支。

如上所述,一对实体集之间的路径指明这两个实体集之间的一种联系(可能是间接的)。

如果图中存在环,则环中每对实体集至少可以通过两种不同的方式相关联。

如果E-R图是无环的,则每对实体集之间至多存在一条路径,因此每对实体集之间至多存在一种联系。

2.7假定每辆汽车只属于一位客户。

涉及的实体集有:

客户、汽车和事故。

需要建立如下联系:

拥有:

客户与汽车之间的多对一联系

发生:

客户、汽车和事故之间的多对多联系。

损坏估计最好作为联系“发生”的属性,因为损坏估计不仅与事故有关,而且与特定客

户的特定汽车有关。

E-R图如图2.1所示。

2.10假定:

每位职工在同一时间段只从事一项工作。

每位职工不能同时在多个部门工作,也不能是多个部门的经理。

每位职工不能同时参加多个项目。

每位职工的办公室唯一。

一个项目只由一个部门承担。

一个办公室职能属于一个部门。

该问题涉及的实体集有:

部门、职工、项目、办公室和职工的工作经历,其中工作经历存在依赖于职工,是弱实体集,其余是强实体集。

电话只有一个属性“电话号码”,不把它视为实体集。

一个办公室有多部电话,但假定每位职工只有一部电话。

需要建立如下联系:

管理:

职工与部门之间一对一联系

工作:

职工与部门之间多对一联系

 

部门名称

预算

部门

部-办

承担

办公室名称

项目名称

办公室

项目

项目预算

fC电话号码

职-办

职工

职工号

属于

工作简历

姓名

地址

截止日期

开始日期

任务

习题2.10的E-R图

图2.3

工作

管理

 

承担:

部门与项目之间一对多联系部-办:

部门与办公室之间一对多联系

参加:

职工与项目之间多对一联系职-办:

职工与办公室之间多对一联系

属于:

弱实体集工作简历与标识实体集职工之间的多对一联系E-R图如图2.3所示。

第3章关系模型

习题参考答案3.1解释术语:

域是具有相同类型的值的集合。

笛卡尔积:

给定n个域Di,D2,…,Dn(它们不必互不相同)上的笛卡尔积记作Di

D2…Dn,定义为{(di,d2,…,dn)|diDid2D2…dnDn}。

关系:

域Di,D2,…,Dn上的关系r是笛卡尔积DiD2…Dn的任意子集。

元组:

笛卡尔积或关系的每个元素(di,d2,…,dn)称为一个n-元组(简称元组)

属性:

关系用一个二维表表示。

列通常是命名的,称为属性。

关系的码:

关系R的属性集K是它的码,如果K是R的超码,并且K的任何真子集都不是R的超码(即K是极小超码)。

或X是关系R的超码,如果ti和t2是R的任意实例中的元组,并且ti[X]=t2[X],贝Uti=t2。

候选码:

所有的码都称候选码。

主码:

由多个码中选出的作为惟一识别关系元组的码

外码:

如果FK是关系R的属性集,并且不是R的码,但是FK与关系R'勺主码K'对应,则称FK是关系R的外码。

关系模式:

关系模式用关系模式名、关系模式的诸属性和属性对应的域,以及属性间的

数据依赖集定义。

通常简单地用关系模式名和属性列表表示R(Ai,A2,…,An)。

关系数据库模式:

由若干域的定义和一组定义在这些域上的关系模式组成。

3.2实体完整性:

关系R的所有元组在主码上的值必须惟一,并且在主码的任何属性上都不能取空值。

参照完整性:

如果属性集FK是关系R的外码,它参照关系S的主码Ks,则R的任何

元组在FK上的值或者等于S的某个元组在主码Ks上的值,或者为空值。

是数据访问的最小单位。

属性的原子性要求是规范化关系的基本要求。

3.4

某个特定元组之间存在联系。

有些实际问题允许

在这种情况下,允许R的这些元组在外码上取空值。

例如,在关系

Salary,Dno)中,Dno是外码。

有些公司允许某些职工(如公司总裁)这些职工的元组在Dno上可以取空值。

假定所有的关系模式都是E-R图转换得到的。

(1)如果关系R是联系集转换的,则R代表联系集,其外码的值代表参与联系的特定实体集的一个特定实体。

此时,R外码都不能取空值。

(2)设关系R的外码Fr参照被参照关系So如果关系R是实体集Ei转换的,则Ei必然通过

某个联系R'与S对应的实体集相关联。

当这种联系不要求是完全的时,R的某些元组可

以不参照S的任何元组,此时外部码Fr的属性值可以为空;反之不能为空。

3.5自然连接和等值连接的相同之处是二者都是根据属性值相等进行连接。

二者的不同之处是:

自然连接在相同属性上进行相等比较,并投影去掉重复属性;等值连接并不要求一定在相同属性上进行相等比较,也不删除重复属性。

3.6由强实体集得到的关系模式:

Empioyees(Eno,Ename.Salary)

Departments(Dno,Dptname)

Suppliers(Sno,Sname,Saddress)

Items(Ino,Iname,Stocks)

Orders(Ono,Data)

Customers(Cno,Cname,Caddress,Balanee)

其中主码用下横线标示(下同)。

注意,Departments的Dptname也是码,但我们选择Dno

为主码。

由弱实体集Dependents得到如下关系模式:

Dependents(Eno,Dname,ReltoEmp,Birthday)

将联系转换成关系模式时,不再考虑弱实体集的存在依赖联系。

其余6个联系产生如下

关系模式:

Manages(Dno,Eno)

Works_in(Eno,Dno)

Carries(Dno,Ino)

Supplies(Sno,Ino,Price)

Ineludes(Ono,Ino,Quantity)

Placed_by(Cno,Ono)

其中Works_in和Manages有相同的属性,但它们的实际意义不同。

下一步,我们合并具有相同码的关系模式。

首先,考虑Manages。

它与Employees和

Departments都包含相同的码。

Maneges与EmpIoyees合并更容易回答"某职工的经理是谁”这类问题,而与Departments合并更容易回答“某部门的经理是谁”这类问题。

考虑到后一类问题更经常出现,我们决定将Manages合并到Departments,并将Manages中属性Eno改

名为Mrgno(表示经理的职工号),得到如下关系模式:

Departments(Dno,Dptname,Mrgno)

还有三对关系具有相同的码,它们是Employees和Works_in,Items和Carries,Orders

和Placed_by。

它们都可以直接合并。

最后,我们得到图3.11所示E-R模型的一组关系模式:

Empioyees(Eno,Ename,Salary,Dno)

Department(Dno,Dptname,Mrgno)

Suppliers(Sno,Sname,Saddress)

Items(Ino,Iname,Stocks,Dno)

Orders(Ono,Data,Cno)

Customers(Cno,Cname,Caddress,Balanee)

Dependents(Eno,Dname,ReltoEmp,Birthday)

Supplies(Sno,Ino,Price)

Includes(Ono,Ino,Quantity)

客户

汽车

事故发生

3.8得到的一组关系模式如下:

(客户ID,姓名,地址,电话)

(车辆编号,车型,出厂年份,车主ID)

(事故编号,发生时间,事故地点)

(驾照号,车辆编号,事故编号,损坏估计)

ID”改为“车

其中,客户与汽车之间的联系已经合并到关系模式“汽车”中,并将“客户主ID”。

(账号,余额)

(支行名称,城市,街道,资产)(客户ID,姓名,地址,联系电话)

(贷款号,贷款日期,贷款金额)

3.9由实体集得到如下关系模式:

账户支行客户贷款

由联系得到如下关系模式:

账户-支行(账号,支行名称)

贷款-支行(贷款号,支行名称)

借贷(客户ID,贷款号)

存取款(客户ID,账号,存取金额,存取日期)属于(账号,客户ID)

合并具有相同码的关系模式:

账户、账户-支行、属于具有相同码,合并成一个关系模式账户,并用开户行替换支行名称,开户人替换客户标识。

合并后的关系模式如下:

账户(账号,余额,开户行,开户人)

贷款和贷款-支行具有相同码,合并成一个关系模式贷款,并用贷款支行替换支行名称。

合并后的关系模式如下:

贷款(贷款号,贷款日期,贷款金额,贷款支行)

最后得到的一组关系模式如下:

账户支行客户贷款借贷

(账号,余额,开户行,开户人)

(支行名称,城市,街道,资产)

(客户标识,姓名,地址,联系电话)

(贷款号,贷款日期,贷款金额,贷款支行)(客户ID,贷款号)

存取款(客户ID,账号,存取金额,存取日期)

3.10电话号码是多值属性,需要创建一个关系模式。

我们称该关系模式为电话,它的码为

电话号码。

该关系模式定义如下:

电话(电话号码,办公室名称)

由强实体集得到如下关系模式:

部门(部门号,部门名称,预算)

项目(项目名称,项目预算)

办公室(办公室名称,位置)

职工(职工号,姓名,地址,电话号码)

由弱实体集“工作简历”得到如下关系模式:

工作简历(职工号,开始时间,任务,工资,截止时间)

由联系集得到如下关系模式:

承担(项目名称,部门号)

部-办(办公室名称,部门号)

管理(职工号,部门号)

参加(职工号,项目名称)

工作(职工号,部门号)

职-办(职工号,办公室名称)

合并具有相同码的关系模式:

项目与承担具有相同码,合并为项目,并将部门号改为承担部门,得到:

项目(项目名称,项目预算,承担部门)

办公室与部-办具有相同码,合并为办公室,并将部门号改为所属部门,得到:

办公室(办公室名称,位置,所属部门)

管理有两个码,可以与职工合并(有利于回答“某职工的经理是谁”这类问题),也可

以与部门合并(有利于回答“某部门的经理是谁”这类问题)。

考虑“某部门的经理是谁”

这类问题更常出现,决定于部门合并,并将职工号改为经理,得到:

部门(部门号,部门名称,预算,经理)

职工、参加、工作和职-办都具有相同码,合并为职工,得到:

职工(职工号,姓名,地址,电话号码,项目名称,部门号,办公室名称)

最后,我们得到如下关系模式:

部门(部门号,部门名称,预算,经理)

项目(项目名称,项目预算,承担部门)

办公室(办公室名称,位置,所属部门)

职工(职工号,姓名,地址,电话号码,项目名称,部门号,办公室名称)

工作简历(职工号,开始时间,任务,工资,截止时间)

电话(电话号码,办公室名称)

3.11

scity='上海'Suppliers)求位于郑州的所有工程的信息。

jcity='上海'Projects)求数量在100〜150之间的供应。

Quantity100Quantity150(SPJ)求为工程J1提供零件的供应商号。

Sno(Jno='J1'(SPJ))求供应工程J1红色零件的供应商号。

Sno(Jno=‘J1'Color=红色'(SPJ幻Parts))

求至少提供一种红色零件的供应商名称。

Sname(color=红色'Suppliers^^SPJParts))

求不提供零件P2的供应商名称

Sname(SuPPliers)Sname(Pno=P2'(SupplierS沁SPJ))

 

Color=红色'Parts))

使用了天津供应商生产的红色零件的工程号

Jno(Scity=天津'Suppliers)ESPJp

该题的解

jno(Projects)Jno(Scity=天津'SupplierspsPJColor=红'

色(Parts))

 

Jno,Jname(Scity=Jcity(P「ojectS冈SPJSuppliers))

(10)求未使用本地供应商提供的零件的工程号和工程名称。

Jno,Jname(Projects)

Jno,Jname(Scity=Jcity(Project^SPJSuppliers))

(11)求至少用了供应商S1所供应的全部零件的工程号。

 

(12)求提供所有零件的供应商名称。

 

3.12对于供应商-工程-零件数据库,用元组/域关系演算表示习题3.9中的查询

(1)

uJcity]=w[Scity]

求上海的所有供应商的信息。

{t|Suppliers(t)t[Scity]='上海')}

求位于郑州的所有工程的信息。

{t|Projects(t)t[Jcity]='郑州‘)}

求数量在100~150之间的供应。

{t|SPJ(t)t[Quantity]100t[Quantity]150)}

求为工程J1提供零件的供应商号。

{t⑴|(u)(SPJ(u)u[Jno]='1't[Sno]=u[Sno])}求供应工程J1红色零件的供应商号。

{t⑴|(u)(v)(SPJ(u)Parts(v)u[Pno]=v[Pno]u[Jno]='1'v[Color]='红色‘t[Sno]=u[S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1