Bài đăng nổi bật

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

Post a Comment

Mới hơn Cũ hơn