ตอนที่ 11 phpMyAdmin : การสร้างตารางที่มีความสัมพันธ์กัน 2 ตาราง

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

mystou-com-php-pdo-basic-2-1-00

จะเห็นว่าเรามีตารางประเภทหนังสือ (book_type) เพิ่มขึ้นมาด้วยนะคะ
มีแค่ 2 คอลัมน์ คือ id และ name
หมายถึงรหัสและชื่อหมวดหมู่ ตามลำดับ
ทำการสร้างตารางภายใต้ฐานข้อมูล php_pdo
ตามขั้นตอนด้านล่างนะคะ

mystou-com-php-pdo-basic-2-1-01

คลิกที่ปุ่ม “Go

mystou-com-php-pdo-basic-2-1-02

เลือนไปทางขวามือ กำหนดค่าเพิ่มเติม

mystou-com-php-pdo-basic-2-1-03

เสร็จแล้วคลิกปุ่ม “save

ต่อมาเรามาสร้างตาราง book กันนะคะ

mystou-com-php-pdo-basic-2-1-04

คลิกปุ่ม “Go

กำหนดค่าต่าง ๆตามภาพ

mystou-com-php-pdo-basic-2-1-05

เลื่อนไปทางขวามือ กำหนดค่าเพิ่มเติม

mystou-com-php-pdo-basic-2-1-06

เสร็จแล้วคลิกปุ่ม “sava

ต่อไปเราจะไปกำหนดค่าความสัมพันธ์ ของตารางกันค่ะ

ในตาราง book_type ก็ไม่มีอะไรนะคะ

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

เราสามารถกำหนดค่าการอ้างอิงได้ดังนี้
เข้าไปในฐานข้อมูลของเรา แล้วคลิกที่ Structure
หลังตาราง book

mystou-com-php-pdo-basic-2-1-07

แล้วคลิกที่ Relation view

mystou-com-php-pdo-basic-2-1-08

กำหนดค่าการอ้างอิงดังนี้

mystou-com-php-pdo-basic-2-1-09

เสร็จแล้วคลิกที่ปุ่ม “sava
จะปรากฏคำสั่งการเปลี่ยนแปลงตาราง และกำหนดการอ้างอิงดังนี้

ถ้าใครเคยผ่านช่วงเวลาที่เขียนคำสั่ง SQL ด้วยมือ
ไม่ใช่การคลิกเลือกง่าย ๆ แบบนี้
จะรู้สึกคุ้นเคยโค้ดคำสั่ง SQL ด้านบนเป็นอย่างดี ^_^
ซึ่งตอนนี้คอลัมน์ book_type_id กลายเป็น FK
ของ PK ตาราง book_type เรียบร้อยแล้วค่ะ

ตอนต่อไปเราจะกรอกข้อมูลกันนะคะ แล้วพบกันค่ะ ^_^


เรื่องที่เกี่ยวข้อง :
PHP and PDO Basic : แบบ 2 ตาราง
ตอนที่ 11 phpMyAdmin : การสร้างตารางที่มีความสัมพันธ์กัน 2 ตาราง
ตอนที่ 12 phpMyAdmin : กรอกข้อมูล (INSERT)
ตอนที่ 13 PHP & PDO : การผูกค่าตัวแปรด้วย bindValue()
ตอนที่ 14 PHP & PDO : การกำหนดพารามิเตอร์ด้วย bindParam()
ตอนที่ 15 PHP & PDO : การส่งค่าทาง URL แบบ GET
ตอนที่ 16 PHP & PDO : MySQL INNER JOIN [ coming soon !!! ]
ตอนที่ 17 PHP & PDO : MySQL OUTER JOIN [ coming soon !!! ]
ตอนที่ 18 PHP & PDO : การ Insert ข้อมูล
ตอนที่ 19 PHP & PDO : การ Insert ข้อมูลและขอ id กลับมา lastInsertId()
ตอนที่ 20 PHP & PDO : การ Delete และนับแถวที่มีการเปลี่ยนแปลง rowCount()
ตอนที่ 21 PHP & PDO : การ Update และนับแถวที่มีการเปลี่ยนแปลง rowCount()


ธมนวรรณ มณีจันทร์

ธมนวรรณ มณีจันทร์

|:- เราเชื่อมั่นว่าการเสียสละและการแบ่งปันจะทำให้โลกใบนี้สวยงามมากขึ้น ทุกๆ จุดเริ่มต้นของการเรียนรู้ นำไปสู่การเรียนรู้ถัดไป เว็บไซต์แห่งนี้ขอเป็นส่วนหนึ่งของการแบ่งปันความรู้ที่ไม่มีที่สิ้นสุด มาร่วมกันผลักดันโลกของเราให้หมุนไปพร้อมกับพลังแห่งความรักด้วยกันนะคะ :) >>> |:- About Me! -:|