Một trong những mục tiêu của thư viện là tính độc lập giữa các tầng. Do đó, kết xuất của tầng DML phải hồn tồn bao đóng các hiện thực bên trong của tần DML. Khi có xảy ra thay đổi nội bộ bên trong tần DML như: thay đổi cấu trúc lưu trữ, thay đổi nội dung phương thức hay có thể thay đổi cả DBMS thì những thay đổi này là trong suốt với các tầng khác.
Để đạt được yêu cầu này, tầng DML định nghĩa một tập các hàm API thao tác trên
CSDL. Các đối tượng trên CSDL được đưa ra dưới dạng các handle. Handle của đối tượng là một số nguyên 32 bit xác định một đối tượng dữ liệu đã được lưu trữ trên bộ nhớ. Các hàm API hoàn toàn thao tác trên các handle này. Do đó, trên các tầng khác, các đối tượng CSDL chỉ được nhìn thấy là các số nguyên.
Các hàm DML - API được chia thành 5 nhóm chính sau:
• Database operation: Bao gồm các API liên quan đến các thao tác đóng/mở
CSDL, tạo các transaction…
• Object creation/destruction: tập các hàm API tạo vào hủy đối tượng dữ liệu.
• Properties getter/setter: tập các hàm truy cập và thay đổi các thuộc tính của
đối tượng.
• Object/Class method wrapper: tập các hàm chuyển hướng của các phương
thức chính của các đối tượng.
• Search query: các hàm API thực hiện các câu truy vấn các đối tượng không
gian.
Chi tiết cũng như cách sử dụng của từng hàm API, ta sẽ đề cập ở phần phụ lục: Hướng
dẫn dùng các hàm API.
Chú ý: hầu hết các hàm API của tầng DML chỉ làm việc khi có một cơ sở dữ liệu
được mở. Tầng DML cho phép người dùng mở nhiều cơ sở dữ liệu trong một phiên
làm việc nhưng chỉ có một cơ sở dữ liệu được xem là “tích cực” tại mỗi thời điểm, do
vậy để chương trình hoạt động chính xác ta cần “tích cực” các database tương ứng
Luận văn tốt nghiệp GVHH: Nguyễn Hữu Hải.