intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:27

19
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 2. Phụ thuộc hàm  Định nghĩa về PTH (Functional Dependency) – Cho lược đồ quan hệ R(A1,A2,…An), và A = A1A2 … 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. Ví dụ om .c ng co an th o ng du u cu CuuDuongThanCong.com https://fb.com/tailieudientucntt 1
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
10=>1