Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu: Chương 6 - ThS. Nguyễn Vương Thịnh
lượt xem 9
download
Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu: Chương 6 Chuẩn hóa cơ sở dữ liệu, được biên soạn gồm các nội dung chính sau: Tại sao phải chuẩn hóa cơ sở dữ liệu; Các dạng chuẩn hóa của cơ sở dữ liệu; Các phép tách bảo toàn thông tin và bảo toàn phụ thuộc hàm; Phép tách về dạng chuẩn boyce codd (BCNF) bảo toàn thông tin; Phép tách về dạng chuẩn 3 (3NF) bảo toàn thông tin và bảo toàn phụ thuộc hàm. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Cơ sở dữ liệu và quản trị cơ sở dữ liệu: Chương 6 - ThS. Nguyễn Vương Thịnh
- TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỌC PHẦN CƠ SỞ DỮ LIỆU VÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU Chương 6 CHUẨN HÓA CƠ SỞ DỮ LIỆU Giảng viên: ThS. Nguyễn Vương Thịnh Bộ môn: Hệ thống thông tin Hải Phòng, 2016
- Thông tin về giảng viên Họ và tên Nguyễn Vương Thịnh Đơn vị công tác Bộ môn Hệ thống thông tin – Khoa Công nghệ thông tin Học vị Thạc sỹ Chuyên ngành Hệ thống thông tin Cơ sở đào tạo Trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội Năm tốt nghiệp 2012 Điện thoại 0983283791 Email thinhnv@vimaru.edu.vn Website http://scholar.vimaru.edu.vn/thinhnv 2
- Thông tin về học phần Tên học phần Cơ sở dữ liệu và quản trị cơ sở dữ liệu Tên tiếng Anh Database and Database Management Mã học phần 17425 Số tín chỉ 04 tín chỉ (LT: 45 tiết, TH: 30 tiết) Bộ môn phụ trách Hệ thống thông tin PHƯƠNG PHÁP HỌC TẬP, NGHIÊN CỨU Nghe giảng, thảo luận, trao đổi với giảng viên trên lớp. Tự nghiên cứu tài liệu và làm bài tập ở nhà. PHƯƠNG PHÁP ĐÁNH GIÁ SV phải tham dự ít nhất 75% thời gian. Có 02 bài kiểm tra viết giữa học phần (X2 = (L1 + L2)/2), 01 bài kiểm tra thực hành (X3). Điểm quá trình X = (X2 + X3)/2. Thi kết thúc học phần bằng hình thức trắc nghiệm khách quan 3 trên máy tính (Z = 0.5X + 0.5Y).
- Tài liệu tham khảo 1. Elmasri, Navathe, Somayajulu, Gupta, Fundamentals of Database Systems (the 4th Edition), Pearson Education Inc, 2004. 2. Nguyễn Tuệ, Giáo trình Nhập môn Hệ Cơ sở dữ liệu, Nhà xuất bản Giáo dục Việt Nam, 2007. 3. Nguyễn Kim Anh, Nguyên lý của các hệ Cơ sở dữ liệu, Nhà xuất bản Đại học Quốc gia Hà Nội, 2004. 4
- Tài liệu tham khảo 5
- CHUẨN HÓA CƠ SỞ DỮ LIỆU 6.1. TẠI SAO PHẢI CHUẨN HÓA CƠ SỞ DỮ LIỆU? 6.2. CÁC DẠNG CHUẨN HÓA CỦA CƠ SỞ DỮ LIỆU 6.3. CÁC PHÉP TÁCH BẢO TOÀN THÔNG TIN VÀ BẢO TOÀN PHỤ THUỘC HÀM 6.4. PHÉP TÁCH VỀ DẠNG CHUẨN BOYCE CODD (BCNF) BẢO TOÀN THÔNG TIN 6.5. PHÉP TÁCH VỀ DẠNG CHUẨN 3 (3NF) BẢO TOÀN THÔNG TIN VÀ BẢO TOÀN PHỤ THUỘC HÀM 6
- Ví dụ 6.1: Xét quan hệ trên lược đồ quan hệ Kết_Quả_Học_Phần(Mã SV, Họ và tên, Mã HP, Tên HP, Điểm) Mã SV Họ và tên Mã HP Tên HP Điểm HHA001 Nguyễn Văn An HP01 Toán rời rạc 6.5 HHA002 Nguyễn Thu Ân HP02 Cơ sở dữ liệu 7.0 HHA003 Nguyễn Văn Bình HP01 Toán rời rạc 7.5 HHA001 Nguyễn Văn An HP03 Tin học đại cương 8.0 HHA002 Nguyễn Thu Ân HP01 Toán rời rạc 6.0 HHA001 Nguyễn Văn An HP02 Cơ sở dữ liệu 7.0 NHƯỢC ĐIỂM 1. Dư thừa dữ liệu: Cùng 01 sinh viên nhưng không chỉ có mã sinh viên mà họ tên sinh viên cũng bị lặp đi lặp lại nhiều lần ở các vị trí khác nhau. Tương tự, cùng một học phần thì không chỉ có mã học phần mà tên học phần cũng bị lặp lại ở những vị trí khác nhau. 7
- 2. Khó khăn khi cập nhật dữ liệu: Thêm: Ta không thể thêm tên một học phần mới vào quan hệ nếu học phần đó chưa được sinh viên nào đăng ký. Tương tự ta không thể thêm thông tin về một sinh viên mới nếu sinh viên đó chưa đăng ký một học phần nào. Xóa: Nếu ta xóa thông tin về học phần "Toán rời rạc" thì cũng sẽ mất luôn thông tin của sinh viên "Nguyễn Văn Bình" có mã sinh viên là "HHA003" vì chỉ có một bản ghi duy nhất có chứa thông tin về sinh viên này. Sửa: Giả sử có nhiều sinh viên đăng ký học môn "Toán rời rạc", khi đó sẽ có nhiều bản ghi có liên quan đến "Toán rời rạc". Nếu ta muốn đổi tên môn "Toán rời rạc" thành "Toán tin" thì ta sẽ phải cập nhật tên môn ở nhiều vị trí tương ứng, gây mất nhiều thời gian và dễ xảy ra sai sót. 3. Không nhất quán dữ liệu: Là hệ quả của 02 điều trên. 8
- 6.2.1. DẠNG CHUẨN 1 (1NF) Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 1 (1NF) nếu như toàn bộ các thuộc tính đều mang giá trị đơn và nguyên tố. Ví dụ 6.2: Các lược đồ quan hệ sau đây không thỏa mãn chuẩn 1: Mã NV Họ tên Chuyên Môn Ngoại Ngữ NV01 Nguyễn Văn An Kỹ sư xây dựng Tiếng Anh Tiếng Anh NV02 Nguyễn Thị Ánh Kiến trúc sư Tiếng Pháp Tiếng Anh NV03 Lê Văn Bình Cử nhân Kinh tế Tiếng Trung Thuộc tính Mã hàng hóa Số lượng Kích thước Khối lượng Màu sắc MH01 40 40 100 Đỏ MH02 50 65 250 Vàng MH03 120 45 130 Xanh MH04 123 56 300 Tím 9
- 6.2.2. DẠNG CHUẨN 2 (2NF) Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 2 (2NF) nếu nó ở dạng chuẩn 1 và mỗi thuộc tính không khóa (nếu có) đều phải phụ thuộc hàm đầy đủ vào một khóa nào đó của lược đồ quan hệ. Lưu ý một số khái niệm: Thuộc tính không khóa (nonprime attribute) là thuộc tính không nằm trong bất kỳ một khóa nào của lược đồ quan hệ. Y được gọi là phụ thuộc hàm đầy đủ vào X nếu X → Y và không tồn tại X’⊆ X sao cho X’→Y (nói cách khác: phụ thuộc hàm đầy đủ có nghĩa là Y chỉ phụ thuộc hàm vào X chứ không phụ thuộc vào một tập con nào đó của X). Ví dụ 6.2: Xét lược đồ quan hệ Kết Quả Học Phần(Mã SV, Họ và tên, Mã HP, Tên HP, Điểm) Có tập phụ thuộc hàm: F = {Mã SV → Họ và tên, Mã HP → Tên HP, {Mã SV, Mã HP} → Điểm} Khóa K = {Mã SV, Mã HP} Họ và tên phụ thuộc hàm vào Mã SV là 1 phần của khóa Tên HP phụ thuộc hàm vào Mã HP là 1 phần của khóa 10
- Hệ quả: Nếu một lược đồ quan hệ đạt chuẩn 1 và tập thuộc tính không khóa của nó là tập rỗng thì đương nhiên lược đồ quan hệ đó đạt chuẩn 2. Nếu tất cả các khóa của lược đồ quan hệ chỉ gồm một thuộc tính thì lược đồ quan hệ đó đạt chuẩn 2. THUẬT TOÁN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CÓ ĐẠT CHUẨN 2 Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F Output: Khẳng định R(Ω) có đạt chuẩn 2 hay không. Bước 1: Tìm tất cả các khóa của lược đồ quan hệ và xác định các thuộc tính không khóa. Bước 2: Với mỗi khóa K, tìm bao đóng của tất cả các tập con thật sự S của K. Bước 3: Nếu tồn tại một bao đóng S+ nào đó chứa thuộc tính không khóa thì R(Ω) không đạt chuẩn 2. Ngược lại thì đạt chuẩn 2. Lưu ý: Đối với những bài toán đơn giản, người ta thường xuất phát từ định nghĩa của dạng chuẩn 2 để xác định xem một lược đồ quan hệ có thỏa mãn dạng chuẩn 2 hay không thay vì phải sử dụng thuật toán nêu trên. 11
- Ví dụ 6.3: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm: F = {AB → C, B → D, BC → A} Hỏi lược đồ quan hệ này có đạt chuẩn 2 hay không? Giải Đầu tiên ta tìm tất cả các khóa của lược đồ quan hệ: TN = B, TG = AC Xi Si = TN ∪ Xi (TN ∪ Xi)+ Siêu khóa Khóa ⍉ B BD A AB Ω AB AB C BC Ω BC BC AC ABC Ω ABC Ta có hai khóa K1 = AB, K2 = BC. Thuộc tính không khóa là D. Ta thấy B→D trong khi B ⊂ K1. Vậy thuộc tính không khóa D phụ thuộc hàm vào một phần của khóa nên lược đồ quan hệ không thỏa mãn chuẩn 2. 12
- Ví dụ 6.4: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm F = {B → D, A → C, C → ABD}. Hỏi lược đồ quan hệ này có đạt chuẩn 2 hay không? Giải Đầu tiên ta tìm tất cả các khóa của lược đồ quan hệ: TN =⍉ , TG = ABC Xi Si = TN ∪ Xi (TN ∪ Xi)+ Siêu khóa Khóa ⍉ ⍉ A A Ω A A B B BD C C Ω C C AB AB Ω AB BC BC Ω BC AC AC Ω AC ABC ABC Ω ABC Ta có hai khóa K1 = A, K2 = C. Tất cả các khóa của lược đồ quan hệ đều có một thuộc tính nên theo hệ quả 2, lược đồ quan hệ đạt chuẩn 2. 13
- 6.2.3. DẠNG CHUẨN 3 (3NF) A. Định nghĩa cổ điển Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 3 (3NF) nếu nó đã ở dạng chuẩn 2 và không tồn tại thuộc tính không khóa phụ thuộc hàm bắc cầu vào khóa chính của lược đồ quan hệ. Lưu ý: Một thuộc tính A được gọi là phụ thuộc hàm bắc cầu vào tập thuộc tính X nếu tồn tại tập thuộc tính Y để cả ba điều sau được thỏa mãn: 1. X → Y, Y → A 2. Y → X ∉ F+ 3. A ∉ XY B. Định nghĩa tổng quát Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn 3 (3NF) nếu với mọi phụ thuộc hàm X→A ∈ F+ (A ∉ X) ta đều có: Hoặc X là siêu khóa. Hoặc A là thuộc tính khóa. 14
- Ví dụ 6.5: Xét lược đồ quan hệ: SinhVien(MaSV, HoTen, MaLop, TenLop) MaSV HoTen MaLop TenLop HHA001 Nguyễn Văn An L01 CNT50-ĐH1 HHA002 Nguyễn Văn Án L02 ĐKT51-ĐH2 HHA003 Nguyễn Văn Ân L01 CNT50-ĐH1 HHA004 Nguyễn Văn Bình L02 ĐKT51-ĐH2 HHA005 Nguyễn Văn Bông L01 CNT50-ĐH1 HHA006 Nguyễn Văn Cường L03 CTT51-ĐH • Tập phụ thuộc hàm: F = {MaLop → TenLop; MaSV → HoTen, MaLop} • Khóa chính K = {MaSV} Lược đồ này không thỏa mãn chuẩn 3 vì có thuộc tính không khóa là TenLop phụ thuộc hàm bắc cầu vào khóa chính MaSV như sau: MaSV → MaLop và MaLop → TenLop. 15
- Hệ quả: • Nếu một lược đồ quan hệ đạt chuẩn 3 thì đương nhiên đạt chuẩn 2. • Nếu một lược đồ quan hệ không có thuộc tính không khóa thì đạt chuẩn 3. THUẬT TOÁN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CÓ ĐẠT CHUẨN 3 Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F. Output: Khẳng định R(Ω) có đạt chuẩn 2 hay không. Bước 1: Tìm tất cả các khóa của lược đồ quan hệ R(Ω). Bước 2: Từ tập phụ thuộc hàm F, tạo ra tập phụ thuộc hàm F’ tương đương với F và có vế phải chỉ có một thuộc tính (nhờ sử dụng luật phân rã). Bước 3: Nếu mọi phụ thuộc hàm X→A ∈ F’ với A ∉ X đều có X là siêu khóa hoặc A là thuộc tính khóa thì lược đồ quan hệ đạt chuẩn 3. Ngược lại thì lược đồ quan hệ không đạt chuẩn 3. 16
- Ví dụ 6.6: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm: F = {AB → C, D → B, C → ABD} Hỏi lược đồ quan hệ này có đạt chuẩn 3 hay không? Giải Bước 1: Sau khi áp dụng thuật toán tìm tất cả các khóa, ta tìm được 3 khóa: K1 = AB, K2 = AD, K3 = C. Như vậy, các thuộc tính khóa là: A, B, C, D. Bước 2: Xây dựng tập phụ thuộc hàm F’ tương đương với F có vế phải một thuộc tính nhờ luật phân rã: F’ = {AB → C, D → B, C → A, C → B, C → D} Bước 3: Duyệt các phụ thuộc hàm trong F’, ta thấy tất cả các phụ thuộc hàm đều có vế phải là thuộc tính khóa nên lược đồ quan hệ đạt chuẩn 3. 17
- Ví dụ 6.7: Cho lược đồ quan hệ R(A,B,C,D) và tập phụ thuộc hàm: F = {B → D, A → C, C → ABD} Hỏi lược đồ quan hệ này có đạt chuẩn 3 hay không? Giải Bước 1: Sau khi áp dụng thuật toán tìm tất cả các khóa, ta tìm được 2 khóa: K1 = A và K2 = C. Các thuộc tính khóa là: A, C. Bước 2: Xây dựng tập phụ thuộc hàm F’ tương đương với F có vế phải một thuộc tính nhờ luật phân rã: F’ = {B → D, A → C, C → A, C → B, C → D} Bước 3: Duyệt các phụ thuộc hàm trong F’ ta thấy phụ thuộc hàm B → D có vế trái không phải là siêu khóa, vế phải cũng không phải là thuộc tính khóa. Vậy lược đồ quan hệ không đạt chuẩn 3. 18
- 6.2.4. DẠNG CHUẨN BOYCE CODD (BCNF) Một lược đồ quan hệ R(Ω) được gọi là ở dạng chuẩn Boyce Codd (BCNF) nếu với mọi phụ thuộc hàm X → A ∈ F+ (A ∉ X) ta đều có X là siêu khóa. Gần giống định nghĩa tổng quát của chuẩn 3, nhưng chặt chẽ hơn ở chỗ không chấp nhận trường hợp A là thuộc tính khóa. Hệ quả: Nếu một lược đồ quan hệ đạt chuẩn Boyce Codd thì đương nhiên đạt chuẩn 3. 19
- THUẬT TOÁN KIỂM TRA MỘT LƯỢC ĐỒ QUAN HỆ CÓ ĐẠT CHUẨN BOYCE CODD Input: Lược đồ quan hệ R(Ω) và tập phụ thuộc hàm F. Output: Khẳng định R(Ω) có đạt chuẩn Boyce Codd hay không. Bước 1: Tìm tất cả các khóa của lược đồ quan hệ R(Ω). Bước 2: Từ tập phụ thuộc hàm F, tạo ra tập phụ thuộc hàm F’ tương đương với F và có vế phải chỉ có một thuộc tính (nhờ sử dụng luật phân rã). Bước 3: Nếu mọi phụ thuộc hàm X→A ∈ F’ với A ∉ X đều có X là siêu khóa thì lược đồ quan hệ đạt chuẩn Boyce Codd. Ngược lại thì lược đồ quan hệ không đạt chuẩn Boyce Codd. 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Cơ sở dữ liệu đất đai
49 p | 637 | 79
-
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 p | 267 | 51
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Tổng quan về cơ sở dữ liệu
21 p | 181 | 31
-
Bài giảng Cơ sở dữ liệu: Bài 1 - ĐH CNTT
15 p | 607 | 30
-
Bài giảng Cơ sở dữ liệu - Bài 2: Mô hình cơ sở dữ liệu quan hệ
43 p | 221 | 18
-
Bài giảng Cơ sở dữ liệu: Chương 2 - ThS. Hoàng Mạnh Hà
68 p | 151 | 12
-
Bài giảng Cơ sở dữ liệu (Database): Chương 4 - TS. Đặng Thị Thu Hiền
82 p | 40 | 8
-
Bài giảng Cơ sở dữ liệu - Chương 4: Chuẩn hóa cơ sở dữ liệu
30 p | 134 | 8
-
Bài giảng Cơ sở dữ liệu nâng cao - Chương 2: Toàn vẹn và cơ sở dữ liệu active
50 p | 82 | 8
-
Bài giảng Cơ sở dữ liệu (Database): Chương 1 - TS. Đặng Thị Thu Hiền
53 p | 49 | 7
-
Bài giảng Cơ sở dữ liệu: Phần 1 – Nguyễn Hải Châu
54 p | 122 | 6
-
Bài giảng Cơ sở dữ liệu: Mở đầu - ThS. Lương Thị Ngọc Khánh
11 p | 170 | 6
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 1.1 - PGS.TS. Đỗ Phúc
25 p | 90 | 6
-
Bài giảng Cơ sở dữ liệu: Chương 1 - Th.S Thiều Quang Trung
40 p | 93 | 5
-
Bài giảng Cơ sở dữ liệu - Bài 1: Thiết kế Cơ sở dữ liệu với Management Studio
10 p | 62 | 5
-
Bài giảng Cơ sở dữ liệu nâng cao: Bài 2 - PGS.TS. Đỗ Phúc
55 p | 66 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 1 - GV. Đỗ Thị Kim Thành
21 p | 104 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 2 - Trần Thị Dung
39 p | 5 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn