บททีÉ 3 แบบจําลอง Entity-Relationship · บททีÉ 3...

Post on 21-Apr-2020

12 views 0 download

Transcript of บททีÉ 3 แบบจําลอง Entity-Relationship · บททีÉ 3...

บทท 3 แบบจาลอง Entity-Relationship

ขนตอนทสาคญทสดในการสรางโปรแกรมประยกตฐานขอมล กคอขนตอนในการออกแบบฐานขอมล เนองจากนกออกแบบฐานขอมล โปรแกรมเมอร และผใชมแนวโนมทใชขอมลทรวบรวมไดนน ในวธการทแตกตางกน ดงนนในการทจะมนใจวาฐานขอมลทออกแบบมานนตรงกบความตองการใชงานของผใช จงตองมการใชแบบจาลองในการสอสาร เพอลดปญหาความกากวมและความไมเขาใจในดานวธการทใช แบบจาลอง Entity-Relationship จงเปนตวอยางของแบบจาลองทนามาใชในการแกปญหาเหลาน แบบจาลอง Entity-Relationship เปนวธการทใชในการออกแบบฐานขอมล แบบบนลงลาง (top-down approach) ซงเรมตนดวยการกาหนดขอมลทเรยกวา เอนทต (entity) และ ความสมพนธ (relationship) ระหวางขอมลทแสดงในแบบจาลอง

แนวคดของแบบจาลอง Entity-Relationship แบบจาลอง Entity-Relationship หรอแบบจาลอง ER เปนวธการออกแบบฐานขอมล โดยใชแบบจาลองขอมลเชงแนวความคด (conceptual data model) ทพฒนาโดย นายปเตอร เชน (Peter Chen) ในป ค.ศ 1976 เพอใชชวยในการออกแบบฐานขอมล โดยแบบจาลองขอมลเชงแนวความคด เปนรปแบบของแนวคดทใช ในการอธบายถงโครงสรางของฐานขอมล การปรบปรงและการเรยกคนรายการบนฐานขอมล ซงวตถประสงคหลกของการพฒนาในสวนของแบบจาลองขอมลเชงแนวความคด คอ การชวยแสดงขอมลในสวนของทรรศนะของผใชงานและซอนรายละเอยดของเทคนคการออกแบบฐานขอมล โดยทผใชงานไมทราบรายละเอยดในสวนการออกแบบฐานขอมลเลย แบบจาลอง ER ยงเปนเครองมอทใชในการตดตอสอสารระหวางผออกแบบฐานขอมล (database designer) และผใชงาน (end users) ในขนตอนของการวเคราะหพฒนาฐานขอมล โดยแบบจาลอง Entity-Relationship จะแสดงแนวคดขอมลขององคกร ซงแสดงในรปของเอนทตทอยในระบบงาน ความสมพนธระหวางเอนทต และ ลกษณะประจาของ เอนทต

64

1. แบบเอนทต

แบบเอนทต (entity type) คอ กลมของวตถทมคณสมบตเหมอนกน

แนวความคดพนฐานของแบบจาลอง ER คอ แนวความคดทเกยวกบเอนทตและความสมพนธระหวางเอนทต โดยแบบเอนทต เปนองคประกอบหนงทใชในการแสดงกลมของวตถในระบบงานทมคณสมบตเหมอนกน ซงแบบเอนทตตองมคณสมบตความเปนอสระของเอนทต (independent existence) และแบบเอนทตนนสามารถเปนไดทงวตถทมตวตนแบบรปธรรมหรอทางกายภาพ หรอวตถทเปนแบบนามธรรม หรอทางแนวความคดกได ภาพท 3.1 ตวอยางของเอนทตทางกายภาพและแนวความคด

เอนทต (entity) คอ ขอมลของแบบเอนทต ทมคาไมซา หรอเรยกวา entity occurrence หรอ entity instance

โดยเอนทตสามารถเปนไดทง บคคล สถานท วตถ เหตการณ หรอ แนวความคด ทอยในระบบงาน เชน บคคล : พนกงาน นกศกษา และ ตวแทนจาหนาย สถานท : ธนาคาร สาขา และ จงหวด วตถ : รถยนต สนคา และ วตถดบ เหตการณ : ขาย ซอ และ เชา แนวความคด : บญช และ วชา

พนกงาน สนคา

ลกคา SUPPLIER

การขาย ตรวจสอบ

การจดซอ

ประสบการณทางาน

ทางกายภาพ

ทางแนวความคด

65

แบบเอนทต : นกศกษา ลกษณะประจา : รหสนกศกษา ชอ ทอย วนเดอนปเกด และเพศ เอนทตของนกศกษา : 4152440016 นาย สมหวง ใจจรง 12/5 บางพลด กรงเทพฯ 12/8/2525 ชาย 4152440017 น.ส. สมหญง รกจรง 17/8 ลาดพราว กรงเทพฯ 10/1/2525 หญง

ภาพท 3.2 ตวอยางเอนทต และแบบเอนทตของนกศกษา

และสามารถแบงประเภทของแบบเอนทต ใน แบบจาลอง ER ไดดงน 1. แบบเอนทตแบบแขงแรง

แบบเอนทตแบบแขงแรง (strong entity type) คอ แบบเอนทต ทมคณสมบตความเปน อสระ (independent existence) และสามารถกาหนดเปนวตถในทางกายภาพหรอกาหนดเปนวตถทางแนวความคดได โดยทคาของแบบเอนทตเปนอสระ ไมขนกบคาของแบบเอนทตอน ซงใชสญลกษณ สเหลยมในการแสดงแบบเอนทตแบบ แขงแรง ดงภาพท 3.3

ภาพท 3.3 สญลกษณแบบเอนทตแบบแขงแรง

2. แบบเอนทตแบบออนแอ แบบเอนทตแบบออนแอ (weak entity type) คอ แบบเอนทตทมคณสมบตแบบพงพา (dependent existence) โดยคาของแบบเอนทตไมมความเปนอสระ และไมสามารถอยไดดวยตวแบบเอนทตเอง แตจะตองขนกบคาของแบบเอนทตอน ซงใชสญลกษณสเหลยมซอนกน ดงภาพท 3.4 ในการแสดงแบบเอนทตแบบออนแอ และจะอธบายแนวความคดของแบบเอนทตแบบออนแอ ในลาดบตอไป

ภาพท 3.4 สญลกษณ เอนทตแบบออนแอ

แบบเอนทต

แบบเอนทต

66

2. ขอมลของเอนทต

ขอมลของเอนทต (entity occurrence) คอ คาของวตถ ทแตละคาของวตถมความแตกตางกน ในแบบเอนทต

โดยในแตละวตถของแบบเอนทตจะมความแตกตางกน ซงเรยกวา ขอมลของเอนทต หรอเรยกวา เอนทต ดงนนกอนทจะศกษาแบบจาลอง ER ผอานจะตองทาความเขาใจระหวางเอนทต กบแบบเอนทต กอนเปนลาดบแรกจากคานยาม เชนจากภาพท 3.2 แบบเอนทต คอ นกศกษา ทประกอบดวยเอนทต 2 เอนทตดวยกน คอ เอนทตทแสดงขอมลของนายสมหวง และเอนทตทแสดงขอมลของนางสาวหญง เปนตน

3. ลกษณะประจา

ลกษณะประจา (attribute) คอ สงทใชในการอธบายถงคณสมบตของเอนทต

และแบบความสมพนธ (relationship type) ในแตละแบบเอนทตประกอบดวยกลมลกษณะประจา ทใชอธบายคณสมบตของเอนทต หรอแบบความสมพนธทอยในระบบงาน เชน แบบเอนทตสาขา (Branch) ประกอบดวยลกษณะประจา หมายเลขสาขา (Branch_no) ลกษณะประจาทตง (Location) ลกษณะประจาโทรศพท (Phone) และลกษณะประจาแฟกซ (Fax_number) และ แบบเอนทตพนกงาน (Employee) ประกอบดวยลกษณะประจารหสพนกงาน (Staff_ID) ลกษณะประจาชอพนกงาน (Name) ลกษณะประจาทอย (Address) และลกษณะประจาตาแหนง (Position) เปนตน

