จากพิมพ์เขียวสู่โครงสร้างจริง
- ทบทวนภาพ 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เพื่อค้นหาข้อมูลนั้นกัน”
