บทนำ


          Entity – Relationship Model หรือที่นิยมเรียกสั้น ๆว่า E-R Model ถูกคิดค้นโดย Chen(1976)  ถือว่าเป็นแบบจำลองที่ใช้ในการแสดงการออกแบบฐานข้อมูลในระดับแนวคิด(High – level Conceptual Data Model)  ซึ่งเป็นอิสระจากระบบจัดการฐานข้อมูล(Database Management System : DBMS)  โดย E-R Model จะแสดงเค้าร่างฐานข้อมูล (Conceptual Database Schema) ที่ประกอบด้วย เอนติตี้(Entity) , แอททริบิวต์(Attribute) และความสัมพันธ์ระหว่างแอททริบิวต์(Relationship)  ผลการออกแบบโดยใช้ E-R Model สามารถแสดงได้ด้วยการเขียนแผนภาพที่เรียกว่า Entity Relationship  Diagram(ERD)  ซึ่งถือว่าเป็นเครื่องมือที่ใช้อธิบายองค์ประกอบและข้อกำหนดของฐานข้อมูล ที่นักวิเคราะห์และออกแบบระบบใช้เป็นสื่อกลางในการสื่อสารระหว่างผู้ใช้และนักพัฒนาโปรแกรม  เนื่องจากมีสัญลักษณ์ที่สื่อความหมายให้เข้าใจได้ง่าย

          หลังจากออกแบบฐานข้อมูลและเขียนแผนภาพ ERD ที่ถูกต้องเหมาะสมกับระบบงานแล้ว  และเลือกระบบจัดการฐานข้อมูล (DBMS) ที่จะนำมาใช้งานได้แล้ว  ก็จะทำการแปลง(Mapping Data Model)แผนภาพ ERD  ให้เป็นเค้าร่างฐานข้อมูลให้สอดคล้องกับระบบการจัดการฐานข้อมูลที่เลือกใช้  เช่น  สมมุติว่าเลือกระบบการจัดการฐานข้อมูลแบบเชิงสัมพันธ์(Relational Database Management System : RDBMS) ซึ่งได้แก่ Oracle หรือ Microsoft SQL Server เป็นต้น  ก็จะนำ E- R Diagram มาเทียบแปลงเป็นเค้าร่างฐานข้อมูลเชิงสัมพันธ์( Relational Schema) ที่เหมาะสม

 

 

 

 

องค์ประกอบของ  E – R Model

          E – R Model  เป็นการออกแบบในระดับแนวคิด(Conceptual Design)  ในลักษณะจากบนลงล่าง(Top-Down Strategy) โดยผลจากการออกแบบฐานข้อมูล  จะได้เค้าร่างในระดับแนวคิดที่ประกอบด้วย

เอนติตี้(Entity)

          เอนติตี้(Entity หรือ Entity type) หมายถึง  กลุ่มของสิ่งต่าง ๆ ที่เราสนใจจะเก็บข้อมูลไว้ในฐานข้อมูล  ซึ่งอาจจะเป็น บุคคล  สถานที่  การกระทำ  หรือ กิจกรรมต่าง ๆ ตัวอย่างของเอนติตี้ ได้แก่

Entity instance หรือ Entity occurrence หมายถึง  กรณีตัวอย่างที่แตกต่างกันของเอนติตี้ เช่น นักศึกษา 1 คน , รถยนต์ 1 คัน , การเจ็บป่วย 1 ครั้ง , หนังสือ 1 เล่ม , ภาพยนตร์ 1 เรื่อง , เหตุการณ์ 1 เหตุการณ์  ดังนั้น เอนติตี้(Entity type) “นักศึกษา” มีนักศึกษา  100 คน ก็หมายถึง  มี Entity instance 100 ข้อมูลที่แตกต่างกันคนละคน เป็นต้น
เอนติตี้แบบปกติ(Regular Entity หรือ Strong Entity) คือ เอนติตี้ที่เราสามารถกำหนดให้มีในระบบได้อย่างอิสระ ไม่ขึ้นกับข้อมูลของเอนติตี้อื่น  สามารถกำหนดแอททริบิวต์หรือฟิลด์ที่อยู่ในเอนติตี้ให้เป็นคีย์หลัก(Primary Key)   เพื่อจำแนกข้อมูลแต่ละรายการได้   สัญลักษณ์ที่แทนเอนติตี้แบบปกติ ใน ERD คือสี่เหลี่ยมผืนผ้าแทนแต่ละเอนติตี้ ภายในบรรจุชื่อของเอนติตี้นั้น ๆ

 

 
รูปที่ 6.1 สัญลักษณ์และตัวอย่างของเอนติตี้แบบปกติ

แอททริบิวต์(Attribute)

          แอททริบิวต์(Attribute)  หมายถึง ลักษณะหรือคุณสมบัติที่นำมาอธิบายเอนติตี้ และ ความสัมพันธ์  ตัวอย่างของแอททริบิวต์ของเอนติตี้  เช่น
แอททริบิวต์ของเอนติตี้ “นักศึกษา” ได้แก่  รหัสนักศึกษา , คำนำหน้าชื่อ , ชื่อ , นามสกุล , วันเกิด , โปรแกรมวิชาที่สังกัด , เกรดเฉลี่ยสะสม 
แอททริบิวต์ของเอนติตี้ “ผู้ป่วย”  ได้แก่ รหัสผู้ป่วย , ชื่อ , นามสกุล , สถานภาพ , วันที่เข้ารักษาครั้งแรก , ที่อยู่ , โทรศัพท์
แอททริบิวต์ของเอนติตี้ “สินค้า” ได้แก่ รหัสสินค้า , ชื่อสินค้า , ราคา/หน่วย , จำนวนคงเหลือ
แอททริบิวต์ของเอนติตี้  “วิชาเรียน”  ได้แก่  รหัสวิชา , ชื่อวิชา , จำนวนหน่วยกิต

ประเภทของแอททริบิวต์แบ่งออกได้ดังนี้

 

 

รูปที่ 6.2  สัญลักษณ์และตัวอย่างของแอททริบิวต์แบบ Simple attribute

 

รูปที่ 6.3  สัญลักษณ์และตัวอย่างของแอททริบิวต์แบบ Composite attribute

 

รูปที่ 6.4  สัญลักษณ์และตัวอย่างของแอททริบิวต์แบบ Multivalued attribute