4. โดเมนของลกษณะประจา โดเมนของลกษณะประจา คอ กลมขอมลทใชในการกาหนดคาทเปนไปได ของลกษณะประจา

67

ในแตละลกษณะประจาจะตองมการกาหนดกลมคาขอมลทเปนไปไดของแตละลกษณะประจา โดยเรยกกลมคาขอมลเหลานวา โดเมน (domain) เชน จากแบบเอนทตสาขา ทาการกาหนดโดเมนของแตละลกษณะประจา ดงน ลกษณะประจาหมายเลขสาขา กาหนดเปนจานวนเตม (integer) ลกษณะประจาทตง กาหนดเปนตวอกษร (character) ทมขนาด 150 ตวอกษร ลกษณะประจาโทรศพท กาหนดเปนจานวนเตม และลกษณะประจาแฟกซ กาหนดเปนจานวนเตม เปนตน

5. ประเภทของลกษณะประจา สามารถกาหนดประเภทของลกษณะประจา ไดดงน 5.1 ลกษณะประจาแบบเดยว

ลกษณะประจาแบบเดยว (simple attribute) คอ ลกษณะประจา ทประกอบดวยองคประกอบ เดยวทมความเปนอสระของขอมล

นนคอลกษณะประจาแบบเดยวจะไมสามารถถกแบงออกเปนลกษณะประจายอยๆไดอก ซงเรยกคณสมบตนวา atomic เชน ลกษณะประจาเงนเดอน ลกษณะประจาอาย เปนตน โดยใชสญลกษณวงรในการกาหนดลกษณะประจาแบบเดยว ดงภาพท 3.5

ภาพท 3.5 สญลกษณลกษณะประจาแบบเดยว

5.2 ลกษณะประจาแบบรวม

ลกษณะประจาแบบรวม (composite attribute) คอ ลกษณะประจา ทประกอบดวยลกษณะ ประจามากกวาหนงลกษณะประจา โดยในแต ละลกษณะประจา มความเปนอสระตอกน

68

โดยในแตละลกษณะประจาแบบรวมจะประกอบดวยลกษณะประจายอยๆ ไดหลายลกษณะประจา และในแตละลกษณะประจายอยนน จะมคณสมบตความเปนอสระของการขนตอกน ซงใชสญลกษณวงรซอนกน ในการกาหนด ลกษณะประจาแบบรวม ดงภาพท 3.6

ภาพท 3.6 สญลกษณ ลกษณะประจาแบบรวม

เชน จากภาพท 3.7 แสดงลกษณะประจา ทอย (Address) ทสามารถแบงออกเปนลกษณะประจายอยไดดงน ลกษณะประจาหมายเลข (Number) ลกษณะประจาถนน (Street) ลกษณะประจาตาบล (Subdivision) ลกษณะประจาอาเภอ (Amphur) ลกษณะประจาจงหวด (Province) และลกษณะประจารหสไปรษณย (Zipcode) เปนตน

ภาพท 3.7 ตวอยางของลกษณะประจาแบบรวม

5.3 ลกษณะประจาแบบคาเดยว

ลกษณะประจาแบบคาเดยว (single-valued attribute) คอ ลกษณะประจา ทมคาเพยงคาเดยว ในแตละเอนทต

โดยใชสญลกษณวงร ในการกาหนดลกษณะประจาแบบคาเดยว เชน ลกษณะประจาหมายเลขรหสนกศกษา ดงภาพท 3.8

ทอย

หมายเลข

ถนน ตาบล

อาเภอ

จงหวด

รหสไปรษณย

69

ภาพท 3.8 ตวอยางของลกษณะประจาแบบคาเดยว

5.4 ลกษณะประจาแบบหลายคา

ลกษณะประจาแบบหลายคา (multi-valued attribute) คอ ลกษณะประจาทมคาในแตละ เอนทตมากกวาหนงคา

เชน ลกษณะประจาหมายเลขโทรศพท ทสามารถมหมายเลขโทรศพทไดมากกวาหนงหมายเลข เปนตน โดยใชสญลกษณวงรซอนกน ในการกาหนดลกษณะประจาแบบหลายคา ดงภาพท 3.9

ภาพท 3.9 ตวอยางของลกษณะประจาแบบหลายคา

5.5 ลกษณะประจาแบบ derived

ลกษณะประจาแบบ derived คอ ลกษณะประจา ทแสดงคาทไดจากการคานวณคา ของลกษณะประจา หรอกลมลกษณะประจา ทมสมพนธกน

โดยกาหนดเสนปะในวงร ในการกาหนดลกษณะประจาแบบ derived ดงภาพท 3.10

ภาพท 3.10 สญลกษณของลกษณะประจาแบบ derived

รหสนกศกษา

70

เชน ลกษณะประจาอายของพนกงาน (Age) ทสามารถกาหนดคาของลกษณะประจาไดจากลกษณะประจาวนทเกด (Date_of_birth) ซงลกษณะประจาอาย กบลกษณะประจาวนทเกดจงมความเกยวของกน ดงภาพท 3.11 เปนตน

ภาพท 3.11 ตวอยางของลกษณะประจาแบบ derived

แตในบางกรณคาของลกษณะประจาแบบ derived อาจไดมาจากจานวนของเอนทต หรอวตถทงหมด ของแบบเอนทต เชน ลกษณะประจายอดรวมนกศกษา (SumStu) ทใชแสดงจานวนนกศกษาทงหมดเปนตน

5.6 ลกษณะประจาหลก ทกๆแบบเอนทตจะตองมการกาหนดลกษณะประจา หรอกลมลกษณะประจา เพอใชในการกาหนดความแตกตางระหวางขอมลของแบบเอนทตวามความแตกตางกนอยางไร ซงเรยกลกษณะประจา หรอกลมของลกษณะประจาทใชในการกาหนดความแตกตางของขอมลเหลานนวา ลกษณะประจาหลก (key attribute) โดยสามารถกาหนดกญแจทใชใน แบบจาลองER ไดดงน 5.6.1 ลกษณะประจาแบบคแขง

ลกษณะประจาแบบกญแจคแขง (candidate key attribute) คอ ลกษณะประจา หรอ กลมของลกษณะประจาทใชในการกาหนดขอมลของแบบเอนทต

ในลกษณะประจาแบบกญแจคแขงอาจจะประกอบดวยลกษณะประจามากกวาหนงลกษณะประจากได ซงคาของกลมลกษณะประจานน จะถกใชในการกาหนดคาขอมลของแบบเอนทต เชน ลกษณะประจาหมายเลขรหสนกศกษา (Student_ID) และลกษณะประจาหมายเลขบตรประจาตวประชาชนของนกศกษา (ID) ตางสามารถกาหนดเปนลกษณะประจาแบบกญแจคแขงได เนองจากคาของทงสองลกษณะประจาตางมคาไมซากน

71

5.6.2 ลกษณะประจาแบบกญแจหลก

ลกษณะประจาแบบกญแจหลก (primary key attribute) คอ ลกษณะประจาแบบคแขงทถกเลอก เพอใชในการกาหนดขอมลของแบบเอนทต

เชน จากแบบเอนทตนกศกษา สามารถกาหนดลกษณะประจาหมายเลขรหสนกศกษา (Student_ID) ทเปนลกษณะประจาแบบกญแจคแขง ใหเปนลกษณะประจาแบบกญแจหลกของแบบเอนทตนกศกษา เปนตน

5.6.3 ลกษณะประจาแบบกญแจรวม

ลกษณะประจาแบบกญแจรวม (composite key attribute) คอ ลกษณะประจา ทประกอบดวยลกษณะประจาตงแตสองลกษณะประจาขนไปรวมกน เพอใชในการกาหนดคาของแบบเอนทต

