ข้ามไปยังเนื้อหา

ยินดีต้อนรับสู่คอร์สนี้

คอร์สนี้จะพาคุณจากคนที่ไม่เคยเปิดฐานข้อมูลเลย ไปสู่คนที่รัน เขียนคำสั่ง และดูแล 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]
เส้นทาง 8 โมดูลจากศูนย์สู่ฮีโร่

ต่อไปนี้คือสิ่งที่แต่ละจุดแวะบนเส้นทางจะมอบให้คุณ

โมดูลสิ่งที่คุณจะได้เรียนรู้
Intro and SetupPostgreSQL คืออะไร การรันใน 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 PostgreSQLJSONB, 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 ที่แนะนำไว้ก่อนหน้า
  • คุณไม่จำเป็นต้องท่องจำคำสั่ง เป้าหมายคือการจดจำรูปแบบของแต่ละการทำงานเพื่อที่คุณจะค้นหารายละเอียดได้อย่างรวดเร็ว
  • รันตัวอย่างด้วยตัวคุณเอง การพิมพ์คำสั่งช่วยให้จำได้ดีกว่าการอ่านอย่างเดียวมาก
  • ทำเครื่องหมายว่าแต่ละบทเรียนเสร็จสมบูรณ์ด้วยตัวติดตามความคืบหน้าด้านล่าง เพื่อให้คุณเห็นความคืบหน้าของคุณตลอดทั้งคอร์ส
คอร์สนี้ประกอบด้วยกี่โมดูล?
วลีใดอธิบาย PostgreSQL ได้ดีที่สุด?
โมดูลแรก Intro and Setup มุ่งเน้นที่อะไร?