SQL Constraints คือข้อกำหนดหรือข้อบังคับที่ใช้ในการเก็บข้อมูลในตารางให้เป็นระเบียบ และหากมีการดำเนินการที่ไม่เป็นไปตามข้อบังคับนั้นจะถูกยกเลิกโดยข้อบังคับนั้น การระบุ constraints ต่างๆ สามารถทำได้โดย
1 ระบุเมื่อมีการสร้างตารางข้อมูล(ภายในคำสั่ง CREATE)
2 ระบุหลังจากที่ทำการสร้างตารางข้อมูลแล้ว
Constraints ต่างๆ
NOT NULL
: Constraints นี้จะบังคับให้ column นั้นๆไม่ยอบรับข้อมูลที่มีค่าเป็น null ซึ่งก็คือจะบังคับให้ใส่ค่า ถ้าไม่ใส่ค่าหรือใส่ค่าเป็น null ไปเราจะไม่สามารถ insert หรือ update ข้อมูลได้ได้
![]() |
รูปภาพแสดงการสร้างตารางและการกำหนดข้อบังคับในการเก็บข้อมูลในตารางของแต่ละ column ให้เป็น NOT NULL ที่ column Id และ LastName |
รูปภาพแสดงการเกิด error เมื่อมีการใส่ค่าของ Id ให้เป็น null
ซึ่งไม่เป็นไปตามข้อบังคับในการเก็บข้อมูลที่ได้ตั้งค่าให้เป็น Not Null Constraint เอาไว้
รูปภาพแสดงการผลหลังจากตั้งค่า Constraints ขณะสร้างตาราง
สังเกตจะพบว่า column ชื่อ Id และ LastName ไม่รับค่าที่เป็น null (กรอบสีฟ้า)เหมือน column อื่นๆ
UNIQUE
:Constraint นี้จะบังคับให้ข้อมูลแต่ละ record มีค่าไม่ซำ้กัน โดย unique กับ primary key เป็นตัวที่บอกว่า column และเซตของ column มีข้อมูลที่ไม่ซ้ำกัน primary key จะมีคุณสมบัติเป็น unique โดยอัติโนมัติ ในหนึ่งตารางสามารถมีได้หลาย unique แต่ primary key มีเพียงตัวเดียว
รูปภาพแสดงการสร้างตารางและการกำหนดข้อบังคับในการเก็บข้อมูลในตาราง ของแต่ละ column ให้เป็น NOT NULL ที่ column P_Id และ LastName และกำหนดให้ P_Id เป็น UNIQUE |
รูปภาพแสดงการ insert ค่าให้แก่ตารางสองครั้ง โดยครั้งที่สองไม่เปลี่ยนค่า P_Id
ทำให้เกิด error ว่า "#1062 - Duplicate entry '109' for key 'P_Id'"เนื่องจากมีข้อมูลซ้ำซึ่งไม่เป็นไปตามข้อบังคับที่เราได้ตั้งค่าให้ P_Id เป็น UNIQUE จะมีข้อมูลซ้ำกันไม่ได้
PRIMARY KEY
:Constraint นี้บังคับว่า column ที่เราได้เลือกให้เป็น Primary key นั้น จะต้องมีค่าของแต่ละ record ที่ไม่ซ้ำกันสามารถนำไปใช้เป็นตัวแทนของข้อมูลทั้งหมดได้ และนอกจากนี้ Primary key จะต้องไม่มีค่าเป็น null และในหนึ่งตารางสามารถมี Primary key ได้เพียงตัวเดียว
รูปภาพแสดงการกำหนดให้ P_Id เป็น PRIMARY KEY (หมายเลข 1) จากนั้นไปดูที่ structure ของตารางจะพบว่า column P_Id นั้นมีการกำหนดให้เป็น UNIQUE และ PRIMARY KEY(หมายเลข 2)
FOREIGN KEY
:Constraint นี้จะตัวที่เชื่อมจากตารางหนึ่งไปยัง Primary key ของอีกตารางหนึ่ง
related info/link/reference :
http://www.w3schools.com/sql/default.asp
ไม่มีความคิดเห็น:
แสดงความคิดเห็น