หน่วยที่ 4 แนวคิด Entity-Relationship Model

แผนภาพแสดงความสัมพันธ์ระหว่างข้อมูล (Entity Relationship Diagram)

                      โมเดลข้อมูลเชิงสัมพันธ์อี-อาร์โมเดล (Entity Relationship Model) หรือ E-R Model นำมาใช้เพื่อการออกแบบฐานข้อมูลในระดับแนวคิด (Conceptual level) เป็นโมเดลที่ใช้อธิบายความสัมพันธ์ของเอนทิตี้ต่างๆภายในฐานข้อมูล (ภาพสัญลักษณ์ E-R Model ช่วยอธิบายโครงสร้างฐานข้อมูลเชิงสัมพันธ์)

                    อี-อาร์โมเดลมีการใช้สัญลักษณ์ต่างๆ ที่เรียกว่า ER-Diagram หรือ Entity Relationship Diagram หรือ อี-อาร์ไดอะแกรม แทนรูปแบบของข้อมูลเชิงตรรกะ สำหรับอี-อาร์โมเดลเป็นผลงานการพัฒนาของ Peter Pin Shan Chen จาก Massachusetts Institute of Technology ในปี ค.ศ.1976

ข้อดีของ E-R Model

  • มีโครงสร้างที่ง่ายต่อการทำความเข้าใจ
  • ทำให้สามารถมองเห็นภาพรวมของเอ็นทิตี้ทั้งหมดที่มีในระบบ
  • แสดงความสัมพันธ์ระหว่างเอ็นทิตี้
  • เป็นแผนภาพที่ไม่ขึ้นกับระบบจัดการฐานข้อมูล (Database Management System; DBMS)
  • ไม่ยึดติดกับฮาร์ดแวร์หรือซอฟต์แวร์ใด ๆ
  • บุคลากรที่เกี่ยวข้องกับระบบฐานข้อมูลสามารถเข้าใจลักษณะของข้อมูล และความสัมพันธ์ระหว่างข้อมูลได้ง่ายและถูกต้องตรงกัน

                    E-R Model นำเสนอสิ่งใด E-R Model เป็นแผนภาพที่นำเสนอให้เห็นถึง

  • มีเอ็นทิตี้ (Entity) อะไรบ้าง และแต่ละเอ็นทิตี้มีความสัมพันธ์อย่างไร
  • มีข้อมูลอะไรบ้างในแต่ละเอ็นทิตี้ และมีความสัมพันธ์ที่ต้องการจัดเก็บลงในฐานข้อมูลอย่างไร
  • มีกฎความคงสภาพ (Integrity Constraints) หรือเงื่อนไขของระบบ (Business Rules) อะไรบ้าง

                    ER-DIAGRAM ประกอบด้วยองค์ประกอบพื้นฐาน ดังนี้

  • - เอนทิตี้ (Entity) เป็นวัตถุ หรือสิ่งของที่เราสนใจในระบบงานนั้น ๆ แบ่งเป็น
  • เอนทิตี้ปกติ (Strong Entity หรือ Regular Entity) เอนทิตีที่สนใจและต้องการจัดเก็บข้อมูลที่เกี่ยวข้องไว้ในระบบฐานข้อมูล
  • เอนทิตี้อ่อนแอ (Weak Entity) เอนทิตีที่มีการคงอยู่เกี่ยวข้องกับเอนทิตีอื่นในระบบฐานข้อมูล
  • - แอททริบิว (Attribute) เป็นคุณสมบัติของวัตถุในเอนทิตี้ที่เราสนใจ
  • - ความสัมพันธ์ (Relationship) คือ ความสัมพันธ์ระหว่างเอนทิตี้
  • ความสัมพันธ์แบบหนึ่งต่อหนึ่ง ( One - to - One Relationship (1:1)เป็นการแสดงความสัมพันธ์ของข้อมูลของเอนติตี้หนึ่งว่า มีความสัมพันธ์กับข้อมูลอย่างมากหนึ่งข้อมูลกับอีกเอนติตี้หนึ่งในลักษณะที่เป็นหนึ่งต่อหนึ่ง เช่น เอนติตี้นักศึกษา กับเอนติตี้โครงงานวิจัยมีความสัมพันธ์กันแบบหนึ่งต่อหนึ่ง คือ นักศึกษาแต่ละคนทำโครงงานวิจัยได้ 1 โครงงานเท่านั้น และแต่ละโครงงานวิจัยมีนักศึกษารับผิดชอบได้ไม่เกิน 1 คน เป็นต้น
  • ความสัมพันธ์แบบหนึ่งต่อกลุ่ม ( One - to - Many Relationship (1:M) หรือ (1:N)) เป็นการแสดงความสัมพันธ์ของข้อมูลของเอนติตี้หนึ่งว่ามีความสัมพันธ์กับข้อมูลหลายข้อมูลกับอีกเอนติตี้หนึ่ง เช่น ความสัมพันธ์ของลูกค้าและคำสั่งซื้อเป็นแบบหนึ่งต่อกลุ่ม คือ ลูกค้าแต่ละคนสามารถสั่งซื้อได้หลายคำสั่งซื้อ แต่แต่ละคำสั่งซื้อมาจากลูกค้าเพียงคนเดียว เป็นต้น
  • ความสัมพันธ์แบบกลุ่มต่อหนึ่ง ( Many - to - One Relationship (M:1) หรือ (N:1)) เป็นการแสดงความสัมพันธ์ของข้อมูลหลายข้อมูลมีความสัมพันธ์กับอีกเอนติตี้หนึ่ง (หมายเหตุ ความสัมพันธ์แบบกลุ่มต่อหนึ่งเป็นการมองมุมกลับของความสัมพันธ์แบบหนึ่งต่อกลุ่ม(1:M))
  • ความสัมพันธ์แบบกลุ่มต่อกลุ่ม ( Many - to - Many Relationship (M:M) หรือ (M:N)) เป็นการแสดงความสัมพันธ์ของข้อมูลของสองเอนติตี้ในลักษณะแบบกลุ่มต่อกลุ่ม เช่น ความสัมพันธ์ระหว่างคำสั่งซื้อกับสินค้าเป็นแบบกลุ่มต่อกลุ่ม คือ แต่ละคำสั่งซื้ออาจสั่งซื้อสินค้าได้มากกว่า 1 ชนิด และในสินค้าแต่ละชนิดอาจปรากฏอยู่ในคำสั่งซื้อได้มากกว่า 1 คำสั่งซื้อ

 

                    ขั้นตอนการเขียน ER model

  1. สร้าง entity ขึ้นมาจากความต้องการของผู้ใช้
  2. สร้างความสัมพันธ์(Relation) ระหว่าง entity
  3. พิจารณา key ของแต่ละ entity
  4. พิจารณาคุณสมบัติของ entity แต่ละตัว

 

***หมายเหตุ เส้นเชื่อมความสัมพันธ์ เส้นคู่ หมายถึง การมีส่วนร่วมแบบ Total (Mandatory) Total Participation หรือ Mandatory คือ ความสัมพันธ์ชนิดบังคับ และเส้นเดี่ยว หมายถึง การมีส่วนร่วมแบบ Partial (Optional)  Partial Participation หรือ Optional คือ ความสัมพันธ์ชนิดเลือกได้


                    ตัวอย่าง   ER- diagram การเรียนการสอน

                     นักศึกษาเรียนได้หลายๆวิชาใน แต่ละเทอม แต่ละปีการศึกษา เมื่อสิ้นเทอมอาจารย์ออกผลการเรียน  อาจารย์ก็สอนได้หลายๆวิชา และแต่ละวิชา ก็สามารถถูกสอนโดยอาจารย์ได้หลายคนได้

ตัวอย่างนักศึกษากับวิชาและวิชากับอาจารย์

 

หรือ

ตัวอย่างพนักงานกับแผนก