ORM là gì
Ánh xạ đối tượng vào cơ sở dữ liệu quan hệ
ORM (Object-Relational Mapping) là công nghệ lập trình cho phép làm việc với cơ sở dữ liệu thông qua các đối tượng trong code mà không cần viết SQL queries thủ công.
Cách hoạt động
- Bảng CSDL tương ứng với các lớp trong code
- Hàng của bảng là các instance đối tượng
- Cột là thuộc tính đối tượng
- Quan hệ bảng là tham chiếu đối tượng
Ưu điểm
- Trừu tượng SQL — làm việc với đối tượng thay vì queries
- Bảo mật — bảo vệ khỏi SQL injection
- Tính di động — đổi CSDL không cần thay đổi code
- Năng suất — ít mã boilerplate
Nhược điểm
- Giảm hiệu suất trên queries phức tạp
- Lớp trừu tượng bổ sung
- Đường cong học tập cho tính năng nâng cao
ORM phổ biến
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord