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

上传人:仙*** 文档编号:110189120 上传时间:2022-06-17 格式:DOC 页数:50 大小:394KB
收藏 版权申诉 举报 下载
数据库原理教程习题答案(全)_第1页
第1页 / 共50页
数据库原理教程习题答案(全)_第2页
第2页 / 共50页
数据库原理教程习题答案(全)_第3页
第3页 / 共50页
资源描述:

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

1、 .wd. 0000000000 第1章 数据库系统概述习题参考答案 税务局使用数据库存储纳税人个人或公司信息、纳税人缴纳税款信息等。典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。银行使用数据库存储客户 基本信息、客户存贷款信息等。典型的数据处理包括处理客户存取款等。超市使用数据库存储商品的 基本信息、会员客户 基本信息、客户每次购物的详细清单。典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。1.2 DBMS是数据库管理系统的简称,是一种重要的程序设计系统。它由一个相互关联的数据集合和一组访问这些数据的程序组成。数据库是持久储存在计算机中、有组织的、可共享的大量数据

2、的集合。数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。数据库系统由数据库、DBMS及其开发工具、应用系统和数据库管理员组成。数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。数据库模式是数据库中使用数据模型对数据建模所产生设计结果。对于关系数据库而言,数据库模式由一组关系模式构成。数据字典是DBMS维护的一系列内部表,用来存放元数据。所谓元数据是关于数据的数据。1.3 DBMS提供如下功能:(1) 数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它

3、们的构造。(2) 数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的 基本操作查询、插入、删除和修改。(3) 事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。(4) 数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。(5) 数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。(6) 其他功能:包括DBMS与其它软件通信、异构数据库之间数据转换和互操作等。1.4 使用数据库

4、进展信息管理具有如下优点:(1) 数据整体构造化:在数据库中,数据的组织面向整个机构、面向所有可能的应用,而不是某个具体部门或某个特定的应用。数据构造不仅描述现实世界的对象,而且描述对象之间的联系。(2) 数据可以充分共享:数据库中的数据的面向整个机构组织使得它能够更好地被多个用户、多个应用程序共享。(3) 数据独立性:数据独立性是指数据与应用程序相互独立,包括数据的物理独立性和数据的逻辑独立性。数据的构造用数据模型定义,无需程序定义和解释。(4) 数据由DBMS同一管理和控制,使得系统能够为数据管理提供更多的支持。这些支持包括:提供事务支持、增强安全性、保证完整性、平衡相互冲突的请求和面对故

5、障的弹性。(5) 标准化:使用数据库进展信息管理有利于制定部门标准、行业标准、工业标准、国家标准和国际标准,促进数据库管理系统和数据库开发工具的研制、开发,推动数据管理应用的安康开展。1.5 数据模型的三个 基本要素是:数据构造:描述数据库的对象和对象之间的联系,是对数据的静态描述。数据操作:数据库中各种对象允许的操作和操作规那么,使对系统的动态描述。完整性约束:一组完整性规那么,用以限定符合数据模型的数据库状态和状态的变化,保证数据的正确、有效和相容。对于关系数据库而言,关系模型只有一种数据构造关系。现实世界中的对象和对象之间的联系都用关系表示。关系是元组的集合。从用户角度来看,关系是一张二

6、维表。在关系模型中,定义数据操作的方法有两种:关系代数和关系演算。关系代数显式地定义了一些关系运算,而关系演算的基础是一阶谓词逻辑,它用逻辑公式表示查询结果必须满足的条件。关系模型的完整性约束包括实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是通用完整性约束,由关系模型明确定义。1.6 数据库系统的三级模式是指外模式、模式和内模式。外模式是特定数据库用户的数据视图,是与某一具体应用相关的数据局部逻辑构造的描述。模式是数据库中全体数据的总体逻辑构造描述,是所有用户的公共数据视图。内模式是数据物理构造和存储方式的描述,定义数据在数据库内部的表示方式。数据库系统的三级模式提供了

7、三个层次的数据抽象。这样做的一个优点是可以隐蔽数据存储细节,从而隐蔽系统内部的复杂性,简化系统的用户界面。另一个优点是可以带来数据的独立性。1.7 所谓数据独立性是指数据独立于应用程序,分数据的逻辑独立性和数据的物理独立性两种。数据的逻辑独立性是指应用程序与数据库的逻辑构造之间的相互独立性。当数据的逻辑构造改变时,通过修改外模式-模式映像,保持外模式不变,从而使得建立在外模式上的应用程序也可以不变。数据的物理独立性是指应用程序与存储在磁盘上的数据库中数据之间的相互独立性。 当数据的物理存储构造改变时,通过修改模式-内模式映像,保持模式不变。由于外模式是定义在模式上的,模式不变,那么外模式不需要

8、改变,从而使得建立在外模式上的应用程序也可以不变。数据的逻辑独立性是指数据的逻辑构造改变不影响应用程序,而数据的物理独立性是指数据的物理组织存储构造改变不影响应用程序。1.8 DBA的主要职责包括:(1) 决定数据库中的信息内容和数据的逻辑构造。(2) 决定数据库的存储构造和存取策略。(3) 定义数据的安全性要求和完整性约束条件。(4) 数据库系统的日常维护:周期性转储数据库、故障恢复、监视系统运行、优化系统性能、设置必要的审计。(5) 重组和重构数据库。第2章 实体-联系模型局部习题参考答案2.1 解释术语:实体是客观存在并且可以相互区分的任何事物。实体集是具有一样属性的实体的集合。联系是多

9、个实体之间的相互关联。联系集是一样类型联系的集合。形式地说,设E1, E2, , En是nn 2个实体集,它们不必互不一样。联系集R是(e1, e2, , en) | e1 E1, e2 E2, , en En的一个子集,其中(e1, e2, , en) R是一个联系,并称ei1 i n是该联系的参与者,n是联系的度元。简单属性是不能划分成更小的局部的属性。复合属性是可以划分成更小局部的属性即可以分成一些其他属性。单值属性是一个特定的实体在该属性上只能取单个值的属性。多值属性是特定的实体在该属性上可以取多个值的属性。 基本属性是其值不能通过其他属性的值推导出来的属性。派生属性又称计算属性,是其

10、值可以从其他相关属性或实体计算得到的属性。码是主码或候选码的简称。主码是指数据库的设计者选中的,用来区分同一实体集中不同实体的候选码。候选码:其真子集都不是超码的极小超码称为候选码。超码:其值可以惟一确定实体集中每个实体的属性集称为该实体集的超码。一对一联系:如果E1中的每个实体最多与E2中的一个实体相关联,并且E2中的每个实体也最多与E1中的一个实体相关联,那么称E1和E2之间联系为一对一联系。一对多联系:如果E1中的每个实体都可以与E2中任意多个实体相关联,而E2中的每个实体最多与E1中一个实体相关联,那么称这种联系为E1到E2的一对多联系。多对一联系:如果E1中的每个实体最多与E2中的一

11、个实体相关联,而E2中的每个实体都可以与E1中任意多个实体相关联,那么称这种联系为E1到E2的多对一联系。多对多联系:如果E1中的每个实体都可以与E2中任意多个实体相关联,并且E2中的每个实体也可以与E1中任意多个实体相关联,那么称E1和E2之间联系为多对多联系。2.2 商品应当包含如下属性:商品条码:标识商品。商品名称:用户识别。商品类别:用于商品分类。生产商:生产时间:进价:销售价:存货数量:2.3 所有部门形成一个实体集,所有经理形成一个实体集。假定每个部门最多只有一个经理,而每个人只能在一个部门出任经理,那么部门与经理之间的联系“管理是一对一联系。如果允许部门经理空缺,但一个人是经理的

12、话,必须在一个部门任职,那么经理对联系“管理的参与是全部参与,而部门是局部参与。所有学生形成一个实体集,所有院系形成一个实体集。每个院系由多个学生,而每个学生只能在一个院系。因此,学生与院系之间的联系是多对一联系。通常,一个学生总在一个院系中,而每个院系都有学生。因此,学生和院系对该联系都是全部参与。商品是一个实体集,订单是一个实体集。每个订单可以包括多种商品,而一种商品可以被多个订单订购。这样,商品与订单之间的联系“订购是多对多联系。通常,每个订单至少包含一种商品,而每种商品都会被某个订单订购否那么就不再销售这种商品。这样,商品和订单对该联系的参与都是全部参与。2.4 按以下要求各举一个实际

13、例子:1三个实体集两两之间都存在多对多联系在你的例子中,三个实体集之间还存在有意义的联系吗,2三个实体集之间存在多对多联系在你的例子中,其中两个实体集之间还存在有意义的联系吗。(1) 实体集教师、课程和学生两两之间的多对多联系教师和课程之间的联系“讲授是多对多的:一个教师教多门课程,一门课程由多位教师讲授课程和学生之间的联系“选修是多对多的:一门课程可以被多个学生选修,一个学生可以选多门课程。学生和教师之间的联系“师生也是多对多的:一个学生可以有多位教师,一个教师可以有多个学生。教师、课程和学生三者之间也存在有意义的联系,说明特定的学生选修了特定教师讲授的特定课程。(2) 供应商、零件和工程之

