Database #1

Các bước của Data Modeling:


- Còn 1 bước nâng cao cuối cùng nữa đó chính là Turning phase ( học sau ).




Phi chuẩn  : denormalization

NF: Đạt được ở mức Logical Data Model.

- Quan hệ R ( tức bảng R bất kì) là 1 NF nếu: Tất cả thuộc tính chỉ nhận 1 giá trị tại 1 bản ghi ( Mọi thuộc tính đều là đơn trị ) 


2NF: - Phải 1NF

         - Các thuộc tính không phải là khóa chính thì phụ thuộc hoàn toàn vào khóa chính

VD1 : Đây có phải 2NF không?




Bảng điểm ( RollNo, SubjectCode,SubjectName, Mark)
Rollno được tính là 1 khóa chính vì vậy RollNo phải xác định ra được toàn bộ 3 cái còn lại (subjectCode, subjectName, Mark)
Nhưng
RollNo chỉ xác định ra -> subjetCode
Và RollNo xác định ra -> Mark
NHƯNG!:
subjectCode lại là thứ xác định ra -> subjectName
-> RollNo không xác định ra được subjectName hay ta có thể hiểu nôm na là "Số thứ tự" không thể nào xác định ra tên của môn học được, chỉ có "Mã Của Môn Học" mới xác định ra được "Môn Học" thôi -> Đây không phải 2NF

*Vậy làm thế nào để sửa lại cho thành 2NF????*
GIẢI PHÁP: Tách ra làm 2 bảng



=> Đây là 2NF

III.3NF

Điều kiện để được 3NF: - Đạt 2NF
                                        - Không tồn tại trường hợp thuộc tính không khóa phụ thuộc vào                                             một tập thuộc tính khóa khác


IV.Quan hệ trong database
Số 1 - Số 1 : Quan hệ 1-1.
Số 1 - Dấu *: Quan hệ 1 - nhiều
Dấu * - Dấu *: Quan hệ nhiều - nhiều

Comments