Chapter04 Enhanced Entity-relationship And Uml Modeling

  • Uploaded by: Phichya Laemluang
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Chapter04 Enhanced Entity-relationship And Uml Modeling as PDF for free.

More details

  • Words: 811
  • Pages: 10
4-1

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

บทที่ 4* แบบจําลอง EER และ แผนภาพ UML Enhanced Entity-Relationship and UML Modeling วัตถุประสงค 1. เพื่อใหมีความเขาใจในแบบจําลองอีอีอาร (EER Model) 2. เพือ่ ใหมีความเขาใจในเรื่องซูเปอรคลาส/ซับคลาส (Superclass/Subclass) 3. เพือ่ ใหมีความเขาใจและสามารถจําแนกความสัมพันธระหวางการทําสเปเชียลไลเซชัน(Specialization) และเจเนอรัลไลเซชัน (Generalization) 4. เพื่อใหมีความเขาใจในเรื่อง Union Types และสามารถนําไปประยุกตใชได 5. เพื่อใหสามารถออกแบบแบบจําลองอีอีอาร (EER Model) ได

4.1

แบบจําลองอีอีอาร (EER Model) เนื่องจากบทที่ผานมาไดกลาวถึงแบบจําลองอีอารในการนําไปประยุกตใชในระบบฐานขอมูลแบบเกา หรือที่เรียกวา ฐานขอมูลแบบดั้งเดิม) Traditional database application) ซึ่งมักจะถูกนําไปใชในแอปพลิเคชั่นของวงการ ธุรกิจหรืออุตสาหกรรม ทั้งนี้ในยุคปจจุบันเริ่มมีการนําเทคโนโลยีระบบฐานขอมูลไปใชในวงการอื่นๆ ไมวาจะเปนใน เชิงวิศวกรรม กระบวนการผลิต ระบบสื่อสาร รวมทั้งเครือขายอินเตอรเนต ดังนั้นเพื่อทําใหฐานขอมูลสามารถ รองรับความตองการ (requirements) ในการใชงานที่ซับซอนขึ้น จึงไดเกิดแนวคิดในการจัดทําแบบจําลองขอมูล แบบซีแมนติค (Semantic data model) โดยนําแบบจําลองอีอารมาปรับปรุงพัฒนา โดยเปนการรวมแนวคิดของ แบบจําลองอีอารทั้งหมด และเพิ่มแนวคิด ซับคลาส (Subclass) ซูเปอรคลาส (Superclass) สเปเชียลไลเซชัน (Specialization) และเจเนอรัลไลเซชัน (Generalization) พัฒนาเปนแบบจําลองอีอารเชิงปรับปรุง (Enhanced-ER Model) หรือเรียกวาแบบจําลองอีทูอาร (E2R Model หรือ EER data model) นอกจากนี้ แบบจําลองอีทูอารยังรวมถึงแนวคิดเชิงวัตถุ )Object-Oriented) บางอยาง เชน การจัดกลุม (Category) และ การสืบทอดแอทตริบิวต (Attribute Inheritance) เพื่อใหแบบจําลองมีความสมบูรณและถูกตองในการนําไป ประยุกตใชมากยิ่งขึ้น

4.1.1 ซูเปอรคลาส ซับคลาส (Superclass, Subclass) เอนทิตีแตละชนิดอาจสามารถแบงออกเปนกลุมยอย (Subgroupings) ได เชน EMPLOYEE อาจแบงออกเปน กลุมยอยหลายกลุม ไดแก SECRETARY, ENGINEER, MANAGER, TECHNICIAN, SALARIED_ EMPLOYEE, HOURLY_EMPLOYEE เปนตน ซึ่งกลุมยอยเหลานี้คือเซตยอย (Subset) หรือเรียกวาเปนคลาสยอย (subclass) ของเอนทิตี EMPLOYEE หรือในทางกลับกันอาจกลาวไดวา EMPLOYEE เปน ซูเปอรคลาส (Superclass) ของคลาสยอยเหลานั้น โดยเราจะเรียกความสัมพันธนี้วาเปน ความสัมพันธแบบซูเปอรคลาส/คลาสยอย หรือ ซูเปอรคลาส/ซับคลาส ก็ได IS-A (หรือ IS-AN) เขน SECRETARY IS-AN EMPLOYEE, TECHNICIAN IS-AN EMPLOYEE เปนตน โดยสมาชิกของ

