数据库系统概念 第七版 中文答案 第2章 关系模型介绍

第2章 关系模型介绍

2.1 考虑图 2.17 中的员工数据库。这些关系上适当的主码是什么

Answer:

相应的主键如下所示:

2.2 考虑从 instructor dept_name 属性到  department 关系的外键约束请给出对这些关系的插入和删除的示例,使得它们破坏该外码约束。

Answer:

  • 插入元组:

(10111,  Ostrom, Economics,  110000)

对instructor表插入其中 department 表没有Economics,将违反外键约束

  • 删除元组:

(Biology, Watson, 90000)

department 表中,如果至少有一个student或 instructor 元组的 dept 名称 为 Biology,则会违反外键约束。

 

2.3  考虑 time_slot 关系。假设一个特定的时间片可以在一周之内出现不止一次,请解释为什么 day start_time 是这种关系的主码的一部分,而结束则不是。

Answer:

属性 day 和 start_time 是主键的一部分,因为一个特定的课程很可能会在不同的天数上课,甚至可能在一天内上多次课。然而, end_time 不是主键的一部分,因为一个特定时间和特定日期开始的课程不能在多个时间结束。

2.4  在图2.1中所示的instructor实例中,没有两位教师具有相同的姓名。由此可推断,姓名可以作为教师的超键(或主键)吗?

Answer:

不是的。对于教师表的这种可能情况,姓名是唯一的,但一般情况下可能并不总是这样(除非大学规定两位教师不能有相同的姓名,这是一个相当不太可能的场景)。.

2.5  首先执行"student""advisor"关系的笛卡尔积,然后根据谓词"s_id = ID"对结果执行选择操作,最后的结果是什么?(在关系代数的符号表示中,这个查询可以写成:σ(s_id = ID) (student advisor))

Answer:

 结果中包含所有student属性的值,后跟所有advisor的属性。

 对于每个有advisor的学生,结果都有一行该嘘声的属性,后跟一个s_id,该属性与学生的id属性相同,然后是i_id。

 没有advisor 的学生不会出现在结果中。

 有多个advisor的属性将在结果中出现相应从次数

2.6  考虑图2.17的员工数据库。为以下每个查询提供一个关系代数表达式。:

a.     找到居住在城市“Miami”的每个员工的名字.

b.     找到每个工资大于$100,000的员工的名字

 c.   找到每个居住在“Miami”并且工资大于$100,000的员工的名字。

Answer:

 

2.7      考虑图2.18的银行数据库。为以下每个查询提供一个关系代数表达式。

a. 找到位于“Chicago”的每个分行的名称。.

b. 找到在分行“Downtown”有贷款的每个借款人的ID

Answer:

 

2.8      请提出以下每个查询的关系代数表达式,考虑图2.17的员工数据库。

a. 找到每个不在“BigBank”工作的员工的ID和姓名。

b. 请找出至少与数据库中每位职员的薪水同样多的所有职员的ID和姓名。.

Answer:

a.要找到不在BigBank工作的员工,首先找到所有在BigBank工作的员工。这正是不在期望结果中的员工。然后,我们使用集合差异找到所有员工的集合减去不应在结果中的那些员工。

b. 我们使用与第一部分相同的方法,首先找到那些没有获得最高工资的员工,或者换句话说,有其他员工获得更多工资的员工。由于这涉及比较两个员工的工资值,我们需要两次引用员工关系,因此需要使用重命名。.

2.9 关系代数的除法运算符÷的定义如下。设r(R)s(S)代表关系,且S R,即模式S的每个属性也在模式R中。给定一个元组t,令t[S]表示元组tS属性上的投影。然后r ÷s 是在模式 R - S上的关系(即在包含模式R中所有不在模式 S中的属性)。元组tr ÷ s中当且仅当满足两个条件:

以上设计:

a. 使用除法运算符编写关系代数表达式,找到所有已经修读所有计算机科学课程的学生的ID。(提示:使用投影操作选择仅包含ID和课程ID的元组,并使用选择表达式生成所有计算机科学课程ID的集合,然后进行除法运算。)

