数据库系统概念 第七版 中文答案 第3章 SQL介绍

这篇具有很好参考价值的文章主要介绍了数据库系统概念 第七版 中文答案 第3章 SQL介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3.1 将以下查询使用SQL语言编写,使用大学数据库模式。 (我们建议您实际在数据库上运行这些查询,使用我们在书籍网站db-book.com上提供的示例数据。有关设置数据库和加载示例数据的说明,请参阅上述网站。)

 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
a. 查找计算机科学系中学分为3的课程的标题。
b. 查找所有由名为Einstein的教师教授的学生的ID;确保结果中没有重复项。
c. 查找任何教师的最高工资。
d. 查找所有薪水最高的教师(可能有多个薪水相同的教师)。
e. 查找在2017年秋季开设的每个课程部分的注册人数。
f. 查找2017年秋季所有部分中的最大注册人数。
g. 查找在2017年秋季拥有最大注册人数的部分。.

Answer:
a.    查找计算机科学系中学分为3的课程的标题。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    查找所有由名为Einstein的教师教授的学生的ID;确保结果中没有重复项。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
c.    查找任何教师的最高工资。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
d.    查找所有薪水最高的教师(可能有多个薪水相同的教师)。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
e.    查找在2017年秋季开设的每个课程部分的注册人数。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
或者
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
f.    查找2017年秋季所有部分中的最大注册人数。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
g.    查找在2017年秋季拥有最大注册人数的部分。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.2 假设你有一个关系grade_points(grade,points),它提供了从takes关系中的用字母表示的成绩等级到数值分数的转换;例如,“A”成绩可以被指定为对应于4分,而“A-”对应于3.7分,“B+”对应于3.3分,“B”对应于3分,依此类推。学生为提供的课程部分获得的成绩点定义为课程的学分乘以学生获得的成绩的数值点。 鉴于上述关系和我们的大学模式,请在SQL中编写以下每个查询。为简化起见,你可以假设takes关系中的元组没有成绩的空值。 a. 查找学生ID为'12345'的学生在所有选修的课程中获得的总成绩点。 b. 查找上述学生的平均绩点(GPA),即总成绩点除以相关课程的总学分。 c. 查找每个学生的ID和平均绩点。 d. 现在重新考虑前面部分的答案,假设某些成绩可能为null。解释你的解决方案是否仍然有效,如果无效,提供适当处理null的版本。 Answer:

a.    查找学生ID为'12345'的学生在所有选修的课程中获得的总成绩点。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
在上面的查询中,没有上过任何课程的学生不会有任何元组,而我们期望得到0作为答案。解决这个问题的一种方法是使用外部连接操作,我们将在后面的第4章中学习。另一种确保我们得到0作为答案的方法是通过以下查询:
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    查找上述学生的平均绩点(GPA),即总成绩点除以相关课程的总学分。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
和以前一样,没有修过任何课程的学生不会出现在上述成绩中;我们可以通过使用这个问题前面部分修改过的查询来确保这样一个学生出现在结果中。然而,在这种情况下的另一个问题是,积分的总和也将为0,从而导致除以零的情况。事实上,在这种情况下,唯一有意义的定义GPA的方法是将其定义为null。通过在上面的查询中添加以下联合子句,我们可以确保这样的学生以零GPA出现在结果中。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
c.    查找每个学生的ID和平均绩点。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
d. 现在重新考虑前面部分的答案,假设某些成绩可能为null。解释你的解决方案是否仍然有效,如果无效,提供适当处理null的版本。

3.3    编写以下在数据库中使用大学模式的插入、删除或更新的SQL语句。


a. 将计算机科学系每位教师的薪水提高10%。
b. 删除所有从未开设过课程的课程(即在“section”关系中不存在的课程)。
c. 将总注册学分大于100的每位学生插入到相同系别作为教师,并设置薪水为$10,000。
Answer:
a. 将计算机科学系每位教师的薪水提高10%。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b. 删除所有从未开设过课程的课程(即在“section”关系中不存在的课程)。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
c. 将总注册学分大于100的每位学生插入到相同系别作为教师,并设置薪水为$10,000。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.4    考虑图3.17中的保险数据库,其中主键已被下划线标识。为该关系数据库构建以下SQL查询。


a. 查找在2017年其车辆出现交通事故的人的总数。
b. 删除属于ID为'12345'的人所有年份为2010的车辆。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

Answer:
a.    查找在2017年其车辆出现交通事故的人的总数。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    删除属于ID为'12345'的人所有年份为2010的车辆。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.5  假设我们有一个关系marks(ID, score),我们希望根据得分为学生分配成绩,规则如下:如果score < 40,则为F级别,如果40 <= score < 60,则为C级别,如果60 <= score < 80,则为B级别,如果80 <= score,则为A级别。编写SQL查询执行以下操作:

a.    根据marks关系显示每个学生的成绩。
b.    查找每个等级的学生数量。 


Answer:
a.根据marks关系显示每个学生的成绩。
.  数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    查找每个等级的学生数量.
  数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.6  SQL中的LIKE操作符在大多数系统中是区分大小写的,但是可以使用字符串的lower()函数来执行不区分大小写的匹配。为了演示如何做到这一点,请编写一个查询,找到部门名称中包含字符串“si”的子串,而不考虑大小写。


Answer:

 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.7    考虑以下 SQL 查询


SELECT p.a1 FROM p, r1, r2
WHERE p.a1 = r1.a1 OR p.a1 = r2.a1
在什么条件下,前述查询选择了在 r1 或 r2 中的 p:a1 的值?请仔细分析在 r1 或 r2 可能为空的情况。

Answer:
该查询选择了 p.a1 的那些值,这些值等于 r1.a1 或 r2.a1 的某个值,当且仅当 r1 和 r2 均为非空时。如果 r1 和/或 r2 中有一个或两个为空,则 p、r1 和 r2 的笛卡尔积为空,因此查询的结果为空。如果 p 本身为空,则结果也为空。

3.8  考虑图 3.18 中的银行数据库,其中主键已经被下划线标示。构造如下 SQL 查询:


 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
a. 查找银行中每个具有账户但没有贷款的客户的 ID。
b. 查找每个与客户 12345 同住在相同街道和城市的客户的 ID。
c. 查找每个至少有一个在银行拥有账户且住在“Harrison”的客户的分行的名称。

Answer:

a.    a. 查找银行中每个具有账户但没有贷款的客户的 ID。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    查找每个与客户 12345 同住在相同街道和城市的客户的 ID。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
c.    查找每个至少有一个在银行拥有账户且住在“Harrison”的客户的分行的名称。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.9    考虑图 3.19 中的关系数据库,其中主键已被下划线标示。给出以下每个查询的 SQL 表达式。


 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
a. 查找每个在“First Bank Corporation”工作的员工的 ID、姓名和居住城市。
b.  查找每个在“First Bank Corporation”工作且薪水超过 $10000 的员工的 ID、姓名和居住城市。
c.       查找每个不在“First Bank Corporation”工作的员工的 ID。
d.  查找每个收入高于“Small Bank Corporation”所有员工的员工的 ID。
e.   假设公司可以位于多个城市。查找每个位于“Small Bank Corporation”所在的每个城市的公司的名称。
f. 查找具有最多员工的公司(或在有最多员工并列的情况下的所有公司)的名称。
g.  查找每个员工平均工资高于“First Bank Corporation”平均工资的公司的名称。

Answer:
a.    查找每个在“First Bank Corporation”工作的员工的 ID、姓名和居住城市。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    查找每个在“First Bank Corporation”工作且薪水超过 $10000 的员工的 ID、姓名和居住城市。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
c.    查找每个不在“First Bank Corporation”工作的员工的 ID。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
如果允许人们出现在雇员中而不出现在作品中,解决方案就稍微复杂一些。也可以使用第4章中讨论的外连接。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
d.    查找每个收入高于“Small Bank Corporation”所有员工的员工的 ID。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
上如果人们可能为几家公司工作,我们希望考虑每个人的总收入,问题就复杂多了。但请注意事实上,ID是works的主键,这意味着情况并非如此。
e.    假设公司可以位于多个城市。查找每个位于“Small Bank Corporation”所在的每个城市的公司的名称。
方法1
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
方法2
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
f.    查找具有最多员工的公司(或在有最多员工并列的情况下的所有公司)的名称。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
g.    查找每个员工平均工资高于“First Bank Corporation”平均工资的公司的名称。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

3.10    考虑图3.19中的关系数据库。为以下每个情况提供一个SQL表达式:


a. 修改数据库,使员工ID为“12345”的员工现居住在“Newtown”。
b. 给“First Bank Corporation”的每位经理加薪10%,除非工资超过$100,000;在这种情况下,只加薪3%。

Answer:

a.    修改数据库,使员工ID为“12345”的员工现居住在“Newtown”。
 数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle
b.    给“First Bank Corporation”的每位经理加薪10%,除非工资超过$100,000;在这种情况下,只加薪3%。

数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle

如果以相反的顺序执行上述更新,结果会有所不同。我们以下提供一种更安全的解决方案,使用CASE语句。
数据库系统概念 第七版 中文答案 第3章 SQL介绍,数据库,sql,oracle


 文章来源地址https://www.toymoban.com/news/detail-815947.html