14、间的多对多联系“供应一个供应商向多个工程提供多种零件;一种零件由多个供应商提供,并用于多个工程;一个工程使用多个供应商提供的多种零件。这三个实体集中两个实体集之间的有意义联系实际上“供应的投影。2.5 弱实体集的主码可以通过它与强实体集的联系推断。如果将强实体集的主码属性添加到弱实体集,那么这些属性将通过实体集和联系两种方式提供,从而导致冗余。此外,实体集应当只包含描述该实体的属性,强实体集的主码属性并不是描述弱实体集的,因此添加它们使得模型不清晰。2.6 如果一局部实体集通过E-R图的一条路径相连接,那么这些实体集是相关的,或许是间接相关的。一个非连通的图意味一局部实体集与另一局部实体集是不

15、相关的。如果我们将E-R图划分成连通分支,那么事实上我们就有了一些别离的数据库,每个对应一个连通分支。如上所述,一对实体集之间的路径指明这两个实体集之间的一种联系可能是间接的。如果图中存在环,那么环中每对实体集至少可以通过两种不同的方式相关联。如果E-R图是无环的,那么每对实体集之间至多存在一条路径,因此每对实体集之间至多存在一种联系。2.7 假定每辆汽车只属于一位客户。涉及的实体集有:客户、汽车和事故。需要建立如下联系:拥有:客户与汽车之间的多对一联系发生:客户、汽车和事故之间的多对多联系。损坏估计最好作为联系“发生的属性,因为损坏估计不仅与事故有关,而且与特定客户的特定汽车有关。E-R图如

16、图2.1所示。 客户汽车事故客户ID姓名 车辆编号车型出厂年份地址事故编号损坏估计拥有发生事故地点发生时间图2.1 习题2.7的E-R图2.8 假定一个客户可以有多个账户,但一个账户只属于一个客户。涉及的实体集有:账户、支行、客户和贷款。题中已经清楚描述。建立如下联系:账户-支行:账户与支行之间的多对一联系,其中账户全部参与。贷款-支行:贷款与支行之间的多对一联系,其中贷款全部参与。借贷:客户与贷款之间的多对一联系,其中贷款全部参与。账户与客户之间有两种联系:存取款:客户与账户之间的多对多联系,包括属性存取金额和存取日期。属于:客户与账户之间的一对多联系。E-R图如图2.2所示。账户支行账号姓

17、名余额地址贷款号存取金额账户-支行存取款联系 客户ID支行名称城市资产街道客户贷款借贷贷款-支行存取日期贷款金额贷款日期图2.2 习题2.8的E-R图属于2.9 方法一:使用弱实体建立弱实体集“贷款归还,包括属性:归还编号顺序号、归还日期、归还金额;建立建立“贷款归还与其标识实体集“贷款之间的标识性联系“还贷方法二:使用多值属性将“贷款归还作为贷款的多值复合属性,它包括属性:归还编号顺序号、归还日期、归还金额方法三:使用强实体集建立强实体集“贷款归还,包括属性:贷款编号、归还编号顺序号、归还日期、归还金额;建立建立“贷款归还与 “贷款之间的联系“还贷方法一最好,方法三最差,理由与职工-家属的例

18、子类似。2.10 假定:每位职工在同一时间段只从事一项工作。每位职工不能同时在多个部门工作,也不能是多个部门的经理。每位职工不能同时参加多个工程。每位职工的办公室唯一。一个工程只由一个部门承担。一个办公室职能属于一个部门。该问题涉及的实体集有:部门、职工、工程、办公室和职工的工作经历,其中工作经历存在依赖于职工,是弱实体集,其余是强实体集。 只有一个属性“ 号码,不把它视为实体集。一个办公室有多部 ,但假定每位职工只有一部 。需要建立如下联系:管理:职工与部门之间一对一联系部门职工工资姓名地址 号码管理职工号部门号部门名称预算开场日期工作办公室职-办工程部-办办公室名称位置工程预算工程名称承担

