ความสัมพันธ์ (Relationships) ของระบบฐานข้อมูล

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderators: mindphp, ผู้ดูแลกระดาน

M013
PHP Super Hero Member
PHP Super Hero Member
Posts: 829
Joined: 22/04/2010 12:02 pm

ความสัมพันธ์ (Relationships) ของระบบฐานข้อมูล

Post by M013 » 03/08/2013 3:49 pm

ความสัมพันธ์ (Relationships) ของระบบฐานข้อมูล

เป็นความสัมพันธ์ของ"ข้อมูลเชิงสัมพันธ์" ซึ่งข้อมูลเชิงสัมพันธ์นี้เกิดขึ้นจากตาราง 2 มิติ คือการประกอบกันของตารางด้วยเเถว และคอลัมน์ (ดังรูปที่ 1 ตาราง 2 มิติ) เพื่อทำการเก็บข้อมูลต่างๆ โดยการออกแบบฐานข้อมูลจำเป็นต้องมีการกำหนดค่าความสัมพันธ์นั้นด้วย
Table 2D.jpg
รูปที่ 1.1 ตาราง 2 มิติ
Table 2D.jpg (33.24 KiB) Viewed 23276 times

ซึ่งความสัมพันธ์ของฐานข้อมูลจะมีอยู่ 3 ลักษณะได้แก่
1.ความสัมพันธ์แบบ One-to-One [1:1]
เป็นความสัมพันธ์แบบหนึ่งต่อหนี่ง เช่น คนหนึ่งคนสามารถมีใบขับขี่ได้เเค่หนึ่งใบ และใบขับขี่หนึ่งใบสามารถอยู่ได้แค่กับคนหนึ่งคน เป็นต้น สามารถเขียนไดอะเเกรมได้ดังรูปที่ 1.2
one-to-one.jpg
รูปที่ 1.2 ความสัมพันธ์แบบ One-to-One [1:1]
one-to-one.jpg (20.05 KiB) Viewed 23276 times
ตัวอย่างความสัมพันธ์แบบ One-to-One เมื่ออยู่ในตาราง
one-to-one_tbl.jpg
รูปที่ 1.3 ความสัมพันธ์แบบ One-to-One เมื่ออยู่ในตาราง (เมื่อหนึ่งแถวในหนึ่งตารางมีความสัมพันธ์กับหนึ่งแถวในอีกหนึ่งตาราง)
one-to-one_tbl.jpg (113.81 KiB) Viewed 23276 times
2.ความสัมพันธ์แบบ One-to-Many [1:N]
ความสัมพันธ์แบบนี้เกิดขึ้นมากที่สุดในการสร้างฐานข้อมูล เป็นความสัมพันธ์ระหว่างหนึ่งสิ่งต่อหลายๆสิ่ง เช่น ทีมฟุตบอลหนุ่งทีมสามารถมีนักฟุตบอลได้หลายๆคน และนักฟุตบอลหลายๆคนสามารถสังกัดทีมฟุตบอลได้เเค่หนึ่งทีม(ในบางครั้งอาจเรียกความสัมพันธ์แบบนี้ว่า Many-to-One เป็นความหมายเดียวกันเพียงเเต่ทำงานกันในทิศทางตรงกันข้าม) สามารถเขียนไดอะเเกรมได้ดังรูปที่ 1.4
one-to-many.jpg
รูปที่ 1.4 ความสัมพันธ์แบบ One-to-Many [1:N]
one-to-many.jpg (21.98 KiB) Viewed 23276 times
ตัวอย่างความสัมพันธ์แบบ One-to-Many เมื่ออยู่ในตาราง
one-to-many_tbl.jpg
รูปที่ 1.5 ความสัมพันธ์แบบ One-to-Many เมื่ออยู่ในตาราง (เมื่อหนึ่งเเถวในตารางสามารถสัมพันธ์กับหนึ่งหรือหลายเเถวในอีกตารางหนึ่ง)
one-to-many_tbl.jpg (126.66 KiB) Viewed 23276 times
3.ความสัมพันธ์แบบ Many-to-Many [M:N]
เป็นความสัมพันธ์แบบหลายสิ่งต่อหลายสิ่ง เช่น ลูกค้าสามารถจองห้องพักในโรงเเรมได้หลายห้อง เเละในเเต่ละห้องสามารถถูกลูกค้าจองได้หลายๆคน สามารถเขียนไดอะเเกรมได้ดังรูปที่ 1.6
many-to-many.jpg
รูปที่ 1.6 ความสัมพันธ์แบบ Many-to-Many [M:N]
many-to-many.jpg (20.71 KiB) Viewed 23276 times
ตัวอย่างความสัมพันธ์แบบ Many-to-Many เมื่ออยู่ในตาราง
many-to-many_tbl.jpg
รูปที่ 1.7 ความสัมพันธ์แบบ Many-to-Many เมื่ออยู่ในตาราง (เมื่อเเถวหนึ่งหรือหลายแถวในตารางมีความสัมพันธ์กับหนึ่งหรือหลายเเถวในอีกตารางหนึ่ง)
many-to-many_tbl.jpg (123.22 KiB) Viewed 23276 times

Four
PHP Super Hero Member
PHP Super Hero Member
Posts: 813
Joined: 08/01/2018 9:55 am

Re: ความสัมพันธ์ (Relationships) ของระบบฐานข้อมูล

Post by Four » 16/03/2019 6:53 pm

:icon_plusone:
I am slow walker, but I never walk back. (Abraham Lincoln)

Post Reply

Return to “SQL Knowledge”

Users browsing this forum: No registered users and 3 guests