Khóa chính: mỗi hàng phải có một thuộc tính nhận dạng duy nhất.... Dạng chuẩn 2.[r]
(1)CHUẨN HÓA LƯỢC ĐỒ CƠ SỞ DỮ LiỆU
(2)Thuật ngữ
Thuộc tính khơng khóa – Non key
Là thuộc tính mà khơng thành viên khóa, hay khơng tồn khóa Ngựợc lại gọi thuộc tính khóa
VD: Lược đồ quan hệ Q(ABCDEG) Giả sử Q có khóa AB, CE
Thì thuộc tính D, G gọi thuộc
tính khơng khóa
Những thuộc tính A, B, C, E gọi thuộc tính
(3)Dạng chuẩn Dạng chuẩn Dạng chuẩn CSDL đạt chuẩn
(4)Nội dung
Bài tập dạng chuẩn
1
Bài tập nhà (nhóm)
2
(5)Cho lược đồ quan hệ HOCSINH thể hiện Hãy chuẩn hóa lược đồ quan hệ này.
Mahs Hoten Malop Tenlop Điemthi
H1 Tien L1 TH01 M1
H1 Tien L1 TH01 M2
H1 Tien L1 TH01 M3
H2 Truc L1 TH01 M1
H2 Truc L1 TH01 M2
H3 Hien L2 TH02 M1
(6)Dạng chuẩn
NF1 giải vấn đề:
1 Tính ngun tố: khơng có phần tử lặp
(7)Đưa dạng chuẩn 1(NF1)
1
Mahs Hoten Malop Tenlop Điemthi
H1 Tien L1 TH01 M1
H1 Tien L1 TH01 M2
H1 Tien L1 TH01 M3
H2 Truc L1 TH01 M1
H2 Truc L1 TH01 M2
H3 Hien L2 TH02 M1
HOCSINH
Lược đồ quan hệ HOCSINH không dạng chuẩn thuộc tính Diemthi thuộc tính phức hợp
Có phải dạng chuẩn 1? Làm để đưa dạng
(8)Đưa dạng chuẩn 1(NF1)
1
HOCSINH
Lược đồ quan hệ R dạng chuẩn (1NF) thuộc tính R khơng thuộc tính đa trị, khơng thuộc tính phức hợp
Thêm thuộc tính mơn học
Mahs Hoten Malop Tenlop Monhoc Điem
H1 Tien L1 TH01 M1
H1 Tien L1 TH01 M2
H1 Tien L1 TH01 M3
H2 Truc L1 TH01 M1
H2 Truc L1 TH01 M2
(9)Đưa dạng chuẩn 1(NF1)
1 thường Các bất
NF1:
Thêm vào:
• Khơng thể thêm thơng tin học sinh có mã H4, tên Thành, thuộc
lớp có mã L1 nếu học sinh chưa đăng ký môn học
Cập nhật:
• Sửa tên học sinh có tên Tiến với tên Thành phải sửa tất hàng sinh viên
Xóa bỏ:
• Xóa thông tin học sinh H3 đăng ký môn học M1 làm thông tin
học sinh
Ngun nhân: Tồn thuộc tính khơng khóa phụ thuộc
(10)Dạng chuẩn
Khơng có phụ thuộc hàm khơng đầy đủ vào khóa
(11)Đưa dạng chuẩn 2(NF2)
2
Mahs Hoten Malop Tenlop Monhoc Diem
H1 Tien L1 TH01 M1
H1 Tien L1 TH01 M2
H1 Tien L1 TH01 M3
H2 Truc L1 TH01 M1
H2 Truc L1 TH01 M2
H3 Hien L2 TH02 M1
HOCSINH
Khóa: {Mahs, Monhoc} Các phụ thuộc hàm:
Mahs → {Hoten, Malop} Malop → Tenlop
{Malop, Monhoc} → Diem
Lược đồ quan hệ R khơng NF2 thuộc tính khơng khóa Hoten
phụ thuộc hàm riêng phần vào khóa {Mahs, Monhoc}
Có phải dạng chuẩn 2?
Làm đưa dạng chuẩn
(12)Đưa dạng chuẩn 2(NF2)
2
R1 R2
Khóa R1: Mahs
Khóa R2: {Mahs, Monhoc} R (Mahs, Monhoc, Hoten, Malop, Tenlop, Diem)
R1 (Mahs, Hoten, Malop, Tenlop)
R2 (Mahs, Monhoc, Diem)
Lược đồ quan hệ R1 R2 2NF thuộc tính khơng khóa phụ thuộc hàm đầy đủ vào khóa
Mahs Hoten Malop Tenlop
H1 Tien L1 TH01 H2 Truc L1 TH01 H3 Hien L2 TH02
Mahs Monhoc Diem
H1 M1
H1 M2
H1 M3
H2 M1
H2 M2
(13)Dạng chuẩn 2 2
R1 R2
Mahs Hoten Malop Tenlop
H1 Tien L1 TH01 H2 Truc L1 TH01 H3 Hien L2 TH02
Mahs Monhoc Diem
H1 M1
H1 M2
H1 M3
H2 M1
H2 M2
H3 M1
Thêm vào:
Không thể thêm thơng tin lớp ‘L3’ có tên ‘TH03’ chưa có học sinh học lớp này.
Cập nhật:
Sửa tên lớp có mã ‘L1’ với tên ‘TH_01’ phải sửa tất hàng lớp này.
Xóa bỏ:
Xóa thông tin học sinh ‘H3’ làm thông tin lớp ‘L2’
Nguyên nhân:
Vấn đề tồn
(14)Dạng chuẩn
Khơng tồn phụ thuộc hàm vào thuộc tính không
(15)R1
Lược đồ quan hệ R1 khơng 3NF thuộc tính khơng khóa Tenlop phụ
thuộc bắc cầu vào khóa {Mahs}
Mahs → Malop Malop → Tenlop
Tenlop ∉ {Mahs, Malop}
Mahs Hoten Malop Tenlop
H1 Tien L1 TH01 H2 Truc L1 TH01 H3 Hien L2 TH02
Đưa dạng chuẩn
(16)R11 R12
Khóa R11: Malop Khóa R2: Mahs
R1 (Mahs, Hoten, Malop, Tenlop) R11 (Malop, Tenlop)
R12 (Mahs, Hoten, Malop)
Lược đồ quan hệ R11 R12 3NF thuộc tính khơng khóa khơng phụ thuộc bắc cầu vào khóa
Malop Tenlop
L1 TH01 L2 TH02
Mahs Hoten Malop
H1 Tien L1 H2 Truc L1 H3 Hien L2
(17)Bài 1: Cho biết dạng chuẩn lược độ quan hệ sau:
a Q(ABCDEG); F={ABC, CDE, EG}
b Q(ABCDEGH); F={A BC, D E, H G}
c Q(ABCDEG); F={AB C, C B, ABD E,
(18)Câu 2
Cho lược đồ csdl: KEHOACH(NGAY, GIO,
MONHOC, GIAOVIEN) phụ thuộc hàm
F = { NGAY, GIO, PHONG MONHOC
MONHOC, NGAY GIAOVIEN
NGAY, GIO, PHONG GIAOVIEN
MONHOC GIAOVIEN }
(19)NỘI DUNG ÔN TẬP KiỂM TRA TiẾT
Bài tốn tìm bao đóng tập thuộc tính Bài tốn tìm F+
(20)(21)(22)(23)