Object Relational Mapping
Object-Relational Mapping (ORM) là một kỹ thuật
liên kết giữa các đối tượng trong lập trình với các đối tượng trong cơ sở dữ
liệu. ORM sẽ giúp ánh xạ giữa các lớp đến các bảng và đối tượng đến các bản ghi
trong bảng.
Khi lưu trữ dữ liệu của một ứng
dụng đứng từ phía Người Quản Trị Dữ Liệu và một Người Lập Trình thì các góc
nhìn sẽ là khác nhau, các công nghệ cũng khác nhau để thao tác với dữ liệu đó.
Ví dụ: Để lưu trữ danh sách sản phẩm trong CSDL thì người
quản trị CSDL và lập trình viên Java sẽ viết theo kỹ của họ như sau:
Về mặt nghiệp vụ thì cả 2 góc nhìn này đều thực hiện các công việc giống
nhau, nhưng mỗi bên lại sử dụng các công cụ và ngôn ngữ khác nhau để thực hiện.
Một lập trình viên có thể sẽ gặp khó khăn khi thao tác trực tiếp với CSDL
sử dụng ngôn ngữ SQL. Do đó ORM sẽ làm cầu nối giữa công cụ của lập trình viên (là
ngôn ngữ lập trình với công cụ của người quản trị CSDL (là ngôn ngữ SQL).
Bằng cách sử dụng ORM, lập trình viên sẽ không cần quan tâm chi tiết đến
các câu lệnh truy xuất trực tiếp đến CSDL, thay vào đó lập trình viên sẽ làm việc
với CSDL thông quan mã nguồn lập trình.
Ưu điểm
- Cho phép truy xuất dễ dàng đến dữ liệu thông qua các đối tượng lập trình
- Giúp lập trình viên tập trung thao tác với các đối tượng, không cần quá
quan tâm đến CSDL thực tế đang dùng
- Tự động hoá rất nhiều thao tác như quản lý giao dịch, validate dữ liệu
v.v.
- Có thể cache dữ liệu để truy xuất nhanh hơn
Nhược điểm
- Đối với dự án lớn, hiệu năng truy xuất dữ liệu thường hạn chế
- Lập trình viên dễ bị rơi vào bẫy truy xuất dữ liệu quá nhiều vì quá dễ để
truy xuất, ảnh hưởng đến hiệu năng của hệ thống
- Đối với các thao tác phức tạp, có thể cần đến việc sử dụng SQL thuần
Đăng nhận xét