到了这里,关于数据库系统概念 第七版 中文答案 第3章 SQL介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据库SQL语言实战(五)(数据库系统概念第三章练习题)

    目录 前言知识 一、 关系模式 二、 属性域 例子 介绍 作用 三、Select常数 举例 解释  四、集合差运算 本质 举例  结论 练习题 3.17 3.18  3.21  总结  注:本文的SQL语言适用的是 Oracle数据库 与mySQL可能存在略微不同 模式的定义 :模式则是指数据库中 所有关系模式 的集合,它

    2024年04月22日
    浏览(51)
  • 数据库系统概论 第1章绪论 1.1数据库的四个基本概念

    -        数据( Data ) -        数据库(Database,         DB ) -        数据库管理系统(DataBase Management System,         DBMS ) -        数据库系统(DataBase System,         DMS ) -        数据(Data)是数据库中存储的基本对象 -         数据的 定义 : 描述

    2024年01月19日
    浏览(32)
  • 系统架构设计师笔记第16期:数据库基本概念

    数据库技术在过去几十年中经历了显著的发展和演变。 层次数据库和网状数据库:20世纪60年代和70年代初,层次数据库和网状数据库是主流的数据库模型。层次数据库使用树状结构组织数据,而网状数据库使用复杂的网络结构。这些数据库模型适用于特定的数据组织和查询需

    2024年02月09日
    浏览(39)
  • 【数据库复习】第七章 数据库设计

    数据库设计的过程(六个阶段) ⒈需求分析阶段 准确了解与分析用户需求(包括数据与处理) 最困难、最耗费时间的一步 ⒉概念结构设计阶段 整个数据库设计的关键 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型 ⒊逻辑结构设计阶段 将概念结构

    2024年02月08日
    浏览(39)
  • [架构之路-236]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述:三阶段模型(概念模型、逻辑模型、物理模型)、三级模式结构(外模式、模式、内模式)

    目录 一、数据库设计阶段性模型:概念模型、逻辑模型、物理模型 1.1 概念模型(Conceptual Model)- 业务模型: 实体:entity 属性或特征: key键值/码: 域(Domain): 实体类型:entity type 实体集合: 联系: 1.2 逻辑模型(Logical Model)- 内存模型(最核心): 1.3 物理模型(Phys

    2024年02月02日
    浏览(38)
  • 数据库管理-第七十期 自己?自己(20230425)

    来到70了,最近有点卷,写的稍微多了些。 吐槽一下五一调休,周末砍一天,连6天,放5天,上3天,周末又砍一天。 今天刷抖音看到现在是如何看伍佰演唱会的:“花500买票,去伍佰的演唱会,唱伍佰的歌给伍佰听,伍佰只要起个头,插不上嘴”。突然回忆起伍佰的《突然的

    2023年04月26日
    浏览(42)
  • 数据库管理-第七十九期 儿童节惊魂(20230601)

    6月第一天,又是儿童节,加上客户现场来了不少娃,也有一些客户家里有娃去参加活动了,所以整体的氛围是十分轻松惬意的。然鹅,一通电话打破了这一份来之不易的平静。 这是我们公司另一个地方的项目,之前我跑的前期沟通和部分数据库环境的搭建工作,虽然2年多没

    2024年02月07日
    浏览(26)
  • 数据库管理-第七十七期 再探分布式(20230523)

    上一次系统探讨分布式数据库还是在第三十六期,经过大半年的“进步”加上中间参加了不少国产数据库的研讨会或者交流,对分布式数据库的理解还是有了些许进步。 最近出现了所谓的“新词”:单机分布式,简言之就是一台服务器运行多个数据库实例,通过spanner框架等

    2024年02月08日
    浏览(29)
  • 【七天入门数据库】第七天 MySQL的事务管理

    【七天入门数据库】第一天 MySQL的安装部署 【七天入门数据库】第二天 数据库理论基础 【七天入门数据库】第三天 MySQL的库表操作 【七天入门数据库】第四天 数据操作语言DML 【七天入门数据库】第五天 MySQL的备份恢复 【七天入门数据库】第六天 MySQL的视图与索引 【七天

    2024年02月15日
    浏览(41)
  • 数据库管理-第七十五期 手把手教你搭19c RAC(20230516)

    在这篇文章里面,我将奉上保姆级Oracle 19c RAC搭建攻略,包括操作系统基础配置、存储多路径配置、GI与DB安装、版本升级等。 这是一套用于我这X9M灾备环境的数据库,包含4台服务器(80C768G),使用OracleLinux 7.9操作系统,(本文的部分内容比如IP是经过脱敏的),具体环境如

    2024年02月05日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包