วันศุกร์ที่ 17 มิถุนายน พ.ศ. 2554

การสร้างโมเดลความสัมพันธ์ระหว่างข้อมูล : ER-DIAGRAM

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

  • เอนทิตี้ (Entity) เป็นวัตถุ หรือสิ่งของที่เราสนใจในระบบงานนั้น ๆ
  • แอททริบิว (Attribute) เป็นคุณสมบัติของวัตถุที่เราสนใจ
  • ความสัมพันธ์ (Relationship) คือ ความสัมพันธ์ระหว่างเอนทิตี้

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

รูปสัญลักษณ์ของเอนทิตี้ คือ รูปสี่เหลี่ยมผืนผ้า ตัวอย่างเช่น

แอททริบิวท์ (Attribute)
Attribute คือ คุณสมบัติของวัตถุหรือสิ่งของที่เราสนใจ โดยอธิบายรายละเอียดต่าง ๆ ที่เกี่ยวข้องกับลักษณะของเอนทิตี้ โดยคุณสมบัตินี้มีอยู่ในทุกเอนทิตี้ เช่น ชื่อ นามสกุล ที่อยู่ แผนก เป็น Attribute ของเอนทิตี้พนักงาน
โดยทั่วไปแล้วโมเดลข้อมูล เรามักจะพบว่า Attribute มีลักษณะข้อมูลพื้นฐานอยู่โดยที่ไม่ต้องมีคำอธิบายมากมาย และ Attribute ก็ไม่สามารถอยู่แบบโดด ๆ ได้โดยที่ไม่มีเอนทิตี้หรือความสัมพันธ์
รูปสัญลักษณ์ของ Attribute คือ รูปวงรีโดยที่จะมีเส้นเชื่อมต่อกับเอนทิตี้

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

ระดับชั้นของความสัมพันธ์ (Relationships Degree) จะบอกถึงความสัมพันธ์ระหว่างเอนทิตี้ มีดังนี้

  • ความสัมพันธ์เอนทิตี้เดียว (Unary Relationships) หมายถึง เอนทิตี้หนึ่ง ๆ จะมีความสัมพันธ์กับตัวมันเอง
  • ความสัมพันธ์สองเอนทิตี้ (Binary Relationships) หมายถึง เอนทิตี้สองเอนทิตี้จะมีความสัมพันธ์กัน
  • ความสัมพันธ์สามเอนทิตี้(Ternary Relationships) หมายถึง เอนทิตี้สามเอนทิตี้มีความสัมพันธ์กัน
การแปลง E-R MODEL ให้อยู่ในรูปแบบโครงสร้างฐานข้อมูล
การแปลง E-R MODEL ให้อยู่ในรูปแบบโครงสร้างฐานข้อมูลหรือตารางของข้อมูลมีกฎดังนี้
1.แปลงเอนทิตี้ที่มีความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One to One Relationships) ไปเป็นตาราง โดยแทนที่หนึ่งเอนทิตี้เป็นหนึ่งตาราง Attribute แต่ละเอนทิตี้เป็นฟิลด์หรือคอลัมน์แต่ละตาราง
2.แปลงเอนทิตี้ที่มีความสัมพันธ์แบบหนึ่งต่อกลุ่ม (One to Many Relationships) ไปเป็นตาราง โดยด้านเอนทิตี้ที่เป็นตัวเลข 1 นั้นสามารถแปลงเป็นตารางได้ทันที Attribute ของเอนทิตี้นั้นจะเป็นฟิลด์ของตารางทันที ส่วนด้านเอนทิตี้ที่เป็นตัวอักษร M ให้แผลงเอนทิตี้เป็นตารางโดยมี Attribute ของเอนทิตี้ตัวมันเอง และนำคีย์หลักของเอนทิตี้ที่เป็นเลข 1 มาใส่ฟิลด์ของตารางนั้นด้วย
3.แปลงเอนทิตี้ที่มีความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many to Many Relationships) ไปเป็นตารางโดยสร้างเอนทิตี้กลาง (Composite Entity) เอนทิตี้กลางจะนำคีย์หลักของทั้งสองตารางมาเป็นคีย์หลักของเอนทิตี้กลางด้วย ส่วนเอนทิตี้ทั้งสองที่อยู่ระหว่างเอนทิตี้กลางก็แปลงเป็นตารางได้ โดยนำเอา Attribute ของแต่ละเอนทิตี้ไปเป็นฟิลด์ (ทำตามกฎของความสัมพันธ์แบบหนึ่งต่อหนึ่ง)

สัญลักษณ์

ความหมาย

สัญลักษณ์

ความหมาย

Entity set

Discriminator key attribute

Weak entity set

Composite attribute

Relationship set

Derived attribute

Identifying relationship set

Key attribute

Attribute

Multi valued attribute

ภาพที่ 10.7 แสดงสัญลักษณ์ของ E-RMODEL


การเริ่มต้นโครงการและการศึกษาเบื้องต้น

Entity

วัตถุ หรือวิ่งของที่ราสนใจ

Attribute

คุณสมบัติของวัตถุที่เราสนใจ

Relationship

ความสัมพันธ์ระหว่าง เอนทิตี้

Simple Attribute

Attribute ที่ไม่สามารถแยกออกเป็นส่วนย่อย

Composite Attribute

Attribute ที่สามารถแยกออกเป็นส่วนย่อย

Single-valued

ค่าของเอนทิตี้ที่สามารถมีได้แค่ค่าเดียว

Multi-valued

ค่าที่เป็นได้มากกว่า 1 ค่า

Stored Attribute

Attribute ที่เก็บอยู่ในฐานข้อมูล

Derived Attribute

Attribute ที่เกิดจากการคำนวณ

Relationships Degree

ระดับชั้นของความสัมพันธ์

Unary Relationships

ความสัมพันธ์เอนทิตี้เดียว

Binary Relationships

ความสัมพันธ์สองเอนทิตี้

Ternary Relationships

ความสัมพันธ์สามเอนทิตี้

Connectivity

การระบุความสัมพันธ์ระหว่างเอนทิตี้

One to One Relationships

ความสัมพันธ์แบบหนึ่งต่อหนึ่ง

One to Many Relationships

ความสัมพันธ์แบบหนึ่งต่อกลุ่ม

Many to Many Relationships

ความสัมพันธ์แบบกลุ่มต่อกลุ่ม

Super Key

กลุ่มของ Attribute ซึ่งมีค่าแตกต่างกัน

Candidate Key

Subset ที่เล็กที่สุดของ Super Key

Primary Key

Candidate Key ที่ถูกเลือกให้เป็นตัวระบุ

Composite Entity

เอนทิตี้กลาง

Weak Entity

เอนทิตี้ที่ไม่มี Primary Key เป็นของตนเอง

Strong Entity

เอนทิตี้ที่มี Primary Key เป็นของตนเอง



นายต้น เหรียญรุ่งเรือง ( ต้น )


1 ความคิดเห็น:

  1. ขอบคุณ ต้น ที่ ช่วย นำเรื่อง ER-Diagram มาเล่าให้เพื่อนฟัง อยากเห็นตัวอย่าง ER ของกลุ่มต้นน่ะว่าเป็นอย่างไร

    ตอบลบ

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น