Topic 12
Topic 12
โค้ด Ruby ใช้ร่วมจากโฟลเดอร์ en/ ของต้นฉบับ เพื่อให้สองภาษาผูกกับชุดทดสอบเดียวกัน
ภาพรวม
ทำไมหัวข้อนี้จึงสำคัญ
แอปขนาดเล็กจำนวนมากต้องการ persistence จริง ก่อนที่จะต้องการ framework เต็มรูปแบบ SQLite เป็นเครื่องมือสอนที่ดี เพราะผู้เรียนฝึกสร้าง schema, insert, update, query และ prepared statements ได้โดยไม่ต้องตั้ง database server
สิ่งที่ผมอยากให้คุณทำได้เมื่อจบหัวข้อนี้
เมื่อจบหัวข้อนี้ คุณควรจะ:
จุดที่ผมใช้ดูความเข้าใจ
ผมอยากให้คุณอธิบายได้ว่าทำไมการเตรียม schema, การ query และการ bind parameters จึงเป็นความกังวลคนละแบบ แม้ในโปรเจกต์เล็ก ๆ
โน้ตสั้น
SQLite มีประโยชน์ในการสอน เพราะมันพา persistence จริงเข้ามาโดยมีพิธีรีตองน้อยมาก บทเรียนสำคัญไม่ใช่ "Ruby รัน SQL ได้" แต่คือการเห็นว่าการเก็บข้อมูลจะสะอาดขึ้นเมื่อเรา แยกความรับผิดชอบออกจากกัน:
จุดที่ Ruby ทำได้ดีในหัวข้อนี้:
จุดที่ต้องระวังในหัวข้อนี้:
คำถามชวนคิด:
ตัวอย่างแบบลงมือดู
Example 1: local catalog หรือ admin tool
เครื่องมือแอดมินขนาดเล็กหรือโปรแกรมแบบ desktop มักต้องการ persistence แต่ยังไม่จำเป็น ต้องมี database server เต็มรูปแบบ SQLite จึงเป็นตัวเลือกที่สมจริงสำหรับ:
นั่นทำให้มันเป็นตัวอย่างสอนที่ดีกว่า SQL snippets ลอย ๆ ที่ไม่มีบริบท
Example 2: Query service ที่ใช้ parameter binding
แอปพลิเคชันมักถามคำถามที่โฟกัสชัดแบบนี้อยู่เสมอ:
prepared statements มีประโยชน์เพราะ: