คืออะไร ORM
การแมปออบเจกต์กับฐานข้อมูลเชิงสัมพันธ์
ORM (Object-Relational Mapping) คือเทคโนโลยีการเขียนโปรแกรมที่ช่วยให้ทำงานกับฐานข้อมูลผ่านออบเจกต์ในโค้ดโดยไม่ต้องเขียน SQL queries ด้วยตัวเอง
หลักการทำงาน
- ตารางฐานข้อมูลตรงกับคลาสในโค้ด
- แถวของตารางคืออินสแตนซ์ของออบเจกต์
- คอลัมน์คือคุณสมบัติของออบเจกต์
- ความสัมพันธ์ระหว่างตารางคือการอ้างอิงออบเจกต์
ข้อดี
- การแยก SQL — ทำงานกับออบเจกต์แทน queries
- ความปลอดภัย — ป้องกัน SQL injection
- ความสามารถในการย้าย — เปลี่ยนฐานข้อมูลโดยไม่ต้องแก้โค้ด
- ผลิตภาพ — โค้ดซ้ำน้อยลง
ข้อเสีย
- ประสิทธิภาพลดลงใน queries ที่ซับซ้อน
- เลเยอร์การแยกเพิ่มเติม
- เส้นโค้งการเรียนรู้สำหรับฟีเจอร์ขั้นสูง
ORM ยอดนิยม
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord