บทที่ 3...

31
59 แผนการสอนประจําบทเรียน รายชื่ออาจารยผูจัดทํา ชุติมณฑน บุญมาก รายละเอียดของเนื ้อหา ตอนที 3.1 แนวคิดเกี่ยวกับแบบจําลองความสัมพันธระหวางขอมูล เรื ่องที 3.1.1 Semantic โมเดล เรื ่องที 3.1.2 อี -อารโมเดล ตอนที 3.2 อี -อารโมเดลกับฐานขอมูลเชิงสัมพันธ เรื ่องที 3.2.1 การออกแบบฐานขอมูลดวยอี -อารโมเดล เรื ่องที 3.2.2 ปญหาจากการออกแบบฐานขอมูลดวยอี -อารโมเดล เรื ่องที 3.2.3 การแปลงฐานขอมูลที ่ออกแบบดวยอี -อารโมเดลเปนฐานขอมูลเชิงสัมพันธ แนวคิด 1. แบบจําลองความสัมพันธระหวางขอมูลเปนเครื่องมืออยางหนึ่งในการออกแบบฐานขอมูลใน ระดับแนวคิด โดยแสดงถึงรายละเอียดและความสัมพันธของขอมูลในลักษณะที่เปนภาพรวม ของฐานขอมูล ทําใหเปนประโยชนตอการรวบรวมและวิเคราะหขอมูล การกําหนดโครงสราง การเชื่อมโยงขอมูล และลดความซ้ ําซอนของขอมูล 2. อี -อารโมเดลเปนแบบจําลองขอมูลที่ไดรับความนิยมในงานออกแบบฐานขอมูล โดยนําเสนอ โครงสรางของฐานขอมูลในระดับแนวคิดออกมาในรูปของแผนภาพที่มีโครงสรางงายตอการทํา ความเขาใจ ทําใหเห็นภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีในระบบ ฐานขอมูล สวนฐานขอมูลเชิงสัมพันธเปนฐานขอมูลที่มีความงายตอการใชงาน ผูใชสามารถ ใชงานไดโดยไมจําเปนตองทราบเกี่ยวกับการจัดเก็บขอมูลในระดับกายภาพ การเรียกใชหรือ การเชื่อมโยงขอมูลก็สามารถทําไดงาย วัตถุประสงค หลังจากศึกษาบทเรียนที่ 3 แลว นักศึกษาสามารถ 1. บอกแนวคิดเกี่ยวกับแบบจําลองความสัมพันธระหวางขอมูลได 2. บอกความสัมพันธระหวางอี -อารโมเดลและฐานขอมูลเชิงสัมพันธได กิจกรรมการเรียนการสอน กิจกรรมที ่นักศึกษาตองทําสําหรับการเรียนการสอน ไดแก 1. ศึกษาเอกสารการสอนตอนที 3.1 และตอนที่ 3.2

Transcript of บทที่ 3...

Page 1: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

59

แผนการสอนประจําบทเรียน

รายชื่ออาจารยผูจัดทํา ชุติมณฑน บุญมาก รายละเอียดของเน้ือหา ตอนท่ี 3.1 แนวคิดเกี่ยวกับแบบจําลองความสัมพันธระหวางขอมูล

เร่ืองท่ี 3.1.1 Semantic โมเดล เร่ืองท่ี 3.1.2 อี-อารโมเดล

ตอนท่ี 3.2 อี-อารโมเดลกับฐานขอมูลเชิงสัมพันธ เร่ืองท่ี 3.2.1 การออกแบบฐานขอมลูดวยอี-อารโมเดล เร่ืองท่ี 3.2.2 ปญหาจากการออกแบบฐานขอมลูดวยอี-อารโมเดล เร่ืองท่ี 3.2.3 การแปลงฐานขอมูลท่ีออกแบบดวยอี-อารโมเดลเปนฐานขอมลูเชงิสัมพนัธ

แนวคิด 1. แบบจําลองความสัมพันธระหวางขอมูลเปนเครื่องมืออยางหนึ่งในการออกแบบฐานขอมูลในระดับแนวคิด โดยแสดงถึงรายละเอียดและความสัมพันธของขอมูลในลักษณะที่เปนภาพรวมของฐานขอมูล ทําใหเปนประโยชนตอการรวบรวมและวิเคราะหขอมลู การกําหนดโครงสรางการเชื่อมโยงขอมูล และลดความซํ้าซอนของขอมูล

2. อี-อารโมเดลเปนแบบจําลองขอมูลที่ไดรับความนิยมในงานออกแบบฐานขอมูล โดยนําเสนอโครงสรางของฐานขอมูลในระดับแนวคิดออกมาในรูปของแผนภาพที่มีโครงสรางงายตอการทําความเขาใจ ทําใหเห็นภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีในระบบฐานขอมูล สวนฐานขอมูลเชิงสัมพันธเปนฐานขอมูลที่มีความงายตอการใชงาน ผูใชสามารถ ใชงานไดโดยไมจําเปนตองทราบเกี่ยวกับการจัดเก็บขอมูลในระดับกายภาพ การเรียกใชหรือ การเชื่อมโยงขอมูลก็สามารถทําไดงาย

วัตถุประสงค หลังจากศึกษาบทเรียนที่ 3 แลว นักศึกษาสามารถ 1. บอกแนวคิดเกี่ยวกับแบบจําลองความสัมพันธระหวางขอมูลได 2. บอกความสัมพันธระหวางอี-อารโมเดลและฐานขอมูลเชิงสัมพันธได

กิจกรรมการเรียนการสอน กิจกรรมท่ีนักศึกษาตองทําสําหรับการเรียนการสอน ไดแก 1. ศึกษาเอกสารการสอนตอนท่ี 3.1 และตอนที ่3.2

Page 2: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

60

2. ทํากิจกรรมในแบบฝกปฏิบัติบทเรียนที่ 3 3. ทําแบบประเมินผลของบทเรียนที่ 3

สื่อการสอน เอกสารการสอน

1. เอกสารประกอบการสอน ประเมินผล

1. ประเมินผลจากกิจกรรมที่ทํา 2. ประเมินผลจากคําถามทายบทเรียน

Page 3: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

61

ตอนท่ี 3.1 แนวคิดเกี่ยวกับแบบจําลองความสัมพันธระหวางขอมูล

หัวเร่ือง เร่ืองท่ี 3.1.1 Semantic โมเดล เร่ืองท่ี 3.1.2 อี-อารโมเดล

แนวคิด 1. Semantic โมเดล เปนแบบจําลองขอมูลที่คิดคนขึ้นเพื่อแกไขขอจํากัดของแบบจําลองขอมูลในยุคแรก ๆ ซ่ึงมีเฉพาะรายละเอียดทางดานโครงสรางของฐานขอมลู แตขาดรายละเอียดเก่ียวกับความหมายของขอมลูภายในฐานขอมลู ทั้งนี้ ใน Semantic โมเดล มีการใหนิยามคําตาง ๆ คือ เอนทิต ีProperty ความสัมพันธ และ Subtype

2. อี-อารโมเดล เปนแบบจําลองความสัมพันธระหวางขอมูลที่ใชสัญลักษณตาง ๆ ในการเขียนแบบจําลองอยางเปนขั้นตอน ซึ่งผูสรางแบบจําลองตองนําแนวคิดในการออกแบบฐานขอมูลมาใชรวมกันดวย เพื่อใหรายละเอียดของขอมูลที่จะแปลงเปนฐานขอมูลรูปแบบตาง ๆ ประกอบดวยขอมูลที่เหมาะสม โดยแนวคิดที่เกี่ยวของกับอี-อารโมเดลประกอบดวย เอนทิต ี Property ความสัมพันธ Subtype และ Supertype รวมทั้งสัญลักษณที่ใชในอี-อารโมเดล

วัตถุประสงค หลังจากที่ศึกษาตอนที่ 3.1 แลว นักศึกษาสามารถ 1. บอกแนวคิดเกี่ยวกับ Semantic โมเดล ได 2. บอกแนวคิดเกี่ยวกับ อี-อาร โมเดล ได

เรื่องที่ 3.1.1 Semantic Model

ในการออกแบบฐานขอมลู นิยมใชแบบจําลองขอมูล (data model) เพ่ือนําเสนอรายละเอียดตาง ๆ เกี่ยวกับโครงสรางและความสัมพันธระหวางขอมูลภายในฐานขอมูลที่ออกแบบซึ่งอยูในรูปของแนวคิดหรือตรรกะ (logical) ที่ยากแกการเขาใจ ใหอยูในรูปแบบที่เปนมาตรฐานซึ่งผูใชในแตละระดับที่มีมุมมองตางกันสามารถเขาใจไดงายขึ้น

แบบจําลองขอมูลในระยะแรก ๆ จะมีการนําเสนอเฉพาะรายละเอียดเก่ียวกับโครงสรางของฐาน ขอมูล เชน การครบหนวยของขอมูล (atomic data values) การควบคุมบูรณภาพของขอมูล (integrity constraint) เปนตน โดยยังขาดการนําเสนอรายละเอียดเกี่ยวกับความหมายของขอมูลภายในฐานขอมูล เชน น้ําหนักและปริมาณของสินคามีความสัมพันธกันอยางไร โดเมน (domain) ของ ขอมูลสามารถมีคาใดไดบาง ขอมูลใดทําหนาที่เปนคียคูแขง (candidate key) หรือคียนอก (foreign key) เปนตน ดังน้ัน ในราวปลายป ค.ศ.1970 ถึงชวงตนป ค.ศ. 1980 จึงมีการนําเสนอแบบจําลองขอมูลที่เรียกวา Semantic โมเดล ขึ้น

Page 4: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

62

Semantic โมเดล เปนแบบจําลองขอมูลที่กลาวถึงแนวคิดหรือความหมายของคําตาง ๆ คือ เอนทิต ี(entity) Property ความสัมพันธ (relationship) และ Subtype ดังน้ี

1. เอนทิต ี

เอนทิต ี หมายถึง สิ่งที่สนใจสามารถระบุไดในความเปนจริง และตองการทําการจัดเก็บขอมูลท่ี เกี่ยวของดวย โดยสิ่งนั้นอาจเปนรูปธรรมที่สามารถมองเห็นได เชน หนังสือระบบฐานขอมลู นาย ศ. มหาวิทยาลัยเกษตรศาสตร เปนตน หรืออาจเปนนามธรรมที่ไมสามารถมองเห็นได เชน จํานวนวันลาพักผอนของพนักงาน วันหยุดราชการ เปนตน ก็ได

หากนําแตละเอนทิตีที่มีคุณสมบัติใด ๆ เหมือนกันมารวมกัน เอนทิตีเหลาน้ันเรียกวา Entity Type ซึ่งหมายถึง กลุมของเอนทิตีหรือกลุมของขอมูลที่มีคุณสมบัติเหมือนกัน เชน Entity Type นักศึกษา หมายถึง กลุมคนท่ีเปนนักศึกษาทุกคน Entity Type บุคคลสัญชาติไทย หมายถึง กลุมคนที่มีสัญชาติไทยทุกคน เปนตน

ทั้งนี้ เอนทิตีใดเอนทิตีหน่ึงท่ีกําลังสนใจ เรียกวา เอนทิตีท่ีปรากฏ (entity instance) ดังน้ัน ในหนึ่ง Entity Type จึงอาจมีเอนทิตีที่ปรากฏไดจํานวนมาก

2. Property

Property หมายถึง คุณสมบัติหรือคุณลักษณะของเอนทิตี ซึ่งแตละเอนทิตีใน Entity Type เดียวกันจะม ีProperty ตาง ๆ เหมือนกัน เชน Property ของ Entity Type นักศึกษาประกอบดวย รหัสประจําตัว ชื่อ-สกุล เพศ รหัสคณะ เปนตน

แมวาทุกเอนทิตีที่เปนสมาชิกของ Entity Type เดียวกันจะม ีProperty ตาง ๆ เหมือนกัน แตจะมี ขอมูลใน Property หน่ึงท่ีเปนเอกลักษณเฉพาะของแตละเอนทิตี เชน Property รหัสประจําตัวของ Entity Type นักศึกษาจะไมมีคาในแตละเอนทิตีท่ีซํ้ากันเลย เปนตน ซ่ึง Property ท่ีสามารถกําหนดเอกลักษณเฉพาะใหกับแตละเอนทิตีไดน้ีเรียกวา Identity

ภาพที่ 3.1 เอนทิต ีProperty และ Identity

Page 5: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

63

จากภาพที่ 3.1 Entity Type นักศึกษาประกอบดวย 4 เอนทิต ีแตละเอนทิตีประกอบดวย 4 Property คือ รหัสประจําตัว ชื่อ-สกุล เพศ และรหัสคณะ โดยมี Property รหัสประจําตัวเปน Identity

อยางไรก็ตาม หากพิจารณาดูจะพบวา แตละ Property ก็คือแตละแอททริบิวต (attribute) สวนแตละเอนทิตีก็คือแตละทูเพิล (tuple) ในแบบจําลองขอมูลเชิงสัมพันธ (relation data model) น่ันเอง หากทวา Semantic โมเดล ถูกนํามาใชเพื่อการออกแบบฐานขอมูลในระดับแนวคิดหรือตรรกะที่มีวัตถุประสงคเพื่อนําเสนอขอเท็จจริงตาง ๆ ที่เกี่ยวของกับขอมูล โดยยังไมมีการระบุโครงสรางของฐานขอมูลที่ใช ดังน้ัน จึงใช คําวา Property แทนคําวา แอททริบิวต และคําวา เอนทิต ีแทนคําวา ทูเพิล

3. ความสัมพันธ

ความสัมพันธ หมายถึง Entity Type ที่แสดงความสัมพันธระหวางสอง Entity Type ขึ้นไป เปนความสัมพันธที่สมาชิกของ Entity Type หน่ึงมีความสัมพันธกับสมาชิกของอีก Entity Type หนึ่ง โดยแตละความสัมพันธจะถูกระบุดวยชื่อที่อธิบายถึงความสัมพันธนั้น ๆ

ภาพที่ 3.2 ตัวอยางของความสัมพันธ จากภาพที่ 3.2 ความสัมพันธสังกัดเปน Entity Type ที่แสดงความสัมพันธระหวาง Entity Type นัก

ศึกษาและ Entity Type คณะ ซึ่งความสัมพันธสังกัดประกอบดวย 5 Property คือ รหัสประจําตัว ชื่อ-สกุล เพศ รหัสคณะ และช่ือคณะ โดยมี Property รหัสประจําตัวเปน Identity

Page 6: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

64

นอกจากความสัมพันธระหวาง Entity Type ที่ม ีProperty รวมกันจะเปนตัวกําหนดความสัมพันธขึ้นมาแลว ความสัมพันธอาจสรางขึ้นมาจาก Property ท่ีเปน Identity ของแตละ Entity Type ก็ได

ภาพที่ 3.3 ตัวอยางของความสัมพันธที่สรางจาก Identity ของแตละ Entity Type จากภาพที่ 3.3 ความสัมพันธที่ปรึกษาเปน Entity Type ที่สรางจาก Property รหัสประจําตัวซึ่งเปน

Identity ของ Entity Type นักศึกษา และ Property รหัสอาจารยซ่ึงเปน Identity ของ Entity Type อาจารย

4. Subtype

หาก Entity Type ใดมี Property ท่ีสามารถกําหนดเอกลักษณเฉพาะใหกับแตละเอนทิตีได และ ขอมูลทุกเอนทิตีใน Entity Type นั้นเปนขอมูลสวนหนึ่งใน Entity Type หลัก เรียก Entity Type น้ันวาเปน

Subtype ของ Entity Type หลัก ภาพที่ 3.4 ตัวอยางของ Subtype

Page 7: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

65

จากภาพที่ 3.4 Entity Type นักศึกษาหญิงและ Entity Type นักศึกษาชายเปน Subtype ของ Entity Type นักศึกษา โดยแตละเอนทิตีตางก็ม ีProperty รหัสประจําตัวเปน Identity

เรื่องที่ 3.1.2 อ-ีอารโมเดล

Entity-Relationship Model หรืออี-อารโมเดล เปนแบบจําลองขอมูลที่ไดรับการประยุกตมาจาก แนวคิดของ Semantic โมเดล และไดรับความนิยมอยางมากสําหรับนํามาใชเพื่อการออกแบบฐานขอมูลในระดับแนวคิด โดยอี-อารโมเดลเปนผลงานการพัฒนาของ Peter Pin Shan Chen จาก Massachusetts Institute of Technology ในป ค.ศ.1976

อี-อารโมเดล เปนแบบจําลองขอมูลซึ่งแสดงถึงโครงสรางของฐานขอมูลที่เปนอิสระจากซอฟตแวรที่จะใชในการพัฒนาฐานขอมูล รวมทั้งรายละเอียดและความสัมพันธระหวางขอมูลในระบบในลักษณะที่เปนภาพรวม ทําใหเปนประโยชนอยางมากตอการรวบรวมและวิเคราะหรายละเอียด ตลอดจนความสัมพันธของขอมูลตาง ๆ โดยอี-อารโมเดลมีการใชสัญลักษณตางๆ ที่เรียกวา Entity Relationship Diagram หรือ อี-อารไดอะแกรม แทนรูปแบบของขอมูลเชิงตรรกะขององคกร จึงทําใหบุคลากรที่เกี่ยวของกับระบบฐานขอมูลสามารถเขาใจลักษณะของขอมูลและความสัมพันธระหวางขอมูลไดงายและถูกตองตรงกัน ระบบท่ีไดรับ การออกแบบจงึมีความถูกตองและสอดคลองกับวัตถุประสงคขององคกร

ทั้งนี้ อี-อารโมเดลประกอบดวย 4 สวน คือ เอนทิต ี Property ความสัมพันธ Subtype และ Supertype

1. เอนทิต ี

เอนทิต ี หมายถึง สิ่งที่สนใจสามารถระบุไดในความเปนจริง และตองการเก็บรวบรวมขอมูลที่ เกี่ยวของดวยไวในฐานขอมูล โดยตัวอยางของเอนทิตีประเภทตาง ๆ เชน บุคคล สถานที่ ส่ิงของ หรือ เหตุการณ มีดังน้ี

- บุคคล ไดแก พนักงาน ผูปวย และ นักศึกษา เปนตน - สถานที่ ไดแก เขต จังหวัด และ ภาค เปนตน - วัตถุ ไดแก รถยนต อาคาร และ เคร่ืองจักร เปนตน - เหตุการณ ไดแก การลงทะเบียนเรียน ความชํานาญ เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปส่ีเหล่ียมผืนผา (rectangle) แทนหนึ่งเอนทิตี โดยมีชื่อของ เอนทิตีน้ัน ๆ กํากับอยูภายใน

ภาพที่ 3.5เอนทิตีสามารถจําแนกไดเปน 2 ประเภท คือ เอนท

นักศึกษ

เอนทิตีนักศึกษา ิตีปกต ิ(regular entity) และเอนทิตีออนแอ (weak entity)

Page 8: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

66

1.1 เอนทิตีปกต ิ เอนทิตีปกต ิหรือ Strong Entity หมายถึง เอนทิตีที่สนใจและตองการจัดเก็บขอมูลที่เกี่ยว

ของไวในระบบฐานขอมูล ซึ่งการคงอยูของเอนทิตีนี้ไมเกี่ยวของกับเอนทิตีอื่น โดยเอนทิตีนี้สามารถมีคุณสมบัติ Identity ไดตัวเอง

ในอี-อารไดอะแกรม สัญลักษณที่ใชแทนเอนทิตีปกติเปนเชนเดียวกับเอนทิตี ดังน้ัน เมื่อมีกลาวถึงเอนทิตีใด ๆ โดยไมมีการระบุรายละเอียดอื่น จึงมีหมายความถึงเอนทิตีปกตินั่นเอง

1.2 เอนทิตีออนแอ เอนทิตีออนแอ หมายถึง เอนทิตีที่มีการคงอยูเกี่ยวของกับเอนทิตีอื่นในระบบฐานขอมูล

โดยเอนทิตีอื่นที่มีความสัมพันธกับเอนทิตีนี้เรียกวา Parent Entity หรืออาจกลาวไดวา เอนทิตีออนแอจะไมมีความหมายหรือไมสามารถปรากฏในฐานขอมูลได หากปราศจาก Parent Entity ที่มีความสัมพันธเกี่ยวของกัน ซึ่งสมาชิกของเอนทิตีออนแอจะสามารถมีคุณสมบัติ Identity ไดก็ตอเม่ืออาศัย Property ใด Property หน่ึงของเอนทิตีปกติมาประกอบกับ Property ของเอนทิตีน้ัน ๆ

ในอี-อารไดอะแกรม ใชสัญลักษณรูปส่ีเหล่ียมผืนผาสองรูปซอนกัน (double rectangle) แทนหนึ่งเอนทิตีออนแอ โดยมีชื่อของเอนทิตีออนแอนั้น ๆ กํากับอยูภายใน

ภาพที่ 3.6 ตัวอยางของเอนทิตีออนแอ ทั้งนี้ ตัวอยางของเอนทิตีปกติและเอนทิตีออนแออาจอธิบายไดดังภาพที่ 3.7 คือ ใน

สถานศึกษา แหงหนึ่ง อาจารยแตละคนจะมีรหัสอาจารยที่ไมซ้ํากัน ดังน้ัน เอนทิตีอาจารยจะเปนเอนทิตีปกติที่ม ีProperty รหัสอาจารยเปน Identity

ในเอนทิตีตารางสอน อาจารยแตละคนอาจจะสอนชุดวิชาเดียวกันและหมูเรียนเดียวกัน หรือบางคนอาจจะสอนชุดวิชาเดียวกันแตคนละหมูเรียนก็ได ฉะน้ันหากไมมีเอนทิตีอาจารยก็จะไมสามารถทราบไดวา อาจารยคนใด สอนชดุวิชาใด หมูเรียนใด ในวัน/เวลาใด

นอกจากน้ี เอนทิตีตารางสอนจะสามารถมีคุณสมบัติ Identity ไดก็ตอเม่ืออาศัย Property รหสัอาจารยของเอนทิตีอาจารยซ่ึงเปนเอนทิตีปกติมาประกอบกับ Property วัน/เวลาสอนของ เอนทิตีตารางสอน ฉะน้ัน เอนทิตีตารางสอนจะไมสามารถคงอยูได หากปราศจากเอนทิตีอาจารย ดังน้ัน จึงกลาวไดวา เอนทิตีตารางสอนเปนเอนทิตีออนแอ

Page 9: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

67

ภาพที่ 3.7 ตัวอยางของเอนทิตีปกติและเอนทิตีออนแอ

2. Property

Property หมายถึง ขอมูลที่แสดงคุณสมบัติหรือคุณลักษณะของเอนทิตีหรือความสัมพันธ (มี ความหมายเชนเดียวกับแอททริบิวตในแบบจําลองขอมูลเชิงสัมพันธ) เชน Property ของเอนทิตีนักศึกษาประกอบดวย รหัสประจําตัว ชื่อ-สกุล เพศ รหัสคณะ เปนตน

ในอี-อารไดอะแกรมใชสัญลักษณรูปวงรี (ellipse) ที่มีชื่อของ Property นั้นกํากับอยูภายในแทนหนึ่ง Property และเชื่อมตอกับเอนทิตีที่มี Property น้ันดวยเสนตรง

ภาพที่ 3.8 Property ของเอนทิตีนักศึกษา Property สามารถจําแนกไดเปน 6 ประเภท คือ Simple Property, Composite Property, Key

Property, Single Property, Multi-Valued Property และ Derived Property

Page 10: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

68

2.1 Simple Property Simple Property หมายถึง Property ที่ไมสามารถแบงแยกยอยลงไปไดอีก เชน

Property ชื่อ นามสกุล และเพศ เปนตน ทั้งนี้ ในอี-อารไดอะแกรม สัญลักษณที่ใชแทน Simple Property เปนเชนเดียวกับ

Property

2.2 Composite Property Composite Property หมายถึง Property ที่มีลักษณะตรงขามกับ Simple Property คือ

สามารถแบงแยกยอยลงไปไดอีก เชน Property ชื่อ-สกุล สามารถแบงได 2 Simple Property คือ Property ชื่อ และนามสกุล หรือ Property ที่อยู สามารถแบงได 5 Simple Property คือ Property บานเลขท่ี ถนน แขวง เขต และจังหวัด เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปวงรีที่มีชื่อของ Property นั้นกํากับอยูภายในแทนหนึ่ง Composite Property และเชื่อมตอกับ Simple Property ท่ีจําแนกออกไปดวยเสนตรง

ภาพที่ 3.9 ตัวอยางของ Composite Property

2.3 Key Property Key Property หมายถึง Property หรือกลุมของ Property ที่มีคาของขอมูลในแตละ

สมาชิกของ เอนทิตีไมซํ้ากัน ทําใหสามารถระบุความแตกตางของแตละสมาชิกในเอนทิตีได เชน เอนทิตีนักศึกษาประกอบดวย Property รหัสประจําตัว ชื่อ-สกุล และที่อยู โดย Property ที่สามารถบอกความแตกตางของ นักศึกษาแตละคนได คือ รหัสประจําตัว ดังน้ัน Property รหัสประจําตัวจึงเปน Key Property ของเอนทิตี นักศึกษา เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปวงรีซึ่งภายในกํากับดวยชื่อของ Property ที่มีการ

Page 11: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

69

ขีดเสนใตแทน Key Property และเชื่อมตอกับเอนทิตีที่มี Property น้ันดวยเสนตรง ภาพที่ 3.10 ตัวอยางของ Key Property

2.4 Single-Valued Property Single-Valued Property หมายถึง Property ที่มีคาของขอมูลในแตละสมาชิกของเอนทิตี

ไดเพียง คาเดียว เชน บุคคลหนึ่งคนมีเพศเดียว Property เพศจึงเปน Single-Valued Property หรือพนักงานหน่ึงคนมีเงินเดือนเพียงคาเดียว Property เงินเดือนจึงเปน Single-Valued Property เปนตน

ทั้งนี้ ในอี-อารไดอะแกรม สัญลักษณที่ใชแทน Single-Valued Property จะเปนเชนเดียวกับ Property

2.5 Multi-Valued Property Multi-Valued Property หมายถึง Property ที่มีลักษณะตรงขามกับ Single-Valued

Property โดยเปน Property ที่สามารถมีคาของขอมูลในแตละสมาชิกของเอนทิตีไดหลายคา เชน บุคคลหน่ึงคนอาจมีวุฒิการศึกษาไดหลายระดับ Property วุฒิการศึกษาจึงเปน Multi-Valued Property หรือบานหลังหนึ่งอาจมีหลายเบอรโทรศัพท Property เบอรโทรศัพทจึงเปน Multi-Valued Property เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปวงรีที่มีชื่อของ Property นั้นกํากับอยูภายในแทนหนึ่ง Multi-Valued Property และเชื่อมตอกับเอนทิตีที่มี Property น้ันดวยเสนคู

ภาพที่ 3.11 ตัวอยางของ Multi-Valued Property

2.6 Derived Property Derived Property หมายถึง Property ที่คาของขอมูลในแตละสมาชิกของเอนทิตีไดมา

จากการนํา คาของขอมลูใน Property อื่นที่มีอยูในแตละสมาชิกของเอนทิตีมาทําการคํานวณ ซึ่งโดยทั่วไปไมจําเปนตองจัดเก็บ Property ประเภทนี้ไวในระบบฐานขอมูล เน่ืองจาก Property ประเภทน้ีมีการเปล่ียนแปลงคาของ ขอมลูในแตละสมาชิกของเอนทิตีทุกคร้ัง เมื่อมีการเปลี่ยนแปลงคาของขอมูลใน Property ที่ถูกนํามา

Page 12: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

70

คํานวณของแตละสมาชิกในเอนทิตี เชน Property อายุปจจุบันสามารถคํานวณไดจาก Property วัน/เดือน/ปเกิด เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปวงรี ที่มีชื่อของ Property นั้นกํากับอยูภายในแทนหนึ่ง Derived Property และเชื่อมตอกับเอนทิตีที่มี Property น้ันดวยเสนประ

ภาพที่ 3.12 ตัวอยางของ Derived Property

3. ความสัมพันธ

ความสัมพันธ หมายถึง เอนทิตีที่แสดงความสัมพันธระหวางสองเอนทิตีขึ้นไป ซึ่งโดยทั่วไป เปนความสัมพันธระหวางเอนทิตีที่มี Property รวมกัน โดยแตละความสัมพันธจะถูกระบุดวยชื่อที่อธิบายถึงความสัมพันธนั้น ๆ เชน ความสัมพันธสังกัดแสดงความสัมพันธระหวางเอนทิตีนักศึกษาและเอนทิตีคณะ เปนตน

ในอี-อารไดอะแกรม ใชสัญลักษณรูปสี่เหลี่ยมขาวหลามตัด (diamond) ที่มีชื่อของความสัมพันธนั้น

กํากับอยูภายในแทนหนึ่งความสัมพันธ และเชื่อมตอกับเอนทิตีที่เกี่ยวของกับความสัมพันธนั้นดวยเสนตรง

ภาพที่ 3.13 ความสัมพันธระหวางเอนทิตีนักศึกษาและเอนทิตีคณะ นอกจากความสัมพันธระหวางเอนทิตีที่มี Property รวมกันจะเปนตัวกําหนดความสัมพันธขึ้นมาแลว

ความสัมพันธอาจสรางขึ้นมาจาก Key Property ของเอนทิตีที่มีความสัมพันธกัน โดยความสัมพันธนั้นอาจมี Property ของตนเองก็ได เชน ความสัมพันธการลงทะเบียนแสดงความสัมพันธระหวางเอนทิตี นักศึกษาและเอนทิตีชุดวิชา รวมทั้งผลการสอบในแตละชุดวิชาของนักศึกษาแตละคน เปนตน

Page 13: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

71

ภาพที่ 3.14 ความสัมพันธที่สรางจาก Key Property ของเอนทิตีที่มีความสัมพันธกัน ความสัมพันธระหวางเอนทิตีใด ๆ อาจมีมากกวาหนึ่งความสัมพันธก็ได เชน ความสัมพันธการสอน

และความสัมพันธการจัดการแสดงความสัมพันธระหวางเอนทิตีอาจารยและเอนทิตีชุดวิชา เปนตน

ภาพที่ 3.15 ความสัมพันธมากกวาหนึ่งความสัมพันธ เอนทิตีที่เกี่ยวของกับความสัมพันธเรียกวา Participant ของความสัมพันธ และจาํนวนของ

Participant ในความสัมพันธเรียกวา Degree ของความสัมพันธ (มีความหมายแตกตางไปจาก Degree ในแบบจําลองขอมูลเชิงสัมพันธ) ทั้งนี้ เอนทิตีซ่ึงเปน Participant ของความสัมพันธอาจมีสวนรวมใน ความสัมพันธที่สามารถจําแนกได 2 ลักษณะ คือ แบบ Total Participation และแบบ Partial Participation

แบบ Total Participation เปนความสัมพันธที่ทุกสมาชิกในเอนทีตีหนึ่งจะมีขอมูลใน Property หนึ่งที่มีความสัมพันธกับขอมูลในอีกหนึ่งเอนทิตี เชน อาจารยทุกคนตองสังกัดคณะใดคณะหน่ึงเทาน้ัน ดังน้ัน แตละสมาชิกในเอนทิตีอาจารยจะมีความสัมพันธกับเอนทิตีคณะ เปนตน ในอี-อารไดอะแกรม การระบุความสัมพันธแบบ Total Participation ใชสัญลักษณเสนคู เพื่อเชื่อมตอระหวางความสัมพันธกับเอนทิตีที่ทุกสมาชิกมีความสัมพันธกับอีกเอนทิตีหนึ่ง

ภาพที่ 3.16 ความสัมพันธแบบ Total Participation แบบ Partial Participation เปนความสัมพันธที่บางสมาชิกในเอนทีตีหนึ่งเทานั้นจะมีขอมูลใน

Property หนึ่งที่มีความสัมพันธกับขอมูลในอีกหนึ่งเอนทิตี เชน มีนักศึกษาเพียงบางคนเทานั้นที่เปนผูแทนนักศึกษาในแตละคณะ ดังน้ัน จะมีเพียงบางสมาชิกในเอนทิตีนักศึกษาเทานั้นที่มีความสัมพันธกับเอนทิตีคณะ เปนตน

Page 14: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

72

ในอี-อารไดอะแกรม การระบุความสัมพันธแบบ Partial Participation ใชสัญลักษณเชนเดียวกับ การแสดงความสัมพันธระหวางเอนทิตีใด ๆ ที่เกี่ยวของ

ภาพที่ 3.17 ความสัมพันธแบบ Partial Participation ความสัมพันธมีหลายประเภทขึ้นอยูกับปจจัยที่ใชในการจําแนกประเภทของความสัมพันธ ซึ่งม ี 2

ปจจัย คือ ความสัมพันธระหวางเอนทิต ีและจํานวนเอนทิตีที่เกี่ยวของ

3.1 ความสัมพันธระหวางเอนทิต ีการจําแนกประเภทของความสัมพันธตามความสัมพันธระหวางเอนทิตี เปนการพิจารณา

ถึงสัดสวนความสัมพันธระหวางสมาชิกในเอนทิตีที่เปน Participant ของความสัมพันธซึ่งอาจเรียกอีกอยางหนึ่งวา Cardinality Ratio

วิธีนี้สามารถจําแนกความสัมพันธไดเปน 3 ประเภท คือ ความสัมพันธแบบหนึ่งตอหนึ่ง (one to one relationship) ความสัมพันธแบบหนึ่งตอกลุม (one to many relationship) และ ความสัมพันธแบบกลุมตอกลุม (many to many relationship)

ความสัมพันธแบบหนึ่งตอหนึ่ง หมายถึง ความสัมพันธที่แตละสมาชิกในเอนทิตีหนึ่งมี ความสัมพันธกับสมาชิกในอีกหน่ึงเอนทิตีเพียงสมาชิกเดียว หรือกลาวไดวา ความสัมพันธดังกลาวเปนแบบหนึ่งตอหนึ่ง เชน เอนทิตีอาจารยและเอนทิตีคณะ มีความสัมพันธกันแบบหนึ่งตอหนึ่ง กลาวคือ แตละคณะมีคณบดีเพียงหน่ึงคนเทาน้ัน และมีอาจารยเพียงหน่ึงคนเทาน้ันท่ีเปนคณบดี เปนตน ในอี-อารไดอะแกรมใชสัญลักษณ 1:1 กํากับเหนือเสนที่เชื่อมตอระหวางความสัมพันธและเอนทิตีที่เกี่ยวของ

กับความสัมพันธนั้น ภาพที่ 3.18 ความสัมพันธแบบหนึ่งตอหนึ่ง

ความสัมพันธแบบหนึ่งตอกลุม หมายถึง ความสัมพันธที่แตละสมาชิกในเอนทิตีหนึ่งมี ความสัมพันธกับสมาชิกในอีกหนึ่งเอนทิตีมากกวาหนึ่งสมาชิก หรือกลาวไดวา ความสัมพันธดังกลาวเปนแบบหนึ่งตอกลุม เชน เอนทิตีคณะและเอนทิตีนักศึกษามีความสัมพันธกันแบบหนึ่งตอกลุม กลาวคือ นักศึกษาแตละคนมีสังกัดเพียงคณะเดียว และหน่ึงคณะอาจมีนักศึกษาในสังกัดไดหลายคน ในอี-อารไดอะแกรมใชสัญลักษณ 1:M กํากับเหนือเสนที่เชื่อมตอระหวางความสัมพันธและ เอนทิตีที่เกี่ยวของกับความสัมพันธ น้ัน

Page 15: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

73

ภาพที่ 3.19 ความสัมพันธแบบหนึ่งตอกลุม จากภาพที่ 3.19 เอนทิตีคณะและเอนทิตีนักศึกษามีความสัมพันธกันแบบหนึ่งตอกลุม

และเปน ความสัมพันธแบบ Total Participation ความสัมพันธแบบกลุมตอกลุม หมายถึง ความสัมพันธที่สมาชิกมากกวาหนึ่งสมาชิก

ใน เอนทิตีหนึ่งมีความสัมพันธกับสมาชิกในอีกหนึ่งเอนทิตีมากกวาหนึ่งสมาชิก หรือกลาวไดวา ความสัมพนัธ ดังกลาวเปนแบบกลุมตอกลุม เชน เอนทิตีนักศึกษาและเอนทิตีชุดวิชามีความสัมพันธกันแบบกลุมตอกลุม กลาวคือ นักศึกษาแตละคนสามารถลงทะเบียนเรียนไดหลายชุดวิชา และแตละชุดวิชาสามารถมีนักศึกษาลงทะเบียนเรียนไดหลายคน

ในอี-อารไดอะแกรม ใชสัญลักษณ M:M กํากับเหนือเสนที่เชื่อมตอระหวางความสัมพันธ

และเอนทิตีที่เกี่ยวของกับความสัมพันธ น้ัน ภาพที่ 3.20 ความสัมพันธแบบกลุมตอกลุม

3.2 จํานวนเอนทิตีที่เกี่ยวของ การจําแนกประเภทของความสัมพันธตามจํานวนเอนทิตีที่เกี่ยวของ เปนการพิจารณาถึง

จํานวนของ Participant ใน ความสัมพันธ หรือ Degree ของ ความสัมพันธ วิธีนี้สามารถจําแนกความสัมพันธ ได 2 ประเภท คือ ความสัมพันธแบบ Binary และ

ความสัมพันธแบบ N-ary ความสัมพันธแบบ Binary เปนความสัมพันธที่พบไดบอยที่สุด โดยเปนความสัมพันธ

ที่แสดงความสัมพันธระหวางสองเอนทิตีใด ๆ เชน ความสัมพันธที่ปรึกษาแสดงความสัมพันธระหวางเอนทิตีอาจารยที่ปรึกษากับเอนทิตีนักศึกษา

ความสัมพันธแบบ N–ary เปนความสัมพันธที่แสดงความสัมพันธระหวางสองเอนทิตีขึ้นไป เชน ความสัมพนัธตารางเรียนแสดงความสัมพนัธระหวางเอนทิตีอาจารย เอนทิตีชุดวิชาที่สอน และเอนทิต ีชั้นเรียน

Page 16: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

74

ภาพที่ 3.21 ความสัมพันธแบบ N-ary นอกจากประเภทของความสัมพันธขางตน ยังมีลักษณะอ่ืน ๆ ที่เกี่ยวของกับความ

สัมพันธอีก คือ Existence Dependency ความสัมพันธแบบ Recursive และ Composite Entity Existence Dependency เปนความสัมพันธที่การเกิดขึ้นและคงอยูของเอนทิตีหนึ่งขึ้นอยู

กับการคงอยูของอีกเอนทิตีหนึ่งที่มีความสัมพันธกัน กลาวคือ เปนความสัมพนัธระหวางเอนทิตีปกติและเอนทีตีออนแอ เชน ความสัมพันธแบบหนึ่งตอกลุมของเอนทิตีอาจารยซึ่งเปนเอนทิตีปกติและเอนทิตีตารางสอนซึ่งเปนเอนทิตีออนแอดังภาพท่ี 3.7 ซ่ึงเอนทิตีตารางสอนจะเกิดข้ึนและคงอยูไดก็ตอเม่ือมีการกําหนดเอนทิตีอาจารยขึ้นมากอน

ในอี-อารไดอะแกรม สัญลักษณที่ใชแทนความสัมพันธแบบ Existence Dependency จะเปนรูปส่ีเหล่ียมขาวหลามตัดสองรูปซอนกัน

ภาพที่ 3.22 ความสัมพันธ แบบ Existence Dependency จากภาพที่ 3.22 เอนทิตีอาจารยและเอนทิตีตารางสอนมีความสัมพนัธกันแบบหน่ึงตอ

กลุมและเปนความสัมพันธแบบ Total Participation ความสัมพันธแบบ Recursive เปนความสัมพนัธท่ีเกิดจากเอนทิตีเพียงเอนทิตีเดียว

