Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 5.4 - Viện Điện tử Viễn thông (ĐH Bách Khoa HN)
Số trang: 33
Loại file: pdf
Dung lượng: 423.82 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 5.4 Chuẩn hóa và các dạng chuẩn (Normalization & Normal Forms), cung cấp cho người học những kiến thức như: Các dạng chuẩn; Bao đóng; Thuật toán tìm toàn bộ các khóa; Tập phụ thuộc hàm tối thiểu; Các phương pháp chuẩn hóa. Mời các bạn cùng tham khảo!
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 5.4 - Viện Điện tử Viễn thông (ĐH Bách Khoa HN) Chương 5: Mô hình dữ liệu quan hệ - Lý thuyết thiết kế Phần 4: Chuẩn hóa và các dạng chuẩn (Normalization & Normal Forms) Mục đích Giúp nắm được các khái niệm và vấn đề: Các dạng chuẩn (Normal Forms): 1NF, 2NF, 3NF, BCNF Bao đóng (Closure) Giải thuật tìm tất cả các khóa Tại sao và làm thế nào để chuẩn hóa 2/33 Các nội dung chính 1. Các dạng chuẩn 2. Bao đóng 3. Thuật toán tìm toàn bộ các khóa 4. Tập phụ thuộc hàm tối thiểu 5. Các phương pháp chuẩn hóa 3/33 1. Chuẩn hóa và các dạng chuẩn Định nghĩa các dạng chuẩn Dạng chuẩn 1 (1NF - First NF) Dạng chuẩn 2 (2NF - Second NF) Dạng chuẩn 3 (3NF - Third NF) Dạng chuẩn Boyce-Codd (BCNF - Boyce-Codd NF) Các phương pháp chuẩn hóa Phép tách (Decomposition) Phép ghép (Composition) 4/33 1. Dạng chuẩn 1 (1NF) Định nghĩa: Giá trị nguyên tố (Atomic Value): Là giá trị mà không thể bị chia nhỏ hơn được nữa Một thuộc tính là nguyên tố nếu miền giá trị của nó là nguyên tố. Thuộc tính nguyên tố cũng còn được gọi là thuộc tính đơn. Dạng chuẩn 1: một LĐQH R là ở dạng chuẩn 1 nếu như mọi thuộc tính của nó đều nhận giá trị nguyên tố. Lưu ý: sau này mặc định ta coi các LĐQH đều đã ở dạng chuẩn 1. 5/33 1. Dạng chuẩn 2 (2NF) Định nghĩa: một LĐQH R là ở dạng chuẩn 2 nếu nó thỏa mãn 2 điều kiện: R đã ở dạng chuẩn 1 Mọi thuộc tính không khóa của R đều phụ thuộc hàm đầy đủ vào khóa của R Vd1: cho QH R(A,B,C,D) với tập các PTH F: AB C; B D; Hỏi R có ở dạng chuẩn 2 không? 6/33 1. Dạng chuẩn 2 Vd2: cho QH R(A,B,C,D) với tập các PTH F: A B; B C; C D; Hỏi R có ở dạng chuẩn 2 không? Vd3: QH Student(ID, Name, Class, Dept, Subject, Mark) với các PTH F: ID Name,Class; Class Dept; ID, Subject Mark Hỏi Student có ở dạng chuẩn 2 không? 7/33 1. Dạng chuẩn 3 (3NF) Định nghĩa: có 2 cách tương đương để đ/n dạng chuẩn 3: Cách thứ nhất: 1 QH R là ở dạng chuẩn 3 nếu thỏa mãn: 1. R đã ở dạng chuẩn 2 2. Mọi thuộc tính không khóa của R đều phụ thuộc hàm trực tiếp vào khóa 8/33 1. Dạng chuẩn 3 Định nghĩa: Cách thứ hai: 1 QH R là ở dạng chuẩn 3 nếu thỏa mãn: 1. R đã ở dạng chuẩn 1 2. Với mọi PTH có dạng XA thuộc R (với X là một tập các thuộc tính, còn A là một thuộc tính) thì Hoặc X là một siêu khóa, hoặc A là thuộc tính khóa. 9/33 1. Dạng chuẩn 3 Vd2: Xét QH R(A,B,C,D) với tập các PTH F: A B; B C; C D; Hỏi R có ở dạng chuẩn 2, chuẩn 3 không? Vd4: Xét QH R(A,B,C,D) với tập các PTH F: AB C; CD A; Hỏi R có ở dạng chuẩn 2, chuẩn 3 không? 10/33 1. Dạng chuẩn Boyce-Codd (BCNF) Định nghĩa: một LĐ QH R là ở dạng chuẩn BC nếu nó thỏa mãn: 1. R đã ở dạng chuẩn 1, 2. Với mọi PTH có dạngXA in R (với X là một tập thuộc tính, và A là một thuộc tính) thì X là siêu khóa. 11/33 1. Dạng chuẩn Boyce-Codd Vd4: Xét QH R(A,B,C,D) với tập các PTH F: AB C; CD A; Hỏi R có ở dạng chuẩn 3, chuẩn BC không? Vd5: xét QH R(A,B,C,D) với các PTH F: AB C; AB D; Hỏi R có ở dạng chuẩn BC không? 12/33 So sánh giữa các dạng chuẩn 1NF 2NF 3NF BCNF 13/33 2. Bao đóng (Closure) Định nghĩa: cho QH R với tập PTH F, và tập thuộc tính XR. Ta gọi bao đóng của X (ký hiệu X+) được định nghĩa như sau: X+ = {B | X B F} Vd: cho R(A,B,C,D), với các PTH F: AB; BCAD; X=(A) thì X+=(A,B) X=(AC) thì X+=(A,B,C,D) 14/33 2. Bao đóng – Thuật toán tìm bao đóng Đầu vào: R(A1,A2,…An) với tập PTH F; XR Đầu ra: X+ Giải thuật: Bước 1: X+ := X; Bước 2: While ( YA F so that (YX+and AX+)) X+:=X+A Bước 3: return X+ 15/33 2. Bao đóng - ứng dụng Giúp tìm khóa trong quan hệ, bởi vì K+ = R 16/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Một tính chất của khóa: cho LĐQH R với tập các PTH F. Ta gọi AL, AR tương ứng là các hợp (unions) của các thuộc tính thuộc vế trái và vế phải của các PTH trong F. Chúng ta có thể giả sử rằng R=ALAR. Nếu K là một khóa của R thì nó luôn thỏa mãn: AL\AR K AL AL AR 17/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Vd: R(A,B,C,D,E), với F: AB; BCAD;CDE; Ta có: AL=(ABCD); AR=(ABDE) AL\AR = C; Ta tìm được 2 khóa của R là: K1=AC; K2=BC; 18/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Đầu vào: QH Bước 3: While (K+R) { R(A1,A2,…An) với tập các Lấy ra một thuộc ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 5.4 - Viện Điện tử Viễn thông (ĐH Bách Khoa HN) Chương 5: Mô hình dữ liệu quan hệ - Lý thuyết thiết kế Phần 4: Chuẩn hóa và các dạng chuẩn (Normalization & Normal Forms) Mục đích Giúp nắm được các khái niệm và vấn đề: Các dạng chuẩn (Normal Forms): 1NF, 2NF, 3NF, BCNF Bao đóng (Closure) Giải thuật tìm tất cả các khóa Tại sao và làm thế nào để chuẩn hóa 2/33 Các nội dung chính 1. Các dạng chuẩn 2. Bao đóng 3. Thuật toán tìm toàn bộ các khóa 4. Tập phụ thuộc hàm tối thiểu 5. Các phương pháp chuẩn hóa 3/33 1. Chuẩn hóa và các dạng chuẩn Định nghĩa các dạng chuẩn Dạng chuẩn 1 (1NF - First NF) Dạng chuẩn 2 (2NF - Second NF) Dạng chuẩn 3 (3NF - Third NF) Dạng chuẩn Boyce-Codd (BCNF - Boyce-Codd NF) Các phương pháp chuẩn hóa Phép tách (Decomposition) Phép ghép (Composition) 4/33 1. Dạng chuẩn 1 (1NF) Định nghĩa: Giá trị nguyên tố (Atomic Value): Là giá trị mà không thể bị chia nhỏ hơn được nữa Một thuộc tính là nguyên tố nếu miền giá trị của nó là nguyên tố. Thuộc tính nguyên tố cũng còn được gọi là thuộc tính đơn. Dạng chuẩn 1: một LĐQH R là ở dạng chuẩn 1 nếu như mọi thuộc tính của nó đều nhận giá trị nguyên tố. Lưu ý: sau này mặc định ta coi các LĐQH đều đã ở dạng chuẩn 1. 5/33 1. Dạng chuẩn 2 (2NF) Định nghĩa: một LĐQH R là ở dạng chuẩn 2 nếu nó thỏa mãn 2 điều kiện: R đã ở dạng chuẩn 1 Mọi thuộc tính không khóa của R đều phụ thuộc hàm đầy đủ vào khóa của R Vd1: cho QH R(A,B,C,D) với tập các PTH F: AB C; B D; Hỏi R có ở dạng chuẩn 2 không? 6/33 1. Dạng chuẩn 2 Vd2: cho QH R(A,B,C,D) với tập các PTH F: A B; B C; C D; Hỏi R có ở dạng chuẩn 2 không? Vd3: QH Student(ID, Name, Class, Dept, Subject, Mark) với các PTH F: ID Name,Class; Class Dept; ID, Subject Mark Hỏi Student có ở dạng chuẩn 2 không? 7/33 1. Dạng chuẩn 3 (3NF) Định nghĩa: có 2 cách tương đương để đ/n dạng chuẩn 3: Cách thứ nhất: 1 QH R là ở dạng chuẩn 3 nếu thỏa mãn: 1. R đã ở dạng chuẩn 2 2. Mọi thuộc tính không khóa của R đều phụ thuộc hàm trực tiếp vào khóa 8/33 1. Dạng chuẩn 3 Định nghĩa: Cách thứ hai: 1 QH R là ở dạng chuẩn 3 nếu thỏa mãn: 1. R đã ở dạng chuẩn 1 2. Với mọi PTH có dạng XA thuộc R (với X là một tập các thuộc tính, còn A là một thuộc tính) thì Hoặc X là một siêu khóa, hoặc A là thuộc tính khóa. 9/33 1. Dạng chuẩn 3 Vd2: Xét QH R(A,B,C,D) với tập các PTH F: A B; B C; C D; Hỏi R có ở dạng chuẩn 2, chuẩn 3 không? Vd4: Xét QH R(A,B,C,D) với tập các PTH F: AB C; CD A; Hỏi R có ở dạng chuẩn 2, chuẩn 3 không? 10/33 1. Dạng chuẩn Boyce-Codd (BCNF) Định nghĩa: một LĐ QH R là ở dạng chuẩn BC nếu nó thỏa mãn: 1. R đã ở dạng chuẩn 1, 2. Với mọi PTH có dạngXA in R (với X là một tập thuộc tính, và A là một thuộc tính) thì X là siêu khóa. 11/33 1. Dạng chuẩn Boyce-Codd Vd4: Xét QH R(A,B,C,D) với tập các PTH F: AB C; CD A; Hỏi R có ở dạng chuẩn 3, chuẩn BC không? Vd5: xét QH R(A,B,C,D) với các PTH F: AB C; AB D; Hỏi R có ở dạng chuẩn BC không? 12/33 So sánh giữa các dạng chuẩn 1NF 2NF 3NF BCNF 13/33 2. Bao đóng (Closure) Định nghĩa: cho QH R với tập PTH F, và tập thuộc tính XR. Ta gọi bao đóng của X (ký hiệu X+) được định nghĩa như sau: X+ = {B | X B F} Vd: cho R(A,B,C,D), với các PTH F: AB; BCAD; X=(A) thì X+=(A,B) X=(AC) thì X+=(A,B,C,D) 14/33 2. Bao đóng – Thuật toán tìm bao đóng Đầu vào: R(A1,A2,…An) với tập PTH F; XR Đầu ra: X+ Giải thuật: Bước 1: X+ := X; Bước 2: While ( YA F so that (YX+and AX+)) X+:=X+A Bước 3: return X+ 15/33 2. Bao đóng - ứng dụng Giúp tìm khóa trong quan hệ, bởi vì K+ = R 16/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Một tính chất của khóa: cho LĐQH R với tập các PTH F. Ta gọi AL, AR tương ứng là các hợp (unions) của các thuộc tính thuộc vế trái và vế phải của các PTH trong F. Chúng ta có thể giả sử rằng R=ALAR. Nếu K là một khóa của R thì nó luôn thỏa mãn: AL\AR K AL AL AR 17/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Vd: R(A,B,C,D,E), với F: AB; BCAD;CDE; Ta có: AL=(ABCD); AR=(ABDE) AL\AR = C; Ta tìm được 2 khóa của R là: K1=AC; K2=BC; 18/33 3. Giải thuật tìm tất cả các khóa của lược đồ quan hệ Đầu vào: QH Bước 3: While (K+R) { R(A1,A2,…An) với tập các Lấy ra một thuộc ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Kỹ thuật phần mềm ứng dụng Kỹ thuật phần mềm ứng dụng Mô hình dữ liệu quan hệ Lý thuyết thiết kế Phương pháp chuẩn hóa Tập phụ thuộc hàm tối thiểuTài liệu có liên quan:
-
Bài giảng Cơ sở dữ liệu: Chương 3 - ThS. Nguyễn Thị Như Anh
17 trang 76 0 0 -
Bài giảng Cơ sở dữ liệu - Nguyễn Quỳnh Chi
189 trang 66 0 0 -
Bài giảng Nhập môn cơ sở dữ liệu: Chương 2 - Vũ Tuyết Trinh
27 trang 33 0 0 -
Bài giảng Cơ sở dữ liệu: Chương 3 - Hoàng Thị Hà
45 trang 33 0 0 -
Giáo trình Cơ sở dữ liệu 1: Phần 2 - ĐH Thái Nguyên
49 trang 33 0 0 -
Bài giảng Cơ sở dữ liệu địa lý: Chương 0 - ThS. Nguyễn Duy Liêm
8 trang 32 0 0 -
Bài giảng Cơ sở dữ liệu địa lý: Chương 3 - ThS. Nguyễn Duy Liêm
38 trang 32 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 1 - Cao Thị Nhạn, Nguyễn Thị Thanh Bình
54 trang 32 0 0 -
58 trang 31 0 0
-
Bài giảng môn Cơ sở dữ liệu - Bài 3: Mô hình dữ liệu quan hệ (ĐH Công nghệ Thông tin)
30 trang 31 0 0