19、参加 号码任务属于工作简历截止日期图2.3 习题2.10的E-R图工作:职工与部门之间多对一联系承担:部门与工程之间一对多联系部-办:部门与办公室之间一对多联系参加:职工与工程之间多对一联系职-办:职工与办公室之间多对一联系属于:弱实体集工作简历与标识实体集职工之间的多对一联系E-R图如图2.3所示。第3章 关系模型习题参考答案3.1 解释术语:域是具有一样类型的值的集合。笛卡尔积:给定n个域D1, D2, , Dn它们不必互不一样上的笛卡尔积记作D1 D2Dn,定义为(d1, d2, , dn)| d1D1 d2 D2 dn Dn。关系:域D1, D2, , Dn上的关系r是笛卡尔积D1 D

20、2Dn的任意子集。元组:笛卡尔积或关系的每个元素(d1, d2, , dn)称为一个n-元组简称元组属性:关系用一个二维表表示。列通常是命名的,称为属性。关系的码:关系R的属性集K是它的码,如果K是R的超码,并且K的任何真子集都不是R的超码即K是极小超码。或X是关系R的超码,如果t1和t2是R的任意实例中的元组,并且t1X = t2X,那么t1 = t2。候选码:所有的码都称候选码。主码:由多个码中选出的作为惟一识别关系元组的码外码:如果FK是关系R的属性集,并且不是R的码,但是FK与关系R的主码K对应,那么称FK是关系R的外码。关系模式:关系模式用关系模式名、关系模式的诸属性和属性对应的域,

21、以及属性间的数据依赖集定义。通常简单地用关系模式名和属性列表表示R (A1, A2, , An)。关系数据库模式:由假设干域的定义和一组定义在这些域上的关系模式组成。3.2 实体完整性:关系R的所有元组在主码上的值必须惟一,并且在主码的任何属性上都不能取空值。参照完整性:如果属性集FK是关系R的外码,它参照关系S的主码Ks,那么R的任何元组在FK上的值或者等于S的某个元组在主码Ks上的值,或者为空值。3.3 除了语义约束之外,关系数据库对关系的主要限制是:(1) 在关系数据库中,我们只考虑有限关系笛卡尔积的有限子集,因为无限关系既不能显式存储,也不能有效地显示。(2) 关系的每个属性都必须是原

22、子的,即每个属性只能取原子值。在关系数据库中,原子值是数据访问的最小单位。属性的原子性要求是标准化关系的 基本要求。3.4 事实上,关系R的外码参照被参照关系S目标关系反映R的某些元组每个都与S的某个特定元组之间存在联系。有些实际问题允许R的某些元组与S的任何元组都没有联系,在这种情况下,允许R的这些元组在外码上取空值。例如,在关系Employees (Eno, Ename, Salary, Dno)中,Dno是外码。有些公司允许某些职工如公司总裁不属于任何特定的部门,这些职工的元组在Dno上可以取空值。假定所有的关系模式都是E-R图转换得到的。(1) 如果关系R是联系集转换的,那么R代表联系

23、集,其外码的值代表参与联系的特定实体集的一个特定实体。此时,R外码都不能取空值。(2) 设关系R的外码FR参照被参照关系S。如果关系R是实体集E1转换的,那么E1必然通过某个联系R与S对应的实体集相关联。当这种联系不要求是完全的时,R的某些元组可以不参照S的任何元组,此时外部码FR的属性值可以为空;反之不能为空。3.5 自然连接和等值连接的一样之处是二者都是根据属性值相等进展连接。二者的不同之处是:自然连接在一样属性上进展相等比较,并投影去掉重复属性;等值连接并不要求一定在一样属性上进展相等比较,也不删除重复属性。3.6 由强实体集得到的关系模式:Employees (Eno, Ename,

24、Salary)Departments (Dno, Dptname)Suppliers (Sno, Sname, Saddress)Items (Ino, Iname, Stocks)Orders (Ono, Data)Customers (Cno, Cname, Caddress, Balance)其中主码用下横线标示下同。注意,Departments的Dptname也是码,但我们选择Dno为主码。由弱实体集Dependents得到如下关系模式:Dependents (Eno, Dname, ReltoEmp, Birthday)将联系转换成关系模式时,不再考虑弱实体集的存在依赖联系。其余6个

25、联系产生如下关系模式:Manages (Dno, Eno)Works_in (Eno, Dno)Carries (Dno, Ino)Supplies (Sno, Ino, Price)Includes (Ono, Ino, Quantity)Placed_by (Cno, Ono)其中Works_in和Manages有一样的属性,但它们的实际意义不同。下一步,我们合并具有一样码的关系模式。首先,考虑Manages。它与Employees和Departments都包含一样的码。Maneges与Employees合并更容易答复“某职工的经理是谁这类问题,而与Departments合并更容易答复“某