เชน ในหองเรียนมีนักศึกษาหลายคน แตมีนักศึกษาเพียงหนึ่งคนเทานั้นที่เปนหัวหนาหอง และหัวหนาหองเปนผูประสานงานกับนักศึกษาหลายคน

ภาพที่ 3.23 ความสัมพันธแบบ Recursive Composite Entities เปนเอนทิตีที่ถูกสรางขึ้นมาเพื่อใชในการแปลงความสัมพันธ

ระหวาง เอนทิตีแบบกลุมตอกลุมใหเปนความสัมพันธแบบหนึ่งตอกลุม เนื่องจากความสัมพันธระหวางเอนทิตีแบบกลุมตอกลุม มักจะกอใหเกิดความยุงยากเกี่ยวกับความซ้ําซอนในการแกไขปรับปรุงขอมูลในการออกแบบฐานขอมูล ดังน้ัน จึงมีการสรางเอนทิตีใหมขึ้นเรียกวา Composite Entity หรือ Gerund

Page 17: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

75

การสราง Composite Entity ซึ่งเปนเอนทิตีที่เชื่อมความสัมพันธระหวางสองเอนทิตีเดิมซ่ึงเปน ความสัมพันธแบบกลุมตอกลุมใหเปนความสัมพันธแบบหนึ่งตอกลุม ทําไดโดยนํา Key Property ของทั้งสองเอนทิตีที่มีความสัมพันธกันแบบกลุมตอกลุมมารวมกับ Property อ่ืนท่ีสนใจเปน Property ของ Composite Entity และกําหนดให Key Property ของทั้งสองเอนทิตีที่มีความสัมพันธกันแบบกลุมตอกลุมเปน Key Property ของ Composite Entity

ในอี-อารไดอะแกรม ใชสัญลักษณรูปสี่เหลี่ยมขาวหลามตัดบรรจุในรูปสี่เหลี่ยมผืนผาที่มีชื่อของ Composite Entity นั้นกํากับอยูภายในแทนหนึ่ง Composite Entity

ตัวอยางเชน เอนทิตีนักศึกษาและเอนทิตีชุดวิชามีความสัมพันธกันแบบกลุมตอกลุม กลาวคือ นักศึกษาแตละคนสามารถลงทะเบียนเรียนไดหลายชุดวิชา และแตละชุดวิชาสามารถมีนักศึกษาลงทะเบียนเรียนไดหลายคน ดังภาพที่ 3.24 การแปลงความสัมพันธระหวางเอนทิตีนักศึกษาและเอนทิตีชุดวิชาจาก ความสัมพันธแบบกลุมตอกลุมใหเปนความสัมพันธแบบหนึ่งตอกลุมสามารถทําไดโดย การสราง Composite Entity การเรียน ซ่ึงประกอบดวย Property ตาง ๆ คือ รหัสประจําตัว (key property ของเอนทิตีนักศึกษา) รหัสชุดวิชา (key property ของเอนทิตีชุดวิชา) และ Property อ่ืนท่ีสนใจ โดย Composite Entity

การเรียน จะม ีProperty รหัสประจําตัวและรหัสชุดวิชาเปน Key Property

ภาพที่ 3.24 Composite Property การเรียน

4. Subtype และ Supertype

หากเอนทิตีใดสามารถจําแนกออกเปนเอนทิตียอย ๆ ได โดยแตละสมาชิกในเอนทิตียอยนั้นสามารถมีคุณสมบัติ Identity ไดดวยตัวเอง เอนทิตีหลักที่ถูกนํามาจําแนกจะเรียกวา Supertype สวนเอนทิตียอยท่ีจําแนกออกมาจะเรียกวา Subtype หรืออีกนัยหนึ่งอาจกลาวไดวา เอนทิตีหน่ึงจะเปน Subtype ของอีกเอนทิตีหนึ่งที่เปน Supertype ก็ตอเมือ่ Subtype ประกอบดวยทุก Property ที่มีใน Supertype โดย Subtype สามารถม ีProperty เพิ่มเติมจาก Supertype ได

ตัวอยางเชน เอนทิตีนักศึกษาประกอบดวย 4 Property คือ รหัสประจําตัว ชื่อ-สกุล เพศ และรหัสคณะ โดยมี Property รหัสประจําตัวเปน Identity สวนเอนทิตีนักศึกษาภาคปกติซ่ึงเปน Subtype ของ Supertype เอนทิตีนักศึกษาอาจประกอบดวย 6 Property คือ รหัสประจําตัว ชื่อ-สกุล เพศ รหัสคณะ ผูสนับสนุนการศึกษา และจํานวนเงินท่ีไดรับตอเดือน โดยมี Property รหัสประจําตัวเปน Identity และเอนทิตีนักศึกษาภาคพิเศษซ่ึงเปน Subtype ของ Supertype เอนทิตีนักศึกษาอาจประกอบดวย 7 Property คือ รหัส

Page 18: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

76

ประจําตัว ชื่อ-สกุล เพศ รหัสคณะ ตําแหนงงาน สถานท่ีทํางาน และเงินเดือน โดยมี Property รหัส ประจําตัวเปน Identity เปนตน

ภาพที่ 3.25 ภาพแสดง Subtype และ Supertype

Page 19: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

77

ตอนท่ี 3.2 อ-ีอารโมเดลกับฐานขอมูลเชิงสัมพันธ

หัวเร่ือง เร่ืองท่ี 3.2.1 การออกแบบฐานขอมลูดวยอี-อารโมเดล เร่ืองท่ี 3.2.2 ปญหาจากการออกแบบฐานขอมลูดวยอี-อารโมเดล เร่ืองท่ี 3.2.3 การแปลงฐานขอมูลท่ีออกแบบดวยอี-อารโมเดลเปนฐานขอมลูเชงิสัมพนัธ

แนวคิด 1. การออกแบบฐานขอมลูดวยอี-อารโมเดลประกอบดวย 6 ขั้นตอน คือ การศึกษารายละเอียดและลักษณะหนาท่ีงานของระบบ การกําหนดเอนทิตีที่ควรมีในระบบฐานขอมูล การกําหนดความสัมพันธระหวางเอนทิต ีการกําหนดคุณลักษณะของเอนทิตี การกําหนดคียหลักของแตละเอนทิต ีและการนําสัญลักษณท่ีใชในอี-อารโมเดลมาอธิบายความสัมพันธระหวางขอมลู

2. ปญหาจากการออกแบบฐานขอมลูดวยอี-อารโมเดลสวนมากมักเกิดจากการสรางความสัมพันธระหวางเอนทิตี ตัวอยางเชน ปญหา Fan Trap เปนเร่ืองเก่ียวกับลักษณะการจัดความสัมพันธระหวางเอนทิตีทําใหเกิดความไมชัดเจนในการแสดงขอมูลที่สนใจออกมา ซ่ึงเกิดจากการท่ี เอนทิตีหนึ่งมีความสัมพันธแบบหนึ่งตอกลุมกับเอนทิตีอื่นตั้งแตสองเอนทิตีขึ้นไป และปญหา Chasm Trap ซึ่งเกิดจากการที่เอนทีตีหนึ่งมีความสัมพันธกับเอนทิตีอื่นตั้งแตสองเอนทิตีขึ้นไป แตไมสามารถเชื่อมโยงความสัมพันธระหวางขอมูลได

3. การแปลงฐานขอมูลท่ีออกแบบดวยอี-อารโมเดลเปนฐานขอมลูเชงิสัมพนัธ ประกอบดวย 3 ขั้นตอน คือ ขั้นที่หนึ่ง การแปลงเอนทิตีในอี-อารโมเดลใหเปนรีเลชัน และการแปลงความสัมพันธระหวางเอนทิตีเปนความสัมพันธระหวางรีเลชัน ข้ันท่ีสอง การแปลงรายละเอียดของเอนทิตีใหเปนแอททริบิวตของรีเลชัน รวมทั้งการกําหนดคียหลักและคียนอกของแตละรีเลชัน และขั้น ที่สาม การพิจารณาเคารางขอมูลในแตละรีเลชันท่ีไดจากสองข้ันตอนแรก

วัตถุประสงค หลังจากศึกษาตอนที่ 3.2 แลว นักศึกษาสามารถ 1. บอกข้ันตอนการออกแบบฐานขอมลูดวยอี-อารโมเดลได 2. บอกตัวอยางของปญหาจากการออกแบบฐานขอมลูดวยอี-อารโมเดลได 3. บอกข้ันตอนการแปลงฐานขอมูลท่ีออกแบบดวยอี-อารโมเดลเปนฐานขอมลูเชงิสัมพนัธได

เรื่องที่ 3.2.1 การออกแบบฐานขอมูลดวยอ-ีอารโมเดล

ในการออกแบบฐานขอมูลจําเปนตองทําการศึกษาคุณสมบัติและความสัมพันธระหวางขอมูลที่มีอยูในระบบเพื่อใหไดมาซึ่งโครงสรางพื้นฐานของฐานขอมูล ซึ่งโดยทั่วไปมักดําเนินการโดยการใชแบบจําลอง ขอมูล

Page 20: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

78

อี-อารโมเดลเปนแบบจําลองขอมูลที่ไดรับความนิยมมากในการใชเปนเครื่องมือสําหรับงานออกแบบฐานขอมูล โดยอี-อารโมเดลจะเสนอโครงสรางของฐานขอมลูในระดับแนวคิดออกมาในรูปของแผนภาพท่ีมีโครงสรางงายตอการทําความเขาใจ ทําใหเห็นภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีในระบบฐานขอมูล

1. ขั้นตอนการออกแบบฐานขอมูลดวยอี-อารโมเดล

การออกแบบฐานขอมลูดวยอี-อารโมเดลประกอบดวยข้ันตอนตาง ๆ ดังน้ีคือ

1. การศึกษารายละเอียดและลักษณะหนาที่งานของระบบ การศึกษารายละเอียดและลักษณะหนาท่ีงานของระบบเปนการศึกษาและรวบรวมราย

ละเอียด เก่ียวกับลักษณะหนาท่ีงานของระบบ ขอมูลที่เกี่ยวของ ข้ันตอนในการทํางาน ตลอดจนขอกําหนดและสมมติฐานตาง ๆ ซึ่งอาจทําไดดวยการสัมภาษณหรือศึกษาจากแบบฟอรมตาง ๆ ที่มีการใชงานอยูในระบบงานขณะน้ัน

2. การกําหนดเอนทิตีที่ควรมีในระบบฐานขอมูล เน่ืองจากฐานขอมูลหน่ึง ๆ อาจประกอบดวยเอนทิตีตาง ๆ ไดจํานวนมาก ดังน้ัน ขั้น

ตอนน้ีจึงเปนการนํารายละเอียดในขอ 1 มาทําการกําหนดเอนทิตีที่จําเปนตองมีอยูในระบบฐานขอมูล โดยคํานึงถึงการเปนเอนทิตีประเภทออนแอ ตลอดจน Supertype หรือ Subtype ดวย

3. การกําหนดความสัมพันธระหวางเอนทิตี การกําหนดความสัมพันธระหวางเอนทิตีเปนการกําหนดประเภทของความสัมพันธ

ระหวางเอนทิตี โดยพิจารณาจากขอกําหนดและสมมติฐานตาง ๆ ที่ไดทําการศึกษามาในขอ 1

3.1 การกําหนดคุณลักษณะของเอนทิต ี การกําหนดคุณลักษณะของเอนทิตีเปนการกําหนดวา แตละเอนทิตีควรประกอบดวย

Property ใดบาง Property ใดที่มีคุณสมบัติเปน Key Property หรือ Composite Property หรือ Derived Property

การกําหนดคียหลักของแตละเอนทิตี การกําหนดคียหลักของแตละเอนทิตีเปนการกําหนด Key Property ของแตละเอนทิตี

เพ่ือใหแตละสมาชิกในเอนทิตีสามารถมีคุณสมบัติเปนเอกลักษณเฉพาะได

3.3 การนําสัญลักษณที่ใชในอ-ีอารโมเดลมาอธิบายความสัมพันธระหวางขอมูล การนําสัญลักษณท่ีใชในอี-อารโมเดลมาอธิบายความสัมพันธระหวางขอมูลเปนการนํา

รายละเอียดในขั้นตอนตาง ๆ มาพิจารณาทบทวนเพ่ือเพ่ิมหรือลดเอนทิตี Property และความสัมพันธตาง ๆ จากนั้นจึงนําขอมูลที่ไดจากขั้นตอนทั้งหมดมาเขียนเปนแบบจําลองเพื่ออธิบายความสัมพันธระหวางขอมูล

Page 21: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

79

ดวยสัญลักษณตาง ๆ หรืออี-อารไดอะแกรม ดังน้ัน แบบจําลองขอมูลที่เกิดขึ้นจึงมีความชัดเจน สอดคลอง ถูกตองและเหมาะสมกับองคประกอบของงานที่กําลังศึกษาทําใหเปนที่ยอมรับของทุกฝายที่เกี่ยวของ

2. ตัวอยางการออกแบบฐานขอมูลดวยอ-ีอารโมเดล

เพ่ือแสดงใหเห็นถึงข้ันตอนการออกแบบฐานขอมูลดวยอี-อารโมเดล ในที่นี้ขอนําตัวอยางภาระงานสอนของอาจารยในสถาบันการศึกษาแหงหน่ึงมาประกอบดังน้ี

การศึกษารายละเอียดและลักษณะหนาที่งานของระบบ สถาบันการศึกษาแหงหน่ึงเปดทําการสอนโดยแบงเปน 3 คณะ คือ คณะเกษตร คณะ

วิทยาศาสตร และคณะศึกษาศาสตร ในแตละคณะประกอบดวยภาควิชาตาง ๆ และในแตละภาควิชาประกอบดวยอาจารยไดหลายคน โดยอาจารยแตละคนจะสังกัดภาควิชาใดภาควิชาหนึ่งเทานั้น และมีอาจารยเพียงคนเดียวเทานั้นที่อยูในตําแหนงหัวหนาภาควิชาทําหนาที่บริหารงานภาควิชา โดยในแตละภาควิชาจะเปดทําการสอนไดหลายชุดวิชา ซึ่งอาจารยแตละคนจะตองสอนไมนอยกวา 2 ชุดวิชา

การกําหนดเอนทิตีที่ควรมีในระบบฐานขอมูล เอนทิตีคณะเปนเอนทิตีท่ีแสดงรายละเอียดของแตละคณะ เอนทิตีภาควิชาเปนเอนทิตีท่ีแสดงรายละเอียดของแตละภาควิชา เอนทิตีอาจารยเปนเอนทิตีท่ีแสดงรายละเอียดของอาจารยแตละคน เอนทิตีชุดวิชาเปนเอนทิตีท่ีแสดงรายละเอียดของแตละชุดวิชา

การกําหนดความสัมพันธระหวางเอนทิตี ความสัมพนัธสังกัด เปนความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะและเอนทิตีภาควิชา เนื่องจากในแตละคณะสามารถมีไดหลายภาควิชา และขอมูลในเอนทิตีภาควิชาจะมีความสัมพันธกับเอนทิตีคณะแบบ Total Participation เนื่องจากแตละภาควิชาจะตองสังกัดคณะใดคณะหนึ่ง

ภาพที่ 3.26 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะและเอนทิตีภาควิชา ความสัมพนัธสังกัด เปนความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีอาจารย เนื่องจากในแตละภาควิชาสามารถมีอาจารยไดหลายคน และขอมูลในเอนทิตีอาจารยจะมี ความสัมพันธกับเอนทิตีภาควิชาแบบ Total Participation เนื่องจากอาจารยแตละคนจะตองสังกัดภาควิชาใดภาควิชาหนึ่ง

Page 22: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

80

ภาพที่ 3.27 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีอาจารย ความสัมพันธหัวหนาภาค เปนความสัมพันธแบบ Recursive เนื่องจากในหนึ่งภาควิชามีอาจารยไดหลายคน แตมีอาจารยเพียงหนึ่งคนเทานั้นที่ทําหนาที่หัวหนาภาควิชา

ภาพที่ 3.28 ความสัมพันธแบบ Recursive ของเอนทิตีอาจารย

ความสัมพนัธสังกัด เปนความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตี ชุดวิชา เนื่องจากในแตละภาควิชาสามารถเปดสอนไดหลายชุดวิชา และขอมูลของเอนทิตีชุดวิชามี ความสัมพันธกับเอนทิตีภาควิชาแบบ Total Participation เนื่องจากแตละชุดวิชาจะตองสังกัดภาควิชาใด ภาควิชาหนึ่ง

ภาพที่ 3.29 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีชุดวิชา ความสัมพันธการสอน เปนความสัมพันธแบบกลุมตอกลุมระหวางเอนทิตีชุดวิชาและเอนทิตีอาจารย โดยขอมูลของเอนทิตีอาจารยมีความสัมพันธกับเอนทิตีชุดวิชาแบบ Total Participation เนื่องจากในแตละชุดวิชาสามารถมีอาจารยผูสอนไดหลายคน และอาจารยแตละคนจะตองสอนอยางนอย 2 ชุดวิชา

ภาพที่ 3.30 ความสัมพันธแบบกลุมตอกลุมระหวางเอนทิตีชุดวิชาและเอนทิตีอาจารย เน่ืองจากความสัมพันธการสอนความสัมพันธการสอนเปนความสัมพันธแบบกลุมตอกลุม

ระหวางเอนทิตีชุดวิชาและเอนทิตีอาจารย ดังน้ัน จึงแปลงความสัมพันธดังกลาวเปนความสัมพันธระหวางเอนทิตีแบบหนึ่งตอกลุมดวยการสราง Composite Entity การสอน

Page 23: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

81

ภาพที่ 3.31 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีชุดวิชากับ Composite Entity การสอนและเอนทิตีอาจารยกับ Composite Entity การสอน

4. การกําหนดคุณลักษณะของเอนทิต ี

เอนทิตีคณะ ประกอบดวย Property รหัสคณะ ช่ือคณะ

ภาพที่ 3.32 เอนทิตีคณะ เอนทิตีภาควิชา ประกอบดวย Property รหัสภาควิชา ชื่อภาควิชา ที่ทําการ

ภาพที่ 3.33 เอนทิตีภาควิชา เอนทิตีอาจารย ประกอบดวย Property รหัสอาจารย ชือ่อาจารย วันที่เริ่มทํางาน เงินเดือน

ภาพที่ 3.34 เอนทิตีอาจารย เอนทิตีชุดวิชา ประกอบดวย Property รหัสชุดวิชา ชื่อชุดวิชา จํานวนหนวยกิต

ภาพที่ 3.35 เอนทิตีชุดวิชา

Page 24: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

82

ดังน้ัน Composite Entity การสอน จะประกอบดวย Property รหัสชุดวิชา รหัสอาจารย

5. การกําหนดคียหลักของแตละเอนทิตี

เอนทิตีคณะ มีรหัสคณะเปนคียหลัก เอนทิตีภาควิชา มีรหัสภาควิชาเปนคียหลัก เอนทิตีอาจารย มีรหัสอาจารยเปนคียหลัก เอนทิตีชุดวิชา มีรหัสชุดวิชาเปนคียหลัก ทั้งนี้ Composite Entity การสอน จะมีรหัสชุดวิชาและรหัสอาจารยเปนคียหลัก

6. การนําสัญลักษณที่ใชในอ-ีอารโมเดล มาอธิบายความสัมพันธระหวางขอมูล

ภาพที่ 3.36 อี-อารไดอะแกรมภาระงานสอนของอาจารย ปญหาท่ีอาจเกิดข้ึนจากการออกแบบฐานขอมูลดวยอี-อารโมเดลมักเปนเร่ืองเก่ียวกับการสราง

ความสัมพันธระหวางเอนทิต ีตัวอยางเชน ปญหา Fan Trap และ Chasm Trap

1. Fan Trap

Fan Trap เปนปญหาที่เกี่ยวของกับลักษณะการจัดความสัมพันธระหวางเอนทิตี ทําใหเกิดความไมชัดเจนในการแสดงขอมูลที่สนใจออกมา ซึ่งมักพบในกรณีที่เอนทิตีหนึ่งมีความสัมพันธแบบหนึ่งตอกลุมกับเอนทิตีอื่นตั้งแตสองเอนทิตีขึ้นไป

