การออกแบบข้อมูลด้วย E-R Diagram ( Entity - Relationship Diagrams )
- Entity-Relationship Diagram คือ แผนภาพที่ใช้สัญลักษณ์มาตรฐาน ใช้ร่างฐานข้อมูลของเราหรือออกแบบฐานข้อมูลก่อนนำไปสร้างจริง
- ช่วยให้ง่ายต่อการทำความเข้าใจ
- ทำให้สามารถมองเห็นภาพรวมของเอ็นทิตี้ทั้งหมดที่มีในระบบ
- แสดงความสัมพันธ์ระหว่างเอ็นทิตี้
- ทำให้บุคลากรที่เกี่ยวข้องกับระบบฐานข้อมูลสามารถเข้าใจลักษณะของข้อมูล และความสัมพันธ์ระหว่างข้อมูลได้ง่ายและถูกต้องตรงกัน
- ส่วนประกอบของ E-R Diagram หรือ E-R Model มีส่วนประกอบสำคัญ 3 ส่วนดังนี้
- เอ็นทิตี้ (Entity)
- สิ่งที่สนใจ สามารถระบุได้ในความเป็นจริง และต้องการเก็บรวบรวมข้อมูลที่เกี่ยวข้องไว้ในฐานข้อมูล รวมทั้งสามารถบ่งชี้ความเป็นเอกลักษณ์เฉพาะตัว โดยแทนที่ด้วย รูปสี่เหลี่ยมผืนผ้า
- แอททริบิวท์ (Attributes)
- ใช้แสดงถึงคุณสมบัติของ Entity โดยแทนที่ด้วย รูปวงรี
- ความสัมพันธ์ (Relationship)
- แสดงให้เห็นถึงความสัมพันธ์ระหว่าง Entity ว่ามีความสัมพันธ์กันอย่างไร โดยแทนที่ด้วย รูปสี่เหลี่ยมข้าวหลามตัด
เอ็นทิตี้ (Entity)
- สิ่งที่สนใจสามารถระบุได้ในความเป็นจริง และต้องการเก็บรวบรวมข้อมูลที่เกี่ยวข้องไว้ในฐานข้อมูลรวมทั้งสามารถบ่งชี้ความเป็นเอกลักษณ์เฉพาะตัว โดยแทนที่ด้วยรูป สี่เหลี่ยมผืนผ้า เช่น
- เอ็นทิตี้อ่อนแอ (Weak entity)
- เอ็นทิตี้ที่จะขึ้นอยู่กับเอ็นทิตี้ชนิดอื่น ๆ ไม่สามารถเกิดขึ้นได้ตามลำพัง และจะถูกลบเมื่อ เอ็นทิตี้หลักถูกลบออกไป
- เอ็นทิตี้อ่อนแอ (Weak entity) จะใช้สัญลักษณ์รูปสี่เหลี่ยมผืนผ้าแต่เป็นเส้นคู่ ตัวอย่างเช่น
แอททริบิวท์ (Attributes)
- ใช้แสดงถึงคุณสมบัติของ Entity โดยแทนที่ด้วย รูปวงรี
- แอทริบิวต์ที่มีหลายค่า (Multivalued Attribute)
- ในคนหนึ่งคนสามารถมีเบอร์ได้
ความสัมพันธ์ (Relationship)
- แสดงให้เห็นถึงความสัมพันธ์ระหว่าง Entity ว่ามีความสัมพันธ์กันอย่างไร โดยแทนที่ด้วย รูปสี่เหลี่ยมข้าวหลามตัด
- Relationship ใช้ระบุความสัมพันธ์ระหว่าง เอ็นทิตี้ (Entity) ซึ่งเป็นไปตามชนิดของความสัมพันธ์ โดยความสัมพันธ์จะนำเสนอด้วยเหตุการณ์ที่เชื่อมโยงใน เอ็นทิตี้ (Entity) โดยการตั้งชื่อความสัมพันธ์จะใช้คำกริยาที่แสดงการกระทำ
- ดีกรี (Degree)
- จำนวนของ เอ็นทิตี้ (Entity) ในการมีส่วนร่วม (Participation) ของความสัมพันธ์ระหว่างกัน ซึ่งจำนวนความสัมพันธ์ระหว่างเอ็นทิตี้มีอยู่ 3 รูปแบบคือ
- Unary relationship เป็นความสัมพันธ์ที่มี Entity เพียง Entity เดียว
- Binary relationship เป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 2 Entity
- Ternary relationship เป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 3 Entity
- Unary relationship เป็นความสัมพันธ์ที่มี Entity เพียง Entity เดียว
- ตัวอย่างเช่น ผู้จัดการ <จัดการ> พนักงานของตน (ผู้จัดการก็คือพนักงาน) โดยความสัมพันธ์แบบยูนารี คือ ความสัมพันธ์แบบรีเคอร์ซีพ (Recursive)
- Binary relationship เป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 2 Entity
- เป็นความสัมพันธ์ที่พบได้บ่อยในฐานข้อมูล ตัวอย่างเช่น นักศึกษา <ลงทะเบียน> วิชา
- Ternary relationship เป็นความสัมพันธ์ที่มี Entity เกี่ยวข้องด้วย 3 Entity
- สามารถแยกมาเป็นแบบไบนารีสองชุด แต่ต้องไม่ทำให้เนื้อหาหรือข้อเท็จจริงเปลี่ยนแปลงไป
คาร์ดินัลลิตี้ (Cardinality)
- การกำหนดขอบเขตหรือจำนวนสมาชิกที่เป็นไปได้ในเอ็นทิตี้หนึ่ง ที่มีความสัมพันธ์กับสมาชิกของอีกเอ็นทิตี้หนึ่ง
อัตราส่วน (Ratio)
- ใช้แสดงถึงอัตราส่วนของความสัมพันธ์ แทนที่ด้วยตัวเลข 1, M และ N
- 1 : 1 แทนความสัมพันธ์แบบหนึ่งต่อหนึ่ง One-to-One Relationships
- 1 : N แทนความสัมพันธ์แบบหนึ่งต่อหลาย One-to-Many-Relationship
- M : N แทนความสัมพันธ์แบบหลายต่อหลาย Many-to-Many-Relationship
การมีส่วนร่วม (Participation)
- ใช้แสดงการมีส่วนร่วมในความสัมพันธ์ของสมาชิกใน Entity แทนที่ด้วยเส้นตรงหรือเส้นคู่
- Total (เส้นคู่) ทุก ๆ สมาชิกที่อยู่ใน Entity จะต้องอยู่ในความสัมพันธ์ทั้งหมด
- Partial (เส้นเดี่ยว) บางส่วนของสมาชิกที่อยู่ใน Entity เท่านั้นที่อยู่ในความสัมพันธ์