2.1考虑图2-4的关系数据库。什么是合适的主码?
答案:
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实例中,没有两个讲师具有相同的名称。由此,我们可以得出结