Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 3 (Phần 3) - ĐH Bách khoa Hà Nội
lượt xem 4
download
Chương 3 - Mô hình dữ liệu quan hệ (Phần 3). Những nội dung chính được trình bày trong chương này gồm có: Các bất thường trong một quan hệ (anomalies), phụ thuộc hàm (functional dependencies), khóa, sự tách lược đồ quan hệ (decomposition). 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 Kỹ thuật phần mềm ứng dụng: Chương 3 (Phần 3) - ĐH Bách khoa Hà Nội
- Kỹ thuật phần mềm om .c ứng dụng ng co an Chương 3 th ng Mô hình dữ liệu quan hệ o (Phần 3) du u cu 9/6/2017 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Mục đích om Nắm được các vấn đề và khái niệm Các bất thường trong một quan hệ (Anomalies) .c ng Phụ thuộc hàm (Functional Dependencies) co Khóa an Sự tách lược đồ quan hệ (Decomposition) th o ng du u cu 2/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các nội dung chính om 1. Giới thiệu về các bất thường trong một quan hệ .c 2. Các phụ thuộc hàm ng 3. Khái niệm các khóa co 4. Các nguyên nhân gây ra các bất thường an 5. Phép tách lược đồ QH th o ng du u cu 3/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Các bất thường trong quan hệ om Hãy quan sát bảng Student .c ID Name Class Department Subject Mark ng co 1 E1-001 Nguyen Van A E1 Electronics Electronic Circuit 8 an 2 E1-001 Nguyen Van A E1 Electronics Digital Technique 7 th 3 E1-002 Tran Thi B E1 Electronics Digital Technique 9 ng 4 E1-002 Tran Thi B E1 Electronics Electronic Circuit 8 o du 5 E2-001 Nguyen Ho C E2 Electronics Digital Technique 6 u cu 6 IT1-001 Tran Thi B IT1 IT Electronic Circuit 10 7 IT1-002 Le Van D IT1 IT Digital Technique 8 4/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Các bất thường trong quan hệ om Từ bảng trên có thể nhận thấy một số bất thường: .c ng Dư thừa (Redundancy): giá trị của một số thành phần co trong các bộ bị lặp lại không cần thiết như : Name, Class, Department an th Bất thường khi cập nhật (Update Anomalie): xuất ng hiện khi cập nhật giá trị cho một bộ hiện có, vì thực tế o thực hiện của thao tác có vẻ phức tạp hơn rất nhiều so với du logic của thao tác đó. u Bất thường khi bổ sung (Insertion Anomalie): xuất cu hiện khi bổ sung thêm một bộ mới. Bất thường khi xóa (Deletion Anomalie): xuất hiện khi xóa một bộ hiện có trong quan hệ. 5/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Các bất thường trong quan hệ om Hậu quả của các bất thường trên .c ng Sự không nhất quán dữ liệu có nguy cơ rất cao co Tốn chỗ lưu trữ do dư thừa an Các thao tác cơ bản trên CSDL không hiệu quả th o ng du u cu 6/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 1. Các bất thường trong quan hệ Vậy nguyên nhân của các bất thường này là gì? om .c Khái niệm Phụ thuộc hàm có thể giúp chúng ta ng co hiểu nguyên nhân, cũng như giúp tìm ra giải pháp cho vấn đề trên. an th o ng du u cu 7/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm om Định nghĩa .c Ý nghĩa của PTH ng Hệ tiên đề Amstrong co Một số loại PTH đặc biệt an Khóa và thuộc tính khóa th o ng du u cu 8/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm Định nghĩa về PTH (Functional Dependency) – Cho lược đồ quan hệ R(A1,A2,…An), và A = A1A2 … om An, và 2 tập các thuộc tính X và Y A. Chúng ta nói rằng: .c X Y (X xác định hàm Y, hay Y phụ thuộc hàm ng vào X), nếu thể hiện r của R, thì không tồn tại 2 co bộ t 1, t 2, sao cho t 1[X]=t 2[X] và t 1[Y] t 2[Y] an Nói cách khác: tập các thuộc tính Y phụ thuộc th hàm vào tập các thuộc tính X khi và chỉ khi ứng ng với mỗi bộ giá trị của X trong R chỉ xác định đúng o một giá trị của Y tại mọi thời điểm du – X được gọi là Quyết định (determinant) u cu của PTH. 9/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm – ví dụ om – Một số PTH từ bảng Student: ID Name; .c ID Class; ng co Class Department; an ID,Subject Mark th o ng du u cu 10/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm – Ý nghĩa Ý nghĩa của một PTH X Y trong lược đồ R: thể om hiện r của R thì: .c – Hoặc không có bất kỳ 2 bộ t 1, t 2 nào, sao cho t 1[X]=t 2[X] ng – Hoặc nếu tồn tại 2 bộ t 1, t 2 mà t 1[X]=t 2[X], thì t 1[Y]=t 2[Y] co Trong cả hai trường hợp, bộ t, với mỗi giá trị của t[X] thì chỉ an có một giá trị của t[Y], do đó nếu biết trước giá trị t[X], thì có th thể xác định giá trị t[Y]. ng o du u cu 11/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm – Ý nghĩa Ý nghĩa của PTH X Y: om .c – Thế thì PTH đến từ đâu? ng Nó xuất phát các quy tắc nghiệp vụ (hay co logic nghiệp vụ) của cơ sở dữ liệu. Các quy tắc an nghiệp vụ này sẽ quy định các phụ thuộc giữa th các thuộc tính, và từ đó sẽ tạo ra các phụ thuộc ng hàm. o du u cu 12/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm – Ý nghĩa Ví dụ: một số quy tắc nghiệp vụ trong lược đồ om Student: .c – r1: Mỗi sinh viên có một ID duy nhất. ng – r2: Mỗi sinh viên chỉ có duy nhất 1 tên và chỉ thuộc về một co lớp. an Từ r1 và r2, ta có các PTH sau: ID Name; ID Class th ng – r3: Với mỗi môn học, mỗi sinh viên chỉ thi một lần o du Từ r3, ta có PTH: (ID, Subject) Mark; u cu 13/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm Hệ tiên đề Amstrong om – Tính phản xạ: Y X thì X Y (PTH tầm .c ng thường) – Tính tăng trưởng: X, Y, Z, nếu X Y thì XZ co YZ (XZ = X Z) an th – Tính bắc cầu: X, Y, Z, nếu X Y và Y Z thì X ng Z o du Các hệ quả: u – Tính hợp : nếu X Y và X Z thì X YZ cu – Tính tách: nếu X Y và Z Y thì X Z – Tính tựa bắc cầu: nếu X Y và YW Z thì XW Z 14/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. Phụ thuộc hàm Một số loại PTH đặc biệt om – PTH bộ phận và PTH đầy đủ: X Y được gọi là PTH bộ .c phận nếu X’ X sao cho X’ Y. Trái lại, nếu không tồn tại ng X’ như trên thì PTH này là đầy đủ. co an – PTH bắc cầu và PTH trực tiếp: X Y được gọi là PTH bắc cầu (hay gián tiếp) nếu Z XY sao cho X Z và Z th ng Y. Trái lại, nếu không tồn tại Z như trên thì PTH này là trực tiếp. o du u cu 15/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 3. Khóa Có một số loại khóa như sau: om – Siêu khóa (Super Keys). .c – Khóa ứng viên (Candidate Kyes). ng co – Khóa chính (Primary Kyes). an – Khóa nói chung (Keys). – Khóa ngoại. th o ng du u cu CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- 3. Khóa Siêu khóa om Là một hay một tập các cột xác định duy nhất một hàng trong .c bảng ng co SK là siêu khóa của R khi với mọi t1, t2 thuộc bất kỳ thể hiện r an của R ta luôn có t1[SK] ≠ t2[SK] th SK là siêu khóa củaR SK xác định hàm mọi thuộc tính của o ng R (SK -> R). du Ví dụ: Ta có lược đồ DMSV(MaSV, SoCMTND, Ho_ten_sv, u cu Ngay_Sinh, Dia_chi, Que_quan). Ta có thể có siêu khóa sau (DMDV(MaSV, SoCMTND, Ho_ten_sv), khi đó một khóa nói chung là thành phần tối thiểu của siêu khóa. CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- 3 Khóa (tiếp) Khóa ứng viên (khóa ứng cử): Là một tập con của siêu khóa (cũng là một siêu om khóa), nhưng không thể thu lại thành một siêu khóa khác được gọi là khóa .c ứng viên hay khóa dự tuyển, Ví dụ ta có tập các khóa ứng viên{ (MaSV),(SoCMTND)}. ng co Khóa chính:Là một khóa được lựa chọn một cách tùy ý từ tập các khóa ứng viên, và được sử dụng trong các chỉ mục của bảng đó. an th Khóa ngoại: Một thuộc tính của quan hệ R1 được gọi là một ng khoá ngoại lai nếu nó không phải là khoá chính của quan hệ o R1 nhưng các giá trị của nó là các giá trị của khoá chính du trong một quan hệ R2 nào đó (quan hệ R1 và R2 không nhất thiết u cu phải khác nhau). Khóa ngoại lai dùng để chứa dữ liệu dùng cho việc liên kết với các bảng khác trong CSDL. CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- Ví dụ om .c ng co an th o ng du u cu CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
- 3. Khóa (tiếp) – Thuộc tính khóa (Prime attribute): 1 thuộc tính A là om thuộc tính khóa nếu nó tham gia vào thành phần của .c khóa chính hoặc khóa ứng cử. Trái lại, thì nó là thuộc tính không khóa (hay thuộc tính mô tả) ng co an th o ng du u cu 20/26 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 1 - ĐH Bách khoa Hà Nội
49 p | 52 | 7
-
Các kinh nghiệm quý báu của công nghệ phần mềm
0 p | 66 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 5 - ĐH Bách khoa Hà Nội
36 p | 30 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 4 (Phần 1) - ĐH Bách khoa Hà Nội
36 p | 21 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 3 (Phần 1) - ĐH Bách khoa Hà Nội
18 p | 36 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 2 (Phần 7) - ĐH Bách khoa Hà Nội
25 p | 32 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương (Phần 6) - ĐH Bách khoa Hà Nội
14 p | 30 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương (Phần 5) - ĐH Bách khoa Hà Nội
26 p | 41 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương (Phần 4) - ĐH Bách khoa Hà Nội
24 p | 29 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 2 (Phần 1) - ĐH Bách khoa Hà Nội
35 p | 24 | 5
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương (Phần 3) - ĐH Bách khoa Hà Nội
13 p | 31 | 4
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 3 (Phần 2) - ĐH Bách khoa Hà Nội
25 p | 40 | 4
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 3 (Phần 4) - ĐH Bách khoa Hà Nội
36 p | 24 | 4
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 2 (Phần 2) - ĐH Bách khoa Hà Nội
8 p | 26 | 4
-
Bài giảng Kỹ thuật phần mềm ứng dụng: Chương 4 (Phần 2) - ĐH Bách khoa Hà Nội
24 p | 30 | 4
-
Bài giảng Cơ sở Trí tuệ nhân tạo: Chương 0 - ThS. Phạm Thi Vương
7 p | 20 | 4
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