ในบางกรณในการกาหนดความแตกตางระหวางเอนทตในแบบเอนทตนน อาจจาเปนตองใชลกษณะประจามากกวาหนงลกษณะประจาในการกาหนด โดยคาทเกดจากการรวมกนของกลมลกษณะประจาจะตองเปนคาทเปนเอกลกษณ ไมซา ทสามารถใชในการกาหนดคาขอมลทอยในแบบเอนทตได ซงเรยกกลมลกษณะประจาทใชในการกาหนดคาของแตละเอนทตวา ลกษณะประจาแบบกญแจรวม เชน ในแบบเอนทตการลงทะเบยน กาหนดลกษณะประจาหมายเลขรหสนกศกษา (Student_ID) และ รหสรายวชา (Course_ID) รวมกนในการกาหนดคาของเอนทต เปนตน และการกาหนดสญลกษณของลกษณะประจาแบบกญแจหลก สามารถทาโดยการขดเสนใตในลกษณะประจาทตองการกาหนดเปนลกษณะประจาแบบกญแจหลก ดงตวอยางภาพท 3.12 โดยกาหนดลกษณะประจารหสนกศกษาเปนลกษณะประจาแบบกญแจหลกของแบบเอนทตนกศกษา เปนตน

72

ภาพท 3.12 ตวอยางของ แบบเอนทตนกศกษา

6. แบบความสมพนธ

แบบความสมพนธ (relationship type) คอ กลมทใชแสดงความสมพนธระหวางแบบเอนทต

แบบความสมพนธ คอ กลมทแสดงความสมพนธระหวางแบบเอนทต โดยในแตละ แบบความสมพนธ จะกาหนดชอใหกบแบบความสมพนธ เพอใชอธบายถงความสมพนธระหวางแบบเอนทตทเกดขน ซงใชสญลกษณสเหลยมขาวหลามตดในการแสดงถงความสมพนธทเกดขนระหวางแบบเอนทต เชน แบบความสมพนธสงกด (allocated) เปนแบบความสมพนธระหวางแบบเอนทตนกศกษา กบแบบเอนทตคณะ (Faculty) ดงภาพ 3.13 เปนตน

ภาพท 3.13 แบบความสมพนธระหวางแบบเอนทตนกศกษา กบแบบเอนทตคณะ

นกศกษา

รหสนกศกษา

ทอยชอ

หมายเลข

ถนน ตาบล

อาเภอ

จงหวด

รหสไปรษณย

โทรศพท

วนเดอนปเกด

อายลกษณะประจาแบบ derived

ลกษณะประจาแบบหลายคา

ลกษณะประจาแบบกญแจหลก

73

7. ขอมลของความสมพนธ

ขอมลของความสมพนธ (relationship occurrence) คอ คาของความสมพนธของเอนทต

ความสมพนธ (relationship) คอ ความสมพนธระหวางเอนทต ทประกอบดวยความสมพนธระหวางแบบเอนทตหนง กบแบบเอนทตอนๆ โดยคาของความสมพนธทเกดขนของแตละเอนทต เรยกวา ขอมลของความสมพนธ หรอ อนสแตนซของความสมพนธ (relationship Instance) เชน ขอมลของความสมพนธระหวางเอนทตนายสมหวง ซงเปนเอนทตทอยในแบบเอนทตนกศกษา กบเอนทตคณะวทยาศาสตร ซงเปนเอนทตทอยในแบบเอนทตคณะ เปนตน

8. ประเภทของความสมพนธ สามารถแบงความสมพนธ ออกตามจานวนของแบบเอนทต ทมความสมพนธกนไดดงน

8.1 ความสมพนธแบบหนงแบบเอนทต (unary Relationship) หรอความสมพนธแบบเรยกซา (recursive Relationship) ซงเปนความสมพนธของเอนทตทอยในแบบเอนทตเดยวกน เชน แบบเอนทตพนกงาน (Employee entity type) ภายในแบบเอนทตพนกงานประกอบดวยเอนทตพนกงานทมตาแหนงทแตกตางกน ไดแก ตาแหนงผจดการ ตาแหนงโปรแกรมเมอร และตาแหนงพนกงานขาย เปนตน โดยพนกงานทมตาแหนงผจดการจะมความสมพนธ บงคบบญชา กบพนกงานตาแหนงแคชเชยร นนหมายถง พนกงานทเปนผจดการมอานาจในการบงคบบญชาพนกงานทเปนลกนอง ดงภาพท 3.14 เปนตน

ภาพท 3.14 ความสมพนธแบบหนงแบบเอนทตของแบบเอนทตพนกงาน

74

8.2 ความสมพนธแบบสองแบบเอนทต (binary Relationship) เปนความสมพนธระหวางสองแบบเอนทต เชน แบบเอนทตอาจารยมแบบความสมพนธ สงกด กบแบบเอนทตคณะ ดงภาพท 3.15

ภาพท 3.15 ความสมพนธแบบสองแบบเอนทต

8.3 ความสมพนธแบบสามแบบเอนทต (ternary Relationship) เปนความสมพนธระหวางสามแบบเอนทตสาม ทมความสมพนธกน เชน แบบเอนทตอาจารย มแบบความสมพนธ ลงทะเบยน กบแบบเอนทตนกศกษา และแบบเอนทตรายวชา ดงภาพท 3.16 เปนตน

ภาพท 3.16 ความสมพนธแบบสามแบบเอนทต

8.4 ความสมพนธแบบสแบบเอนทต (quaternary Relationship) เปนความสมพนธของเอนทตระหวางสแบบเอนทต เชน แบบเอนทตลกคา มแบบความสมพนธ ขาย กบแบบเอนทตพนกงาน แบบเอนทตรถยนต และแบบเอนทตบรษทสนเชอ ดงภาพท 3.17 เปนตน

อาจารย รหสอาจารย

ตาแหนงทอย

ชอ

คณะ

ชอคณะ รหสคณะ

สงกด

อาจารย รหสอาจารย

ตาแหนงทอย

ชอ

ลงทะเบยน

รายวชา

นกศกษา

ทอยชอ

หมายเลข

ถนน ตาบล

อาเภอ

รหสไปรษณย

โทรศพท รหสนกศกษา

ชอรายวชา

รหสวชา หนวยกต

จงหวด

75

ภาพท 3.17 ความสมพนธแบบสแบบเอนทต

ขอบงคบดานโครงสราง โดยทวไปแบบความสมพนธจะมขอบงคบ ทใชในการกาหนดความเปนไปไดของการกาหนดความสมพนธระหวางเอนทตของแบบเอนทต เชน ขอบงคบของบรษททวา พนกงานทกคนจะตองมแผนกสงกดหนงแผนกงาน โดยอธบายขอบงคบไวในสคมา ซงจะเหนไดวาขอบงคบของบรษทเปนสงทสะทอนถงขอบงคบของความสมพนธทเกดขนในระบบงานจรง โดยสามารถแบงขอบงคบดานโครงสราง (structural constraints) ออกเปน 2 ประเภทหลก ดงน

1. ขอบงคบแบบอตราคารดนลลต อตราคารดนลลต (cardinality ratio) คอ การอธบายถงจานวนของความสมพนธทเปนไปได

ของเอนทตทมความสมพนธกน และขอบงคบแบบอตราคารดนลลต (cardinality ratio constraints) คอขอบงคบทอางองกบกฎเกณฑทใชขององคกร (business rules) ซงโดยสวนใหญใชในการอธบายความสมพนธแบบสองแบบเอนทต โดยสามารถแบงขอบงคบแบบอตราคารดนลลต ออกเปน 4 แบบ คอ 1.1 แบบหนงตอหนง (one to one (1:1)) เปนความสมพนธแบบหนงเอนทต ตอหนงเอนทต

เชน อาจารยหนงทานจะมทจอดรถประจาเพยงหนงท และในแตละทจอดรถจะมอาจารยทมสทธทจอดรถเพยงหนงคนเทานน ดงภาพท 3.18 เปนตน

76

ภาพท 3.18 ความสมพนธแบบ หนงตอหนง

แบบเอนทตอาจารย แบบเอนทตลานจอดรถ

ภาพท 3.19 ความสมพนธแบบหนงตอหนงในรปแบบ Semantic net ของแบบเอนทตอาจารย และแบบเอนทตลานจอดรถ

และจากภาพท 3.19 แสดงความสมพนธแบบหนงตอหนงของความสมพนธของแบบเอนทตอาจารยกบแบบเอนทตลานจอดรถ โดยสมมต T1 T2 และT3 เปนเอนทต ทอยในแบบเอนทตอาจารย และP1 P2 และP3 เปนเอนทต ทอยในแบบเอนทตลานจอดรถ 1.2 แบบหนงตอมาก (one to many (1: M)) เปนความสมพนธแบบหนงเอนทต กบหลาย

