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

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

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

M013
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 829
ลงทะเบียนเมื่อ: 22/04/2010 12:02 pm

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

โพสต์ที่ยังไม่ได้อ่าน โดย M013 »

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

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

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

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

โพสต์ที่ยังไม่ได้อ่าน โดย Four »

VDO สอนการใช้งาน PostgreSQL
https://www.mindphp.com/vdo-tutorial-postgresql.html
:icon_plusone:
I am slow walker, but I never walk back. (Abraham Lincoln)
makup
PHP Super Member
PHP Super Member
โพสต์: 398
ลงทะเบียนเมื่อ: 05/10/2020 10:02 am

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

โพสต์ที่ยังไม่ได้อ่าน โดย makup »

************************เพิ่มเติมข้อมูล อธิบายความสัมพันธ์ (Relationships) ของ One to many ************************

ในบทความนี้ จะมาอธิบายความสัมพันธ์ (Relationships) ของ One to many , ว่ามีที่มาที่ไปอย่างไร , แล้วสามารถเอาไปประยุกต์ใช้งานได้แบบไหนได้บ้างในของ MySQL , และสามารถเอาไปใช้ร่วมกับการเขียนโปรแกรม PHP ได้หรือไหม ?


ความสัมพันธ์ (Relationships) One to many
ความสัมพันธ์แบบหนึ่งต่อกลุ่ม เป็นการแสดงความสัมพันธ์ของข้อมูลของ Entity หนึ่ง ว่ามีความสัมพันธ์กับข้อมูลหลายข้อมูลกับอีก Entity เช่น ความสัมพันธ์ของ แผนกกับพนักงาน ซึ่งแผนกแต่ละแผนกจะประกอบไปด้วยพนักงานที่สังกัดอยู่ในแผนกหลายคน
SQL Knowledge-1.png
SQL Knowledge-1.png (69.35 KiB) Viewed 6428 times




ข้อสรุป
ในเรื่องความสัมพันธ์ลักษณะข้อมูล สามารถเอาไปใช้ประโยชน์ในเรื่องของการเชื่อมตารางฐานข้อมูลได้ , ซึ่งจะมีประโยชน์ต่อการเอาไปประยุกต์ใช้งานโปรแกรม PHP เป็นต้น , หากต้องการศึกษาข้อมูลเพิ่มเติมได้จากบทความ MySQL ในบทความนี้


แหล่งอ้างอิงข้อมูล
http://www.satrinon.ac.th/emmy/lesson/lesson01/ls0103.html
https://cst.tsu.ac.th/courseonline/course/computer_it/database/relationship.html

แหล่งอ้างอิงรูปภาพ
https://cst.tsu.ac.th/courseonline/course/computer_it/database/relationship.html
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 28