Một chút về ORM – ODM

Khi lập trình ứng dụng với ngôn ngữ hướng đối tượng, chúng ta làm việc với các đối tượng. Khi ứng dụng cần kết nối với DB, việc truy cập làm việc trực tiếp với data sẽ khó khăn hơn, bởi vậy người ta đã nghĩ ra một kỹ thuật để mapping DB thành các đối tượng, kỹ thuật này gọi là ORM/ODM. Như vậy lập trình viên sẽ xử lý dữ liệu thông qua ORM/ODM dễ hàng hơn, code sẽ ngắn gọn hơn.

Ví dụ: Bạn có 1 Database gồm 2 bảng Departments và Employees. Bạn xây dựng 1 ứng dụng làm việc với DB này. ORM/ODM Tool sẽ giúp bạn tạo ra Class Departments & Employees, các công việc CRUD với data sẽ thông qua các Object của các lớp này.

Có 2 kỹ thuật mapping:

ORMs (Object Relational Mapping): hỗ trợ mapping giữa Object Model với Relational DB.

Ruby on Rail Java PHP .NET IOS
ORM ActiveRecord Hibernate CodeIgniter, CakePHP Entity Framework, LinQ CoreData

Các ORM sẽ sử dụng 1 SQL database Driver như ODBC, JDBC hoặc OLEDB để chuyển đổi giữa Object notation và Relational notation.

ODMs  (Object Document Mapping): hỗ trợ mapping giữa Object Model với Document DB

Ví dụ: Mandago, Mongoose trong MongoDB

Các ODM thì sử dụng JSON hoặc JSONB api để chuyển đổi giữa Object notation và Document notation.

Tùy vào loại ngôn ngữ, cơ sở dữ liệu, hay các stack, các nhà phát triển đã xây dựng các ORM/ODM Framework rất tốt phục vụ cho việc tạo hệ thống các class trong OOP dựa trên cấu trúc Schema Database của bạn, cung cấp sẵn các API hữu ích để bạn tương tác với Database thay vì truyền vào các câu SQL thuần túy giúp code của bạn ngắn gọn đơn giản hơn, và còn nhiều thứ khác vô cùng tiện dụng. Đó là ví dụ điển hình cho lợi ích của ORM/ODM.

 

weekly meeting

 

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *