Dạng chuẩn 2NF (second normal form)

Một phần của tài liệu Đề cương bài giảng học phần: Cơ sở dữ liệu (2014 - 2015) (Trang 133 - 135)

26. CÁC DẠNG CHUẨN CƠ BẢN CỦA LƢỢCĐỒ QUAN HỆ

26.2.2.Dạng chuẩn 2NF (second normal form)

Trƣớc khi nghiên cứu dạng chuẩn thứ 2, ta xét ví dụ sau đây:

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 12 BN 4.0

Trong quá trình cập nhật và lƣu trữ dữ liệu xuất hiện các vấn đề sau:

Ở 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ƣa sửa dẫn đến bấ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ỉ đƣợc loạ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ƣớc 1: Tìm tất cả các khóa của Q

Bƣớc 2: Với mỗi khóa K, tìm bao đóng của tất cả tập con thật sự LỚN NHẤT 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?

Khóa là =AB và =BC ; tập con của các khóa là : A, B, C. 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.

Một phần của tài liệu Đề cương bài giảng học phần: Cơ sở dữ liệu (2014 - 2015) (Trang 133 - 135)