ความสัมพันธแบบซูเปอรคลาส/ซับคลาสสามารถเรียกวาความสัมพันธแบบ ซับคลาสนั้นคือเอนทิตีที่มีหนาที่หรือบทบาทจําเพาะเจาะจงลงไปอีก

* อางอิงจากบทที่ 4 ของเอกสารอางอิง [1]

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-2

เอนทิตีไมสามารถอยูในฐานขอมูลโดยเปนสมาชิกของซับคลาสเทานั้น เอนทิตีนั้นตองเปนสมาชิกของซูเปอรคลาส ดวย ในขณะที่สมาชิกของซูเปอรคลาสอาจถูกกําหนดใหเปนสมาชิกของซับคลาสกี่คลาสก็ได ตัวอยางเชน วิศวกรที่ เปนลูกจางที่กินเงินเดือน จะอยูในสองคลาสยอย ENGINEER และ SALARIED_EMPLOYEE แตทั้งนี้ เอนทิตีทุกตัวที่อยูในซูเปอรคลาสไมจําเปนตองเปนสมาชิกของซับคลาสเสมอไป

รูปที่ 4.1 ความสัมพันธ ซูเปอรคลาส/ซับ คลาสของเอนทิตี EMPLOYEE

แนวคิดสําคัญที่เกี่ยวของกับซับคลาสอีกแนวคิดหนึ่งคือ การสืบทอด (Inheritance) เนื่องจากเอนทิตีจะถูกกําหนด ดวยแอทตริบิวตและประเภทของความสัมพันธที่เอนทิตีเขารวม และเอนทิตีในซับคลาสจะตองแสดงถึงเอนทิตีจริง (Real world entity) จากซูเปอรคลาส ดังนั้นนอกจากสมาชิกในซับคลาสจะมีแอทตริบิวตเฉพาะของแตละซับ คลาสแลว แอทตริบิวตในซับคลาสจะมีการสืบทอดแอทตริบิวตทั้งหมดของซูเปอรคลาสและสืบทอดความสัมพันธ ทั้งหมดที่ซูเปอรคลาสเขารวมเสมือนเปนสมาชิกของซูเปอรคลาสดวย

4.2

สเปเชียลไลเซชัน (Specialization) และ เจเนอรัลไลเซชัน (Generalization) 4.2.1 สเปเชียลไลเซชัน (Specialization) สเปเชียลไลเซชัน (Specialization) เปนกระบวนการในการกําหนดเซตของซับคลาสและซูเปอรคลาส โดยเซตของ ซับคลาสที่นํามารวมกลุมเพื่อทําสเปเชียลไลเซชันจะถูกกําหนดจากแนวคิดในการแยกลักษณะเฉพาะ (Characteristics) ของเอนทิตีในซูเปอรคลาส ตัวอยางเชน เซตของซับคลาส {SECRETARY, ENGINEER, TECHNICIAN} เปนสเปเชียลไลเซชันของซูเปอรคลาส EMPLOYEE ซึ่งจะเห็นไดวาเปนการแยกระหวาง เอนทิตีของ EMPLOYEE ตามลักษณะเฉพาะของสายอาชีพ นอกจากนี้ในการทําสเปเชียลไลเซชันยังสามารถ แบงแยกตามลักษณะเฉพาะที่แตกตางจากลักษณะเฉพาะขางตนไดอีก เชนเอนทิตี EMPLOYEE ยังสามารถทํา สเปเชียลไรเซชันไดซับคลาสเปน {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE} ซึ่งเปนการ แบงออกตามวิธีการจายคาจาง รูปที่ 4.1 แสดงสเปเชียลไลเซชันในแบบจําลองอีอีอาร (EER Model) จะเห็นวาซับคลาสในการทําสเปเชียลไลเซ ชันถูกแยกออกมาเปนเสนที่ตออยูกับวงกลมซึ่งเปนสัญลักษณของสเปเชียลไลเซชัน โดยวงกลมเชื่อมตอกับซูเปอร คลาส และสัญลักษณของการเปนซับเซตของแตละเสนเชื่อมตอซับคลาสไปยังวงกลมจะแสดงทิศทางของ ความสัมพันธซูเปอรคลาส/ซับคลาส แอทตริบิวตเฉพาะ (Specific attributes) ของซับคลาสคือแอทตริบิวตที่เปนลักษณะของซับคลาสนั้นเทานั้น ตัวอยางเชน TypingSpeed จะเปนลักษณะเฉพาะของซับคลาส SECRETARY เทานั้น ในแนวทางเดียวกันซับ คลาสสามารถที่จะเขารวมในประเภทความสัมพันธเฉพาะ (Specific Relationship types) ไดเชนกัน เชน ซับ คลาส HOURLY_EMPLOYEE จะเขารวมในความสัมพันธเฉพาะ BELONGS_TO

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-3

รูปที่ 4.2 แสดงอินสแตนซ (Instance) ของซับคลาส {SECRETARY, ENGINEER, TECHNICIAN} ที่ ไดมาจากการทําสเปเชียลไลเซชัน เอนทิตีของซับคลาสจะแทนเอนทิตีจริง (Real-world entity) เดียวกับเอนติทีที่ ถูกเชื่อมตอในซูเปอรคลาส เชน e1 เปนเอนทิตีที่อยูทั้งใน EMPLOYEE และ SECRETARY โดยในรูปนี้จะ แสดงความสัมพันธซูเปอรคลาส/ซับคลาสที่มีการเชื่อมโยงสูความสัมพันธแบบ 1:1 ในระดับของอินสแตนซ โดย ความแตกตางจะอยูที่ในความสัมพันธแบบ 1:1 เอนทิตีที่แตกตางกันสองตัวจะมีความสัมพันธกัน ในขณะที่ใน ความสัมพันธเชิงซูเปอรคลาสและซับคลาส เอนทิตีในซับคลาสและเอนทิตีในซูเปอรคลาสจะแทนเอนทิตีเดียวกัน เชน EMPLOYEE สามารถถูกสเปเชียลไลซในบทบาทของ SECRETARY หรือ EMPLOYEE สามารถ ถูกสเปเชียลไลซในบทบาทของ TECHNICIAN

รูปที่ 4.2 สเปเชียลไลเซชัน ของ EMPLOYEE {SECRETARY, ENGINEER, TECHNICIAN}

กระบวนการในการทําสเปเชียลไลเซชันสามารถสรุปไดดังนี้ • กําหนดเซตของซับคลาสของชนิดของเอนทิตี • กําหนดแอทตริบิวต เฉพาะเพิ่มเติมของแตละซับคลาส • กําหนดประเภทของความสัมพันธเฉพาะระหวางซับคลาสแตละซับคลาสและประเภทของเอนทิตี หรือ ซับ คลาสอื่นๆ ที่เกี่ยวของ

รูปที่ 4.3 สเปเชียลไลเซชันของ EMPLOYEE

4.2.2 เจเนอรัลไลเซชัน (Generalization) เจเนอรัลไลเซชันคือกระบวนการกลับของสเปเชียลไลเซชัน โดยพิจารณาลักษณะทั่วไปของคลาสแตละคลาสแลวทํา การเจเนอรับไลซเปนซูเปอรคลาส และเปลี่ยนคลาสเดิมเปนซับคลาสของซูเปอรคลาสนั้น

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-4

รูปที่ 4.4 พิจารณาเอนทิตี CAR และ TRUCK จะเห็นวาทั้งสองเอนทิตีนั้นถือไดวาเปน VEHICLE เมื่อกําหนด คลาส VEHICLE.ขึ้นมาทั้ง CAR และ TRUCK กลายเปนซับคลาสของซูเปอรคลาส VEHICLE ดังนั้น VEHICLE จึงเปนเจเนอรัลไลเซชันของ CAR และ TRUCK และในทางกลับกัน เราสามารถมองวา {CAR, TRUCK} เปนสเปเชียลไลเซชันของ VEHICLE ไดเชนเดียวกัน

รูปที่ 4.4 a) เอนทิตี CAR และ TRUCK b) การทํา เจเนอรัลไลเซชัน ของ CAR และ TRUCK เปน ซูเปอรคลาส VEHICLE

4.3

เงื่อนไขบังคับของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน (Constraints and Characteristics of Specialization and Generalization) เราสามารถแสดงสเปเชียลไลเซชันหรือเจเนอรัลไลเซชันโดยแสดงสัญลักษณในแผนภาพ เพื่อทําใหเห็นเดนชัด ระหวางสเปเชียลไลเซชันและเจเนอรัลไลเซชัน โดยเมื่อลูกศรชี้ไปยังซูเปอรคลาสจะแสดงการทําเจเนอรัลไลเซชัน แต เมื่อลูกศรชี้ไปยังซับคลาสจะแสดงการทําสเปเชียลไลเซชัน แตวิธีการดังหลาวไมคอยไดรับความนิยมในการแสดง ลักษณะของสเปเชียลไลเซชันหรือเจเนอรัลไลเซชัน รวมทั้งในแผนภาพที่แสดงในเอกสารนี้เชนกัน

4.3.1 เงื่อนไขบังคับของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน (Constraints on Specialization and Generalization) หากเราสามารถกําหนดไดวาเอนทิตีจะกลายเปนสมาชิกของซับคลาสใดโดยเงื่อนไขที่กําหนด ซับคลาสเหลานั้นจะ ถูกเรียกวา Predicate-defined หรือ Condition-defined subclasses โดยเงื่อนไข (Condition) จะกลายเปน เงื่อนไขบังคับที่กําหนดสมาชิกซับคลาส และสามารถแสดงความสัมพันธแบบ predicate-defined ดวยการเขียน เงื่อนไขยืนยันตอจากเสนเชื่อมระหวางซับคลาสและวงกลมแสดงการทําสเปเชียยไลเซชัน หากซับคลาสทั้งหมดในสเปเชียลไลเซชันมีเงื่อนไขความเปนสมาชิกที่มีคาเชนเดียวกับแอทตริบิวตหนึ่งของซูเปอร คลาส สเปเชียลไลเซชันแบบนี้จะถูกเรียกวา Attribute-defined specialization และแอทตริบิวตที่แสดงเงื่อนไข ความเปนสมาชิกจะถูกเรียกวา Defining attribute ของสเปเชียลไลเซชัน เชนตัวอยางในรูปที่ 4.5 ประเภทงาน เปน Defining attribute ของสเปเชียลไลเซชันของ EMPLOYEE {SECRETARY, TECHNICIAN, ENGINEER}

ถาไมมีเงื่อนไขความเปนสมาชิกเพื่อกําหนดซับคลาสใหเอนทิตี ซับคลาสประเภทนี้จะถูกเรียกวา User-defined โดยการกําหนดสมาชิกของซับคลาสจะถูกกําหนดโดยผูใชงานฐานขอมูล เมื่อผูใชตองการเพิ่มเอนทิตีใหกับซับคลาส เอง โดยไมมีเงื่อนไขในการกําหนดซับคลาสใหเอนทิตีอัตโนมัติ

4-5

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

d รูปที่ 4.5 แผนภาพ EER แสดงการกําหนด สเปเชียลไลเซชันให แอทตริบิวต ใน JobType

เงื่อนไขบังคับอื่นอีกสองอยางที่ประยุกตกับสเปเชียลไลเซชันและเจเนอรัลไลเซชัน ไดแก เงื่อนไขบังคับการไม เชื่อมตอกัน (Disjointness constraint) ซึ่งกําหนดใหซับคลาสของสเปเชียลไลเซชันตองไมเกี่ยวของกัน โดยเอนทิ ตีสามารถเปนสมาชิกอยางมากเพียงหนึ่งซับคลาสของสเปเชียลไลเซชันเทานั้น โดยในแบบจําลองอีอีอารจะใชสัญ กรณ d ในการแสดงเงื่อนไขบังคับการไมเชื่อมตอกันดังกลาว หากซับคลาสของสเปเชียลไลเซชันมีสวนที่ซอนกัน (overlap) โดยเอนทิตีอาจเปนสมาชิกของซับคลาสมากกวาหนึ่งซับคลาส จะใชสัญกรณ o ในแบบจําลองอีอีอาร เงื่อนไขบังคับของสเปเชียลไลเซชันขอที่สองคือเงื่อนไขบังคับความสมบูรณ (Completeness constraint) โดย สามารถเปนไดทั้งแบบทั้งหมด (Total) และบางสวน (Partial) โดยสเปเชียลไลเซชันแบบทั้งหมดคือการที่ทุก เอนทิตีในซูเปอรคลาสจะตองเปนสมาชิกของซับคลาสอยางนอยหนึ่งซับคลาส สเปเชียลไลเซชันแบบทั้งหมดสามารถ แสดงในแบบจําลองอีอีอารโดยการใชเสนคูในการเชื่อมตอซูเปอรคลาสและวงกลมแสดงสเปเชียลไลเซชัน สวนสเปเชียลไลเซชันแบบบางสวนอนุญาตใหเอนทิตีในซูเปอรคลาสไมจําเปนตองเปนสมาชิกในซับคลาสใดๆ และ สามารถแสดงสเปเชียลไลเซชันแบบบางสวนไดดวยการใชเสนเดี่ยวเชื่อมตอระหวางซูเปอรคลาสและวงกลม แสดงสเปเชียลไลเซชัน

O

รูปที่ 4.6 EER diagram แสดงถึงสเปเชียล ไลเซชันที่ซอนกัน )ไมเชื่อมกัน(

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-6

จะเห็นไดวาเงื่อนไขบังคับทั้งสองไมขึ้นตอกัน เงื่อนไขบังคับบนสเปเชียลไลเซชัน จึงสามารถแบงออกไดเปน 4 ประเภท ดังนี้ • ไมเชื่อมกันทั้งหมด (Disjoint, Total) • ไมเชื่อมกันบางสวน (Disjoint, Partial) • ซอนกันทั้งหมด (Overlapping, Total) • ซอนกันบางสวน (Overlapping, Partial) สําหรับเจเนอรัลไลเซชันมักจะเปนแบบทั้งหมดเพราะวาซูเปอรคลาสของเจเนอรัลไลเซชันถูกสรางมาจากซับคลาส ทั้งหมด

รูปที่ 4.7 ตัวอยางของ สเปเชียลไลเซชัน ที่ไมเชื่อมกัน บางสวน

เนื่องจากเงื่อนไขบังคับทั้งสองขางตน

การแทรกเอนทิตีหรือการลบเอนทิตีจําเปนตองมีกฎของการแทรก

(Insertion) และการลบ (Deletion) ตัวอยางกฎบางอยาง เชน • เมื่อเอนทิตีในซูเปอรคลาสถูกลบ เอนทิตีนั้นในซับคลาสจะถูกลบอัตโนมัติ • การแทรกเอนทิตีในซูเปอรคลาสหมายความวาเอนทิตีจะถูกเพิ่มในซับคลาส predicate-defined (or attribute-defined) ตามเงื่อนไขที่ไดกําหนดไวแลว • การแทรกเอนทิตีในซูเปอรคลาสของสเปเชียลไลเซชันแบบทั้งหมด หมายความวาเอนทิตีจะถูกเพิ่มในซับคลาส

อยางนองหนึ่งซับคลาสของสเปเชียลไลเซชัน

4.3.2 โครงสรางลําดับชั้น (Hierarchies) และ โครงสรางแลตทิซ (Lattice) ของสเปเชียลไลเซชัน และเจเนอรัลไลเซชัน ซับคลาสหนึ่งๆ อาจมีการกําหนดซับคลาสของตัวเอง เปนการสรางโครงสรางของสเปเชียลไลเซชัน ดังตัวอยางในรูป ที่ 4.8 ENGINEER เปนซับคลาสของ EMPLOYEE ในขณะเดียวกันทําหนาที่เปนซูเปอรคลาส ของ ENGINERRING_MANAGER ดวย โครงสรางลําดับชั้นของสเปเชียลไลเซชัน (Specialization hierarchy) เปนเงื่อนไขบังคับใหซับคลาสที่เขารวม เปนซับคลาสของซูเปอรคลาสเพียงซูเปอรคลาสเดียว เรียกวา single inheritance ซึ่งตรงขามกันการกระจายสเป เชียลไลเซชัน (Specialization lattice) ที่ซับคลาสหนึ่งจะสามารถเปนซับคลาสของซูเปอรคลาสมากกวาหนึ่ง ซูเปอรคลาส หากพิจารณาในรูป 4.6 จะเห็นสเปเชียลไลเซชันลักษณะดังกลาวซึ่งสามารถเรียกไดวา multiple inheritance

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-7

รูปที่ 4.8 โครงขายสเปเชียล ไลเซชันดวยการกับ แลตทิซ

สเปเชียลไลเซชันทั้งสองแบบขางตน ซับคลาสจะสืบทอดไมเฉพาะแอทตริบิวตของซูเปอรคลาสทางตรงเทานั้น แตยัง รวมถึงซูเปอรคลาสทั้งหมดดวย ซับคลาสที่ไมมีซับคลาสตอจะถูกเรียกวา Leaf node และซับคลาสที่มีมากกวาหนึ่ง ซูเปอรคลาสจะถูกเรียกวาซับคลาสแบบแบงปน (Shared subclass) ในการทําสเปเชียลไลเซชันนั้นเริ่มดวยกําหนดซับคลาสใหกับเอนทิตีเริ่มตน หลังจากนั้นจะกําหนดซับคลาสใหกับแต ละซับคลาสตอเนื่องลงไป วิธีการทําสเปเชียลไรเซชันแบบดังกลาวเรียกวากระบวนการกลั่นกรองแบบแนวคิดบนลง ลาง (Top down conceptual refinement process) สําหรับการทําเจเนอรัลไลเซชันจะเริ่มดวยเอนทิตีหลายๆ เอนทิตีและทําใหคุณสมบัติทั่วไปเปนเจเนอรัลไลเซชัน เรียกวาเปนกระบวนการสังเคราะหแบบแนวคิดลางขึ้นบน (Bottom up conceptual synthesis process) โดยในทางปฏิบัติมักใชรวมกันทั้งสองแบบ

รูปที่ 4.7 โครงขายสเปเชียลไลเซชัน/ เจเนอรัลไลเซชัน (UNIVERSITY)

4.4

โมเดลของประเภทยูเนียนโดยใชการจัดหมวดหมู จากความสัมพันธซูเปอรคลาส/ซับคลาสที่ไดกลาวมาขางตนจะมีลักษณะเปนซูเปอรคลาสเดี่ยวหรือ Single Superclass และลักษณะของซับคลาสแบบ Shared Subclass เชนในกรณี ENGINEERING_MANAGER ดังรูปที่ 4.6 ถือเปนซับคลาสในความสัมพันธของซูเปอรคลาส/ซับคลาสสามแบบตางกัน โดยทั้งสามความสัมพันธ นั้นตางก็มีซูเปอรคลาสเดี่ยว (Single Superclass) แตในกรณีที่ความสัมพันธซูเปอรคลาส/ซับคลาสจะมีมากกวา หนึ่งซูเปอรคลาส ซับคลาสตองแทนกลุมของวัตถุ (Objects) ที่เปนการรวมกันของแตละเอนทิตีที่แตกตางกัน โดย เราสามารถเรียกซับคลาสนี้ไดวาเปนประเภทของการรวมกัน (Union type) หรือหมวดหมู (Category) รูปที่ 4.8 แสดงฐานขอมูลการลงทะเบียนยานพาหนะ ซึ่งเจาของยานพาหนะอาจเปน PERSON BANK หรือ COMPANY จึงจําเปนตองมีคลาสที่สามารถรวมเอนทิตีของเจาของยานพาหนะทั้งสามประเภทเพื่อใหสวม

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-8

บทบาทของ VEHICLE OWNER ดังนั้น category OWNER ซึ่งเปนซับคลาสของการ UNION ของทั้งสาม เอนทิตีขางตนจะถูกสรางขึ้นมาเพื่อรองรับการเปน VEHICLE OWNER ดังที่กลาวไป ทั้งนี้ Category ตองมีอยางนอยสองซูเปอรคลาสที่ตองการแสดงถึงประเภทของเอนทิตีเฉพาะ ในขณะที่ ความสัมพันธของซูเปอรคลาส/ซับคลาสจะตองมีซูเปอรคลาสเดียวเสมอ นอกจากนี้ความแตกตางระหวาง Shared subclass และ Category คือสําหรับเอนทิตีใน Shared subclass จะตองเปนเอนทิตีที่เปนซับเซตของอินเตอร เซกชัน (Intersection) ของซูเปอรคลาสทั้งหมด นั่นคือสมาชิกซับคลาสจะตองอยูในทุกซูเปอรคลาส ในขณะที่ เอนทิตีใน Category จะเปนสมาชิกของซูเปอรคลาสใดซูเปอรคลาสหนึ่งเทานั้น

รูปที่ 4.8 ตัวอยางประเภท ยูเนียน รูปที่ 4.9 แสดงตัวอยางแผนภาพอีอีอารของ UNIVERSITY และรูปที่ 4.10 แสดงการทําสเปเชียลไลเซชัน และ เจเนอรัลไลเซชัน

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

รูปที่ 4.9 แผนภาพอีอีอารของ ฐานขอมูล UNIVERSITY

รูปที่ 4.10 UML แสดงสเป เชียลไลเซชันและ เจเนอรัลไลเซชัน

4-9

2110422 การออกแบบระบบการจัดการฐานขอมูล ภาควิชาวิศวกรรมคอมพิวเตอร คณะวิศวกรรมศาสตร จุฬาลงกรณมหาวิทยาลัย

4-10

แบบฝกหัด 1.

อธิบายแนวคิดของแบบจําลองอีอีอาร (EER Model) วาเพิ่มเติมจากแบบจําลองอีอาร (ER Model) อยางไร 2. อธิบายเงื่อนไขบังคับของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน 3. อธิบายความสัมพันธของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน ในการทํางานแบบ Top-down และ Bottom-up 4. 5. 6.

อธิบายเงื่อนไขบังคับในการแทรก (Insertion) ของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน อธิบายเงื่อนไขบังคับในการลบ (Deletion) ของสเปเชียลไลเซชันและเจเนอรัลไลเซชัน อธิบายประโยชนของการนํา Category มาใชในความสัมพันธของซูเปอรคลาส/ซับคลาส

Related Documents


More Documents from ""