Your SlideShare is downloading. ×
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Chuan
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chuan

904

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
904
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
49
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ 4.10 – Nhập môn Cơ sở Dữ liệu Các dạng chuẩn dựa trên khóa chính Thủ tục chuẩn hoá cung cấp • • Một cơ cấu hình thức để phân tích các lược đồ quan hệ dựa trên khoá và các phụ thuộc hàm. Một loạt các kiểm tra dạng chuẩn có thể thực hiện trên các lược đồ quan hệ riêng rẽ sao cho cơ sở dữ liệu quan hệ có thể được chuẩn hoá đến một mức cần thiết. Chuẩn hóa cần đảm bảo tính chất: • • Nối không mất mát (hoặc nối không phụ thêm- không thêm bộ giả) Bảo toàn sự phụ thuộc nó đảm bảo rằng từng phụ thuộc hàm sẽ được biểu hiện trong các quan hệ riêng rẽ nhận được sau khi tách. 02:45 AM Khoa CNTT 1
  • 2. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ a. Dạng chuẩn 1 Nhập môn Cơ sở Dữ liệu (1NF) Một quan hệ gọi là 1NF nếu • Miền giá trị của mỗi thuộc tính chỉ chứa giá trị nguyên tử (đơn, ko phân chia được) • Giá trị của mỗi thuộc tính trong các bộ là một giá trị đơn Ví dụ: SV_DIEM(Masv, Mamon, Diem) SV(Masv, Hoten, Gioitinh,Ngaysinh, Noisinh) Không thỏa mãn 1NF 02:45 AM Khoa CNTT 2
  • 3. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu a. Dạng chuẩn 1 Ví dụ: NV_DA(Mada,Tenda,Mavn,Sogio) Mada TenDa Manv Sogio CO1 Cấp nước 001 002 20 35 DO2 Cung cấp thiết bị điện.. 002 004 20 40 Không thỏa mãn 1NF 02:45 AM Khoa CNTT 3
  • 4. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu a. Dạng chuẩn 1  Chuyển quan hệ không đạt chuẩn về dạng chuẩn 1 1. Thuộc tính phức hợp -> các thuộc tính đơn SV(Masv, Hoten, Gioitinh,Ngaysinh, Noisinh) SV(Masv, Ho, Dem, Ten, Gioitinh,Ngaysinh, Noisinh) 2. Thuộc tính đa trị hoặc lặp ->tách quan hệ DONVI(Madv,Tendv, MaNQL, Diadiem) Đa trị DV (Madv,Tendv,MaNQL) DV_DD(Madv,Diadiem) 02:45 AM Khoa CNTT 4
  • 5. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu a. Dạng chuẩn 1 Lặp NV_DA(Mada,Tenda,Mavn,Sogio) Mada TenDa Manv Sogio CO1 Cấp nước 001 002 20 35 DO2 Cung cấp thiết bị điện.. 002 004 20 40 DA(Mada,Tenda) NV_DA(Mada,Mavn,Sogio) Mada Tenda Mada Manv Sogio CO1 Cấp nước CO1 001 20 Do2 Cung cấp thiết bị điện CO1 002 35 DO2 002 20 DO2 004 40 02:45 AM Khoa CNTT 5
  • 6. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2  Phụ thuộc hàm đầy đủ: Một phụ thuộc hàm X → Y là một phụ thuộc hàm đầy đủ nếu loại bỏ bất kỳ thuộc tính A nào ra khỏi X thì phụ thuộc hàm không còn đúng nữa. ∀ A, A ∈ X, (X – {A}) → Y : là không đúng.  Phụ thuộc hàm bộ phận: Một phụ thuộc hàm X → Y là phụ thuộc hàm bộ phận nếu có thể bỏ một thuộc tính A∈ X, ra khỏi X phụ thuộc hàm vẫn đúng ∃A∈ X, (X – {A}) → Y 02:45 AM Khoa CNTT 6
  • 7. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 MUONTRA Sothe Masach Tennguoimuo n Tensac h Ngaymuon Ngaytra Sothe,Masach -> Ngaymuon Sothe,Masach -> Tensach Phụ thuộc bộ phận Sothe,Masach -> Nguoimuon 02:45 AM Phụ thuộc đầy đủ Phụ thuộc bộ phận Khoa CNTT 7
  • 8. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Định nghĩa: Một lược đồ quan hệ R ở dạng chuẩn 2 (2NF) nếu:  R thỏa mãn chuẩn 1  Mọi thuộc tính (không khóa) của R phụ thuộc hàm đầy đủ vào khóa chính Hay: Mỗi thuộc tính không là thuộc tính khóa không phụ thuộc bộ phận vào khóa của R Kiểm tra lược đồ thỏa mãn dạng chuẩn 2 ? oVới các quan hệ có thuộc tính khóa đơn thì ko phải kt oChỉ kiểm tra các lược đồ có chứa phụ thuộc hàm bộ phận 02:45 AM Khoa CNTT 8
  • 9. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Chuẩn hóa về dạng chuẩn 2 MUONTRA Sothe Masach Tennguoimuo n Tensac h Ngaymuon Ngaytra Sothe,MasachTennguoimuon SotheTennguoimuon Sothe,MasachTensach MasachTensach Sothe,MasachNgaymuon Sothe,MasachNgaytra Phụ thuộc bộ phận vào khóa 02:45 AM Khoa CNTT 9
  • 10. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Chuẩn hóa về dạng chuẩn 2 MUONTRA Sothe Masach Tennguoimuo n Tensac h Ngaymuon Ngaytra Tách các thuộc tính không khóa phụ thuộc bộ phận vào khóa chính thành quan hệ riêng; khóa của quan hệ mới là khóa bộ phận tương ứng SACH(Masach,Tensac h) BANDOC(Sothe,Tennguoimuon) MUONTRA(Sothe,Masach,Ngaymuon,Ngaytra) 02:45 AM Khoa CNTT 10
  • 11. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Ví dụ1: Chuẩn hóa quan hệ R thành dạng chuẩn 2 R(A,B,C,D,E) F ={ ABC, AB D, AB E, B  C, A  E} R1 (A,E) R2(B,C) R(A,B,D) 02:45 AM Khoa CNTT 11
  • 12. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Ví dụ 2: Chuẩn hóa quan hệ R thành dạng chuẩn 2 R(A,B,C,D,E,F,G,H) F ={ ABC, AB D, AB E, ABF, ABG, ABH B  C, A  E, BG} R1 (A,E) R2(B,C, G) R(A,B,D,F,H) 02:45 AM Khoa CNTT 12
  • 13. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu b. Dạng chuẩn 2 Bài tập: Cho quan hệ R(A,B,C,D,E,F,G,H,I,J) với tập phụ thuộc hàm F ={ AB->C, A->DE, B->F, F->GH,D->IJ} Khóa của quan hệ R ? AB Chuyển về dạng chuẩn 2? R1(ADEIJ) R2(BFGH) R(A,B,C) 02:45 AM F 1 = {AD, AE, DI, DJ} F 2 = {BF,F G,F H } F = {AB->C} Khoa CNTT 13
  • 14. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu c. Dạng chuẩn 3  Phụ thuộc bắc cầu: Phụ thuộc hàm X Y được gọi bắc cầu nếu trong R có X Z và Z Y; với Z là tập thuộc tính không thuộc khóa. Ta nói Y phụ thuộc bắc cầu vào X Ví dụ: F = {AB  C, AB  D, D  F, E  F, D  E} Phụ thuộc hàm bắc cầu: 02:45 AM Khoa CNTT D F 14
  • 15. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu c. Dạng chuẩn 3 Lược đồ R là dạng chuẩn 3 nếu: • Thỏa mãn chuẩn 2 • Không có thuộc tính không khoá nào của R là phụ thuộc bắc cầu vào khoá chính. Tức là: mỗi phụ thuộc hàm X Y thì • Hoặc X siêu khóa • Hoặc Y là thuộc tính khóa. 3NF Ví dụ: R(A,B,C,D,E,F) với F1 = {AB  C, AB  D, AB  E, AB  F, E  B} S(A,B,C,D,E,F) không thỏa3NF với F2 = {AB  C, AB  D, AB E, E  D} 02:45 AM Khoa CNTT 15
  • 16. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu c. Dạng chuẩn 3 Chuẩn hóa lược đồ R : • Tách quan hệ mới gồm các thuộc tính phụ thuộc bắc cầu. • Loại các thuộc tính phụ thuộc bắc cầu vào thuộc tính khóa trong quan hệ ban đầu; R(A,B, C, D, E, F, G) R1(D,F,G) 02:45 AM AB: Khóa, các thuộc tính phụ thuộc hàm vào AB R(A,B,C,D,E) Khoa CNTT 16
  • 17. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu c. Dạng chuẩn 3 Ví dụ NV_DV(Manv, Hoten, Ngaysinh, Madv, Tendv, MaQl) Với các phụ thuộc hàm { ManvHoten, ManvNgaysinh, ManvMadv, ManvMaQl, ManvTendv, MaDvTendv, MaDvMaQl } Các thuộc tính phụ thuộc hàm Tendv, MaQl phụ thuộc bắc cầu vào khóa chính DV(Madv, Tendv, MaQl) NV(Manv, Hoten, Ngaysinh, Madv) 02:45 AM Khoa CNTT 17
  • 18. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu Chuẩn hóa(1-3) NF Nhận biết (chưa đạt chuẩn) Cách chuẩn hóa 1 Quan hệ có thuộc tính đa Tách tất cả thuộc tính lặp trị /(quan hệ) lặp hoặc đa trị thành 1 quan hệ mới 2 Có thuộc tính phụ thuộc 1 Tách thuộc tính phụ thuộc 1 phần (bộ phận) vào thuộc phần thành lược đồ mới, đảm tính khóa bảo quan hệ với lược đồ liên quan 3 Phụ thuộc bắc cầu, tồn tại Tách các thuộc tính đó thành phụ thuộc hàm giữa các lược đồ mới thuộc tính ko phải là khóa 02:45 AM Khoa CNTT 18
  • 19. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu d. 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: • Thỏa mãn dạng chuẩn 3NF • Không có thuộc tính khóa phụ thuộc hàm vào thuộc tính không khóa. Ví dụ Sothe Masach Ngaymuon Ngaytra NV(Manv, Hoten, Ngaysinh, Madv) Với pth: {ManvHoten, ManvNgaysinh, ManvMadv} 02:45 AM Khoa CNTT 19
  • 20. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu d. Dạng chuẩn Boyce-Codd (BCNF) Chuẩn hóa lược đồ về dạng BCNF Ví dụ: Cho R (A,B,C,D,E) không thỏa mãn BCNF Với các phụ thuộc hàm: F={AB → C, AB → D, AB → E, D → B} R1 (B,D) R2 (A,D,C,E) 02:45 AM Khoa CNTT 20
  • 21. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu d. Dạng chuẩn Boyce-Codd (BCNF) Chuẩn hóa lược đồ về dạng BCNF o b1: Tách các thuộc tính không khóa và thuộc tính khóa phụ thuộc hàm vào thuộc tính không khóa thành quan hệ mới, thuộc tính không khóa trở thành khóa trong quan hệ mới. o b2: Loại các thuộc tính khóa ở bước 1 khỏi lược đồ gốc o b3: Bổ sung thuộc tính không khóa xác định hàm thuộc tính khóa đã loại bỏ (bước 2) vào khóa của quan hệ gốc 02:45 AM Khoa CNTT 21
  • 22. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu Các Dạng chuẩn Bài tập ví dụ: Cho quan hệ R(ABCDEFG) AB là khóa F={AB → C, AB → D, AB → E, AB → F, AB → G, A→ E, A→F, A→G, F→G} ? R đạt chuẩn nào. ? Hãy chuẩn hóa từng bước để đạt chuẩn cao hơn. 02:45 AM Khoa CNTT 22
  • 23. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu Các Dạng chuẩn cho R(ABCDEFG); • 1NF ? • 2NF ? F={AB → C, AB → D, AB → E, AB → F, AB → G, A→ E, A→F, A→G, F→G,D →B} có phụ thuộc bộ phận vào khóa ? F1={ A→ E, A→F, A→G, F→G} R2(ABCD); F2={AB → C, AB → D, D →B} • 3NF ? R1 có phụ thuộc bắc cầu? BCNF R12(AEF); F12={A→ E, A→F} R11(FG); F11={ F→G} • BCNF ? có thuộc tính khóa phụ thuộc vào thuộc tính không khóa ? R21(BD); F21={D →B} R2(ACD); F22={AD → C} R1(AEFG); 02:45 AM Khoa CNTT 23
  • 24. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu Dạng chuẩn Bài tập: Cho R(ABCDEFGHIJ) F ={ AB→C, BD→EF, AD → GH, A →I, H →J} Xác định khóa của R; Chuẩn hóa R về dạng chuẩn cao hơn Khóa của R: ABD 2NF có phụ thuộc bộ phận? R2(ABC),F 2 ={ AB→C} R1(AI) ,F1 ={ A →I} R3(BDEF),F 3 ={ BD→EF} R4(ADGHJ),F 4 ={ AD → GH, H →J} 3NF có phụ thuộc bắc cầu? R41(HJ),F 41={ H →J} 02:45 AM Khoa CNTT R42(ADGH),F 42 ={ AD → GH} 24
  • 25. Phụ thuộc hàm và chuẩn hóa CSDL quan hệ Nhập môn Cơ sở Dữ liệu Nội dung ôn tập 1. Mô hình ER 6. Chuẩn hóa (1NF-BCNF) 2. Mô hình CSDL Quan hệ 3. Chuyển từ lược đồ ER sang lược đồ quan hệ 4. Các phép toán trên mô hình quan hệ a. Định nghĩa các dạng chuẩn trên khóa chính b. Chuẩn hóa lược đồ 5. Phụ thuộc hàm a. Định nghĩa b. Các quy tắc suy diễn c. Chứng minh các suy diễn d. Bao đóng và khóa e. Phủ tối thiểu 02:45 AM Khoa CNTT 25

×