b. 展示如何在关系代数中编写上述查询,而不使用除法运算符。(通过这样做,您将展示如何使用其他关系代数操作来定义除法运算。)

Answer:

a.  

b. 您需要的表达式如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/346177.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java接入Apache Spark(入门环境搭建、常见问题)

Java接入Apache Spark(环境搭建、常见问题) 背景介绍 Apache Spark 是一个快速的,通用的集群计算系统。它对 Java,Scala,Python 和 R 提供了的高层 API,并有一个经优化的支持通用执行图计算的引擎。它还支…

Docker容器进入的4种方式(推荐最后一种)

在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式,这里我们就讲一下常用的几种进入Docker容器的方法。 进入Docker容器比较常见的几种做法如下: 使用docker attach使用SSH使用…

RK3568驱动指南|第十二篇 GPIO子系统-第134章 三级节点操作函数实验

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

CSS 下载进度条

<template><view class=btn>下载中</view></template><script></script><style>/* 设置整个页面的样式 */body {width: 100vw; /* 页面宽度为视口宽度 */background: #000000; /* 背景颜色为白色 */display: flex; /* 使用 flex…

python|切片

切片的语法格式 object[start_index:end_index:step] &#xff08;1&#xff09;step步长&#xff1a;有正负&#xff0c;正表示正着走&#xff0c;负表示负着走&#xff0c;步长的绝对值代表一步走的距离。 &#xff08;其中&#xff0c;在深度学习中卷积也有步长的说法&…

【博士每天一篇论文-理论分析】Dynamical systems, attractors, and neural circuits

阅读时间&#xff1a;2023-11-19 1 介绍 年份&#xff1a;2016 作者&#xff1a;Paul Miller 马萨诸塞州沃尔瑟姆市布兰代斯大学Volen国家复杂系统中心 期刊&#xff1a; F1000Research 引用量&#xff1a;63 这篇论文主要关注神经回路中的动力系统和吸引子。作者指出神经回路…

PLM系统功能、彩虹PLM系统功能、产品数据管理系统

彩虹PLM系统的功能 产品数据管理 产品数据管理是 PLM 系统的核心功能之一&#xff0c;它主要包括以下几个方面&#xff1a; &#xff08;1&#xff09;数据存储&#xff1a;将产品的设计数据&#xff08;如 CAD 模型、图纸、BOM 等&#xff09;存储在统一的数据库中&#xf…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-7 LQR控制器 Linear Quadratic Regulator

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-7 LQR控制器 Linear Quadratic Regulator 线性控制器设计-轨迹跟踪&#xff08;Fellow a Desired Path&#xff09;

openWrt将插件安装到USB外接硬盘上

问题描述&#xff1a; 陆由器的闪存空间不够&#xff0c;而陆由器有一个usb接口&#xff0c;可以外接硬盘&#xff0c;可以将插件安装在外接硬盘上&#xff0c;就再也不用担心陆由器的空间不够了&#xff1b; 解决方案&#xff1a; 查看USB目录&#xff0c;为 mnt/sdb1 利用…

py连接sqlserver数据库报错问题处理。20009

报错 pymssql模块连接sqlserver出现如下错误&#xff1a; pymssql._pymssql.OperationalError) (20009, bDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (passwordlocalhost)\n) 解决办法&#xff1a; 打…

chromedriver 114以后版本下载地址

谷歌浏览器版本经常会升级&#xff0c;chromedriver 也得下载匹配的版本 chromedriver 114以前版本下载地址https://registry.npmmirror.com/binary.html?pathchromedriver/ 找到匹配浏览器版本 查看自己浏览器版本号v120.0 v120.0版本chromedriver下载地址https://google…

Redis中的Java客户端

一、Jedis Jedis是一个Java实现的Redis客户端连接工具。 Jedis使用非常简单&#xff0c;直接引入依赖。基于默认参数的Jedis连接池&#xff0c;初始化连接池类&#xff08;使用默认连接池参数&#xff09;JedisPool&#xff0c;获取一个Jedis连接Jedis jedisjp.getResource()…