sql command

Database SQL – Constraint

เราทราบกันแล้วว่าตอนที่เราทำการ Create table เราจำเป็นต้องระบุชื่อ column รวมถึง data type ของแต่ละ column เพื่อให้ผู้ที่ใช้งาน table นี้สามารถข้อมูลมาใส่ลงในตาราง ได้ถูกต้องตามวัตถุประสงค์ ซึ่งนอกจากนี้เรายังสามารถกำหนดเงื่อนไขพิเศษสำหรับ column หรือทั้ง table ได้ด้วย เพราะให้ข้อมูลที่ถูกเก็บใน table สามารถเอาไปใช้งานได้ตรงตามความต้องการ เราเรียกการกำหนดเงื่อนไข หรือ ข้อจำกัดนี้ว่า Constraint ซึ่งข้อจำกัดต่อไปนี้ที่ส่วนมากสามารถใช้ได้บน database

  • NOT NULL Constraint − กำหนดให้ข้อมูลที่ใส่ใน column ต้องมีค่าไม่เท่ากับ NULL หรือ ไม่มีข้อมูล
  • DEFAULT Constraint − กำหนดค่าเริ่มต้น (default) ของข้อมูลใน column ถ้าไม่มีการกำหนดมาให้ตอนแรก
  • UNIQUE Constraint − กำหนดให้ข้อมูลใน column ทั้งหมดต้องไม่ซ้ำกัน
  • PRIMARY Key − กำหนดให้ column มีคุณสมบัติเป็น PRIMARY Key คือ ค่าใน column นั้นต้องเป็นแบบ UNIQUE และ NOT NULL
  • FOREIGN Key − กำหนดให้ column นั้นจำเป็นต้องอ้างอิงข้อมูลที่มภายในอีก table หนึ่งที่เป็น PRIMARY Key column
  • CHECK Constraint − กำหนดเงือนไขของข้อมูลใน column ว่าต้องมีค่าเป็นอย่างไรเท่านั้น
  • INDEX − ใช้สร้างดรรชนีเพื่อให้ระบบค้นหาข้อมูลที่อ้างอิงจาก column นั้นได้รวดเร็วขึ้น

โดย constraint ทั้งหมดนี้จะถูกกำหนดตั้งแต่เริ่มสร้าง Create table หรือ เริ่มเปลี่ยนภายหลังด้วยคำสั่ง Alter table เพื่อสร้าง constraint บน table ที่มีอยู่แล้ว

 

การลบ Constraint (Drop Constraint)

เราสามารถลบ constraint หรือ drop constraint ได้ด้วยคำสั่ง SQL ALTER TABLE ตามด้วย DROP CONSTRAINT

 

ตัวอย่างการ Drop Constraint

ทำการลบ primary key constraint ออกจาก table EMPLOYEES

ALTER TABLE EMPLOYEES DROP CONSTRAINT EMPLOYEES_PK;

หรือบางครั้งเราสามารถเขียนลดรูปได้ เช่นใน oracle

ALTER TABLE EMPLOYEES DROP PRIMARY KEY;

 

Integrity Constraints

ประโยชน์ของ Constraint หลักๆคือ เพื่อการทำ integrity constraint หรือ การทำข้อมบังคับในการใส่ข้อมูลลงใน table ภายใต้ database ที่กำหนด เพื่อให้ข้อมูลที่ได้ไม่มีข้อมูลที่อยู่นอกเหนือจากที่วางไว้ สำหรับ constraint ที่มีคุณสมบัติในการทำ Referential Integrity (RI) ได้แก่ Primary Key, Foreign Key, Unique Constraints และรวมถึง Constraint อื่นๆที่กล่าวไว้

 

 

Reference:

รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

8 Thoughts to “Database SQL – Constraint คือ การตั้งข้อจำกัดของข้อมูลในตาราง”

  1. […] Constraint ซึ่งเป็นการจำกัดข้อมูลภายใน table […]

  2. […] Constraint ซึ่งเป็นการจำกัดข้อมูลภายใน table […]

Leave a Reply