Vậy phải làm thế nào?

Một phần của tài liệu Bài giảng Cơ sở dữ liệu: Chương 4 - Hoàng Thị Hà (Trang 71 - 75)

I. Định nghĩa các dạng chuẩn

Vậy phải làm thế nào?

 Ta sẽ phải chia bảng Student ban đầu thành 2

bảng, khóa chính trong quan hệ ban đầu có trong cả 2 quan hệ:

 Quan hệ thứ nhất chứa các thông tin không bị lặp lại

Hoang Thi Ha

1NF

Diem Sinhvien

student_no subject grade 960100 Databases C 960100 Soft_Dev A 960100 ISDE D 960105 Soft_Dev B 960105 ISDE B 960120 Databases A 960120 Soft_Dev B 960120 Workshop C 960145 Databases B 960150 Databases B 960150 Soft_Dev D 960150 ISDE C 960150 Workshop B

student_no name date_of_birth 960100 Smith, J 14/11/77 960105 White, A 10/05/75 960120 Moore, T 01/03/70 960145 Smith, J 09/01/72 960150 Black, D 21/08/73

1NF

 Trong quan hệ Sinhvien sẽ giữ trường

Student_no làm khóa chính

 Trong quan hệ Diem sẽ lấy trường Student_no và subject làm khóa chính

 Trường Student_no sẽ liên kết hai bảng Sinh viên và điểm, giúp ta tìm được các thông tin về các môn học cùng với điểm các môn học của các sinh viên.Trong bảng Diem trường Student_no sẽ làm khóa ngoại lai.

Hoang Thi Ha

1NF

Vậy, với việc tách trên thì đã giảm bớt được một số sự dị thường:

Khi thêm: Ta có thể thêm sinh viên mới mà không cần biết họ đã tham gia học hay chưa?. Việc thêm này, chỉ nằm trong quan hệ Student và không nằm trong quan hệ

Record cho đến khi sinh viên này sinh viên này học ít nhất một môn

Khi xóa: Ta có thể xóa tất cả các bản ghi trong bảng

Diem nhưng sinh viên có mã student 960145 vẫn còn tồn tại trong bảng Student.

Một phần của tài liệu Bài giảng Cơ sở dữ liệu: Chương 4 - Hoàng Thị Hà (Trang 71 - 75)

Tải bản đầy đủ (PDF)

(112 trang)