เมื่อผมเริ่มนอกใจ SQL

บางคนเห็นหัวข้อแล้วอาจจะคิดว่าผมจะพูดถึง NoSQL แต่ขอบอกเลยว่าไม่ใช่ครับ เพราะยังไงก็ตาม งานหลายๆอย่างก็ยังเหมาะกับการทำงานกับข้อมูลที่มีโครงสร้างแน่นอน ซึ่งนอกจากจะช่วยให้การควบคุมข้อมูลทำได้ง่ายแล้ว ก็ยังทำให้การพัฒนาโปรแกรมต่างๆลดความซับซ้อนไปได้มาก

แต่ที่ผมจะพูดถึงในตอนนี้ก็คือเรื่อง ORM หรือ Object Relational Mapping ครับ เพราะ ORM จะเป็นการ Mapping หรือจับคู่ระหว่างคคุณสมบัติของ Table/Recors/Field ของฐานข้อมูลให้เป็นรูปแบบของ Object ใน OOP ซึ่งในการเขียนโปรแกรมปกติเราก็มักเขียนแบบ OOP อยู่แล้ว ทำให้การเขียนโปรแกรมเชื่อมต่อกับฐานข้อมูลทำได้เป็นธรรมชาติมากขึ้น

ยกตัวอย่างการ Insert ข้อมูลใหม่เข้าไปในฐานข้อมูล ด้วยภาษา Python บวกกับ ORM ที่ชื่อ SQLAlchemy ก็ทำได้ดังนี้ครับ

new_cus = Customer('aaaaa')
db.session.add(new_cus)
db.session.commit()

จะเห็นว่ามันเนียนกว่าการใช้คำสั่ง SQL มาก ซึ่งผมคิดว่า ต่อไปคนน่าจะมีการใช้ ORM ในการพัฒนาโปรแกรมมากยิ่งขึ้น

สิ่งสำคัญที่ยังต้องมองไว้เสมอคือ คำสั่ง (ภาษา) SQL ก็ยังเป็นสิ่งที่ทิ้งไม่ได้ เป็นพื้นฐานของ Relation Database ซึ่งหากเราเข้าใจ SQL ดีแล้ว การจะใช้เครื่องมืออื่นใดมาคุยกับฐานข้อมูลก็จะเป็นเรื่องง่ายทันที

Author: boon

Leave a Reply

Your email address will not be published. Required fields are marked *