ยินดีต้อนรับสู่คอร์สนี้
คอร์สนี้จะพาคุณจากคนที่ไม่เคยเปิดฐานข้อมูลเลย ไปสู่คนที่รัน เขียนคำสั่ง และดูแล PostgreSQL ได้อย่างมั่นใจ คุณจะได้เขียน SQL จริง ๆ ได้เห็นการทำงานชุดเดียวกันใน driver ยอดนิยมสี่ตัว และได้เรียนรู้แนวคิดเบื้องหลังคำสั่งต่าง ๆ เพื่อให้ความรู้นั้นถ่ายโอนไปยังภาษาและโปรเจกต์ใด ๆ ที่คุณจะทำงานด้วยต่อไป
PostgreSQL คือ relational database ฟรีและ open-source ที่เก็บข้อมูลของคุณไว้ใน table ให้คุณอ่านและแก้ไขข้อมูลนั้นด้วย SQL และปกป้องทุกการเปลี่ยนแปลงด้วยการรับประกันแบบ ACID เพื่อให้ข้อมูลของคุณยังคงถูกต้องแม้ในยามที่ระบบล่มหรือมีผู้ใช้หลายคนเขียนพร้อมกัน
อีกอย่างที่ PostgreSQL ขึ้นชื่อคือ ความสามารถในการขยาย (extensible): คุณสามารถเพิ่ม data type, function และฟีเจอร์ทั้งชุดผ่าน extension ได้ และนั่นคือเหตุผลที่ engine เดียวกันนี้ขับเคลื่อนได้ตั้งแต่โปรเจกต์เล็ก ๆ ข้าง ๆ ไปจนถึงระบบที่ใหญ่ที่สุดในโลก
คอร์สนี้เหมาะกับใคร
หัวข้อที่มีชื่อว่า “คอร์สนี้เหมาะกับใคร”คุณไม่จำเป็นต้องมีประสบการณ์ด้านฐานข้อมูลใด ๆ มาก่อน ถ้าคุณเคยเขียนโค้ดเล็กน้อยในภาษาใดก็ตาม หรือแม้แต่เพียงเคยใช้ terminal คุณก็มีทุกอย่างที่จำเป็นในการเริ่มต้นแล้ว ทุกตัวอย่างสามารถรันได้จริง และเราจะแสดงเวอร์ชัน psql แบบธรรมดาก่อนเสมอ เพื่อให้คุณทำตามได้โดยไม่ต้องใช้อะไรเลยนอกจากตัวฐานข้อมูลเอง
เส้นทางข้างหน้า
หัวข้อที่มีชื่อว่า “เส้นทางข้างหน้า”คอร์สนี้มีความยาว 8 โมดูล แต่ละโมดูลต่อยอดจากโมดูลก่อนหน้า ดังนั้นเส้นทางที่สะอาดที่สุดคือไล่ตรงลงไปจากบนลงล่าง แผนภาพด้านล่างแสดงให้เห็นว่าโมดูลต่าง ๆ ต่อยอดกันอย่างไร ตั้งแต่การติดตั้งฐานข้อมูลไปจนถึงการดูแลในระดับขนาดใหญ่
flowchart TD M1[1. Intro and Setup] --> M2[2. Tables and Types] M2 --> M3[3. CRUD and SQL] M3 --> M4[4. Joins and Relationships] M4 --> M5[5. Indexes and Performance] M5 --> M6[6. Transactions and Concurrency] M6 --> M7[7. Advanced PostgreSQL] M7 --> M8[8. Operations and Scaling]
แผนผังโมดูล
หัวข้อที่มีชื่อว่า “แผนผังโมดูล”ต่อไปนี้คือสิ่งที่แต่ละจุดแวะบนเส้นทางจะมอบให้คุณ
| โมดูล | สิ่งที่คุณจะได้เรียนรู้ |
|---|---|
| Intro and Setup | PostgreSQL คืออะไร การรันใน Docker, shell psql, pgAdmin และ database กับ schema |
| Tables and Types | การออกแบบ table การเลือก type ของ column, constraint และค่า default |
| CRUD and SQL | การเพิ่ม อ่าน อัปเดต และลบ row ด้วย SQL |
| Joins and Relationships | การเชื่อมต่อ table ด้วย key และการรวมเข้าด้วยกันด้วย join |
| Indexes and Performance | การทำให้ query เร็วและการอ่าน query planner |
| Transactions and Concurrency | การจัดกลุ่มการเปลี่ยนแปลงอย่างปลอดภัยและการรับมือกับผู้เขียนหลายคน |
| Advanced PostgreSQL | JSONB, full-text search, window function และ extension |
| Operations and Scaling | การ backup, การ monitor, การ replication และการขยายฐานข้อมูล |
ตอนนี้คุณกำลังอยู่ที่ไหน
หัวข้อที่มีชื่อว่า “ตอนนี้คุณกำลังอยู่ที่ไหน”โมดูลแรกนี้ Intro and Setup จะทำให้คุณมี PostgreSQL ที่ใช้งานได้ พร้อมเครื่องมือไว้สื่อสารกับฐานข้อมูล เมื่อจบโมดูลนี้คุณจะมีฐานข้อมูลที่รันอยู่ คุณจะรู้วิธีเชื่อมต่อจาก shell, GUI และโค้ด และคุณจะเข้าใจว่า PostgreSQL จัดระเบียบข้อมูลเป็น database และ schema อย่างไร บทเรียนตามลำดับคือ: PostgreSQL คืออะไร การตั้งค่าด้วย Docker การใช้ psql และ pgAdmin และสุดท้ายคือการสร้าง database กับ schema แล้วเชื่อมต่อเข้าไป
วิธีใช้บทเรียน
หัวข้อที่มีชื่อว่า “วิธีใช้บทเรียน”ทุกบทเรียนดำเนินตามจังหวะเดียวกัน: คำอธิบายแนวคิดสั้น ๆ ตัวอย่างที่รันได้ เคล็ดลับและจุดที่ต้องระวังสองสามข้อ และแบบทดสอบสั้น ๆ เพื่อตรวจสอบความเข้าใจของคุณ เมื่อใดก็ตามที่บทเรียนแสดงการทำงานของฐานข้อมูล คุณจะเห็นตัวอย่างในห้าแท็บ — shell psql บวกกับ Node.js, Python, Go และ Rust — เพื่อให้อ่านในภาษาที่ใกล้กับงานของคุณที่สุด
เคล็ดลับและข้อควรระวัง
หัวข้อที่มีชื่อว่า “เคล็ดลับและข้อควรระวัง”- อ่านตามลำดับในครั้งแรกที่เรียน โมดูลหลัง ๆ พึ่งพาคำศัพท์และ table ที่แนะนำไว้ก่อนหน้า
- คุณไม่จำเป็นต้องท่องจำคำสั่ง เป้าหมายคือการจดจำรูปแบบของแต่ละการทำงานเพื่อที่คุณจะค้นหารายละเอียดได้อย่างรวดเร็ว
- รันตัวอย่างด้วยตัวคุณเอง การพิมพ์คำสั่งช่วยให้จำได้ดีกว่าการอ่านอย่างเดียวมาก
- ทำเครื่องหมายว่าแต่ละบทเรียนเสร็จสมบูรณ์ด้วยตัวติดตามความคืบหน้าด้านล่าง เพื่อให้คุณเห็นความคืบหน้าของคุณตลอดทั้งคอร์ส