เอนทต เชน อาจารยหนงคนสามารถมนกศกษาในทปรกษามากกวาหนงคน ในขณะทนกศกษาหนงคนสามารถมอาจารยทปรกษาไดเพยงหนงคนเทานน ดงภาพท 3.20 เปนตน

ภาพท 3.20 ความสมพนธแบบหนงตอมากของแบบเอนทต อาจารย กบแบบเอนทตนกศกษา

T1

T2

T3

P1

P2

P3

อาจารย ทปรกษา นกศกษาM1

อาจารย ม ลานจอดรถ11

77

เอนทต อาจารย เอนทต นกศกษา

ภาพท 3.21 ความสมพนธแบบหนงตอมากในรปแบบ Semantic net ของแบบเอนทตอาจารย และแบบเอนทตนกศกษา

จากภาพท 3.21 แสดงความสมพนธแบบหนงตอมากของความสมพนธระหวางแบบเอนทตอาจารย และแบบเอนทตนกศกษา โดยสมมต T1 เปนเอนทต ทอยในแบบเอนทตอาจารย และ S1 S2 และS3 เปนเอนทตทอยในแบบเอนทตนกศกษา 1.3 แบบมากตอมาก (many to many (M: N)) เปนความสมพนธระหวางเอนทตหนงของแบบเอนทตหนง ทมความสมพนธกบอกหลายๆเอนทตของแบบเอนทตอน เชน อาจารยหนงคนสามารถสอนไดมากกวาหนงรายวชา ในขณะทในรายวชาหนง สามารถมอาจารยสอนไดมากกวาหนงคนเชนกน ดงภาพท 3.22 เปนตน

ภาพท 3.22 ความสมพนธแบบ มากตอมาก

พจารณาภาพท 3.23 แสดงความสมพนธแบบมากตอมากของความสมพนธระหวางแบบเอนทตอาจารย และแบบเอนทตนกศกษา โดยสมมต T1 T2 และT3 เปนเอนทตทอยในแบบเอนทตอาจารย และ C1 C2 และC3 เปนเอนทตทอยในแบบเอนทตรายวชา

T1 S1

S2

S3

NMอาจารย รายวชาสอน

78

เอนทต อาจารย เอนทต รายวชา

ภาพท 3.23 ความสมพนธแบบมากตอมากในรปแบบ Semantic net ของแบบเอนทตอาจารย กบแบบเอนทตรายวชา

1.4 กาหนดคานอยสดและคามากสด (minimum and maximum) ในบางกรณอาจมการกาหนดขอบงคบดานโครงสราง (structural constraints) ของความสมพนธ โดยใหแสดงคาสงสด (maximum) และ คานอยสด (minimum) ของความสมพนธระหวางเอนทตทมความสมพนธกน เชน ทางมหาวทยาลยกาหนดใหนกศกษาแตละคน สามารถมอาจารยทปรกษาไดสงสดเพยง 1 คน แตในขณะเดยวกน อาจารยกมขอจากดดานจานวนในการรบนกศกษาทปรกษา ซงอาจารยแตละคน สามารถรบจานวนนกศกษาไดสงสดเพยง 45 คน และนอยสดเพยง 1 คนเทานน ซงสามารถแสดงคานอยสดและคาสงสด ดงภาพท 3.24

ภาพท 3.24 กาหนดคาสงสด และคานอยสดของความสมพนธระหวางแบบเอนทตอาจารย กบแบบเอนทตนกศกษา

จากภาพท 3.24 แสดงถงความสมพนธแบบหนงตอมากระหวางแบบเอนทตอาจารยกบแบบเอนทตนกศกษา โดยกาหนดคานอยสด 1 และคาสงสด 45 ใหกบแบบเอนทตอาจารย ซงคานอยสด 1 หมายถง อาจารยหนงคน สามารถมนกศกษาทปรกษาอยางนอยสด 1 คน และคามากสด 45 หมายถง อาจารยหนงคน สามารถมนกศกษาทปรกษาสงสดไดเพยง 45 คน และกาหนดคานอยสด 1 และคาสงสด 1

T1

T2

T3

C1

C2

C3

อาจารย ทปรกษา นกศกษา(1,45) (1,1)

1 M

79

ใหกบแบบเอนทตนกศกษา ซงคานอยสด 1 หมายถง นกศกษาหนงคน สามารถมอาจารยทปรกษาไดอยางนอย 1 คน และคามากสด 1 หมายถง นกศกษาหนงคน สามารถมอาจารยทปรกษาสงสดไดเพยง 1 คนเทานน เปนตน

2. ขอบงคบของการมสวนรวม ขอบงคบของการมสวนรวม (participation constraints) คอ การกาหนดถงสถานการณของ

เอนทตทขนอยกบเอนทตอนทมความสมพนธกน โดยสามารถกาหนดขอบงคบของการมสวนรวม ออกเปน 2 ประเภท ดงน 2.1 ประเภทขอบงคบของการมสวนรวมแบบเตมจานวน (total participation constraints) คอขอบงคบทเอนทต ทกๆเอนทตทอยในแบบเอนทตหนงมความสมพนธกบเอนทต ทอยในแบบเอนทตอน เชน เอนทตทกๆเอนทตของแบบเอนทตอาจารย มความสมพนธแบบการมสวนรวมแบบเตมจานวน กบบางเอนทตของแบบเอนทตคณะ นนหมายถง ทกๆเอนทตของแบบเอนทตอาจารย จะตองมความสมพนธคอ สงกด กบบางเอนทตของแบบเอนทตคณะ เปนตน และใชเสนเชอมคในการกาหนดความสมพนธแบบการมสวนรวมแบบเตมจานวนใหกบความสมพนธระหวางเอนทต ดงภาพท 3.25

ภาพท 3.25 ตวอยางขอบงคบของการมสวนรวมแบบเตมจานวน

อาจารย สงกด คณะ ภาพท 3.26 ตวอยางของการมสวนรวมแบบเตมจานวน

T1

T2

T3

R1

R2

R3

F1

F2

F3

80

2.2 ประเภทขอบงคบของการมสวนรวมแบบบางจานวน (partial participation หรอ optional participation) คอขอบงคบทบางเอนทต ทอยในแบบเอนทตหนง มความสมพนธกบเอนทต ทอยในแบบเอนทตอน เชนบางเอนทตของแบบเอนทตอาจารย มความสมพนธ บรหาร กบเอนทตของแบบเอนทตคณะ ซงนนหมายถง อาจารยทกคนไมไดเปนผบรหาร และมเพยงอาจารยบางคนเทานน ทเปนผบรหารคณะ ดงนนความ สมพนธ บรหาร ระหวางเอนทตของแบบเอนทตอาจารย กบเอนทตของแบบเอนทตคณะ จงเปนเพยงความสมพนธของการมสวนรวมแบบบางจานวนเทานน ดงภาพท 3.27 เปนตน และใชเสนเชอมเดยวในการกาหนดการมสวนรวมแบบบางจานวน ดงภาพท 3.28

ภาพท 3.27 ตวอยางของการมสวนรวมแบบบางจานวน

แบบบางจานวน แบบเตมจานวน

ภาพท 3.28 การกาหนดขอบงคบของการมสวนรวมแบบเตมจานวนและแบบบางจานวน

แบบเอนทตแบบออนแอ แบบเอนทตแบบออนแอ (weak entity type) คอ แบบเอนทตทมคณสมบตตองพงพา

หรอขนกบแบบเอนทตอน เอนทตของแบบเอนทตแบบออนแอ จะตองขนอยกบเอนทตของแบบเอนทตอน โดยทวไปแบบเอนทตแบบออนแอ จะไมสามาถกาหนดลกษณะประจาแบบกญแจหลกได และลกษณะประจาแบบกญแจหลกของแบบเอนทตแบบออนแอ จะถกกาหนดโดยลกษณะประจาแบบกญแจหลกของแบบเอนทต ทเปนแบบเอนทตหลกทแตกแบบเอนทตแบบออนแอออกมา ซงสาเหตหลกของการเกดแบบเอนทตแบบออนแอ กคอ การมลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอน (repeating group) ภายในเอนทต

