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 มาใชในความสัมพันธของซูเปอรคลาส/ซับคลาส