1. Định nghĩa các thuật ngữ: cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu, hệ cơ sở dữ
15.2.2. Dạng chuẩn 2NF (second normal form)
Xét CSDL gồm 2 lược đồ quan hệ THI(MONTHI, GIAOVIEN) và
SINHVIEN(MONTHI, MSSV, TEN, TUOI, DCHI, DIEM) phản ánh thông tin về kết quả thi của một đơn vị nào đó.
Trong quan hệ THI thì MONTHI là khoá và trong quan hệ SINHVIEN thì MONTHI và MSSV là khoá.
Ở quan hệ thứ hai dễ nhận thấy rằng MONTHI, MSSV,DIEM xác định kết quả thi của sinh viên còn MSSV,TEN,TUOI,DCHI xácđịnh đối tượng dự thi Xét các hiện hành của 2 lược đồ quan hệ THI và SINHVIEN như sau:
THI MONTHI GIAOVIEN Toán T.Trợ Lý T.Công Hóa T.Giao SINHVIEN
MONTHI MSSV TEN TUOI DCHI DIEM
Toán 11 Lan 20 HN 8.0 Toán 12 Hue 21 HY 7.5 Hóa 11 Lan 20 HN 7.0 Hóa 12 Hue 21 HY 6.0 Lý 11 Lan 20 HN 5.0 Lý 13 An 22 BN 4.0
Trong quá trình cậpnhật và lưutrữ dữ liệu xuất hiện các vấn đề sau:
Dưthừa về dữ liệu
Ở quan hệ SINHVIEN , việc lưu trữ thông tin ví dụ như sinh viên có mã sinh viên 11 phải lặp lại 3 lần địa chỉ, 3 lần tuổi. Rõ ràng là quá dưthừa
Phép thay đổi
Khi cần thay đổi thông tin đối với một một sinh viên phải thay đổi tất cả các bộ ứng với sinh viên đó. Ví dụ như đối với sinh viên tên là Lan thì phải thay đổi ở cả 3 bộ, rõ ràng là tốn kém thời gian.Hơn nữa khi sửa đổi thông tin về sinh viên nếu bỏ sót một số bộ chưasửa dẫn đếnbất đồng về dữ liệu.
Phép chèn
Không thể bổ sung một sinh viên mới vào quan hệ SINHVIEN nếu sinh viên này chưa thi môn nào vì trong quan hệ SINHVIEN chỉ chứa thông tin về những sinh viên đã thi ít nhất một môn. Bất lợi này chỉ đượcloại bỏ khi các thông tin về thi cử ra khỏi quan hệ.
Phép loại bỏ
Giả sử vì một lý do nào đó cần phải huỷ bỏ môn thi Lý mà danh sách sinh viên vẫn giữ nguyên . Khi đó trong quan hệ THI ta xoá bộ (Lý, T.Thỉnh), còn ở quan hệ SINHVIÊN nếu xoá môn thi Lý thì thông tin về sinh viên An sẽ mất.
Để khắc phục các bất lợi trên ta có thể tách Lược đồ quan hệ SINHVIEN thành 2 lược đồ quan hệ sau:
SINHVIEN(MSSV, TEN, TUOI, DCHI) và THIXONG(MSSV, MONTHI, DIEM)
Định nghĩa: Cho lược đồ quan hệ α =(U, F), lược đồ α được gọi là ở dạng chuẩn 2, ký hiệu là 2NF nếu như lược đồ ở dạng chuẩn 1NF và các thuộc tính không khoá củaαlà phụ thuộc đầy đủ vào khoá chính.
Thuật toán kiểm tra lược đồ có ở dạng chuẩn 2NF hay không?
Bài toán: Cho lược đồ quan hệ α =(U, F), hỏi rằng lược đồ có ở dạng chuẩn 2NF hay không?
Thuật toán 1:
Thuật toán kiểm tra dạng chuẩn 2
Vào:Lược đồ quan hệ Q, tập phụ thuộc hàm F
Ra: Khẳng định Q đạt chuẩn 2 hay không đạt chuẩn 2. Bước1: Tìm tất cả các khóa của Q
Bước2: Vớimỗi khóa K, tìm baođóng của tất cả tập con thật sự S của K. Bước 3: Nếu có bao đóng chứa thuộc tính không khóa thì Q không đạt chuẩn 2NF. Ngược lại thì Qđạt chuẩn 2.
Ví dụ:
Cho lược đồ quan hệ Q(A,B,C,D) và tập phụ thuộc hàm F={AB→C; B→D; BC→A}. Hỏi Q có đạt chuẩn 2 không?
TN={B}, TG={AC}
X1 (TN∪X1) (TN∪X1)+ Siêu khóa Khóa
Ø B BD
A AB ABCD AB AB
C BC ABCD BC BC
AC ABC ABCD ABC
Khóa là =AB và =BC. Ta thấy B ϲ , B→D, D là thuộc tính không khóa => thuộc tính không khóa không phụ thuộc đầy đủ vào khóa => Q không đạt chuẩn 2.
Thuật toán 2:
b1) Tìm tất cả các khoá của của lược đồα, từ tập tất cả các khoá này ta suy ra các thuộc tính không khoá của lược đồ α. Ký hiệu tập thuộc tính không khoá này là NK.
b2) Với mỗi khoá Ki ta tìm tất cả các tập con thực sự của Ki, ký hiệu họ các tập con thực sự của Ki kà {S1, S2, ...,Ski}, ký hiệu Q={Q1, Q2, .., Qn} là họ tất cả các tập con thực sự của các khoá Ki.
b3) Tìm baođóng Q+={Q1+, Q2+, .., Qn+}
b4) Nếu Qi+ ∩NK =∅ với ∀i=1..n thì lược đồα ở dạng chuẩn 2NF, ngược lại nếu∃Qi+∩NK≠ ∅thì lược đồαkhông ở dạng chuẩn 2NF.