81

กลมขอมลทมความซาซอน คอ กลมของลกษณะประจาแบบหลายคาตงแตสองลกษณะประจา ขนไป ทมความสมพนธกน

และในการกาจดลกษณะประจาแบบหลายคา และกลมขอมลทมความซาซอน สามารถกาหนดวธการในการกาจดไดดงน 1. กรณทสามารถกาหนดคาของลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอนได และสามารถกาหนดไดวาคาทกาหนดไดนนมจานวนไมมาก ซงวธการในการกาจดนนจะดาเนนการโดยทาการแตกลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอน ออกเปนลกษณะประจาแบบคาเดยว เชน ในกรณของแบบเอนทตนกศกษา ทมลกษณะประจารหสนกศกษา ลกษณะประจาชอ ลกษณะประจาทอย และลกษณะประจาโทรศพท ดงภาพท 3.29 โดยมลกษณะประจาทอย และลกษณะประจาโทรศพทเปนลกษณะประจาแบบหลายคา

นกศกษา

รหสนกศกษา

ชอ ทอยโทรศพท

นกศกษา รหสนกศกษา

ชอ

ทอยปจจบน ทอยตามทะเบยน

โทรศพท1

โทรศพท2

ภาพท 3.29 ตวอยางของการกาจดลกษณะประจาแบบหลายคา

จากภาพท 3.29 แสดงตวอยางการแกปญหาลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอน ในกรณทสามารถระบคาได ซงมลกษณะประจาทอย และลกษณะประจาโทรศพท เปนลกษณะประจาแบบหลายคา และเนองจากในการจดเกบขอมลทอยของนกศกษา สามารถกาหนดการจดเกบทอยได 2 แบบ คอ การจดเกบทอยตามทะเบยนบาน และการจดเกบทอยปจจบน ดงนนจงทาการแตกลกษณะประจาทอยออกเปน ลกษณะประจาทอยตามทะเบยนบาน และลกษณะประจาทอยปจจบน ซงทงสองลกษณะประจาทแตกออกมาตางเปนลกษณะประจาแบบคาเดยว และเชนเดยวกนกบลกษณะประจาโทรศพท กสามารถกาหนดคาของลกษณะประจาแบบหลายคาโทรศพทออกเปน 2 คา ดงนนจงสามารถแตกลกษณะประจาโทรศพทออกเปนลกษณะประจาโทรศพท1 และลกษณะประจาโทรศพท 2 เปนตน

82

2. กรณทไมสามารถระบคาของลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอนได จะตองทาการแตกลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอน ออกเปนแบบเอนทตแบบออนแอ เชน ในการจดเกบขอมลของนกศกษาในการเขามาใชบรการของสโมสรนกศกษา ซงมแบบเอนทตนกศกษาดงภาพท 3.30

นกศกษา รหสนกศกษา

ชอ

ทอยว/ด/ป

ทใชบรการ

ประเภทของบรการ

ภาพท 3.30 แบบเอนทตนกศกษา

ในการแกปญหาของการเกดลกษณะประจาแบบหลายคา หรอกลมขอมลทมความซาซอน ทเกดขนของกรณตวอยาง คอการแตกออกกลมขอมลทมความซาซอนออกเปนแบบเอนทตแบบออนแอได ดงภาพท 3.31

นกศกษา

รหสนกศกษาชอ

ทอย

ม1

ประเภทของบรการ

ประวต

ว/ด/ปทใชบรการ รหสนกศกษา

M

ภาพท 3.31 ตวอยางการกาจดกลมขอมลทมความซาซอน

แบบจาลองแบบ EER แบบจาลองแบบ EER (the enhanced entity-relationship model) คอ แบบจาลองทประกอบดวยแนวความคดพนฐานของแบบจาลองแบบ ER และเพมแนวความคดในสวนของ specialization generalization และ categorization โดยแนวคดของ specialization generalization และ categorization เปนแนวความคดทเกยวกบแนวความคดของแบบเอนทต ทอธบายถงซเปอรคลาส (super class) และซบคลาส (subclasses) และขบวนการของการสบทอดลกษณะประจา (attribute inheritance)

83

1. ซเปอรคลาส และซบคลาส

ซเปอรคลาส (super class) คอ แบบเอนทตทประกอบดวยซบคลาสทแตกตางกน

ซบคลาส (sub class) คอ แบบเอนทต ทแตกตางกน และเปนสมาชกของซเปอรคลาส

ในบางกรณซเปอรคลาสประกอบดวยซบคลาส ทมความแตกตางกนเปนจานวนมาก เชน ในกรณของพนกงานสามารถแบงออกเปน พนกงานทเปนพนกงานททางานประจา และพนกงานททางานชวคราว ดงภาพท 3.32 เปนตน

ภาพท 3.32 ตวอยางซเปอรคลาสและซบคลาส

จากภาพท 3.32 แสดงความสมพนธของซเปอรคลาสพนกงาน กบซบคลาสพนกงานประจา และซบคลาสพนกงานชวคราว โดยซบคลาสทงสองตางมลกษณะประจาทแตกตางกน ทเรยกวา ลกษณะประจาเฉพาะ (specific attribute) แตทงสองซบคลาสยงคงมการสบทอดลกษณะประจา (attributes inheritance) ทเปนลกษณะประจาหลก ทไดรบการถายทอดมาจากซเปอรคลาส นนคอ ลกษณะประจารหสพนกงาน ลกษณะประจาชอพนกงาน ลกษณะประจาเพศ และลกษณะประจาทอย ทเปนลกษณะประจาของแบบเอนทตพนกงานทเปนซเปอรคลาส เชนเดม

2. Specialization และ Generalization 2.1 specialization

specialization คอ กระบวนการทใชในการกาหนดกลมซบคลาสจากซเปอรคลาส

84

โดยกระบวนการ specialization จะหาคณสมบตทแตกตางของแบบเอนทตทเปนซเปอรคลาสกอน แลวคอยกาหนดแบบเอนทตทเปนซบคลาส และเมอพจารณาจะพบวา specialization ใชวธการแบบบนลงลาง (top-down) ในการกาหนดซเปอรคลาส กบกลมของซบคลาส ซงสามารถแบงขบวนการ specialization ออกเปนขนตอนได ดงน 1. กาหนดกลมของซบคลาส 2. สรางลกษณะประจาเฉพาะของแตละซบคลาส 3. สรางแบบความสมพนธแบบเฉพาะ ระหวางแตละซบคลาสกบแบบเอนทต หรอซบคลาส อนๆ กรณตวอยางของแบบเอนทตพนกงาน ทสามารถแบงแบบเอนทตพนกงาน ตามประเภทของงาน (job type) ทเกดขนภายในองคกร และสามารถกาหนดซเปอรคลาสและซบคลาสโดยใชกระบวนการ specialization ออกเปนแบบเอนทตทมคณสมบตทแตกตางกน เชน แบบเอนทตวศวกร แบบเอนทตเลขา แบบเอนทตพนกงานขาย และแบบเอนทตผจดการ เปนตน หรออาจแบงออกตามประเภทของพนกงาน เชนแบงพนกงานออกเปนพนกงานประจา กบพนกงานชวคราว ดงภาพท 3.33 เปนตน

ภาพท 3.33 ตวอยางซเปอรคลาสและซบคลาส

จากภาพท 3.33 แสดงกระบวนการ specialization ของแบบจาลองแบบ EER โดยใชกระบวนการ specialization ในการกาหนดซบคลาส ซงใชสญลกษณวงกลมในการเชอมตอระหวางซเปอรคลาสกบซบคลาส และกาหนดสญลกษณ subset เพอใชในการกาหนดความสมพนธระหวางซเปอรคลาส และ

85

