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
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 - Dấu *: Quan hệ 1 - nhiều
Dấu * - Dấu *: Quan hệ nhiều - nhiều





Comments
Post a Comment