หน่วยที่ 1 ความรู้เบื้องต้นเกี่ยวกับฐานข้อมูล
เรื่อง ความสัมพันธ์ (Relationship)

_________________________________________________________________                               

ความสัมพันธ์ (Relationships)
ความสัมพันธ์ (Relationships) หมายถึง ความสัมพันธ์ระหว่างตารางหรือเอนทิตี้ เช่น ความสัมพันธ์ระหว่างตารางประชาชน และ ตารางผู้เสียภาษี ดังตาราง
ตารางข้อมูลประชาชน


ตารางข้อมูลผู้เสียภาษี

ในเมื่อตารางทั้งสองมีหมายเลขประจำตัวประชาชนเหมือนกัน ความสัมพันธ์จึงเกิดขึ้นโดยมีหมายเลขประจำตัวเป็นตัวเชื่อมความสัมพันธ์ระหว่างตาราง และเขียนในรูปแบบของเอนทิตี้ได้ดังนี้

ความสัมพันธ์ระหว่างเอนทิตี้ อาจแบ่งออกเป็น 3 ประเภท คือ
      1.       ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships)
      2.       ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one-to-many Relationships)
      3.       ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships)

ความสัมพันธ์แบบหนึ่งต่อหนึ่ง 1 : 1 (One-to-one Relationships)
ความสัมพันธ์แบบหนึ่งต่อหนึ่ง (One-to-one Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่งที่มีความสัมพันธ์กับข้อมูลในอีกเอนทิตี้หนึ่ง ในลักษณะหนึ่งต่อหนึ่ง ตัวอย่างเช่น วิชาคณิตศาสตร์ นักเรียน 1 คน จะได้แค่เกรดเดียวเท่านั้น ดังตาราง
ตารางรายชื่อนักเรียน


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

สามารถเขียนในรูปแบบของเอนทิตี้และแอททริตี้ได้ดังนี้


และเขียนในรูปแบบของเอนทิตี้ได้ดังนี้




ความสัมพันธ์แบบหนึ่งต่อกลุ่ม 1 : N (one-to-many Relationships)
          ความสัมพันธ์แบบหนึ่งต่อกลุ่ม (one-to-many Relationships) เป็นการแสดงความสัมพันธ์ของข้อมูลในเอนทิตี้หนึ่ง ที่มีความสัมพันธ์ข้อมูลหลาย ๆ ข้อมูล ในอีกเอนทิตี้หนึ่ง จะให้เข้าใจง่ายๆ คือข้อมูล 1 เรคอร์ดจากตารางหนึ่งสามารถสัมพันธ์กับข้อมูลในอีกตารางหนึ่งตั้งแต่ 1 เรคอร์ดขึ้นไปจนถึงหลายๆ เรคอร์ด ตัวอย่างดังตาราง

จากตารางจะเห็นว่าห้องสอบ 1 ห้องมีนักเรียนผู้เข้าสอบได้หลายคน
เมื่อแปลงจากตารางให้อยู่ในรูปแบบของ เอ็นทิตี้กับแอททริบิวท์ จะได้ดังรูป

และถ้าหยิบมาเฉพาะเอ็นทิตี้ ก็จะได้ดังนี้




ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships)
      ความสัมพันธ์แบบกลุ่มต่อกลุ่ม (Many-to-many Relationships) เป็นการแสดงความสัมพันธ์ ของข้อมูลสองเอนทิตี้ในลักษณะกลุ่มต่อกลุ่ม ตัวอย่างเช่น หนังสือ 1 เรื่องจะมีผู้ยืมหนังสือได้มากกว่า 1 คน ในขณะเดียวกัน ผู้ยืมหนังสือ 1 คน ก็สามารถยืมหนังสือได้มากกว่า 1 เรื่อง
ตารางหนังสือ

ตารางผู้เช่าหนังสือ

เมื่อแปลงจากตารางให้อยู่ในรูปแบบของ เอ็นทิตี้กับแอททริบิวท์ จะได้ดังรูป



และถ้าหยิบมาเฉพาะเอ็นทิตี้ ก็จะได้ดังนี้


โพสต์ยอดนิยมจากบล็อกนี้

หน่วยที่ 4 การจัดการข้อมูลด้วยคิวรี