当前位置:首页 > 数据库原理 课后题答案 作业(解答)
(3)r?s: r full outer join s
(4)?A,F(?C?D(r?s)): select A,F from r,s where C=D
4.3根据本章用到的关系teacher和teaching ,请问下列SQL语句的结果是什么?
Teacher full outer join teaching using (teacher_number) Teacher_number T001 T002 T002 T002 T003 T004 T005 T005 T006 T007 Teacher_name 陈嘉仁 周天华 周天华 周天华 曾红 向锋 王梅 王梅 马永生 孙月 Teacher_age 35 53 53 53 42 32 38 38 49 36 Department_name 计算机系 计算机系 计算机系 计算机系 英语系 数学系 英语系 英语系 计算机系 电子系 Course_name 数据库系统概论 算法与复杂性理论 组合数学 数据安全 微积分 中级英语听力 美国文学 数据库系统概论 微电子学 第5章 数据库的完整性约束与模式分解
5.1 考虑如下关系数据库
Employee( person_name,street,city) Works(person_name,company_name,salary) Company(company_name,city)
Manages(person_name,manager_name)
给出该数据库的SQL DDL定义。指出其应具有的参照完整性约束,并将它们在DDL中表示出来。
CREATE TABLE Employee
( person_name varchar(20) not Null primary key, Street varchar(50), City varchar(20) )
CREATE TABLE Company
( Company_name varchar(30) not full primary key, City varchar(20) )
CREATE TABLE Works
( person_name varchar(20), Company_name varchar(30), Salary numeric(8,2),
PRIMARY KEY (person_name,company_name),
FOREIGN KEY (person_name) REFERENCES Employee ON DELETE CASCADE,
FOREIGN KEY (company_name) REFERENCES Company ON DELETE CASCADE )
CREATE TABLE Manages
(person_name varchar(20), manager_name varchar(20) ,
PRIMARY KEY (person_name, manager_name), FOREIGN KEY (person_name) REFERENCES Employee ON DELETE CASCADE)
5.2 考虑视图student_selecting,其定义如下(基于本章示例所用的关系模式和关系),
Create view student_selecting as
Select student_number,department_name,course_name From student,selecting
Where student.student_number=selecting.student_number
假设这一视图被实体化,也就是说,这一视图被计算并存储。请利用触发器
来维护这一视图,即在student和selecting上进行插入和删除时要保持视图最
新,并且维护数据库的一致性,但不考虑数据更新的情况。 答:定义如下四个触发器:
5.3 给出下图中的关系所满足的所有函数依赖。
A a1 a1 Create Trigger Trig_InsertStudent FOR INSERT As
Create view student_selecting as
Select student_number,department_name,course_name From student,selecting
Where student.student_number=selecting.student_number
Create Trigger Trig_DeleteStudent FOR Delete As
Create view student_selecting as
Select student_number,department_name,course_name From student,selecting
Where student.student_number=selecting.student_number
Create Trigger Trig_InsertSelecting FOR INSERT As
Create view student_selecting as
Select student_number,department_name,course_name From student,selecting
Where student.student_number=selecting.student_number
Create Trigger Trig_DeleteSelecting FOR Delete As
Create view student_selecting as
Select student_number,department_name,course_name From student,selecting
Where student.student_number=selecting.student_number
B b1 b1 C c1 c2 a2 a2 b1 b1 c1 c3
函数依赖:A?B,C?B
5.4 给定关系模式R=(A,B,C,G,H,I)及函数依赖集:
5.5 假设将模式R=(A,B,C,D,E)分解为模式(A,B,C)和模式(A,D,E)。如果有如下函数依赖集F:
A?B,A?C,CG?H,CG?I,B?H 根据Armstrong公理证明以下函数依赖成立: (1)A?H ;(2)CG?HI ;(3) AG?I。 证明:
(1)根据传递律,由A?B,B?H,可得出A?H; (2)根据合并律,由CG?H,CG?I,可得出CG?HI; (3)根据伪传递律,由A?C,CG?I,可得出AG?I;
A?BC,CD?E,B?D,E?A
证明该分解是无损连接分解。
证明:记R1=(A,B,C),R2=(A,D,E),且有R?R1?R2。
? R1?R2?(A),并且在函数依赖集F中有函数依赖A?BC。
? R1?R2?R1 成立。
由无损连接分解的条件可知该分解是无损连接分解。
共分享92篇相关文档