26、部门的经理是谁这类问题。考虑到后一类问题更经常出现,我们决定将Manages合并到Departments,并将Manages中属性Eno改名为Mrgno表示经理的职工号,得到如下关系模式:Departments (Dno, Dptname, Mrgno)还有三对关系具有一样的码,它们是Employees和Works_in,Items和Carries,Orders和Placed_by。它们都可以直接合并。最后,我们得到图3.11所示E-R模型的一组关系模式:Employees (Eno, Ename, Salary, Dno)Department (Dno, Dptname, Mrgno)Sup

27、pliers (Sno, Sname, Saddress)Items (Ino, Iname, Stocks, Dno)Orders (Ono, Data, Cno)Customers (Cno, Cname, Caddress, Balance)Dependents (Eno, Dname, ReltoEmp, Birthday)Supplies (Sno, Ino, Price)Includes (Ono, Ino, Quantity)3.7 习题3.6的关系模式的模式图如图3.1所示。DnoDptnameMrgnoDepartmentsEmployeesEnoEnameSalaryDno

28、CustomersCnoCnameCaddressBalanceEnoDnameReltoEmpBirthdayDependentsOnoInoQuantityIncludesInoInameStocksDnoItemsOnoDateCnoOrders图3.1 某公司数据库系统的数据库模式图SnoInoQuantitySuppliesSnoSnameSaddressSuppliers3.8 得到的一组关系模式如下:客户客户ID,姓名,地址, 汽车车辆编号,车型,出厂年份,车主ID事故事故编号,发生时间,事故地点发生驾照号,车辆编号,事故编号,损坏估计其中,客户与汽车之间的联系已经合并到关系模式

29、“汽车中,并将“客户ID改为“车主ID。3.9 由实体集得到如下关系模式:账户账号,余额支行支行名称,城市,街道,资产客户客户ID,姓名,地址,联系 贷款贷款号,贷款日期,贷款金额由联系得到如下关系模式:账户-支行账号,支行名称贷款-支行贷款号,支行名称借贷客户ID,贷款号存取款客户ID,账号,存取金额,存取日期属于账号,客户ID合并具有一样码的关系模式:账户、账户-支行、属于具有一样码,合并成一个关系模式账户,并用开户行替换支行名称,开户人替换客户标识。合并后的关系模式如下:账户账号,余额,开户行,开户人贷款和贷款-支行具有一样码,合并成一个关系模式贷款,并用贷款支行替换支行名称。合并后的关

30、系模式如下:贷款贷款号,贷款日期,贷款金额,贷款支行最后得到的一组关系模式如下:账户账号,余额,开户行,开户人支行支行名称,城市,街道,资产客户客户标识,姓名,地址,联系 贷款贷款号,贷款日期,贷款金额,贷款支行借贷客户ID,贷款号存取款客户ID,账号,存取金额,存取日期3.10 号码是多值属性,需要创立一个关系模式。我们称该关系模式为 ,它的码为 号码。该关系模式定义如下: 号码,办公室名称由强实体集得到如下关系模式:部门部门号,部门名称,预算工程工程名称,工程预算办公室办公室名称,位置职工职工号,姓名,地址, 号码由弱实体集“工作简历得到如下关系模式:工作简历职工号,开场时间,任务,工资,

31、截止时间由联系集得到如下关系模式:承担工程名称,部门号部-办办公室名称,部门号管理职工号,部门号参加职工号,工程名称工作职工号,部门号职-办职工号,办公室名称合并具有一样码的关系模式:工程与承担具有一样码,合并为工程,并将部门号改为承担部门,得到:工程工程名称,工程预算,承担部门办公室与部-办具有一样码,合并为办公室,并将部门号改为所属部门,得到:办公室办公室名称,位置,所属部门管理有两个码,可以与职工合并有利于答复“某职工的经理是谁这类问题,也可以与部门合并有利于答复“某部门的经理是谁这类问题。考虑“某部门的经理是谁这类问题更常出现,决定于部门合并,并将职工号改为经理,得到:部门部门号,部门

32、名称,预算,经理职工、参加、工作和职-办都具有一样码,合并为职工,得到:职工职工号,姓名,地址, 号码,工程名称,部门号,办公室名称最后,我们得到如下关系模式:部门部门号,部门名称,预算,经理工程工程名称,工程预算,承担部门办公室办公室名称,位置,所属部门职工职工号,姓名,地址, 号码,工程名称,部门号,办公室名称工作简历职工号,开场时间,任务,工资,截止时间 号码,办公室名称3.11 (1) 求上海的所有供应商的信息。sScity=上海(Suppliers)(2) 求位于郑州的所有工程的信息。sJcity=上海(Projects)(3) 求数量在100150之间的供应。sQuantity10

