Từ khóa-Anchor modeling; can thiệp mã nguồn; dữ liệu trong quá khứ; sinh tự động trigger; T-SQL
I. GIỚI THIỆUDữ liệu tiến hoá là dữ liệu thường xuyên có sự thay đổi về nội dung, cấu trúc, các ràng buộc, biểu diễn, nguồn gốc và tính xác thực. Cơ sở dữ liệu (CSDL) thông thường lưu trữ dữ liệu và cho phép tìm kiếm trên đó. CSDL thời gian (temporal database) là CSDL lưu trữ dữ liệu trong quá trình tiến hoá (under evolution) và cho phép tìm kiếm lịch sử trên đó. Cụ thể, CSDL thời gian cho phép truy cập đến dữ liệu ở thời điểm cuối cùng, một thời điểm bất kỳ trong quá khứ hoặc truy cập đến lịch sử thay đổi dữ liệu trong một khoảng thời gian nào đó. Dữ liệu phụ thuộc vào thời gian và thời điểm thay đổi dữ liệu phải được ghi lại.Anchor Modeling (AM) [1; 2] kết hợp chuẩn hoá lược đồ quan hệ và tính cạnh tranh (emulation) để cung cấp kỹ thuật mô hình hoá CSDL linh hoạt (agile) cho dữ liệu tiến hoá. AM cung cấp hệ thống các nguyên tắc [3], theo đó, mô hình thu được có thể được triển khai theo mô hình dữ liệu quan hệ một cách đơn giản. Kết quả trực tiếp là CSDL thời gian đạt chuẩn 6NF.AM cung cấp kỹ thuật mô hình hoá dữ liệu tiến hoá, công cụ mô hình hoá trực quan trong chế độ tương tác, khả năng sinh tự động các kịch bản để chuyển từ sơ đồ thiết kế được sang CSDL vật lý trong mô hình dữ liệu quan hệ. AM hỗ trợ nhiều hệ quản trị (HQT) CSDL khác nhau như Oracle, SQL Server, PostgreSQL… AM cũng sinh tự động các khung nhìn và các hàm giúp truy cập đến dữ liệu ở thời điểm cuối cùng, dữ liệu ở thời điểm bất kỳ trong quá khứ hoặc truy vấn thông tin thay đổi dữ liệu trong một khoảng thời gian hay toàn bộ quá trình thay đổi của CSDL. Các đối tượng dữ liệu đặc biệt này trên thực tế sử dụng phép nối ngoài, truy vấn lồng đồng bộ hoặc truy vấn lồng bao gồm phép gộp nhóm và hàm MAX như là bảng ảo [1; 2; 4]. Rõ ràng, các truy vấn này có thể yêu cầu tài nguyên của hệ thống rất lớn.Khung nhìn thực (materialized view) cho phép tăng đáng kể tốc độ thực thi truy vấn [5][6][7][8], có thể được sử dụng để giải quyết vấn đề này. Tuy nhiên, khung nhìn thực còn gọi là khung nhìn chỉ mục hoá trong SQL Server không cho phép nối ngoài, phép gộp nhóm và hàm gộp MAX [8].Nghiên cứu này thực hiện điều chỉnh mã nguồn của công cụ mô hình hoá AM để: -Sinh các bảng thực khung nhìn cuối (BTKNC) thay vì sinh các khung nhìn cuối (latest view) khi được người dùng lựa chọn. Các BTKNC này sẽ lưu trữ kết quả thực thi của khung nhìn cuối.-Sinh các bảng thực hàm theo thời điểm (BTHTTĐ) thay vì sinh các hàm theo thời điểm (point-in-time function) khi được người dùng lựa chọn. Các hàm theo thời điểm này sẽ lưu trữ kết quả thực thi của hàm theo thời điểm.-Sinh tự động các bẫy sự kiện (trigger) trên tất cả các bảng liên quan để thực hiện cập nhật gia tăng đồng bộ BTKNC và BTHTTĐ ứng với mỗi giao tác thay đổi dữ liệu thông qua thao tác thêm mới bản ghi trong AM (các thao tác thêm, sửa, xoá trong CSDL thông thường) trên các bảng đó.-Cuối cùng, xây dựng các kịch bản đánh giá được xây dựng, thực thi và so sánh giữa giải pháp đề xuất và trường hợp CSDL AM nguyên bản.Trong phần...