Back to Home

DataBase System

Lesson1245679101112131415

Lesson 3 : E-R Model



Lesson Plan
Section No.
Section 1
Section 2
Test
PDF file
PPT File

<<Prev pageCourse MapNext page>>

Print content of this page
Save content of this page

 

ปัญหาจากการออกแบบฐานข้อมูลด้วยอี-อาร์โมเดล

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

1. Fan Trap

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

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

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

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

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

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

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

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

2. Chasm Trap

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

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

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

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

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

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

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

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

 

 

Last Updated: 12/13/2001 11:23:20 AM
© โครงการเครือข่ายสารสนเทศเพื่อพัฒนาการศึกษา ทบวงมหาวิทยาลัย