จากพิมพ์เขียวสู่โครงสร้างจริง
- ทบทวนภาพ E-R Diagram ระบบบำรุงรักษาเครื่องจักรจากสัปดาห์ที่ 3
- แนะนำ SQL (Structured Query Language) ว่าเป็น “ภาษากลาง” ที่เราใช้สั่งงานและสนทนากับฐานข้อมูล
- บอกว่าวันนี้เราจะเรียน 2 ส่วนสำคัญ: การสร้างโครงสร้าง (DDL) และ การสอบถามข้อมูล (DQL)
DDL (Data Definition Language) – ภาษาสำหรับนิยามข้อมูล
- วัตถุประสงค์: ใช้สำหรับ “สร้าง, แก้ไข, และลบ” โครงสร้างของฐานข้อมูล เช่น ตาราง (Table)
- คำสั่งหลัก:
CREATE TABLE
- โครงสร้างพื้นฐาน:SQL
CREATE TABLE ชื่อตาราง ( ชื่อคอลัมน์1 ชนิดข้อมูล [ข้อกำหนด], ชื่อคอลัมน์2 ชนิดข้อมูล [ข้อกำหนด], ... );
- ชนิดข้อมูล (Data Types) ที่พบบ่อยในโรงงาน:
INT
/INTEGER
: สำหรับเก็บเลขจำนวนเต็ม (เช่น รหัสพนักงาน, จำนวนชิ้นงาน)VARCHAR(n)
: สำหรับเก็บข้อความที่มีความยาวไม่แน่นอน ไม่เกิน n ตัวอักษร (เช่น ชื่อเครื่องจักร, ตำแหน่ง)TEXT
: สำหรับเก็บข้อความยาวๆ (เช่น รายละเอียดปัญหา, คำอธิบาย)DECIMAL(p, s)
: สำหรับเก็บเลขทศนิยมที่ต้องการความแม่นยำสูง (เช่น ค่าจากเซ็นเซอร์, อุณหภูมิ)DATE
: สำหรับเก็บวันที่ (รูปแบบ: YYYY-MM-DD)TIMESTAMP
: สำหรับเก็บทั้งวันที่และเวลา (รูปแบบ: YYYY-MM-DD HH:MI:SS)
- ข้อกำหนด (Constraints):
PRIMARY KEY
: กำหนดให้คอลัมน์นั้นเป็น “คีย์หลัก” ของตาราง (ข้อมูลต้องไม่ซ้ำและห้ามเป็นค่าว่าง)NOT NULL
: กำหนดว่าคอลัมน์นั้น “ห้ามเป็นค่าว่าง” ต้องมีข้อมูลเสมอFOREIGN KEY
: กำหนดให้เป็น “คีย์นอก” เพื่อเชื่อมไปยังPRIMARY KEY
ของอีกตารางหนึ่ง (จะเน้นในภาคปฏิบัติ)
- โครงสร้างพื้นฐาน:SQL
- คำสั่งอื่นๆ: พูดถึง
ALTER TABLE
(แก้ไขโครงสร้าง) และDROP TABLE
(ลบตารางทิ้ง) ให้พอรู้จัก แต่เน้นว่าDROP
อันตรายมาก
DQL (Data Query Language) – ภาษาสำหรับสืบค้นข้อมูล
- วัตถุประสงค์: ใช้สำหรับ “ดึง” หรือ “สอบถาม” ข้อมูลที่เก็บอยู่ในตาราง
- คำสั่งหลัก:
SELECT
- ดึงทุกคอลัมน์:
SELECT * FROM ชื่อตาราง;
(เครื่องหมาย*
หมายถึง “ทุกอย่าง”) - ดึงเฉพาะคอลัมน์ที่ต้องการ:
SELECT ชื่อคอลัมน์1, ชื่อคอลัมน์2 FROM ชื่อตาราง;
- ดึงทุกคอลัมน์:
- การกรองข้อมูลด้วย
WHERE
- โครงสร้าง:
SELECT ... FROM ... WHERE เงื่อนไข;
- ตัวดำเนินการเปรียบเทียบ (Comparison Operators):
=
(เท่ากับ),<>
หรือ!=
(ไม่เท่ากับ)>
(มากกว่า),<
(น้อยกว่า),>=
(มากกว่าหรือเท่ากับ),<=
(น้อยกว่าหรือเท่ากับ)
- การค้นหาข้อความ:
LIKE
: ใช้ค้นหารูปแบบข้อความ'CNC%'
หมายถึง ข้อความที่ขึ้นต้นด้วย “CNC”'%Mill'
หมายถึง ข้อความที่ลงท้ายด้วย “Mill”'%Press%'
หมายถึง ข้อความที่มีคำว่า “Press” อยู่ข้างใน
- ตัวดำเนินการตรรกะ (Logical Operators):
AND
: และ (เงื่อนไขทั้งสองฝั่งต้องเป็นจริง)OR
: หรือ (เงื่อนไขฝั่งใดฝั่งหนึ่งเป็นจริงก็พอ)
- โครงสร้าง:
สรุปและปูทางสู่ภาคปฏิบัติ
- สรุปความแตกต่าง: DDL คือการสร้างบ้าน, DQL คือการเข้าไปดูของในบ้าน
- แจ้งเป้าหมายภาคปฏิบัติ: “เราจะนำ E-R Diagram ที่ออกแบบไว้ มาเปลี่ยนเป็นตารางจริงๆ ด้วยคำสั่ง
CREATE TABLE
จากนั้นจะลองใส่ข้อมูลและใช้SELECT
เพื่อค้นหาข้อมูลนั้นกัน”