Page 25: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

83

ตัวอยางเชน สถาบันการศึกษาแหงหน่ึงเปดทําการสอนหลายคณะ โดยในแตละคณะประกอบดวยภาควิชาตาง ๆ หลายภาควิชา และอาจารยหลายคน ซ่ึงอาจารยแตละคนจะสังกัดคณะใดคณะหน่ึงเทาน้ัน หากกําหนดใหความสัมพันธระหวางแตละเอนทิตีเปนดังนี้

ภาพที่ 3.37 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะและเอนทิตีภาควิชา

ภาพที่ 3.38 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะและเอนทิตีอาจารย เมื่อทําการกําหนดภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีจะพบวา ไมสามารถ

ตอบคําถามบางคําถามได เชน อาจารยคนใดสังกัดภาควิชาใด เนื่องจากไมมีความสัมพันธระหวางเอนทิตีอาจารยและเอนทิตีภาควิชา

ภาพที่ 3.39 ความสัมพนัธระหวางเอนทิตีคณะกับเอนทิตีภาควิชาและเอนทิตีอาจารย ทั้งนี้ แนวทางในการแกปญหาอาจทําโดยการปรับความสัมพันธระหวางแตละเอนทิตีใหมเปนดังน้ีคือ

ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะกับเอนทิตีภาควิชา และความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชากับเอนทิตีอาจารย แลวจึงทําการกําหนดภาพรวมของเอนทิตีทั้งหมดและ ความสัมพันธระหวางเอนทิตีใหมดังภาพ

Page 26: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

84

ภาพที่ 3.40 ความสัมพนัธระหวางเอนทิตีภาควิชากับเอนทิตีคณะและเอนทิตีอาจารย

2. Chasm Trap

Chasm Trap เปนปญหาที่เกี่ยวของกับการแสดงขอมูลที่ควรจะมีไมได หรือไมสามารถเชื่อมโยงเพื่อใหไดขอมูลที่ครบถวนได โดยปญหาน้ีมกัพบเมือ่เอนทีตีหน่ึงมีความสัมพนัธกับเอนทิตีอ่ืนต้ังแตสองเอนทิตี ขึ้นไป แตไมสามารถเชื่อมโยงความสัมพันธระหวางขอมูลได

ตัวอยางเชน กําหนดใหแตละภาควิชาประกอบดวยอาจารยหลายคน ซึ่งอาจารยแตละคนจะสังกัดภาควิชาใดภาควิชาหนึ่งเทานั้น และอาจารยแตละคนอาจทําการสอนไดมากกวาหนึ่งชุดวิชา โดยแตละชุดวิชาอาจมีอาจารยผูสอนมากกวาหนึ่งคนก็ได หากกําหนดใหความสัมพันธระหวางแตละเอนทิตีเปนดังนี้

ภาพที่ 3.41 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีอาจารย

ภาพที่ 3.42 ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีอาจารยกับ Composite Entity การสอนและ เอนทิตีชุดวิชากับ Composite Entity การสอน

เมื่อทําการกําหนดภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีจะพบวา ไมสามารถ

แสดงขอมูลที่ควรจะมีได หรือไมสามารถเชื่อมโยงเพื่อใหไดขอมูลที่ครบถวนได เชน บางชุดวิชาที่มีอยูอาจไมเคยมีการเปดสอนมากอนเลย ก็จะไมมีอาจารยคนใดเคยสอน ซึ่งจะทําใหไมสามารถบอกไดวาชุดวิชานั้นอยูในสังกัดของภาควิชาใด หรือหากชุดวิชาใดที่มีอาจารยรับผิดชอบการสอนเพียงคนเดียว หากอาจารยทานนั้นลาออก ก็จะไมสามารถเชื่อมโยงขอมูลระหวางชุดวิชาและภาควิชาไดเลย เนื่องจากไมมีความสัมพันธระหวางเอนทิตีภาควิชาและเอนทิตีชุดวิชา

Page 27: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

85

ภาพที่ 3.43 ความสัมพันธระหวางเอนทิตีอาจารยกับเอนทิตีภาควิชาและเอนทิตีชุดวิชา ทั้งนี้ แนวทางในการแกปญหาอาจทําโดยการปรับความสัมพันธระหวางแตละเอนทิตีใหมเปนดังน้ีคือ

ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชากับเอนทิตีอาจารย และความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชากับเอนทิตีชุดวิชา แลวจึงกําหนดภาพรวมของเอนทิตีทั้งหมดและความสัมพันธระหวางเอนทิตีใหมดังภาพ

ภาพที่ 3.44 ความสัมพันธระหวางเอนทิตีภาควิชากับเอนทิตีอาจารยและเอนทิตีชุดวิชา

เรื่องที่ 3.2.2 การแปลงฐานขอมูลที่ออกแบบดวยอี-อารโมเดลเปนฐานขอมูลเชิงสัมพันธ

เน่ืองจากอี-อารโมเดลเปนการออกแบบฐานขอมลูในระดับแนวคิดซ่ึงจะทําใหทราบวา ในฐานขอมูลน้ันประกอบดวยเอนทิตีและรายละเอียดอะไรบาง ดังน้ัน เพื่อใหสามารถใชงานฐานขอมูลตอไปได จึงตองทําการแปลงความสัมพันธและอี-อารโมเดลใหอยูในรูปแบบของแบบจําลองอื่นที่สอดคลองกับระบบจัดการฐานขอมูลทีเ่ลือกใช ซึ่งในที่นี้จะมุงเนนใหความสนใจกับฐานขอมูลเชิงสัมพันธเทานั้น

Page 28: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

86

1. ขั้นตอนการแปลงฐานขอมูลที่ออกแบบดวยอี-อารโมเดลเปนฐานขอมูลเชิงสัมพันธ

การแปลงฐานขอมูลท่ีออกแบบดวยอี-อารโมเดลเปนฐานขอมลูเชงิสัมพนัธประกอบดวย 3 ขั้นตอน ดังน้ีคือ

1. การแปลงเอนทิตีในอ-ีอารโมเดลใหเปนรีเลชัน และการแปลงความสัมพันธระหวาง เอนทิตีเปนความสัมพันธระหวางรีเลชัน - การแปลงเอนทิตีในอี-อารโมเดลใหเปนรีเลชันในฐานขอมลูเชงิสัมพนัธ และการแปลงความสัมพันธระหวางเอนทิตีเปนความสัมพันธระหวางรีเลชันในฐานขอมูลเชิงสัมพนัธ ประกอบดวยข้ันตอนดังน้ีคือ - การแปลงเอนทิตีในอี-อารโมเดลเปนรีเลชันในฐานขอมูลเชิงสัมพันธ โดยการกําหนดชื่อของ เอนทิตีเปนช่ือของรีเลชัน - การแปลงความสัมพันธระหวางเอนทิตีเปนความสัมพันธระหวางรีเลชันในฐานขอมูลเชิงสัมพันธ หากความสัมพันธระหวางเอนทิตีในอี-อารโมเดลเปนความสัมพันธแบบกลุมตอกลุม จะมีการแปลง ความสัมพันธดังกลาวเปนความสัมพันธระหวางเอนทิตีแบบหนึ่งตอกลุมดวยการสราง Composite Entity ขึ้น จากนั้นจึงทําการแปลง Composite Entity ที่สรางขึ้นใหเปนรีเลชันในฐานขอมูลเชิงสัมพันธ โดยการกําหนดช่ือของ Composite Entity เปนช่ือของรีเลชัน

2. การแปลงรายละเอียดของเอนทิตีใหเปนแอททริบิวตของรีเลชัน รวมทั้งการกําหนดคียหลักและคียนอกของแตละรีเลชัน - จากขั้นตอนที่ 1 เมื่อทราบรีเลชันและความสัมพันธระหวางรีเลชันแลว ในขั้นตอนที ่2 น้ีจะเปนการแปลง Property ของแตละเอนทิตีใหเปนแอททริบิวตของแตละรีเลชัน รวมทั้งทําการกําหนดคียหลักในแตละรีเลชัน ตลอดจนกําหนดคียนอกท่ีอางอิงถึงคียหลักในอีกรีเลชันหนึ่งหากจําเปนตองม ี และกําหนดขอจํากัดตาง ๆ ของคียหลักและคียนอกในแตละรีเลชัน - การแปลงรายละเอียดของเอนทิตีใหเปนแอททริบิวตของรีเลชัน รวมทั้งการกําหนดคียหลักและคียนอกของแตละรีเลชัน ประกอบดวยข้ันตอนดังน้ีคือ 1. การแปลงรายละเอียดของแตละเอนทิตีใหเปนแอททริบิวตของแตละรีเลชัน ทําไดโดยกําหนดให Property ของแตละเอนทิตีเปนแอททริบิวตของแตละรีเลชัน และ Key Property ของแตละเอนทิตีเปนคียหลักของแตละรีเลชัน 2. การกําหนดคียนอกของแตละรีเลชันสามารถทําไดโดย - หากความสัมพันธระหวางรีเลชันเปนความสัมพันธแบบหนึ่งตอหนึ่ง ใหเพิ่มคียหลักของรีลเชันหนึ่งลงไปเปนแอททริบิวตหนึ่งของอีกรีเลชัน

Page 29: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

87

- หากความสัมพันธระหวางรีเลชันเปนความสัมพันธแบบหนึ่งตอกลุม ใหเพิ่มคียหลักของรีเลชันที่อยูดานความสัมพันธเปนหนึ่งไปเปนแอททริบิวตหนึ่งของรีเลชันดานที่มีความสัมพันธเปนกลุม ทั้งนี้กรณีของรีเลชันที่แปลงมาจาก Composite Entity จะปรากฏแอททริบิวตดังกลาวอยูแลว - หากรีเลชันมีความสัมพันธแบบ Recursive ใหเพิ่มคียหลักของรีเลชันที่อยูดานความสัมพันธเปนหนึ่งไปเปนแอททริบิวตหนึ่งของรีเลชันดานที่มีความสัมพันธเปนกลุม โดยเปลี่ยนชื่อของแอททริบิวตนั้นใหม - การพิจารณาเคารางขอมูลในแตละรีเลชันท่ีไดจากสองข้ันตอนแรก ข้ันตอนน้ีเปนการทบทวนเคารางขอมูลในแตละรีเลชันท่ีไดมาจากสองข้ันตอนแรก

