Please enable JavaScript.
Coggle requires JavaScript to display documents.
แบบจำลองเอนติตี้-ความสัมพันธ์ (Entity-Relationship Model) - Coggle Diagram
แบบจำลองเอนติตี้-ความสัมพันธ์
(Entity-Relationship Model)
องค์ประกอบของ E – R Model
E – R Model เป็นการออกแบบในระดับแนวคิด(Conceptual Design) ในลักษณะจากบนลงล่าง(Top-Down Strategy) โดยผลจากการออกแบบฐานข้อมูล จะได้เค้าร่างในระดับแนวคิดที่ประกอบด้วย
ความสัมพันธ์ระหว่างเอนติตี้ว่าเป็นอย่างไร(Relationship)
แอททริบิวต์ซึ่งเป็นรายละเอียดที่อธิบายเอนติตี้ และมีความสัมพันธ์กันอย่างไรบ้าง (Attribute)
เอนติตี้ที่ควรจะมีในระบบ(Entity)
เอนติตี้(Entity)
เอนติตี้(Entity หรือ Entity type) หมายถึง กลุ่มของสิ่งต่าง ๆ ที่เราสนใจจะเก็บข้อมูลไว้ในฐานข้อมูล ซึ่งอาจจะเป็น บุคคล สถานที่ การกระทำ หรือ กิจกรรมต่าง ๆ
ตัวอย่างของเอนติตี้ ได้แก่ เอนติตี้ที่เป็น บุคคล เช่น พนักงาน , นักศึกษา , อาจารย์ , แพทย์ , พยาบาล , ผู้ป่ วย , นักบิน , พนักงานขับรถ
เอนติตี้แบบปกติ(Regular Entity หรือ Strong Entity)
คือ เอนติตี้ที่เราสามารถกำหนดให้มี
ในระบบได้อย่างอิสระ ไม่ขึ้นกับข้อมูลของเอนติตี้อื่น
สามารถก าหนดแอททริบิวต์หรือฟิลด์ที่อยู่ในเอนติตี้ให้เป็นคีย์หลัก(Primary Key) เพื่อจำแนกข้อมูลแต่ละรายการได้
สัญลักษณ์ที่แทนเอนติตี้แบบปกติ ใน ERD คือสี่เหลี่ยมผืนผ้าแทนแต่ละเอนติตี้ ภายในบรรจุชื่อของเอนติตี้นั้น ๆ
แอททริบิวต์(Attribute)
แอททริบิวต์ (Attribute) หมายถึง ลักษณะหรือคุณสมบัติที่นำมาอธิบายเอนติตี้ และ ความสัมพันธ์ ตัวอย่างของแอททริบิวต์ของเอนติตี้
เช่น แอททริบิวต์ของเอนติตี้ “นักศึกษา” ได้แก่ รหัสนักศึกษา , คำนำหน้าชื่อ , ชื่อ , นามสกุล ,วันเกิด , โปรแกรมวิชาที่สังกัด , เกรดเฉลี่ยสะสม
ประเภทของแอททริบิวต์แบ่งออกได้ดังนี้
Simple Attribute หรือ Atomic Attribute
หมายถึง แอททริบิวต์ที่ไม่สามารถแยกข้อมูลออกเป็นข้อมูลย่อย ๆ ได้อีก
ตัวอย่างเช่น “รหัสนักศึกษา” , “เงินเดือน” ไม่สามารถแยกออกเป็นข้อมูลอื่น ได้อีก
สัญลักษณ์ที่ใช้คือ วงรีเส้นขอบเส้นเดี่ยว มีชื่อแอททริบิวต์บรรจุอยู่ภายใน
Composite Attribute
หมายถึง แอททริบิวต์ที่สามารถแบ่งออกเป็นแอททริ
บิวต์ย่อย ๆ ได้อีก
เช่น แอททริบิวต์ “ที่อยู่” สามารถแบ่งออกเป็นแอททริบิวต์ย่อยได้
เป็น บ้านเลขที่ , ถนน , ตำบล , อำเภอ , จังหวัด เป็นต้น
สัญลักษณ์ที่ใช้แสดง Composite Attribute คือวงรีเส้นขอบเส้นเดี่ยว แต่มีวงรีย่อยมาเชื่อมต่อด้วย
Single-valued Attribute
หมายถึง แอททริบิวต์ที่ค่าของข้อมูลได้เพียงค่าเดียวในแต่
ละแอททริบิวต์
เช่น แอททริบิวต์ “รหัสนักศึกษา”ของนักศึกษาแต่ละคนก็จะมีรหัส
นักศึกษาเพียงรหัสเดียว
สัญลักษณ์ที่ใช้คือ วงรีเส้นขอบเส้นเดี่ยว มีชื่อแอททริบิวต์บรรจุอยู่ภายในเช่นเดียวกันกับ Atomic หรือ Simple attribute
Multivalued Attribute
หมายถึง แอททริบิวต์เดียวที่กำหนดให้สามารถมีค่าได้
มากกว่า 1 ค่า
เช่น ในเอนติตี้ “พนักงาน” ประกอบด้วย แอททริบิวต์ รหัสพนักงาน , ชื่อ-นามสกุล , เงินเดือน , ความสามารถพิเศษ เมื่อพิจารณาแล้วพบว่า พนักงาน 1 คน ก็จะมีรหัสพนักงาน 1 ค่า , ชื่อและนามสกุล 1 ค่า , เงินเดือนมี 1 ค่า แต่อาจจะมีค่าข้อมูลความสามารถพิเศษมากกว่า 1 อย่าง
สัญลักษณ์ที่ใช้แสดง Multivalued Attribute คือวงรีที่มีเส้นขอบเป็นเส้นคู่ บรรจุชื่อ แอททริบิวต์ภายใน
Derived Attribute
หมายถึง แอททริบิวต์ที่มีค่าของแอททริบิวต์ประกอบมาจากค่าของแอททริบิวต์อื่นหรือจากเอนติตี้
เช่น แอททริบิวต์ “อายุ” เกิดจาก การนำเอาค่าจากแอ
ททริบิวต์ “วันเกิด” มาลบกับวันเดือนปีปัจจุบัน ก็จะได้ค่าอายุ
สัญลักษณ์ที่แสดง Derived Attribute เป็นวงรีที่มีเส้นขอบเป็นเส้นประ มีชื่อแอททริบิวต์บรรจุภายใน
ความสัมพันธ์(Relationship)
หมายถึง ความสัมพันธ์ระหว่างเอนติตี้ต่าง ๆ
ตัวอย่างเช่นเราสามารถก าหนดความสัมพันธ์ให้กับอาจารย์ “พนารัตน์” กับนักศึกษา “วนิดา” ให้มีความสัมพันธ์กันโดยอาจารย์ “พนารัตน์” เป็นอาจารย์ที่ปรึกษาของนักศึกษา “วนิดา”
กลุ่มความสัมพันธ์(Relationship set)
คือ กลุ่มของความสัมพันธ์ระหว่างกลุ่มของเอนติตี้(Entity type) พิจารณาตัวอย่างความสัมพันธ์ระหว่างอาจารย์กับนักศึกษาที่มีความสัมพันธ์เป็นอาจารย์ที่ปรึกษา
สัญลักษณ์ที่ใช้แสดงความสัมพันธ์ใน ERD คือ สี่เหลี่ยมขนมเปียกปูน มีชื่อที่แสดงความสัมพันธ์อยู่ภายใน
เอนตติอี้ ่อนแอ(Weak Entity)
หมายถึง เอนติตี้ที่ไม่สามารถมีแอททริบิวต์ที่นำมากำหนดเป็นคีย์หลัก(Primary key)ของตัวเองได้ ซึ่งแตกต่างจากเอนติตี้ปกติ(Regular Entity) ที่สามารถกำหนดคีย์หลักของเอนติตี้ตัวเองได้
สัญลักษณ์ที่ใช้แสดงเอนติตี้อ่อนแอใน ERD คือ สี่เหลี่ยมผืนผ้าที่มีเส้นขอบเป็นเส้นทึบคู่ มีชื่อเอนติตี้อยู่ภายใน
ข้อกำหนด(Constraints)
ดีกรีของความสัมพันธ์(Degree of Relationship)
หมายถึง จำนวนของเอนติตี้ที่มาสัมพันธ์กันในความสัมพันธ์หนึ่งๆ
ซึ่งแบ่งออกได้ดังนี้
ความสัมพันธ์กับเอนติตี้ตนเอง(Unary Relationship หรือ Recursive
Relationship)
เป็นความสัมพันธ์ระหว่างเอนติตี้ภายในเอนติตี้เดียวกัน
เช่น ความสัมพันธ์ชื่อ “บังคับเรียนก่อน” ซึ่งเป็นความสัมพันธ์ระหว่าง เอนติตี้ “วิชาเรียน” กับเอนติตี้ “วิชาเรียน” ด้วยกันเอง
กล่าวคือวิชาเรียนบางวิชาบังคับให้ต้องเรียนบางวิชาก่อนจึงจะสามารถเรียนวิชาดังกล่าวได้แสดง
ความสัมพันธร์ะหว่ํางสองเอนติตี้(Binary Relationship)
เป็นความสัมพันธ์ระหว่างเอนติตี้ 2 เอนติตี้
เช่น ความสัมพันธ์ที่ชื่อ “สอน” ระหว่างเอนติตี้ “นักศึกษา” กับเอนติตี้ “อาจารย์”
แสดงสัญลักษณ์ใน ERD
ความสัมพันธ์ระหว่างเอนตตี้มีมากกว่าสองเอนตตี้ (N-ary Relationship)
เป็นความสัมพันธ์ระหว่างเอนติตี้ตั้งแต่ 3 เอนติตี้ขึ้นไป โดย N หมายถึง จำนวนเอนติตี้
ที่มาสัมพันธ์กับความสัมพันธ์หนึ่ง
ตัวอย่างเช่น ถ้ามีเอนติตี้มีความสัมพันธ์กันในความสัมพันธ์หนึ่งใด 3เอนติตี้ จะเรียกว่า Ternary Relationship , ถ้ามี 4 เอนติตี้มาสัมพันธ์กัน เรียกว่า QuaternaryRelationship ตัวอย่าง N – ary Relationship
สัดส่วนจำนวนข้อมูลระหว่างเอนติตี้ที่สัมพันธ์กัน(Cardinality Ratio)
สัดส่วนจำนวนข้อมูลระหว่างเอนติตี้ที่มาสัมพันธ์กันในความสัมพันธ์ใดความสัมพันธ์หนึ่งสามารถแบ่งออกได้ ดังนี้
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง(One-to-One Relationship หรือ 1 : 1)
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม(One-to-Many Relationship หรือ 1 : N)
ความสัมพันธ์แบบกลุ่มต่อหนึ่ง(Many-to-One Relationship หรือ N : 1)
แบบกลุ่มต่อกลุ่ม(Many-to-Many Relationship หรือ M : N)
ข้อกำหนดการมีส่วนร่วมในความสัมพันธ์(Participation Constraints)
การมีส่วนร่วมทั้งหมด(Total Participation หรือ Mandatory Participation)
การมีส่วนร่วมบางส่วน(Partial Participation หรือ Optional Participation)
สัญลักษณ์ที่ใช้ในการเขียนแผนภาพ E-R (ERD Notation)
ในการเขียนแผนภาพ E-R Diagram จะมีสัญลักษณ์ที่ใช้ในการสื่อความหมายของ เอนติตี้(Entity),แอททริบิวต์(Attribute)ประเภทต่าง ๆ
ความสัมพันธ์(Relationship) รวมทั้งข้อก าหนดต่างๆ ที่ได้กล่าวในหัวข้อที่ผ่านมา โดยใช้สัญลักษณ์ของ Chen ซึ่งถือว่าเป็นสัญลักษณ์ที่ได้รับความนิยมในการเขียน E-R Diagram มานาน
นอกจากนี้ยังมีสัญลักษณ์ในการเขียนแผนภาพ ER แบบอื่น ๆ ที่มีการพัฒนาเพิ่มเติม เช่นสัญลักษณ์ของ Crow’s foot , Bachman , UML เป็นต้น
ในการสร้างแผนภาพ ER โดยการใช้CASE Tool มักมีลักษณะคล้าย Class Diagram โดยเขียนชื่อเอนติตี้และแอททริบิวต์ไว้ภายใน รูปสี่เหลี่ยมผืนผ้า และแสดงชื่อความสัมพันธ์ไว้บนเส้นที่เชื่อมโยงระหว่างเอนติตี้
ขั้นตอนการพัฒนาแบบจําลองข้อมูล
การออกแบบฐานข้อมูลโดยใช้ E-R Model มีขั้นตอนที่เกี่ยวข้องหลายขั้นตอน และต้องใช้ความรอบคอบในการออกแบบเพื่อให้ได้ E-R Diagram ที่ถูกต้องเหมาะสมกับระบบงาน โดยมีขั้นตอนในการพัฒนาดังนี้
ก าหนดเอนติตี้ที่มีในระบบงาน โดยดูจากลักษณะหน้าที่ของระบบงาน ว่ามีรายละเอียดในการท างานอย่างไร ในการก าหนดเอนติตี้จะต้องพิจารณาด้วยว่าเป็นเอนติตี้ประเภทใด เช่นเป็นเอนติตี้แบบปกติ(Regular Entity) หรือว่าเป็นเอนติตี้แบบอ่อน(Weak Entity)
กำหนดแอททริวบิวต์ต่าง ๆ ของแต่ละเอนติตี้ รวมทั้งพิจารณาแอททริบิวต์ที่จะทำหน้าที่เป็นคีย์หลักของเอนติตี้ด้วย
กำหนดความสัมพันธ์ระหว่างเอนติตี้ว่ามีความสัมพันธ์แบบใดบ้าง รวมทั้งข้อกำหนดของความสัมพันธ์(Participation Constraint)ด้วย
นำรายละเอียดการออกแบบตั้งข้อ 1 - 3 มาวาดประกอบกันเป็น E-R Diagram ทบทวนการออกแบบว่าถูกต้องหรือไม่