Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình thực thể - Kết hợp (Entity - Relationship)

pdf 35 trang huongle 3750
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình thực thể - Kết hợp (Entity - Relationship)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_co_so_du_lieu_chuong_2_mo_hinh_thuc_the_ket_hop_en.pdf

Nội dung text: Bài giảng Cơ sở dữ liệu - Chương 2: Mô hình thực thể - Kết hợp (Entity - Relationship)

  1. Chɉɇng 2 Mô hình thͱc thʀ kNɼɼt hͣp (Entity(Entity Relationship)Relationship)
  2. 1͙i dung chi tiɼt ƒ Quá trình thiӃt kӃ CSDL ƒ Mô hình E/R ƒ ThiӃt kӃ ƒ Ví dө &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 2
  3. Quá trình thiɼt kɼ CSDL /ɉͣc ÿ͓ HQT CSDL Ý tɉ͟ng E/R thiɼt kɼ quan hʄ quan hʄ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 3
  4. Quá trình thiɼt kɼ CSDL (tt) Thɼ gi͛i thͱc Phân tích yêu cɤu Các yêu cɤu vɾ chͩc năng Các yêu cɤu vɾ dͯ liʄu Phân tích chͩc năng Phân tích quan niʄm Các ÿɴc tɠ chͩc năng /ɉͣc ÿ͓ quan niʄm Ĉ͙c lɪp HQT Thiɼt kɼ mͩc logic Phͥ thu͙c /ɉͣc ÿ͓ logic Thiɼt kɼ HQT cͥ thʀ chɉɇng trình ͩng dͥng Thiɼt kɼ mͩc vɪt lý /ɉͣc ÿ͓ trong Chɉɇng trình ͩng dͥng &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 4
  5. 1͙i dung chi tiɼt ƒ Quá trình thiӃt kӃ CSDL ƒ Mô hình thӵc thӇ - kӃt hӧp - Thӵc thӇ - Thuӝc tính - 0ӕi kӃt hӧp - /ѭӧF ÿӗ thӵc thӇ - kӃt hӧp - Thӵc thӇ \Ӄu ƒ ThiӃt kӃ ƒ Ví dө &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 5
  6. Mô hình thͱc thʀ - kɼt hͣp ƒ Ĉѭӧc dùng ÿӇ thiӃt kӃ CSDL ӣ Pӭc quan niӋm ƒ BiӇu diӉn trӯu tѭӧng Fҩu trúc cӫa CSDL ƒ /ѭӧc ÿӗ thӵc thӇ - kӃt hӧp (Entity-Relationship Diagram) - 7ұp thӵc thӇ (Entity Sets) - Thuӝc tính (Attributes) - 0ӕi quan hӋ (Relationship) &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 6
  7. 7ɪp thͱc thʀ ƒ 0ӝt thӵc thӇ là mӝW ÿӕi tѭӧng cӫa thӃ giӟi thӵc ƒ 7ұp hӧp các thӵc thӇ giӕng nhau tҥo thành 1 tұp thӵc thӇ ƒ Ký hiӋu: Tên tɪp thͱc thʀ ƒ Chú ý &ɢu trúc cͧa dͯ liʄu - Thӵc thӇ (Entity) - Ĉӕi tѭӧng (Object) Thao tác trên dͯ liʄu - 7ұp thӵc thӇ (Entity set) - /ӟS ÿӕi tѭӧng (Class of objects) &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 7
  8. 7ɪp thͱc thʀ (tt) ƒ Ví dө “Quҧn lý ÿӅ tài nghiên cӭu khoa hӑc” - 0ӝt giáo viên là mӝt thӵc thӇ - 7ұp hӧp các giáo viên là tұp thӵc thӇ - 0ӝt khoa là mӝt thӵc thӇ - 7ұp hӧp các khoa là tұp thӵc thӇ - 0ӝt bӝ môn là mӝt thӵc thӇ - 7ұp hӧp các bӝ môn là tұp thӵc thӇ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 8
  9. Thu͙c tính ƒ Thuӝc tính là nhӳng ÿһc tính riêng biӋt Fӫa tұp thӵc thӇ. ƒ Ký hiӋu: Tên thu͙c tính ƒ Ví dө: ƒ Thuӝc tính là nhӳng giá trӏ nguyên tӕ - KiӇu chuӛi - KiӇu sӕ nguyên - KiӇu sӕ thӵc &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 9
  10. Phân loɞi thu͙c tính ƒ Thuӝc tính ÿѫn. ƒ Thuӝc tính kӃt hӧp ƒ Thuӝc tính ÿѫn trӏ ƒ Thuӝc tính ÿa trӏ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 10
  11. Phân loɞi thu͙c tính ƒ Thuӝc tính kӃt hӧp là thuӝc tính ÿѭӧc kӃt hӧp tӯ nhiӅu thuӝc tính khác. ƒ Ví dө: thuӝc tính ĈӎACHӌ Fӫa tұp thӵc thӇ GIÁOVIÊN có thӇ chia nhӓ thành các thành phҫn: 6ӔNHÀ, ĈѬӠNG, QUҰN, THÀNHPHӔ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 11
  12. Phân loɞi thu͙c tính ƒ Thuӝc tính ÿa trӏ là thuӝc tính nhұn nhiӅu giá trӏ ÿӕi Yӟi mӝt thӵc thӇ Fө thӇ. ƒ Ví dө: thuӝc tính Ĉ,ӊNTHOҤI cӫa tұp thӵc thӇ GIÁOVIÊN là thuӝc tính ÿa trӏ.Mӛi giáo viên có thӇ có nhiӅu sӕ ÿLӋn thoҥi. &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 12
  13. Phân loɞi thu͙c tính ƒ Thuӝc tính suy diӉn là thuӝc tính mà giá trӏ Fӫa nó ÿѭӧc tính toán tӯ giá trӏ Fӫa các thuӝc tính khác. ƒ Ví dө: thuӝc tính TUӘI cӫa GIÁOVIÊN có thӇ tính toán tӯ thuӝc tính NGÀYSINH cӫa GIÁOVIÊN. &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 13
  14. 0͑i kɼt hͣp và Tɪp m͑i kɼt hͣp ƒ 0ӕi kӃt hӧp là sӵ liên kӃt giӳa 2 hay nhiӅu tұp thӵc thӇ. ƒ 7ұp mӕi kӃt hӧp là tұp hӧp các mӕi kӃt hӧp tѭѫng Wӵ nhau. ƒ Ký hiӋu: Tên quan hʄ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 14
  15. 0͑i kɼt hͣp và Tɪp m͑i kɼt hͣp ƒ Ví dө: giӳa tұp thӵc thӇ GIÁOVIÊN và BӜMÔN có các tұp mӕi kӃt hӧp: - 0ӝt giáo viên thuӝc mӝt bӝ môn nào ÿó - 0ӝt bӝ môn do mӝt giáo viên làm trѭӣng bӝ môn. ƒ Ví dө: mӕi kӃt hӧp vòng quҧn lý trên thӵc thӇ GIÁOVIÊN &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 15
  16. %ɠn s͑ ƒ &һp chӍ Vӕ (min, max) chӍ ÿӏnh mӛi thӵc thӇ e  E tham gia ít nhҩt và nhiӅu nhҩt vào thӇ hiӋn cӫa R (min, max) (min, max) E Quan_hʄ F (0,1) – không hoһc 1 (1,1) – duy nhҩt 1 (0,n) – không hoһc nhiӅu (1,n) – mӝt hoһc nhiӅu &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 16
  17. Phân loɞi tɪp m͑i kɼt hͣp ƒ Xét mӕi kӃt hӧp nhӏ phân R (binary relationship) giӳa 2 tұp thӵc thӇ A và B, mӕi kӃt hӧp bao gӗm các loҥi: - 0ӝt-Mӝt (1-1) - 0ӝt-NhiӅu (1-n) - NhiӅu-Mӝt (n-1) - NhiӅu-NhiӅu (n-n) &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 17
  18. Phân loɞi tɪp m͑i kɼt hͣp ƒ 0ӕi kӃt hӧp Mӝt-Mӝt (1-1) 1 1 A .ɼt_hͣp B ƒ Ví dө: &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 18
  19. Phân loɞi tɪp m͑i kɼt hͣp ƒ 0ӕi kӃt hӧp Mӝt-NhiӅu (1-n) 1 n A .ɼt_hͣp B ƒ Ví dө: &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 19
  20. Phân loɞi tɪp m͑i kɼt hͣp ƒ 0ӕi kӃt hӧp NhiӅu-Mӝt (n-1) n 1 A .ɼt_hͣp B ƒ Ví dө: &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 20
  21. Phân loɞi tɪp m͑i kɼt hͣp ƒ 0ӕi kӃt hӧp NhiӅu-NhiӅu (n-n) n n A .ɼt_hͣp B ƒ Ví dө: &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 21
  22. 0͑i kɼ hͣp - Vai trò ƒ 0ӝt loҥi thӵc thӇ có thӇ tham gia nhiӅu lҫn vào mӝt quan hӋ Yӟi nhiӅu vai trò khác nhau Là ngɉ͝i quɠn lý GIÁOVIÊN Quɠn_lý (0,n) (0,1) Ĉɉͣc quɠn lý b͟i &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 22
  23. Thu͙c tính trên m͑i kɼt hͣp ƒ Thuӝc tính trên mӕi kӃt hӧp mô tҧ tính chҩt cho mӕi NӃt hӧS ÿó ƒ Thuӝc tính này không thӇ Jҳn liӅn vӟi nhӳng thӵc thӇ tham gia vào mӕi kӃt hӧp &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 23
  24. Thu͙c tính khóa ƒ Các thӵc thӇ trong tұp thӵc thӇ Fҫn phҧL ÿѭӧc phân biӋt ƒ Khóa K cӫa tұp thӵc thӇ E là mӝt hay nhiӅu thuӝc tính sao cho - /ҩy ra 2 thӵc thӇ Eҩt kǤ e1,vàe2trong E - Thìe1vàe2không thӇ có các giá trӏ giӕng nhau tҥi các thuӝc tính trong K ƒ Chú ý - 0ӛi tұp thӵc thӇ phҧi có 1 khóa - 0ӝt khóa có thӇ có 1 hay nhiӅu thuӝc tính - Có thӇ có nhiӅu khóa trong 1 tұp thӵc thӇ, ta sӁ chӑn ra 1 khóa làm khóa chính cho tұp thӵc thӇ ÿó &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 24
  25. Ví dͥ vɾ thu͙c tính khóa &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 25
  26. Thʀ hiʄn cͧa tɪp thͱc thʀ ƒ 0ӝt CSDL ÿѭӧc mô tҧ Eӣi lѭӧF ÿӗ E/R sӁ chӭa ÿӵng nhӳng dӳ liӋu cө thӇ Jӑi là thӇ hiӋn CSDL - 0ӛi tұp thӵc thӇ VӁ có tұp hӧp hӳu hҥn các thӵc thӇ Giҧ Vӱ Wұp thӵc thӇ GIÁOVIÊN có các thӵc thӇ nhѭ GV1, GV2, GVn - 0ӛi thӵc thӇ VӁ có 1 giá trӏ Fө thӇ Wҥi mӛi thuӝc tính GV1 có TÊNGV=“An”, NGÀYSINH=“15/02/1973”, PHÁI=“‘Nam” GV2 có TÊNNV= “Hѭѫng”, NGÀYSINH=“20/06/1960”, PHAI=“Nӳ” ƒ Chú ý - Không lѭu trӳ OѭӧF ÿӗ E/R trong CSDL Khái niӋm trӯu tѭӧng - /ѭӧF ÿӗ E/R chӍ giúp ta thiӃt kӃ CSDL trѭӟc khi chuyӇn các quan hӋ và dӳ liӋu xuӕng mӭc vұt lý &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 26
  27. Thʀ hiʄn cͧa m͑i kɼt hͣp ƒ ThӇ hiӋn CSDL còn chӭa các mӕi kӃt hӧp cө thӇ - Cho mӕi kӃt hӧp R kӃt nӕi n tұp thӵc thӇ E1,E2, ,En - ThӇ hiӋn cӫa R là tұp hӳu hҥn các danh sách (e1,e2, ,en) - Trong ÿó ei là các giá trӏ ÿѭӧc chӑn tӯ các tұp thӵc thӇ Ei ƒ Xét mӕi quan hӋ GIÁOVIÊN Làm_viʄc %͘MÔN GIÁOVIÊN %͘MÔN (An, Mɞng máy tính) An 0ɞng máy tính (Hɉɇng, Hʄ th͑ng thông tin) +ɉɇng +ʄ th͑ng thông tin (Anh, Công nghʄ phɤn mɾm) Anh Công nghʄ phɤn mɾm &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 27
  28. 7ɪp thͱc thʀ yɼu ƒ Là thӵc thӇ mà khóa có ÿѭӧc tӯ nhӳng thuӝc tính Fӫa tұp thӵc thӇ khác ƒ Thӵc thӇ \Ӄu (weak entity set) phҧi tham gia vào mӕi quan hӋ mà trong ÿó có mӝt tұp thӵc thӇ chính ƒ Ví dө 1 &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 28
  29. Ví dͥ vɾ mô hình ER &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 29
  30. 1͙i dung chi tiɼt ƒ Quá trình thiӃt kӃ CSDL ƒ Mô hình thӵc thӇ - kӃt hӧp ƒ ThiӃt kӃ - Các bѭӟc thiӃt kӃ - Nguyên lý thiӃt kӃ ƒ Ví dө &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 30
  31. Các bɉ͛c thiɼt kɼ ƒ (1) Xác ÿӏnh tұp thӵc thӇ ƒ (2) Xác ÿӏnh mӕi quan hӋ ƒ (3) Xác ÿӏnh thuӝc tính và gҳn thuӝc tính cho tұp thӵc thӇ và mӕi quan hӋ ƒ (4) QuyӃW ÿӏnh miӅn giá trӏ cho thuӝc tính ƒ (5) QuyӃW ÿӏnh thuӝc tính khóa ƒ (6) QuyӃW ÿӏnh (min, max) cho mӕi quan hӋ &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 31
  32. Qui tɬc thiɼt kɼ ƒ Chính xác ƒ Tránh trùng lҳp ƒ 'Ӊ hiӇu ƒ ChӑQ ÿúng mӕi quan hӋ ƒ ChӑQ ÿúng kiӇu thuӝc tính &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 32
  33. 1͙i dung chi tiɼt ƒ Quá trình thiӃt kӃ CSDL ƒ Mô hình thӵc thӇ - kӃt hӧp ƒ ThiӃt kӃ ƒ Ví dө - Quҧn lý ÿӅ án công ty &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 33
  34. Ví dͥ ‘Quɠn lý ÿɾ án công ty’ ƒ CSDL ÿӅ án công ty theo dõi các thông tin liên quan ÿӃn nhân viên, phòng ban và ÿӅ án - Cty có nhiӅu phòng ban, mӛi phòng ban có tên duy nhҩt, mã phòng duy nhҩt, mӝt trѭӣng phòng và ngày nhұn chӭc. Mӛi phòng ban có thӇ ӣ nhiӅX ÿӏD ÿLӇm khác nhau. - ĈӅ án có tên duy nhҩt, mã duy nhҩt, do 1 mӝt phòng ban chӫ trì và ÿѭӧc triӇn khai ӣ  ÿӏD ÿLӇm. - Nhân viên có mã sӕ, tên, ÿӏa chӍ, ngày sinh, phái và Oѭѫng. Mӛi nhân viên làm viӋF ӣ 1 phòng ban, tham gia vào các ÿӅ án vӟi sӕ giӡ làm viӋc khác nhau. Mӛi nhân viên ÿӅu có mӝt ngѭӡi quҧn lý trӵc tiӃp. - 0ӝt nhân viên có thӇ có nhiӅu thân nhân. Mӛi thân nhân có tên, phái, ngày sinh và mӕi quan hӋ Yӟi nhân viên ÿó. &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 34
  35. &ѫ sӣ dӳ liӋu - Khoa CNTT - ĈH KHTN TPHCM 35