
Bài giảng môn học Cơ sở dữ liệu: Chương 6 - Đại học Công nghệ thông tin
lượt xem 1
download

Bài giảng môn học Cơ sở dữ liệu - Chương 6: Phụ thuộc hàm và các dạng chuẩn giúp người học hiểu các khái niệm phụ thuộc hàm, khóa và các dạng chuẩn hóa để thiết kế cơ sở dữ liệu hiệu quả, tránh dư thừa và mâu thuẫn dữ liệu. Đây là bước không thể thiếu trong quá trình thiết kế logic cơ sở dữ liệu. Mời các bạn cùng tham khảo bài giảng để biết thêm chi tiết!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng môn học Cơ sở dữ liệu: Chương 6 - Đại học Công nghệ thông tin
- ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA HỆ THỐNG THÔNG TIN 1
- Các vấn đề gặp phải khi tổ chức CSDL Phụ thuộc hàm ◦ Hệ tiên đề Armstrong ◦ Bao đóng ◦ Khóa ◦ Thuật toán tìm khóa Các dạng chuẩn ◦ Dạng chuẩn 1 ◦ Dạng chuẩn 2 ◦ Dạng chuẩn 3 ◦ Dạng chuẩn Boyce Codd 2
- Trước khi bàn về dạng chuẩn của một cơ sở dữ liệu, chúng ta hãy phân tích xem tại sao trong một lược đồ quan hệ lại tồn tại những vấn đề rắc rối. Chẳng hạn cho lược đồ quan hệ: Thi (masv, mamh, hoten, tenmonhoc, diem). Một khóa chính: (masv, mamh) THI MASV MAMH HOTEN TENMONHOC DIEM sv01 CSDL Lê Nguyên Khôi Cơ sở dữ liệu 7 sv01 HDT Lê Nguyên Khôi Hướng đối tượng 2 sv01 XSTK Lê Nguyên Khôi Xác suất thống kê 7 sv02 CTRR Hoàng Hải Minh Cấu trúc rời rạc 9 sv02 XSTK Hoàng Hải Minh Xác suất thống kê 5 sv03 CSDL Nguyễn Thị Hà Cơ sở dữ liệu 5 3
- Bất thường khi sửa dữ liệu (update anomaly): do hậu quả của dư thừa dữ liệu, mỗi khi cập nhật tên của một sinh viên trong một bộ nào đó nhưng vẫn còn tên cũ trong những bộ khác. Vì vậy trong CSDL sẽ xuất hiện một sinh viên sẽ có nhiều tên. THI MASV MAMH HOTEN TENMONHOC DIEM sv01 CSDL Lê Nguyên Khôi Cơ sở dữ liệu 7 sv01 HDT Lê Anh Khôi Hướng đối tượng 2 sv01 XSTK Lê Nguyên Khôi Xác suất thống kê 7 sv02 CTRR Hoàng Hải Minh Cấu trúc rời rạc 9 sv02 XSTK Hoàng Hải Minh Xác suất thống kê 5 sv03 CSDL Nguyễn Thị Hà Cơ sở dữ liệu 5 4
- Bất thường khi thêm dữ liệu (insertion anomaly): Một sinh viên mới mà chưa dự thi môn học nào thì thông tin về sinh viên này không thể thêm vào quan hệ THI, vì khi thêm vào thì mamh phải có giá trị null, mà mamh là thuộc tính khóa nên không thể mang giá trị null được. THI MASV MAMH HOTEN TENMONHOC DIEM sv01 CSDL Lê Nguyên Khôi Cơ sở dữ liệu 7 sv01 HDT Lê Nguyên Khôi Hướng đối tượng 2 sv01 XSTK Lê Nguyên Khôi Xác suất thống kê 7 sv02 CTRR Hoàng Hải Minh Cấu trúc rời rạc 9 sv02 XSTK Hoàng Hải Minh Xác suất thống kê 5 sv03 CSDL Nguyễn Thị Hà Cơ sở dữ liệu 5 sv04 null Đặng Thị Yến Vy null null 5
- Bất thường khi xóa dữ liệu (deletion anomaly): khi xóa sinh viên sv01 thi môn HDT sẽ làm mất thông tin của môn học HDT. THI MASV HOTEN MAMH TENMONHOC DIEM sv01 Lê Nguyên Khôi CSDL Cơ sở dữ liệu 7 sv01 Lê Nguyên Khôi HDT Hướng đối tượng 2 sv01 Lê Nguyên Khôi XSTK Xác suất thống kê 7 sv02 Hoàng Hải Minh CTRR Cấu trúc rời rạc 9 sv02 Hoàng Hải Minh XSTK Xác suất thống kê 5 sv03 Nguyễn Thị Hà CSDL Cơ sở dữ liệu 5 6
- SINHVIEN MASV HOTEN THI sv01 Lê Nguyên Khôi MASV MAMH DIEM sv02 Hoàng Hải Minh sv01 CSDL 7 sv03 Nguyễn Thị Hà sv01 HDT 2 MONHOC sv01 XSTK 7 MAMH TENMONHOC sv02 CTRR 9 CSDL Cơ sở dữ liệu sv02 XSTK 5 HDT Hướng đối tượng sv03 CSDL 5 XSTK Xác suất thống kê 7
- Phụ thuộc hàm (FDs) là các ràng buộc (constraints) được suy từ ý nghĩa và các liên hệ giữa các thuộc tính dữ liệu. Phụ thuộc hàm và khóa được dùng để xác định dạng chuẩn của quan hệ. 8
- Định nghĩa: ◦ X,Y là hai tập thuộc tính trên quan hệ R ◦ r1, r2 là 2 bộ bất kỳ trên R ◦ Ta nói X xác định Y, ký hiệu X → Y, nếu và chỉ nếu r1[X] = r2[X] ⇒ r1[Y] = r2[Y] tức là, với mỗi giá trị của X trong R chỉ tương đương với một giá trị của Y ◦ X → Y là một phụ thuộc hàm, hay Y phụ thuộc X. ◦ X là vế trái của phụ thuộc hàm, Y là vế phải của phụ thuộc hàm. 9
- Ví dụ: cho quan hệ NHANVIEN như sau: manv hoten dchi tenph trgph nv01 Nguyễn Minh Anh Hà Nội Kế toán Lê Hải Anh nv02 Lê Hải Anh Hà Nội Kế toán Lê Hải Anh nv03 Nguyễn Hà Lê Đà Nẵng Kế toán Lê Hải Anh nv04 Trần Đăng Hoàng Đà Nẵng Dữ liệu Trần Đăng Hoàng nv05 Đỗ Mỹ Linh Cần Thơ Dữ liệu Trần Đăng Hoàng nv06 Nguyễn Minh Anh Cần Thơ Dữ liệu Trần Đăng Hoàng Có nhận xét gì về: {manv, hoten}, {manv, dchi}, {manv, tenph}, {manv, trgph}, {tenph, trgph}, {manv, hoten, dchi} … 10
- manv hoten dchi tenph trgph nv01 Nguyễn Minh Anh Hà Nội Kế toán Lê Hải Anh nv02 Lê Hải Anh Hà Nội Kế toán Lê Hải Anh nv03 Nguyễn Hà Lê Đà Nẵng Kế toán Lê Hải Anh nv04 Trần Đăng Hoàng Đà Nẵng Dữ liệu Trần Đăng Hoàng nv05 Đỗ Mỹ Linh Cần Thơ Dữ liệu Trần Đăng Hoàng nv06 Nguyễn Minh Anh Cần Thơ Dữ liệu Trần Đăng Hoàng Một số tính chất sau: Ký hiêu: Với mỗi manv có duy nhất một hoten. manv → hoten Với mỗi manv có duy nhất một dchi. manv → dchi Với mỗi manv có duy nhất một tenph. manv → tenph Với mỗi manv có duy nhất một trgph. manv → trgph Với mỗi tenph có duy nhất một trgph. tenph → trgph Với mỗi trgph có duy nhất một tenph. trgph → tenph Với mỗi manv có duy nhất một hoten, dchi. manv → hoten, dchi 11
- Gọi F là tập các phụ thuộc hàm Định nghĩa: ◦ X → Y được suy ra từ F, hay F suy ra X → Y nếu bất kỳ bộ của quan hệ thỏa F thì cũng thỏa X → Y Hệ tiên đề Armstrong: 1. Tính phản xạ: Y ⊆ X =>X → Y manv, hoten → hoten 2. Tính tăng trưởng: X → Y => XZ → YZ cmnd → hoten => cmnd, diachi → hoten, diachi 3. Tính bắc cầu: {X → Y, Y → Z} => X → Z manv → maph manv → tenph maph → tenph 12
- Từ hệ tiên đề Armstrong ta suy ra một số tính chất sau: 4. Tính kết hợp: {X → Y, X → Z} => X → YZ manv → hoten manv → hoten, gioitinh manv →gioitinh 5. Tính phân rã: {X → YZ} => {X → Y, X → Z} manv → hoten, gioitinh => {manv → hoten, manv → gioitinh} 6. Tính tựa bắc cầu: {X → Y, YZ → W} => XZ → W masv → malop masv, mamh → magv malop, mamh → magv 13
- Cho F={A→ B, A→ C, BC→ D}, chứng minh A→ D? Giải: 1. A → B (giả thiết) 2. A → C (giả thiết) 3. A → BC (từ 1,2: tính kết hợp) 4. BC → D (giả thiết) 5. A → D (từ 3,4: tính bắc cầu) Vậy: A → D 14
- Bài 1: Cho F = {A → B, BC → D }. Chứng minh: AC → D Bài 2: Cho F = {A → BC, AC → D }. Chứng minh: AC → BCD Bài 3: Cho F = {CD → H, B → EG, E → AD}. Chứng minh: BC → H Bài 4: Cho F={AB → C; B → D; CD → E; CE → GH} Chứng minh: AB → GH. 15
- Giải: 1. A → B (giả thiết) 2. AC → BC (từ 1: tính tăng trưởng) 3. BC → D (giả thiết) 4. AC →D (từ 2,3: tính bắc cầu) Kết luận: AC →D 16
- Giải: 1. A → BC (giả thiết) 2. AC →BC (từ 1: tính tăng trưởng) 3. AC → D (giả thiết) 4. AC → BCD (từ 2,3: tính kết hợp) Kết luận: AC → BCD 17
- Giải: 1. B → EG (giả thiết) 2. B → E (từ 1: tính phân rã) 3. E → AD (giả thiết) 4. B → AD (từ 2,3: tính bắc cầu) 5. BC → ADC (từ 4: tính tăng trưởng) 6. BC → DC (từ 5: tính phân rã) 7. CD → H (giả thiết) 8. BC → H (từ 6,7: tính bắc cầu) Kết luận: BC → H 18
- Giải: 1. AB → C (giả thiết) 2. B → D (giả thiết) 3. AB → CB (từ 1: tính tăng trưởng ) 4. CB →CD (từ 2: tính tăng trưởng) 5. AB → CD (từ 3,4: tính bắc cầu) 6. CD → E (giả thiết) 7. CD → CE (từ 6: tính tăng trưởng) 8. AB → CE (từ 5,7: tính bắc cầu) 9. CE → GH (giả thiết) 10. AB → GH (từ 8,9: tính bắc cầu) Kết luận: AB → GH 19
- Bao đóng của tập phụ thuộc hàm ◦ Bao đóng của tập phụ thuộc hàm F, ký hiệu F+ là tập tất cả các phụ thuộc hàm được suy ra từ F. Nếu F = F + thì F là họ đầy đủ của các phụ thuộc hàm. 20

CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng môn học Cơ sở dữ liệu - ThS. Lê Ngọc Lãm
168 p |
109 |
11
-
Bài giảng môn học Cơ sở lập trình - ThS. Phạm Thanh An
4 p |
122 |
7
-
Bài giảng môn học Cơ sở lập trình
11 p |
102 |
6
-
Bài giảng môn học Cơ sở tin học 1 - Trường Đại học Tôn Đức Thắng
47 p |
85 |
6
-
Bài giảng Tin học cơ sở 1 - Chương 0: Giới thiệu môn học
8 p |
162 |
5
-
Bài giảng Tin học cơ sở 2: Chương 0 - ThS. Nguyễn Mạnh Sơn
7 p |
128 |
4
-
Bài giảng Tin học cơ sở A: Giới thiệu môn học - Đặng Bình Phương
5 p |
103 |
3
-
Bài giảng Tin học cơ sở 2: Chương 0 - Nguyễn Ngọc Duy
4 p |
116 |
2
-
Bài giảng môn học Cơ sở dữ liệu - Chương 2: Mô hình thực thể-kết hợp (Entity-Relationship)
31 p |
2 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 5: SQL
134 p |
2 |
1
-
Bài giảng môn học Cơ sở dữ liệu: Chương 1 - Đại học Công nghệ thông tin
63 p |
1 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 3: Mô hình dữ liệu quan hệ
34 p |
1 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 6: Phép tính quan hệ
40 p |
2 |
1
-
Bài giảng môn học Cơ sở dữ liệu: Chương 2 - Đại học Công nghệ thông tin
49 p |
5 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 1: Tổng quan về CSDL
41 p |
2 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 4: Đại số quan hệ
80 p |
2 |
1
-
Bài giảng môn học Cơ sở dữ liệu - Chương 7: Ràng buộc toàn vẹn
59 p |
4 |
1
-
Bài giảng môn học Cơ sở dữ liệu: Chương 3 - Đại học Công nghệ thông tin
31 p |
4 |
1


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