ซบคลาส เชน กาหนดเครองหมาย ⊂ ระหวางแบบเอนทตวศวกรกบแบบเอนทตพนกงาน นนหมายถง การกาหนดวาแบบเอนทตวศวกรเปนซบคลาสของแบบเอนทตพนกงาน และแบบเอนทตพนกงานเปนซเปอรคลาสของแบบเอนทตวศวกร เปนตน และกาหนดลกษณะประจาเฉพาะ เพอใชในการกาหนดความแตกตางระหวางแบบเอนทตทเปนซบคลาส ซงลกษณะประจาเฉพาะทาหนาทแสดงคณสมบตของแตละซบคลาสวาแตละซบคลาสทแตกออกมาตางมคณสมบตทแตกตางกนอยางไรบาง เชน ซบคลาสเลขา มลกษณะประจาความเรวในการพมพ ทบงบอกความแตกตางระหวาง ซบคลาสเลขา กบซบคลาสวศวกร เปนตน และนอกจากนนภายในแบบเอนทตทเปนซบคลาส ยงสามารถกาหนดแบบความสมพนธ ทเกดขนระหวางซบคลาสกบแบบเอนทตอนไดอกดวย ซงเรยกแบบความสมพนธทเกดขนวา แบบความสมพนธเฉพาะ (specific relationship type) เชน แบบเอนทตผจดการ ทเปนซบคลาสของแบบเอนทตพนกงาน มแบบความสมพนธ บรหาร กบแบบเอนทตแผนก เปนตน

ภาพท 3.34 ความสมพนธซเปอรคลาสและซบคลาส

จากภาพ 3.34 แสดงความสมพนธระหวางซเปอรคลาสแบบเอนทตพนกงาน กบซบคลาสแบบเอนทตเลขา แบบเอนทตวศวกร และแบบเอนทตพนกงานขาย โดยมความสมพนธแบบ 1:1 ระหวางแบบเอนทต 2.2 generalization

generalization คอ กระบวนการทใชในการกาหนดซเปอรคลาส จากกลมของคลาส ทแตกตางกน

แบบเอนทตเลขา

แบบเอนทตพนกงาน

แบบเอนทตวศวกร

แบบเอนทตพนกงานขาย

86

โดย generalization จะกาหนดคณสมบตทเหมอนกนของกลมแบบเอนทต โดยกระบวนการ generalization เปนกระบวนการทตรงกนขามกบกระบวนการ specialization เนองจาก generalization ทาการกาจดความแตกตางของลกษณะประจาทเกดขนของกลมแบบเอนทต และกาหนดคณสมบตทวๆไปของลกษณะประจาททกๆแบบเอนทตม และจากนนทาการกาหนดเปนแบบเอนทต จากคณสมบตของลกษณะประจาทพบในทกๆแบบเอนทต ซงเรยกแบบเอนทตทกาหนดขนมาวา ซเปอรคลาส และถาพจารณาจะพบวากระบวนการ generalization ใชวธการในการกาหนดซเปอรคลาสและซบคลาสแบบลางสบน (◌bottom-up) ซงตรงกนขามกบกระบวนการ specialization ทใชวธการแบบบนลงลาง เชน กรณแบบเอนทตรถยนต และ แบบเอนทตรถบรรทก ดงภาพท 3.35 โดยแบบเอนทตรถยนตและแบบเอนทตรถบรรทกตางมลกษณะประจาทมคณสมบตแบบเดยวกน คอ ลกษณะประจารหส และลกษณะประจาราคา ซงลกษณะประจารหส ยงเปนลกษณะประจาแบบกญแจหลกดวย ดงนนจงสามารถสรางแบบเอนทตยานยนต จากลกษณะประจาทกาหนดได ดงภาพท 3.36 เปนตน ซงจากตวอยางดงกลาวเปนการใชกระบวนการ generalization ในการกาหนดซเปอรคลาสจากกลมแบบเอนทต

ภาพท 3.35 แบบเอนทตรถยนต และแบบเอนทตรถบรรทก

ทมา (Elmasri & Navathe., (2002)., p79)

ภาพท 3.36 ใชกระบวนการ Generalization กาหนดซเปอรคลาสยานยนต ทมา (Elmasri & Navathe., (2002)., p79)

87

โดยในกาหนดเสนทเชอมขนจากซบคลาสไปยงซเปอรคลาส เปนการแสดงวธการแบบ generalization และในทางตรงกนขามกาหนดเสนทเชอมจากซเปอรคลาสไปยงซบคลาส แสดงวธการแบบ specialization

3. ขอบงคบ และคณลกษณะของ Specialization และ Generalization กระบวนการ specialization และ generalization เปนกระบวนการในการกาหนดซเปอร

คลาสและซบคลาส ซงโดยทวไปซเปอรคลาสหนงจะประกอบดวยซบคลาสมากกวาหนงซบคลาส ดงตวอยางภาพท 3.33 และภาพท 3.36 และจากตวอยางขางตน พบวามการกาหนดวงกลมระหวางซเปอรคลาสกบซบคลาส ซงวงกลมทกาหนดนนใชในการกาหนดประเภทของซบคลาสทกาหนดได เชน ตวอยางภาพท 3.3 แบงซบคลาสตามประเภทของงาน ออกเปนซบคลาสเลขา ซบคลาสวศวกร และซบคลาสพนกงานขาย เปนตน โดยยกเวน ซบคลาสผจดการทมเพยงหนงซบคลาสทแตกออกมาและไมไดอยในกลมของซบคลาสทถกแบงตามประเภทของงาน จงไมจาเปนตองกาหนดวงกลม เพอใชในการกาหนดประเภทของซบคลาส เปนตน และภายในวงกลมจะทากาหนดขอบงคบทใชในการกาหนดซเปอรคลาสและซบคลาส ซงสามารถกาหนดขอบงคบทเกยวของไดดงน 3.1 ขอบงคบแบบ disjoint เปนขอบงคบทกาหนดความแตกตางในซบคลาส ทสามารถแยกเอนทตของซบคลาสแตละซบคลาสออกจากกนไดอยางชดเจน และกาหนด “d” ในวงกลมทเชอมแบบความสมพนธระหวางซบคลาส กบซเปอรคลาส นนคอ เมอใดกตามทมการกาหนด d ภายในวงกลมทกาหนดแบบความสมพนธระหวางซบคลาสและซเปอรคลาส แสดงวาสามารถกาหนดไดแนชดวาเอนทตทกาหนดนนเปนเอนทตทอยในซบคลาสใด เชน จากตวอยางภาพท 3.33 กาหนดเอนทตของแตละซบคลาส ดงน เอนทตของซบคลาสเลขา รหส ชอ เพศ ทอย ความเรวในการพมพ 4112 นางสาว วลาวณย ใจเยน หญง 12 ดสต กรงเทพฯ 50/นาท เอนทตของซบคลาสวศวกร รหส ชอ เพศ ทอย สาขา 4112 นาย วชย ขยนยง ชาย 14 บางนา กรงเทพฯ ไฟฟา จากตวอยางเอนทตขางตน พบวาสามารถกาหนดซบคลาสของเอนทตไดอยางชดเจนวาเอนทตทกาหนดนนเปนเอนทตของซบคลาสใด เปนตน 3.2 ขอบงคบแบบ overlapping เปนขอบงคบทไมสามารถกาหนดเอนทตของซบคลาสออกจากกนไดอยางชดเจน นนหมายถงในแบบเอนทตหนงๆ อาจเปนสมาชกไดมากกวาหนงซบคลาส และ

88

ใช “o” ในการกาหนดขอบงคบแบบ overlapping ในวงกลมทเชอมระหวางซบคลาส กบซเปอรคลาส เชน ในการผลตเฟอรนเจอรของบรษท VS จากด ซงมวตถดบบางประเภทททางบรษทสามารถผลตไดเอง แตในบางครงวตถดบทใชนน อาจผลตไดไมทนขบวนการผลต จงอาจจาเปนตองมการสงซอวตถดบนนจากผจดจาหนายภายนอก และอาจกอใหเกดปญหาคลมเครอของสนคาทเกดขน เนองจากไมสามารถระบไดชดเจนวาชนสวนทใชนน จะเปนชนสวนทกาหนดในแบบเอนทตใด ดงภาพท 3.37 ทแสดงแบบเอนทตชนสวนเปนซเปอรคลาสของแบบเอนทตชนสวนจากการผลตและแบบเอนทตจากการสงซอ เปนตน

ภาพท 3.37 ขอบงคบแบบ Overlapping

3.3 ขอบงคบแบบสมบรณ ซงสามารถแบงขอบงคบแบบสมบรณ ออกเปน 2 แบบดวยกน คอ 3.3.1 ขอบงคบแบบสมบรณแบบเตม (total participation constraint) เปนขอบงคบทกาหนดวาทกๆเอนทตทอยในซเปอรคลาส จะตองเปนสมาชกของซบคลาสใดซบคลาสหนง และใชสญลกษณเสนคในการเชอมระหวางซเปอรคลาส กบวงกลมทแสดงแบบความสมพนธระหวางซเปอรคลาสกบซบคลาส ในการแสดงขอบงคบแบบสมบรณแบบเตม เชน จากภาพ 3.32 กาหนดขอบงคบแบบสมบรณแบบเตมระหวางซเปอรคลาสพนกงานกบซบคลาสพนกงานประจาและซบคลาสพนกงานชวคราว เนองจากทกๆเอนทตของแบบเอนทตพนกงานทเปนซเปอรคลาสตางเปนสมาชกอยในซบคลาสทแตกออก ไมวาจะเปนเอนทตของแบบเอนทตพนกงานประจา หรอแบบเอนทตพนกงานชวคราว เปนตน

89

3.3.2 ขอบงคบแบบสมบรณแบบบางสวน (partial participation constraint) เปนขอบงคบทกาหนดวาเอนทตทอยในซเปอรคลาส ไมจาเปนจะตองเปนสมาชกของซบคลาสใดซบคลาสหนง และใชสญลกษณเสนเดยวในการเชอมระหวางซเปอรคลาส กบวงกลมทแสดงแบบความสมพนธระหวางซเปอรคลาสกบซบคลาส ในการแสดงขอบงคบแบบสมบรณแบบบางสวน เชน จากภาพท 3.33เอนทตทกๆเอนทตของซเปอรคลาสพนกงาน ไมจาเปนทจะตองเปนเอนทตของซบคลาสเลขา ซบคลาสวศวกร หรอซบคลาสพนกงานขาย เปนตน ซงจากขอบงคบแบบทง 3 ขอตางมความแตกตางกนอยางชดเจน โดยสามารถกาหนดขอบงคบทอาจเกดขนระหวางซเปอรคลาสและซบคลาสออกเปน 4 ขอ ไดดงน

1. กรณเกดขอบงคบ disjoint กบขอบงคบแบบสมบรณแบบเตม 2. กรณเกดขอบงคบ disjoint กบขอบงคบแบบสมบรณแบบบางสวน 3. กรณเกดขอบงคบ overlapping กบขอบงคบแบบสมบรณแบบเตม 4. กรณเกดขอบงคบ overlapping กบขอบงคบแบบสมบรณแบบบางสวน

ขอบงคบการเพม และการลบเอนทตของซเปอรคลาสและซบคลาส สามารถกาหนดขอบงคบในการเพมและการลบซเปอรคลาสและซบคลาสได ดงน

1. ในการลบเอนทตของซเปอรคลาส นนหมายถงจะทาการลบเอนทตทอยในซบคลาส แบบทนท ทนใดดวย 2. ในการเพมเอนทตของซเปอรคลาส นนหมายถง เอนทตนนจะถกเพมใหกบทกๆซบคลาส ทเกยวของ 3. ในการเพมเอนทตของซเปอรคลาสทมขอบงคบแบบสมบรณแบบเตม นนหมายถง เอนทตนน จะถกเพมใหกบซบคลาสอยางนอยหนงซบคลาส

ขอดของการกาหนดเอนทตของซเปอรคลาสและซบคลาส 1. ลกษณะประจาบางลกษณะประจาไมสามารถกาหนดลงในแบบเอนทตได เนองจากมเอนทตบางจานวนเทานน ทมคณสมบตของลกษณะประจานน เชน กรณลกษณะประจาความเรวในการพมพ ของแบบเอนทตเลขา ทพนกงานทเปนเลขาเทานนทมลกษณะประจาความเรวในการพมพเทานน เปนตน ดงนนการกาหนดซบคลาสขนมา จงเปนการแกปญหาทเกดขน โดยซบคลาสทกาหนดขนมาใหมนนยงคงรกษาลกษณะประจาทไดรบการสบทอดจากแบบเอนทตทแตกมาเชนเดม

90

2. ใชซบคลาส ในการแสดงความสมพนธทเกดขนบางประเภททมความสมพนธเฉพาะ (specific relationship type) กบแบบเอนทต ทเปนซบคลาสเทานน เชน แบบความสมพนธ บรหาร ทมความสมพนธกบ ซบคลาส ผจดการ ดงภาพท 3.33 เปนตน

สรป ผออกแบบฐานขอมลตองใชแบบจาลองขอมลเปนตวกลางในการสอสารระหวางผใช กบโปรแกรมเมอรของโปรแกรมประยกต ดงนนความตองการแบบจาลองขอมลจงจดเปนฟงกชนทสาคญของมมมองทแตกตางกนของขอมล แบบจาลอง ER เปนแบบจาลองขอมลแบบหนงทชวยในขนตอนของการออกแบบขอมล โดยแบบจาลอง ER คอผงงานทแสดงความสมพนธระหวางเอนทตในระดบแนวความคด ซงในแบบจาลอง ER มองคประกอบอย 3 องคประกอบ คอ เอนทต (entity) ความสมพนธ (relationship) และ ลกษณะประจา (attribute) โดยในผงงาน ER ประกอบดวยนยามทเกยวกบการเชอมตอความสมพนธ และ คารดนลลต (cardinality) ในสวนของการเชอมตอความสมพนธเปนการอธบายถงความสมพนธของเอนทต สวนคารดนลลต เปนการแสดงถงจานวนเฉพาะของเอนทตในประเภทของเอนทต ซงคารดนลลตนนขนกบขอบงคบขององคกร ประเภทของเอนทต (entity type) คอ กลมของวตถทมคณสมบตเหมอนกน และสวนประเภทของความสมพนธ (relationship type) คอ กลมของความสมพนธทมความหมายระหวางประเภทของเอนทต ซงสามารถกาหนดระดบของประเภทของความสมพนธ โดยแบงตามจานวนของประเภทของเอนทตทมความสมพนธกน และในแตละเอนทตจะมลกษณะประจา เปนตวทอธบายคณสมบตของเอนทต หรอ ความสมพนธ และในแตละลกษณะประจาจะมการกาหนดโดเมนของลกษณะประจา เพอใหโดเมนเปนตวในการกาหนดขอบเขตกลมคาของลกษณะประจา

คาถามทบทวน 1. จงอธบายถงองคประกอบของแบบจาลอง ER 2. จงเขยน แบบจาลอง ER จากกรณศกษาทกาหนด ก. กาหนดแบบเอนทต 3 แบบเอนทต คอ แบบเอนทตนกศกษา แบบเอนทตวชา และแบบ เอนทตอาจารย โดยท แบบเอนทตนกศกษา ประกอบดวย ลกษณะประจารหสนกศกษา ลกษณะประจาชอ

91

ลกษณะประจานามสกล และลกษณะประจาคณะ แบบเอนทตวชา ประกอบดวย

ลกษณะประจารหสวชา ลกษณะประจาชอวชา และลกษณะประจาหนวยกต

เอนทตอาจารย ประกอบดวย ลกษณะประจารหสอาจารย ลกษณะประจาชอ ลกษณะประจานามสกล และลกษณะประจาตาแหนง

โดยมแบบความสมพนธของแบบเอนทตทากาหนด ดงน ความสมพนธระหวางแบบเอนทตนกศกษาและแบบเอนทตวชา คอ เรยน ประกอบดวย

ลกษณะประจาภาค ลกษณะประจาป และลกษณะประจาผลการเรยน

ความสมพนธระหวางแบบเอนทตอาจารยและแบบเอนทตวชา คอ สอน ประกอบดวย ลกษณะประจาภาค และลกษณะประจาป

และมรายละเอยดเพมเตม ดงน 1. อาจารยแตละคนอาจสอนไดหลายวชา 2. แตละวชามอาจารยสอนไดเพยงคนเดยว 3. นกศกษาแตละคนสามารถเรยนไดหลายวชา 4. แตละวชามนกศกษาเรยนหลายคน(ไมตากวา 20 คน)

