You are on page 1of 2

a. Tập hợp phụ thuộc hàm thỏa mãn trong mỗi quan hệ.

Trong quan hệ STUDENT:


 StudentCode -> StudentName, MajorCode, MajorName, DayOfBirth, Gender
 MajorCode -> MajorName
Trong quan hệ COURSE:
 CourseCode -> CourseName, Department
Trong quan hệ ENROLL:
 (StudentCode, CourseCode, Semester) -> CourseName, GPA, Status
Trong quan hệ BOOK_ADOPTION:
 (CourseCode, Semester) -> BookISBN, CourseName, BookTitle
Trong quan hệ BOOK:
 BookISBN -> BookTitle, Publisher, Author
Giải thích:
 Các phụ thuộc hàm được liệt kê ở trên, dấu “->” đại diện cho phụ thuộc hàm.
 Trong quan hệ STUDENT, StudentCode là khóa chính, StudentCode xác định các thuộc tính
khác như StudentName, MajorCode, MajorName, DayOfBirth, Gender. Mỗi MajorCode xác
định một MajorName.
 Trong quan hệ COURSE, CourseCode là khóa chính, CourseCode xác định các thuộc tính
khác như CourseName, Department.
 Trong quan hệ ENROLL, (StudentCode, CourseCode, Semester) là khóa chính,
(StudentCode, CourseCode, Semester) xác định các thuộc tính khác như CourseName, GPA,
Status.
 Trong quan hệ BOOK_ADOPTION, (CourseCode, Semester) là khóa chính, (CourseCode,
Semester) xác định các thuộc tính khác như BookISBN, CourseName, BookTitle.
 Trong quan hệ BOOK, BookISBN là khóa chính, BookISBN xác định các thuộc tính khác
như BookTitle, Publisher, Author.

b. Key và Foreign Key

 Quan hệ STUDENT:
o Khóa chính: StudentCode.
o Khóa phụ: không có.
 Quan hệ COURSE:
o Khóa chính: CourseCode.
o Khóa phụ: không có.
 Quan hệ ENROLL:
o Khóa chính: (StudentCode, CourseCode, Semester).
o Khóa phụ:
 (StudentCode, Semester).
 (CourseCode, Semester).
 Quan hệ BOOK_ADOPTION:
o Khóa chính: (CourseCode, Semester).
o Khóa phụ: không có.
 Quan hệ BOOK:
o Khóa chính: BookISBN.
o Khóa phụ: không có.

c. Đánh giá dạng chuẩn cho mỗi quan hệ

Quan hệ STUDENT:
STUDENT(StudentCode, StudentName, MajorCode, MajorName, DayOfBirth, Gender)
 Khóa chính: StudentCode
 Tất cả các thuộc tính đều phụ thuộc vào khóa chính.
 Quan hệ này đã đạt chuẩn 3.
Quan hệ COURSE:
COURSE(CourseCode, CourseName, Department)
 Khóa chính: CourseCode
 Tất cả các thuộc tính đều phụ thuộc vào khóa chính.
 Quan hệ này đã đạt chuẩn 3.
Quan hệ ENROLL:
ENROLL(StudentCode, CourseCode, CourseName, Semester, GPA, Status)
 Khóa chính: {StudentCode, CourseCode, Semester}
 GPA và Status phụ thuộc vào cả ba thuộc tính khóa chính.
 CourseName không phụ thuộc vào khóa chính và chỉ phụ thuộc vào CourseCode.
 Quan hệ này chưa đạt chuẩn 3 do CourseName phụ thuộc không đầy đủ vào khóa chính. Để
đạt chuẩn 3, ta tách CourseName thành một quan hệ riêng.
Tách quan hệ ENROLL:
ENROLL(StudentCode, CourseCode, Semester, GPA, Status)
 Khóa chính: {StudentCode, CourseCode, Semester}
 Tất cả các thuộc tính đều phụ thuộc vào khóa chính.
 Quan hệ này đã đạt chuẩn 3.
BOOK_ADOPTION:
BOOK_ADOPTION(CourseCode, Semester, BookISBN, CourseName, BookTitle)
 Khóa chính: {CourseCode, Semester, BookISBN}
 CourseName và BookTitle không phụ thuộc vào khóa chính và chỉ phụ thuộc vào
CourseCode và BookISBN.
 Quan hệ này chưa đạt chuẩn 3 do CourseName và BookTitle phụ thuộc không đầy đủ vào
khóa chính. Để đạt chuẩn 3, ta tách CourseName và BookTitle thành một quan hệ riêng.
Tách quan hệ BOOK_ADOPTION:
BOOK_ADOPTION(CourseCode, Semester, BookISBN)
 Khóa chính: {CourseCode, Semester, BookISBN}
 Tất cả các thuộc tính đều phụ thuộc vào khóa chính.
 Quan hệ này đã đạt chuẩn 3.
BOOK:
BOOK(BookISBN, BookTitle, Publisher, Author)
 Khóa chính: BookISBN
 Tất cả các thuộc tính đều phụ thuộc vào khóa chính.
 Quan hệ này đã đạt chuẩn 3.

You might also like