数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题

2.1考虑图2-4的关系数据库。什么是合适的主码?
数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题_第1张图片
答案:
employee (person_name, street, city)
works (person_name, company name, salary)
company (company_name, city)
加粗为主码

2.2考虑从instructor(P23)的dept_name属性到department(P24)关系的外键约束。给出这些关系的插入和删除示例,使得外键约束失效。
答案:
•插入元组:
(10111, Ostrom, Economics, 110,000)
进入教员表,而该部门表没有经济学系,将违反外码约束。
•删除元组:
(Biology, Watson, 90000)
在部门表中,至少有一个学生或教师元组的部门名称为Biology,将违反外码约束。

2.3考虑时隙关系。鉴于一个特定的时间间隔一周可以开会多次,请解释为什么day和start_time是这种关系的主码的一部分,而end_time却不是。
答案:属性day和start_time是主码的一部分,因为特定的班级很可能在不同的几天见面,甚至一天可能见面不止一次。但是,end_time不是主码的一部分,因为在特定日期的特定时间开始的特定课程不能在一个以上的时间结束。

2.4在图2-1所示的instructor实例中,没有两个讲师具有相同的名称。由此,我们可以得出结论,name可以用作instructor的超码(或主码)吗?
答案:否。对于instructor表的这种可能的实例,名称是唯一的,但是通常情况并非总是如此(除非大学有两个instructor不能使用相同名称的规则,这是一个不太可能的情况)

2.5第一次执行student和advisor的叉积,然后对谓词s_id = ID进行选择操作,结果是什么? (使用关系代数的符号表示法,该查询可以写为σs_id=ID(student × advisor。)
答案:结果属性包括student的所有属性值,后跟advisor的所有属性。结果中的元组如下:对于每个有advisor的student,结果都有一行,其中包含该student的属性,其后是与student.ID属性完全相同的s_id,然后是包含student的advisor.ID的i_id属性。没有advisor的student不会出现在结果中。一个拥有多个advisor的student将在结果中出现相应的次数。

2.6考虑以下表达式,这些表达式将关系代数运算的结果用作另一运算的输入。对于每个表达式,请用文字解释该表达式的作用。
数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题_第2张图片
回答:
a.对于2009年至少修过一门课程的每位学生,显示学生信息以及有关该课程的信息。结果中的属性是:
在这里插入图片描述
b.与(a)相同;选择可以在加入操作之前完成。
c.提供包含以下内容的列表在大学修过任何课程的所有学生的ID,名称,课程ID。

2.7考虑图2-14的关系数据库。在关系代数中给出一个表达式,以表达以下每个查询:
a.查找住在“迈阿密”城市的所有雇员的姓名。
b.查找所有薪水超过$ 100,000的雇员的姓名。
c.查找居住在“迈阿密”且薪水超过$ 100,000的所有雇员的姓名。
数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题_第3张图片
答:
数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题_第4张图片

2.8考虑图2-15的银行数据库。在以下每个查询的关系代数中给出一个表达式。数据库系统概念第六版(机械工业出版社) 第二章 关系模型介绍 实践习题 部分习题_第5张图片
在这里插入图片描述
a 查找位于“芝加哥”的所有分支的名称。
b 查找在分支机构“郊区”有借款人的名字。

答:在这里插入图片描述

你可能感兴趣的:(数据库)