โดยทําการพิจารณาเรื่องของความซ้ําซอนหรือปญหาที่อาจจะเกิดขึ้นในการเพิ่มเติม ลบ หรือปรับปรุงขอมูล

2.ตัวอยางการแปลงฐานขอมูลที่ออกแบบดวยอี-อารโมเดลเปนฐานขอมูลเชิงสัมพันธ เพื่อแสดงใหเห็นถึงขั้นตอนการแปลงฐานขอมูลที่ออกแบบดวยอี-อารโมเดลเปนฐานขอ

มูลเชิงสัมพันธ ในท่ีน้ีขอนําตัวอยางการออกแบบฐานขอมลูภาระงานสอนของอาจารยดวยอี-อารโมเดลในเร่ืองที ่3.2.1 มาประกอบดังน้ี

1. การแปลงเอนทิตีในอ-ีอารโมเดลใหเปนรีเลชัน และการแปลงความสัมพันธระหวาง เอนทิตีเปนความสัมพันธระหวางรีเลชัน

จากตัวอยางการออกแบบฐานขอมลูภาระงานสอนของอาจารยดวยอี-อารโมเดลจะพบวา ฐานขอมูลดังกลาวประกอบดวย 4 เอนทิต ีคือ

1. เอนทิตีคณะ ประกอบดวย Property รหัสคณะ ช่ือคณะ 2. เอนทิตีภาควิชา ประกอบดวย Property รหัสภาควิชา ชื่อภาควิชา ที่ทําการ 3. เอนทิตีอาจารย ประกอบดวย Property รหัสอาจารย ชือ่อาจารย วันที่เริ่มทํางาน เงินเดือน

4. เอนทิตีชุดวิชา ประกอบดวย Property รหัสชุดวิชา ชื่อชุดวิชา จํานวนหนวยกิต และฐานขอมูลดังกลาวมีความสัมพันธระหวางเอนทิตี 5 ความสัมพันธ คือ 1. ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีคณะและเอนทิตีภาควิชา 2. ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีอาจารย 3. ความสัมพันธแบบ Recursive ของเอนทิตีอาจารย 4. ความสัมพันธแบบหนึ่งตอกลุมระหวางเอนทิตีภาควิชาและเอนทิตีชุดวิชา 5. ความสัมพันธแบบกลุมตอกลุมระหวางเอนทิตีชุดวิชาและเอนทิตีอาจารย

Page 30: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

88

เนื่องจากความสัมพันธระหวางเอนทิตีชุดวิชาและเอนทิตีอาจารยเปนความสัมพันธแบบกลุมตอกลุม ดังน้ัน จึงมีการแปลงความสัมพันธดังกลาวเปนความสัมพันธระหวางเอนทิตีแบบหนึ่งตอกลุมโดยการสราง Composite Entity การสอน ซ่ึงประกอบดวย Property รหัสชุดวิชา รหัสอาจารย ขึ้นมา

ดังน้ัน ฐานขอมูลเชิงสัมพันธภาระงานสอนของอาจารยจะประกอบดวย 5 รีเลชัน คือ รีเลชันคณะ รีเลชันภาควิชา รีเลชันอาจารย รีเลชันชุดวิชา และรีเลชันการสอน โดยมีความสัมพันธระหวางรีเลชัน 6 ความสัมพันธ คือ

1. ความสัมพันธแบบหนึ่งตอกลุมระหวางรีเลชันคณะและรีเลชันภาควิชา 2. ความสัมพันธแบบหนึ่งตอกลุมระหวางรีเลชันภาควิชาและรีเลชันอาจารย 3. ความสัมพันธแบบ Recursive ของรีเลชันอาจารย 4. ความสัมพันธแบบหนึ่งตอกลุมระหวางรีเลชันภาควิชาและรีเลชันชุดวิชา 5. ความสัมพันธแบบหนึ่งตอกลุมระหวางรีเลชันชุดวิชาและรีเลชันการสอน 6. ความสัมพันธแบบหนึ่งตอกลุมระหวางรีเลชันอาจารยและรีเลชันการสอน

2. การแปลงรายละเอียดของเอนทิตีใหเปนแอททริบิวตของรีเลชัน รวมทั้งการกําหนดคียหลักและคียนอกของแตละรีเลชัน

ดังน้ัน จากตัวอยางภาระงานสอนของอาจารยที่กลาวมาขางตน แตละรีเลชันจะประกอบดวย แอททริบิวต คียหลัก และคียนอก ดังตอไปน้ีคือ

1. รีเลชันคณะ ประกอบดวยแอททริบิวต รหัสคณะ ช่ือคณะ โดยมีแอททริบิวตรหัสคณะเปน คียหลัก

2. รีเลชันภาควิชา ประกอบดวยแอททริบิวต รหัสภาควิชา ชื่อภาควิชา ที่ทําการ โดยมี แอททริบิวตรหัสภาควิชาเปนคียหลัก และเนื่องจากรีเลชันคณะมีความสัมพันธแบบหนึ่งตอกลุมกับรีเลชัน ภาควิชา รีเลชันภาควิชาจึงตองมีแอททริบิวตรหัสคณะเพิ่มขึ้นดวย โดยแอททริบิวตรหัสคณะเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันคณะ

3. รีเลชันอาจารย ประกอบดวยแอททริบิวต รหัสอาจารย ชือ่อาจารย วันที่เริ่มทํางาน เงินเดือน โดยมีแอททริบิวตรหัสอาจารยเปนคียหลัก และเนื่องจากรีเลชันภาควิชามีความสัมพันธแบบหนึ่งตอกลุมกับ รีเลชันอาจารย รีเลชันอาจารยจึงตองมีแอททริบิวตรหัสภาควิชาเพิ่มขึ้นดวย โดยแอททริบิวตรหัสภาควิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันภาควิชา

เนื่องจากรีเลชันอาจารยมีความสัมพันธแบบ Recursive เปนความสัมพันธหัวหนาภาคปรากฏอยูอีกหนึ่งความสัมพันธ ฉะน้ัน รีเลชันอาจารยจึงตองมีแอททริบิวตที่แสดงรหัสของอาจารยที่เปนหัวหนาภาควิชาเพิ่มขึ้นอีกหนึ่งแอททริบิวต ซึ่งแอททริบิวตดังกลาวตั้งชื่อวา รหัสหัวหนาภาค

4. รีเลชันชุดวิชา ประกอบดวยแอททริบิวต รหัสชุดวิชา ชื่อชุดวิชา จํานวนหนวยกิต โดยมี แอททริบิวตรหัสชุดวิชาเปนคียหลัก และเนื่องจากรีเลชันภาควิชามีความสัมพันธแบบหนึ่งตอกลุมกับรีเลชันชุดวิชา รีเลชันชุดวิชาจึงตองมีแอททริบิวตรหัสภาควิชาเพิ่มขึ้นดวย โดยแอททริบิวตรหัสภาควิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันภาควิชา

Page 31: บทที่ 3 โมเดลความสัมพันธ์ระหว่างข้อมูล(E-R Model)

89

5. รีเลชันการสอน ประกอบดวยแอททริบิวต รหัสชุดวิชา รหัสอาจารย โดยมีแอททริบิวตรหัส ชุดวิชาและรหัสอาจารยเปนคียหลัก แอททริบิวตรหัสชุดวิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันชุดวิชา และแอททริบิวตรหัสอาจารยเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันอาจารย

3. การพิจารณาเคารางขอมูลในแตละรีเลชันที่ไดจากสองขั้นตอนแรก

ดังน้ัน จากตัวอยางการออกแบบฐานขอมลูภาระงานสอนของอาจารยดวยอี-อารโมเดลในเร่ืองท่ี 3.2.1 เม่ือทําการแปลงเปนฐานขอมูลเชิงสัมพันธจะประกอบดวย รีเลชัน แอททริบิวต และคียดังตอไปนี้คือ

- รีเลชันคณะ ประกอบดวยแอททริบิวต รหัสคณะ ช่ือคณะ โดยมีแอททริบิวตรหัสคณะเปน คียหลัก

รหัสคณะ ช่ือคณะ- รีเลชันภาควิชา ประกอบดวยแอททริบิวต รหัสภาควิชา ชื่อภาควิชา ที่ทําการ รหัสคณะโดยมีแอททริบิวตรหัสภาควิชาเปนคียหลัก และแอททริบิวตรหัสคณะเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันคณะ

รหัสภาควิชา ชื่อภาควิชา ที่ทําการ รหัสคณะ- รีเลชันอาจารย ประกอบดวยแอททริบิวต รหัสอาจารย ชือ่อาจารย วันที่เริ่มทํางาน เงินเดือน รหัสภาควิชา รหัสหัวหนาภาค โดยมีแอททริบิวตรหัสอาจารยเปนคียหลัก และแอททริบิวตรหัสภาควิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันภาควิชา

รหัสอาจารย ชือ่อาจารย วันที่เริ่มทํางาน เงินเดือน รหัสภาควิชา รหัสหัวหนาภาค- รีเลชันชุดวิชา ประกอบดวยแอททริบิวต รหัสชุดวิชา ชื่อชุดวิชา จํานวนหนวยกิต รหัสภาควิชา โดยมีแอททริบิวตรหัสชุดวิชาเปนคียหลัก และแอททริบิวตรหัสภาควิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันภาควิชา รหัสชุดวิชา ชื่อชุดวิชา จํานวนหนวยกิต รหัสภาควิชา

- รีเลชันการสอน ประกอบดวยแอททริบิวต รหัสชุดวิชา รหัสอาจารย โดยมีแอททริบิวตรหัส ชุดวิชาและรหัสอาจารยเปนคียหลัก โดยมีแอททริบิวตรหัสชุดวิชาเปนคียนอกที่ใชในการเชื่อมโยงขอมูลกับรีเลชันชุดวิชา และแอททริบิวตรหัสอาจารยเปนคียนอกท่ีใชในการเช่ือมโยงขอมูลกับรีเลชัน อาจารย

รหัสชุดวิชา รหัสอาจารย