ข. บรษทแหงหนงไดแบงพนกงาน(EMPLOYEE) เปน 3 ประเภท คอ พนกงานประจา (SALARIED EMPLOYEE) พนกงานชวคราว (HOURLY EMPLOYEE) และพนกงานทเปน ปรกษา (CONSULTANT)

92

โดยแบบเอนทตพนกงาน ประกอบดวย ลกษณะประจารหสพนกงาน ลกษณะประจาชอ ลกษณะประจานามสกล และลกษณะประจาวนทเขาทางาน และพนกงานทงสามประเภทตางมการคดเงนเดอนตางกนดงน

1. พนกงานประจาไดรบเปนเงนเดอน (SALARY) 2. พนกงานชวคราวคดเงนเดอนโดยใชอตราคาจางตอชวโมง (HOURLY RATE) 3. พนกงานทเปนปรกษาจะไดรบเงนอตราประจา (DAILY RATE)

จากกรณศกษาทกาหนดตอบคาถามขอ 3- 10 โรงพยาบาลนวรตนเปนโรงพยาบาลขนาดกลางทมเตยงรองรบผปวยได 150 เตยง ผบรหารของโรงพยาบาลมความประสงคทจะจดการกบขอมลในระบบของโรงพยาบาล โดยเรมแรกการดาเนนงานนน ทางโรงพยาบาลใชระบบแฟมขอมลในการจดการกบงานขอมลในระบบงาน แตเกดปญหาในความซาซอนของขอมลเกดขนในระบบ ซงทาใหเกดความสนเปลองในเรองของคาใชจาย และเวลาในการดาเนนงาน ดงนนคณะกรรมการผบรหารของโรงพยาบาลจงมมตอนมตงบในการจดการสรางระบบฐานขอมลของระบบงานขนมาโดยจดเกบขอมลทใชในการดาเนนงานดงน ขอมลของคนไขทมาใชบรการในโรงพยาบาลซงจดเกบขอมล รหสของผปวย(Id) ชอผปวย (first name) นามสกลของผปวย (last name) ทอย (Address) ทอยทสามารถตดตอได (current address) เบอรโทรศพท (telephone) สถานททางาน (name_office) ทอยททางาน (name_address) เบอรโทรศพท (phone_office) ชอผทสามารถตดตอได (emergency_name) โทรศพท (emergency_phone) วนทมาตรวจ (date_of_treal) อาการ(state) แพทย (physician) รายการยา (list_of_madicine) ปรมาณยา(size_of_madicine) จานวนยา(quantity) วธการใช (description_of_use) ประวตการแพยา(history_of_sensitive) ซงจากการดาเนนงานของโรงพยาบาลสามารถแบงออกเปนผปวยในและผปวยนอก ในกรณทเปนผปวยในตองมการจดเกบขอมล วนทเขาพก(date_of_admin)หองพกท (number_of_room) ประเภทหองพก(type_of_room) หมายเลขตก(number_of_building) จานวนวนทพก(amount_of_treat)วนทออก(date_of_leave) ขอมลของพนกงานททางานในโรงพยาบาล โดยแบงเปนพนกงานทเปนฝายบรหาร และฝายบรการซงจดเกบขอมลรหสพนกงาน(number_of_empolyee) ชอ (first_name) นามสกล(last_name) ทอยตาม

93

ทะเบยนบาน (address) ทอยปจจบน(cerrent_address) โทรศพท(telephone)แผนกทสงกด(department) ตาแหนง(position) วนทเรมทางาน(date_of_begining) ประวตการศกษา(history_of_study) ปทสาเรจการศกษา(year_of_finish) ชอสถานศกษาทจบ(name_of_institute) วฒการศกษา(degree) สาขา(major) ในกรณทเปนระดบผบรหารตองมขอมลเพมวนทเรมรบตาแหนง(date_of_recive)ซงในกรณทเปนแพทยและพยาบาลยงสามารถแบงออกเปนพนกงานประจา และพนกงานชวคราว(part_time) .ในกรณทเปนพนกงานแบบชวคราวในกรณทเปนพนกงานแบบชวคราว จะคดรายไดของพนกงานตามชวโมงการทางานของพนกงานโดยมขอมลทจดเกบดงน ขอมลอตราคาแรง(rate)ชวโมงการทางาน(hour) รายได(revenue) โดยรายไดเกดจาก (rate*hour) ขอมลของหองพกและอาคารจะทาการจดเกบขอมลดงน หองพกรวมหองพกค (double_room) หองพกเดยว(sigle_room) มขอมลทจดเกบดงน รหสหองพก(number_of_room)ชอหองพก(name_of_room)ประเภทหองพก (type_of_room) ราคา(rate_of_room)โรงพยาบาลมการเกบขอมลดงน รหสอาคาร(buildingid)ชออาคาร(name_of_buding) ผดแล(respon_name)ในกรณของผดแลนนในแตละนนในแตละอาคารมการแบงออกเปนอาคารละแผนก เชนแบงออกเปน อาคารวชยยทธเปนอาคารทแผนกสตนารเวชประจาอย เปนตน ดงนน ผดแลอาคารคอผบรหารในแตละแผนก ในกรณทผปวยเขารบการรกษาในโรงพยาบาล โดยเรมแรกผปวยทาการตดตอแผนกงานประชาสมพนธในสวนของการคนหา หรอทาประวตผปวย(ในกรณทเปนผปวยใหม) หลงจากนนแผนกประชาสมพนธทาการสงขอมลใหกบแผนกททาการรกษา บรการ เชนในกรณทคนไขเปนไขหวด ทางแผนกประชาสมพนธทาการสงผปวยไปยงแผนกอายรกรรม เปนตน ผปวยหนงคนสามารถรกษาไดมากกวา 1 ครง และมแพทยทปรกษาไดมาก กวา 1 คน เชนเดยวกนแพทย 1 คนสามารถรกษาผปวยไดมากกวา 1 คน ในกรณของขอมลยาและอปกรณทใชทางการแพทย ทางโรงพยาบาลจะทาการตดตอโดยผานแผนกการจดซอของโรงพยาบาล โดยตดตอกบบรษทททาการจาหนายโดยตรง(supplier) ซงบรษทจดจาหนายมรายการยาทมานาเสนอใหกบทางโรงพยาบาลมากกวา 1 รายการ และแตละรายการยาและอปกรณททางโรงพยาบาลจดซอจะม Supplierมากกวา 1 ราย ซงจดเกบขอมลดงน รายการยาและอปกรณ รหสยาและอปกรณ (madicine_number) รายการยา (description) จานวน (amount) หนวยท (lot_number) วนทผลต (date_of_manufacture) วนทหมดอาย(date_of_expire) ราคา (price) รหสบรษทจาหนาย (Supplier_number) ขอมลSupplier ชอ(name_of_supplier) รหส(supplier_number) ทอย (address_supplier) โทรศพท (phone_supplier) ผทตดตอ(name_of_contect) รายการสนคาทจาหนาย

94

(list_of_product)ในการจดเกบขอมลSupplier จะมการจดเกบขอมลการตดตอครงลาสด ดวย วน/เดอน/ป ทมาตดตอ (date_of_contect) จงเขยน ER จากกรณศกษาขางตน 3. กาหนดเอนทต เอทตแบบออนแอ ซเปอรคลาส และซบคลาส 4. กาหนดลกษณะประจาทเปนคยหลกของแตละเอนทตทกาหนด 5. กาหนดลกษณะประจาแบบคาเดยวและแบบหลายคาของแตละเอนทตทกาหนด 6. กาหนดลกษณะประจาแบบรวมของเอนทตทกาหนด 7. กาหนดลกษณะประจาแบบ derived 8. กาหนดความสมพนธแบบหนงตอหนง 9. กาหนดความสมพนธแบบหนงตอมาก 10. กาหนดความสมพนธแบบมากตอมาก

95

เอกสารอางอง Ramez Elmasri & Shamkant B. Navathe. (2002). Fundamentals of Database Systems. New York : Addison-Wesley.