ทำความรู้จัก PostgreSQL และเหตุผลที่โปรแกรมเมอร์ต้องใช้
เวลาเราสร้างแอปพลิเคชัน ข้อมูลต่างๆ เช่น ชื่อผู้ใช้หรือรายการสินค้า ไม่สามารถลอยอยู่ในอากาศได้ เราต้องมีที่เก็บข้อมูลที่ปลอดภัยและเรียกใช้ง่าย ซึ่งเราเรียกว่า Database (ระบบฐานข้อมูล) โดย PostgreSQL (ระบบจัดการฐานข้อมูลแบบเชิงสัมพันธ์ระดับองค์กร) คือตัวเลือกที่ได้รับความนิยมสูงมากในโลกของการทำงานจริง
ลองนึกภาพว่าฐานข้อมูลคือ ตู้เก็บเอกสารอัจฉริยะ ถ้าเราเก็บข้อมูลแบบมั่วๆ พอถึงเวลาต้องค้นหาข้อมูลลูกค้าที่สั่งของเมื่อวาน เราจะหาไม่เจอเลย แต่ PostgreSQL ช่วยให้เราจัดเก็บข้อมูลเป็นตารางที่มีระเบียบ ทำให้การดึงข้อมูลมาแสดงผลทำได้รวดเร็วและแม่นยำมาก ไม่ว่าข้อมูลจะมีจำนวนหลักล้านแถวก็ตาม
ทำไมโปรแกรมเมอร์มือใหม่ต้องสนใจตัวนี้ เพราะมันเป็นมาตรฐานอุตสาหกรรมที่บริษัทใหญ่ทั่วโลกเลือกใช้ การเรียนรู้ PostgreSQL จะทำให้เราเข้าใจโครงสร้างข้อมูลที่แท้จริง ซึ่งเป็นพื้นฐานสำคัญก่อนจะไปต่อยอดเรื่องอื่น เช่น การสร้าง API (ช่องทางเชื่อมต่อระหว่างซอฟต์แวร์) หรือการจัดการระบบเซิร์ฟเวอร์ที่ซับซ้อน
การติดตั้ง PostgreSQL บน Windows ให้พร้อมใช้งาน
ขั้นตอนแรกเราต้องไปดาวน์โหลดตัวติดตั้งจากเว็บไซต์หลักของ PostgreSQL ก่อน เมื่อได้ไฟล์มาแล้วให้กดติดตั้งตามปกติ แต่สิ่งที่มือใหม่มักจะลืมคือ การตั้งรหัสผ่านสำหรับผู้ดูแลระบบ ซึ่งเราต้องจดจำไว้ให้แม่น เพราะต้องใช้ทุกครั้งในการเข้าถึงฐานข้อมูล
ในระหว่างติดตั้ง คุณจะเห็นตัวเลือกที่ชื่อว่า Stack Builder (โปรแกรมช่วยติดตั้งเครื่องมือเสริม) ให้ติ๊กเลือกไว้ได้เลย มันจะช่วยให้เราติดตั้งส่วนเสริมที่จำเป็นอื่นๆ ได้ง่ายในอนาคต เมื่อการติดตั้งเสร็จสิ้น โปรแกรมจะสร้างบริการที่ทำงานเบื้องหลังตลอดเวลา เพื่อรอรับคำสั่งจากเรา
จุดที่ต้องระวังคือเรื่อง Port (ช่องทางสื่อสารของคอมพิวเตอร์) โดยค่าเริ่มต้น PostgreSQL จะใช้พอร์ตหมายเลข 5432 หากเครื่องคุณเคยลงโปรแกรมฐานข้อมูลอื่นไว้ก่อน อาจจะเกิดปัญหาชนกันได้ ให้สังเกตข้อความแจ้งเตือนตอนติดตั้งให้ดี ถ้าขึ้นสีแดงแสดงว่าพอร์ตถูกใช้งานอยู่ ให้เปลี่ยนเลขพอร์ตเป็น 5433 แทน
รู้จักกับ pgAdmin 4 เครื่องมือจัดการฐานข้อมูลแบบเห็นภาพ
การพิมพ์คำสั่งเพื่อจัดการฐานข้อมูลผ่านหน้าจอดำๆ อาจจะดูยากเกินไปสำหรับมือใหม่ pgAdmin 4 (โปรแกรมจัดการ PostgreSQL แบบมีหน้าต่างกราฟิก) จึงถูกสร้างขึ้นมาเพื่อให้เรามองเห็นตารางข้อมูลได้เหมือนกับการใช้โปรแกรมตารางคำนวณทั่วไป ทำให้เราเช็กข้อมูลได้ง่ายและลดความผิดพลาด
เมื่อเปิดโปรแกรมขึ้นมา ครั้งแรกมันจะถามรหัสผ่านที่คุณตั้งไว้ตอนติดตั้ง ให้กรอกรหัสตัวนั้นลงไป จากนั้นหน้าจอจะแสดงรายการฐานข้อมูลทั้งหมดที่เรามีอยู่ทางด้านซ้ายมือ คุณสามารถคลิกขวาเพื่อสร้างตารางใหม่ หรือแก้ไขข้อมูลที่มีอยู่เดิมได้โดยตรงผ่านหน้าจอเมนู
มือใหม่หลายคนมักสับสนระหว่าง Server (เครื่องคอมพิวเตอร์ที่เก็บฐานข้อมูล) กับ Database (ฐานข้อมูลที่อยู่ข้างใน) ให้มองว่า Server คือตึกทั้งตึก ส่วน Database คือห้องในตึกนั้น เราต้องล็อกอินเข้าตึกก่อน ถึงจะเข้าไปจัดการห้องต่างๆ ที่อยู่ข้างในได้
เชื่อมต่อและทดสอบผ่าน Command Line ด้วย psql
แม้จะมีโปรแกรมสวยๆ อย่าง pgAdmin แต่ในฐานะโปรแกรมเมอร์ เราควรฝึกใช้ psql (โปรแกรมสั่งงานฐานข้อมูลผ่านบรรทัดคำสั่ง) ให้เป็น เพราะเวลาเรา Deploy (เอาโค้ดขึ้นเซิร์ฟเวอร์จริง) เรามักจะไม่มีหน้าจอสวยๆ ให้ใช้ ต้องอาศัยการพิมพ์คำสั่งผ่าน Terminal (หน้าจอพิมพ์คำสั่ง) เท่านั้น
วิธีเข้าใช้งานให้เปิดโปรแกรม SQL Shell (psql) ที่ติดมากับการติดตั้ง จะมีคำถามขึ้นมาให้เรากด Enter ผ่านไปเรื่อยๆ จนถึงช่องให้ใส่รหัสผ่าน เมื่อใส่รหัสผ่านถูกต้อง หน้าจอจะเปลี่ยนจากชื่อเครื่องคอมพิวเตอร์เป็นตัวอักษร postgres=# ซึ่งหมายความว่าเราพร้อมส่งคำสั่งแล้ว
การพิมพ์คำสั่งใน psql ต้องมีระเบียบ เพราะคำสั่งทุกอย่างต้องจบด้วยเครื่องหมายเซมิโคลอน (;) เสมอ ถ้าลืมใส่เครื่องหมายนี้ โปรแกรมจะคิดว่าเรายังพิมพ์คำสั่งไม่จบและไม่ยอมประมวลผลให้ นี่เป็นจุดที่มือใหม่พลาดบ่อยที่สุดในการฝึกครั้งแรก
-- สร้างฐานข้อมูลใหม่ชื่อว่า my_database
CREATE DATABASE my_database;
-- ดูรายการฐานข้อมูลทั้งหมดที่มีอยู่
\l
คำอธิบายโค้ด:
- บรรทัด
CREATE DATABASEคือคำสั่งสร้างฐานข้อมูลใหม่ ตามด้วยชื่อที่คุณต้องการ - บรรทัด
\lคือคำสั่งพิเศษของ psql เพื่อแสดงรายการฐานข้อมูลทั้งหมด (ใช้ตัวแอลพิมพ์เล็ก)
ผลลัพธ์ที่เห็น: หน้าจอจะแสดงข้อความ CREATE DATABASE เมื่อสำเร็จ และแสดงตารางรายชื่อฐานข้อมูลทั้งหมดเมื่อพิมพ์ \l
คำสั่งพื้นฐานที่มือใหม่ต้องลองเล่น
หลังจากสร้างฐานข้อมูลได้แล้ว สิ่งที่ต้องทำต่อคือการสร้างตารางเพื่อเก็บข้อมูลจริง ลองนึกว่าเรากำลังสร้างสมุดโทรศัพท์ เราต้องมีคอลัมน์เก็บชื่อและเบอร์โทรศัพท์ การใช้คำสั่ง SQL (ภาษาสำหรับสื่อสารกับฐานข้อมูล) จะช่วยให้เราจัดการข้อมูลเหล่านี้ได้ตามต้องการ
ลองใช้คำสั่งสร้างตารางง่ายๆ เพื่อฝึกมือกันดู คำสั่งนี้จะสร้างตารางชื่อ users และกำหนดให้มีช่องเก็บชื่อและอายุ เมื่อสร้างเสร็จแล้วลองใช้คำสั่งดึงข้อมูลออกมาดูเพื่อให้มั่นใจว่าตารางถูกสร้างขึ้นมาจริงๆ ในระบบแล้ว
จำไว้ว่าการลองผิดลองถูกในฐานข้อมูลส่วนตัวไม่มีอันตราย หากพิมพ์คำสั่งผิดจนตารางพัง คุณสามารถลบทิ้งและสร้างใหม่ได้ตลอดเวลา การฝึกพิมพ์บ่อยๆ จะช่วยให้ความจำในกล้ามเนื้อทำงานได้ดีขึ้น และทำให้คุณพิมพ์คำสั่งได้คล่องแคล่วโดยไม่ต้องคอยเปิดคู่มือ
-- สร้างตารางเก็บข้อมูลผู้ใช้
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
age INT
);
-- ดูรายละเอียดของตารางที่สร้าง
\d users
คำอธิบายโค้ด:
CREATE TABLEใช้สร้างตาราง โดยกำหนดคอลัมน์ชื่อnameเป็นข้อความ และageเป็นตัวเลขSERIAL PRIMARY KEYคือการสร้างเลขไอดีอัตโนมัติให้ข้อมูลแต่ละแถวไม่ซ้ำกัน\dใช้ตรวจสอบโครงสร้างของตารางที่เราเพิ่งสร้างไป
ผลลัพธ์ที่เห็น: หน้าจอจะแสดงคำว่า CREATE TABLE และแสดงรายละเอียดคอลัมน์ที่เราสร้างไว้พร้อมประเภทของข้อมูล
สรุป: เริ่มต้นก้าวแรกสู่การเป็นมือโปร
การติดตั้งและใช้งาน PostgreSQL ไม่ใช่เรื่องยากอย่างที่คิด หากคุณทำตามขั้นตอนและหมั่นฝึกฝน วันนี้คุณได้เรียนรู้วิธีติดตั้งโปรแกรม เข้าใช้งานผ่านทั้งหน้าจอกราฟิกและหน้าจอพิมพ์คำสั่ง รวมถึงรู้จักคำสั่งพื้นฐานในการสร้างฐานข้อมูลและตารางเรียบร้อยแล้ว
ขั้นตอนถัดไปที่แนะนำคือการลองนำฐานข้อมูลนี้ไปเชื่อมต่อกับโปรแกรมภาษาที่คุณกำลังฝึก เช่น Python หรือ JavaScript การทำแบบนั้นจะทำให้คุณเห็นว่าข้อมูลที่อยู่ในฐานข้อมูลถูกนำไปแสดงผลบนหน้าเว็บหรือแอปพลิเคชันได้อย่างไร ซึ่งนี่คือหัวใจสำคัญของการทำงานในฐานะโปรแกรมเมอร์
อย่าลืมว่าความเก่งไม่ได้เกิดจากการอ่านเพียงอย่างเดียว แต่เกิดจากการ ลงมือทำ (Practice) ให้ลองสร้างโปรเจกต์เล็กๆ เช่น ระบบจดบันทึกรายรับรายจ่าย แล้วใช้ PostgreSQL เป็นที่เก็บข้อมูลดูครับ แล้วคุณจะพบว่าการจัดการข้อมูลไม่ใช่เรื่องน่ากลัว แต่เป็นเครื่องมือที่ทรงพลังที่สุดในมือคุณ