33、0 Quantity150(SPJ)(4) 求为工程J1提供零件的供应商号。pSno (sJno=J1 (SPJ)(5) 求供应工程J1红色零件的供应商号。pSno(sJno=J1 Color=红色(SPJParts)(6) 求至少提供一种红色零件的供应商名称。pSname(sColor=红色(SuppliersSPJParts) (7) 求不提供零件P2的供应商名称pSname(Suppliers) - pSname(sPno=P2(SuppliersSPJ)(8) 求没有使用天津供应商生产的红色零件的工程号。使用了天津供应商生产的红色零件的工程号pJno(sScity=天津(Supplie

34、rs)SPJs Color=红色(Parts)该题的解pJno(Projects) - pJno(sScity=天津(Suppliers)SPJs Color=红色(Parts)(9) 求使用了本地供应商提供的零件的工程号和工程名称。pJno,Jname(sScity=Jcity(ProjectsSPJSuppliers)(10) 求未使用本地供应商提供的零件的工程号和工程名称。pJno,Jname(Projects) - pJno,Jname(sScity=Jcity(ProjectsSPJSuppliers)(11) 求至少用了供应商S1所供应的全部零件的工程号。pJno,Pno(SPJ)

35、 pPno(sSno=S1(SPJ)(12) 求提供所有零件的供应商名称。pSname (pSno,Pno(SPJ) pPno (Parts)Suppliers)3.12对于供应商-工程-零件数据库,用元组/域关系演算表示习题3.9中的查询(1) 求上海的所有供应商的信息。t | Suppliers(t) tScity=上海)(2) 求位于郑州的所有工程的信息。t | Projects(t) tJcity=郑州)(3) 求数量在100150之间的供应。t | SPJ(t) tQuantity100 tQuantity150)(4) 求为工程J1提供零件的供应商号。t(1) | ($u)(SPJ

36、(u) uJno=J1 tSno=uSno)(5) 求供应工程J1红色零件的供应商号。t(1) | ($u)( $v)(SPJ(u) Parts(v) uPno=vPno uJno=J1 vColor=红色 tSno=uSno)(6) 求至少提供一种红色零件的供应商名称。t(1) | ($u)($v)($w)(Suppliers(u) SPJ(v) Parts(w) uSno=vSno vPno=wPno vColor=红色 tSname=uSname)(7) 求不提供零件P2的供应商名称t(1) | ($u) (Suppliers(u) tSname=uSname ($v)(SPJ(v) u

37、Sno=vSno vPno=P2 )(8) 求没有使用天津供应商生产的红色零件的工程号。t(1) | ($u) (Projects (u) tJno=uJno ($v1)($v2)($v3) (Suppliers(v1) SPJ(v2) Parts(v3) uJno=v2Jno v1Sno=v2SnoO v2Pno= v3Pno v1Scity=天津 v3Color=红色)(9) 求使用了本地供应商提供的零件的工程号和工程名称。t(2) | ($u)($v)($w) (Projects(u) SPJ(v) Suppliers(w) uJno=vJno vSno=wSno uJcity=wSci

38、ty tJno=uJno tJname=uJname)(10) 求未使用本地供应商提供的零件的工程号和工程名称。t(2) | ($s)(Projects(s) ($u)($v)($w) (Projects(u) SPJ(v) Suppliers(w) uJno=vJno vSno=wSno uJcity=wScity tJno=uJno tJname=uJname)(11) 求至少用了供应商S1所供应的全部零件的工程号。t(1) | ($u) (Projects(u) tJno=uJno ($v)(SPJ(v) vSno=S1 ($w)(SPJ(w) uJno=wJno vSno=wSno)(

39、12) 求提供所有零件的供应商名称。t(1) | ($u) (Suppliers(u) tSname=uSname ($v)(Parts(v) ($w)(SPJ(w) uSno=wSno vPno=wPno)3.13用域关系演算完成例3.12和例3.13中的查询例3.12 (1) 列出系编号为MA数学系的所有学生的详细信息。(x1, x2,x3,x4,x5,MA) | Students(x1,x2,x3,x4,x5,MA) (2) 列出所有课程的课程号、课程名和学分。(x1,x2,x3) | ($y)(Courses(x1,x2,y,x3)(3) 列出年龄不超过45岁的所有副教授的姓名、性别和

40、年龄。(x1,x2,x3) | ($y1,y2) (Teachers(y1,x1,x2,x3,副教授,y2)(4) 列出选修了课程号为CS201的课程的所有学生的学号。(x) | ($y) (SC(x,CS201, y) 例3.13 (1) 列出选修了课程号为CS201的课程的所有学生的学号和姓名。(x1,x2) | ($x3,x4,x5,x6)($y)(Students(x1,x2,x3,x4,x5,x6) SC(x1,CS201,y)(2) 列出每个学生选修的每门课程的成绩,要求列出的学号、姓名、课程名和成绩。(x1,x2,x3,x4) | ($(y1,y2,y3,y4)($z)($w1,

41、w2,w3,w4)(Students(x1,x2, y1,y2,y3,y4) SC(x1,w1,z) Courses(w1,w2,w3,w4)(3) 求评估得分高于90分的教师所在院系名称、教师姓名、课程名和评估得分。(x1,x2,x3,x4) | ($(y1,y2)($z1,z2,z3,z4,z5)($w1,w2,w3) ($v)(Departments (y1,x1, y2) Teachers(z1,x2,z2,z3,z4,z5) Courses(w1,x3,w2,w3) Teaches(x1, w1, v)3.14(1) 求提供了零件的供应商的个数。gcount-distinct(Sno

42、) (SPJ)(2) 求所有零件的平均重量。gavg(Weight) (Parts)(3) 求供应商S1提供的每种零件的总数量。Pnogsum(Quantity) (sSno=S1 (SPJ)(4) 求供应商S1供应工程J1的每种零件的总重量。Pnogsum(Weight) (pPno, Weight (sSno=S1 Jno=J1 (PartsSPJ)3.15 右外连接限制在R的不属于S的属性上R S = (R S) (null, , null) (S-pS(R S)全外连接R S = (R S) (R-pR(R S) (null, , null) (null, , null) (S-pS(

43、R S)限制在R的不属于S的属性上限制在S的不属于R的属性上3.16 (1) 将Cno、Cname、Caddress和Balance分别为C0199、李华、郑州市大学北路46号、6000的客户信息插入Customers。Customers Customers( C0199,李华,郑州市大学北路46号,6000)(2) 从Dependents家属中删除删除1979年前出生的子女ReltoEmp=子女。Dependents Dependents-syear(Birthday)1979ReltoEmp=子女(Dependents)(3) 将销售部门Dname=销售的职工工资Salary提高4%。Em

44、ployees p Eno, Ename, Salary*1.04, Dno(sDname=销售(EmployeesDepartments) (Employees -p Eno, Ename, Salary, Dno(sDname=销售(EmployeesDepartments)第4章 关系数据库标准语言SQL习题参考答案4.1 SQL的 基本特点是:(1) 集多种数据库语言于一体:SQL语言集数据定义、数据操纵和数据控制DCL功能于一体,语言简洁、风格统一,使用SQL就可以独立完成数据管理的核心操作。(2) 高度非过程化:使用SQL语言时,用户只需要说明做什么,而不必指出怎么做。(3) 面向

45、集合的操作方式:SQL语言采用集合操作方式,其运算对象、运算结果均是元组的集合。(4) 一种语法两种使用方式:SQL既可以作为一种自含式语言独立使用,也可以作为一种嵌入式语言与通用程序设计语言配合使用。在两种使用方式下,SQL语言的语法构造 基本一致。(5) 功能强大,语言简洁:SQL是一种完整地数据库语言,其功能涵盖数据定义、数据操纵、数据控制等数据管理的主要需求。但SQL语言相比照拟简洁,其核心动词只有9个。另外,SQL 语言的语法简单,与英语口语的风格类似,易学易用。4.2 SQL的 基本功能包括:(1) SQL的数据定义语言DDL提供了模式定义、修改和删除, 基本表定义、修改和删除、域

46、定义修改和删除。(2) SQL的数据操纵语言DML提供了数据查询子语言。SQL的数据查询子语言是关系完备的,并且具有关系代数和关系演算的双重特征。(3) SQL DML不仅包括数据查询,而且包括数据更新数据插入、删除和修改语句,允许用户更新数据库。(4) SQL DDL还允许用户定义视图,并且SQL DML允许用户对视图进展查询和受限的更新操作。(5) SQL DDL允许用户定义各种完整性约束条件,并在数据库访问时自动检查,确保数据库操作不会破坏完整性约束条件。(6) SQL DDL还包括授权定义,用来定义用户对数据库对象 基本表、视图等的访问权限,防止非法访问,确保数据库的安全性。(7) S

47、QL还支持事务,提供了定义事务开场和完毕的语句。4.3 SQL的数据定义语言DDL包括模式定义、修改和删除; 基本表定义、修改和删除;域定义、修改和删除;视图的定义、修改和删除;断言的定义、修改和删除;授权的定义与回收。4.4CREATE TABLE Suppliers(SnoCHAR (8) PRIMARY KEY,Sname CHAR (8) NOT NULL,StatusINT,ScityCHAR(10);CREATE TABLE Parts(PnoCHAR (8) PRIMARY KEY,PnameCHAR(16) NOT NULL,ColorCHAR(4),WeightNUMERIC

48、(7, 2);CREATE TABLE Projects(JnoCHAR (8) PRIMARY KEY,JnameCHAR(20) NOT NULL,JcityCHAR(10);CREATE TABLE SPJ(SnoCHAR (8),PnoCHAR(8),JnoCHAR(8),QuantityINT,PRIMARY KEY (Sno,Pno,Jno),FOREIGN KEY Sno REFERENCES Suppliers(Sno),FOREIGN KEY Pno REFERENCES Parts(Pno),FOREIGN KEY Jno REFERENCES Projects(Jno)

49、);4.53.8题对应的表 CREATE TABLE Clients(Driver_idCHAR(10) PRIMARY KEY, CnameCHAR(8) NOT NULL, AddressCHAR(20);CREATE TABLE Cars(Car_noCHAR(10) PRIMARY KEY, ModelCHAR(20), YearDATE);CREATE TABLE Accidents(Report_noCHAR(8) PRIMARY KEY, Accident_DateDateTime, LocationCHAR(40);CREATE TABLE Participated(Drive

50、r_idCHAR(10), Car_noCHAR(10), Report_noCHAR(8)Damage_amountNUMERIC(8, 2),PRIMARY KEY (Driver_id, Car_no, Report_no),FOREIGN KEY Driver_id REFERENCES Clients (Driver_id),FOREIGN KEY Car_no REFERENCES Cars(Car_no),FOREIGN KEY Report_no REFERENCES Accidents (Report_no);3.9题对应的表CREATE TABLE Accounts(Acc

51、ount_noCHAR(10) PRIMARY KEY, BalanceNUMERIC(11, 2), Branch_nameCHAR(20),Client_idCHAR(18),FOREIGN KEY Branch_name REFERENCES Branchs(Branch_name),FOREIGN KEY Client_id REFERENCES Clients(Client_id);CREATE TABLE Branches(Branch_nameCHAR(20) PRIMARY KEY, CityCHAR(10), StreetCHAR(20)AssetNUMERIC(11, 2)

52、;CREATE TABLE Clients(Client_idCHAR(18) PRIMARY KEY, CnameCHAR(8) NOT NULL, AddressCHAR(40),PhoneCHAR(11) );CREATE TABLE Loans(Loan_idCHAR(5) PRIMARY KEY, Loan_DateDATE, AmountNUMERIC(11, 2),Branch_nameCHAR(20),FOREIGN KEY Branch_name REFERENCES Branchs(Branch_name);CREATE TABLE Borrow(Client_idCHAR

53、(18), Loan_idCHAR(5), PRIMARY KEY (Client_id , Loan_id),FOREIGN KEY Client_id REFERENCES Clients(Client_id),FOREIGN KEY Loan_id REFERENCES Loans(Loan_id);CREATE TABLE Deposit (Client_idCHAR(18), Account_noCHAR(10), Amount NUMERIC(11, 2),Deposit_DateDATE,PRIMARY KEY (Client_id, Account_no),FOREIGN KE

54、Y Client_id REFERENCES Clients(Client_id),FOREIGN KEY Account_id REFERENCES Accounts(Account_id);3.10题对应的表部门部门号,部门名称,预算,经理工程工程名称,工程预算,承担部门办公室办公室名称,位置,所属部门职工职工号,姓名,地址, 号码,工程名称,部门号,办公室名称工作简历职工号,开场时间,任务,工资,截止时间 号码,办公室名称CREATE TABLE Departments(DnoCHAR(5) PRIMARY KEY, DptnameCHAR(20), BudgetNUMERIC(11, 2),MrgnoCHAR(8),FOREIGN KEY Eno REFERENCES Employees(Eno);CREATE TABLE Projects(PnameCHAR(20) PRIMARY K

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!