Luận văn Thạc sĩ: Một số mô hình Cơ sở Dữ liệu mở rộng - CNTT (ĐH Công Nghệ)

Luận văn thạc sĩ về các mô hình CSDL mở rộng, thuộc chuyên ngành Công nghệ Thông tin (60.48.05001). Nghiên cứu chuyên sâu cho học viên cao học CNTT.

Trường đại học

Trường Đại học Công nghệ

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sỹ

2013

72
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

MỤC LỤC

DANH MỤC HÌNH VẼ

KÝ HIỆU VIẾT TẮT

1. CHƢƠNG 1: TỔNG QUAN VỀ MÔ HÌNH CƠ SỞ DỮ LIỆU MỞ RỘNG

1.1. Một số mô hình CSDL mở rộng

1.2. Mô hình cơ sở dữ liệu tích cực( Active database)

1.3. Quy tắc ECA (Event- Condition -Action)

1.4. Mô hình tổng quát của CSDL tích cực

1.5. Thiết kế và cài đặt CSDL tích cực

1.6. Mô hình cơ sở dữ liệu thời gian(Temporal database)

1.7. Quan hệ thời gian hợp lệ

1.8. Quan hệ thời gian giao tác

1.9. Quan hệ theo hai loại thời gian

1.10. Thiết kế cơ sở dữ liệu thời gian

1.11. Mô hình cơ sở dữ liệu không gian (spatial database)

1.12. Đặc trƣng của CSDL không gian

1.13. Hình học và mô hình dữ liệu DBMS

1.14. Một số bài toán của GIS

2. CHƢƠNG 2: POSTGRESQL VÀ POSTGIS

2.1. Giới thiệu về hệ quản trị cơ sở dữ liệu PostgreSQL

2.2. Các chức năng cơ bản của hệ quản trị CSDL PostgreSQL

2.3. Các lệnh thao tác với hệ quản trị CSDL Postgresql

2.4. Cài đặt hệ quản trị CSDL PostgreSQL

2.5. Giới thiệu về POSTGIS

2.6. Chức năng cơ bản của Postgis

2.7. Cách lệnh thao tác trong PostGis

2.8. Thực hiện cài đặt PostGis

2.9. Chỉ mục GIST

2.10. Sử dụng chỉ mục

2.11. Phân tích bài toán

2.12. Nguồn dữ liệu đầu vào và phạm vi bài toán

2.13. Phƣơng pháp kỹ thuật giải quyết bài toán

2.14. Xây dựng chƣơng trình ứng dụng

2.14.2. Xây dựng cơ sở dữ liệu

2.14.2.2. Tạo bảng cơ sở dữ liệu
2.14.2.2. Tạo các Trigger, các hàm trong bài toán

2.15. Thử nghiệm và đánh giá các thuật toán

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Luận văn ThS Tổng quan về Mô hình CSDL Mở rộng CNTT

Ngày nay, ngành Công nghệ thông tin đã phát triển và có nhiều ứng dụng vào mọi lĩnh vực của cuộc sống. Trong các ứng dụng đó, các mô hình cơ sở dữ liệu đóng vai trò then chốt. Để đáp ứng nhu cầu xử lý thông tin phức tạp của các ứng dụng hiện đại, việc mở rộng các mô hình CSDL là vô cùng cần thiết. Luận văn này tập trung vào việc nghiên cứu và giới thiệu một số mô hình CSDL mở rộng quan trọng, bao gồm cơ sở dữ liệu tích cực, cơ sở dữ liệu thời giancơ sở dữ liệu không gian. Đặc biệt, luận văn đi sâu vào nghiên cứu hệ quản trị cơ sở dữ liệu không gian (PostgreSQL, PostGIS) và xây dựng một ứng dụng thực tế về quản lý xe buýt. Luận văn bao gồm ba chương chính. Chương 1 trình bày tổng quan về cơ sở dữ liệu mở rộng, bao gồm các mô hình CSDL tích cực, CSDL thời gianCSDL không gian, cùng với các ứng dụng thực tế của chúng. Chương 2 tập trung vào việc nghiên cứu hệ quản trị CSDL PostgreSQLPostGIS, bao gồm cách lưu trữ dữ liệu và các câu lệnh truy vấn dữ liệu. Chương 3 trình bày bài toán quản lý xe buýt, xây dựng cơ sở dữ liệu và lập trình demo hoạt động quản lý. Cuối cùng, phần kết luận tổng kết lại những công việc đã thực hiện, những hạn chế và hướng phát triển tiếp theo. Theo tài liệu gốc của Nguyễn Thị Ngọc Tú, luận văn này là một công trình nghiên cứu dưới sự hướng dẫn khoa học của TS. Nguyễn Tuệ, tham khảo các nguồn tài liệu đã được ghi rõ trong trích dẫn và danh mục tài liệu tham khảo. Các nội dung công bố và kết quả trình bày trong luận văn này là hoàn toàn trung thực.

1.1. Giới thiệu các loại Cơ sở dữ liệu Mở rộng phổ biến

Luận văn tập trung vào ba loại cơ sở dữ liệu mở rộng chính: cơ sở dữ liệu tích cực (Active Database), cơ sở dữ liệu thời gian (Temporal Database) và cơ sở dữ liệu không gian (Spatial Database). Mỗi loại CSDL này giải quyết những vấn đề cụ thể trong việc quản lý và xử lý dữ liệu phức tạp. Các mô hình CSDL mở rộng này đều hướng đến việc đáp ứng các yêu cầu ngày càng cao của các ứng dụng hiện đại, đòi hỏi khả năng xử lý thông tin đa dạng và phức tạp hơn mô hình CSDL truyền thống. Mô hình CSDL quan hệ đã có rất nhiều ứng dụng trong quản lý cũng như nhiều lĩnh vực khác, tuy nhiên trong quá trình ứng dụng có nhiều vấn đề nảy sinh. Việc mở rộng CSDL là cần thiết.

1.2. Vai trò quan trọng của Công nghệ CSDL trong ứng dụng hiện đại

Trong bối cảnh công nghệ thông tin phát triển nhanh chóng, cơ sở dữ liệu đóng vai trò trung tâm trong hầu hết các ứng dụng. Từ các hệ thống quản lý doanh nghiệp đến các ứng dụng di động, cơ sở dữ liệu là nơi lưu trữ và quản lý thông tin quan trọng. Việc mở rộng các mô hình CSDL là cần thiết để đáp ứng nhu cầu ngày càng tăng về khả năng lưu trữ, xử lý và truy xuất dữ liệu hiệu quả. Nhờ đó, các ứng dụng có thể hoạt động nhanh chóng, chính xác và đáng tin cậy hơn. Điều này đặc biệt quan trọng trong các lĩnh vực như tài chính, y tế, giao thông vận tải và chính phủ điện tử. Theo tài liệu gốc, mục đích của luận văn là nghiên cứu và giới thiệu một số mô hình CSDL mở rộng đi sâu nghiên cứu nghiên cứu hệ quản trị cơ sở dữ liệu không gian (PostgreSQL, PostGis) và xây dựng một ứng dụng về quản lý xe buýt.

II. Thách thức và Giải pháp trong Thiết kế CSDL Mở rộng CNTT

Thiết kế CSDL mở rộng đặt ra nhiều thách thức, bao gồm đảm bảo tính toàn vẹn dữ liệu, khả năng mở rộng linh hoạt, hiệu suất truy vấn và khả năng tích hợp với các hệ thống khác. Các giải pháp thường bao gồm sử dụng các mô hình dữ liệu phù hợp, áp dụng các kỹ thuật phân mảnh dữ liệu, sử dụng các công nghệ CSDL NoSQL hoặc NewSQL, và tối ưu hóa truy vấn. Việc lựa chọn giải pháp phù hợp phụ thuộc vào yêu cầu cụ thể của ứng dụng và bài toán CSDL mở rộng cần giải quyết. Thách thức lớn nhất là phải duy trì sự cân bằng giữa hiệu suất, độ tin cậy và khả năng quản lý của hệ thống CSDL.

2.1. Các bài toán về khả năng mở rộng và hiệu suất CSDL

Một trong những thách thức lớn nhất trong thiết kế CSDL mở rộng là đảm bảo khả năng mở rộng linh hoạt khi lượng dữ liệu tăng lên hoặc số lượng người dùng truy cập đồng thời tăng lên. Các kỹ thuật như database sharding, horizontal scaling databasevertical scaling database có thể được sử dụng để giải quyết vấn đề này. Tuy nhiên, việc phân mảnh dữ liệu có thể làm phức tạp quá trình truy vấn và bảo trì hệ thống. Vì vậy, cần có một chiến lược thiết kế cẩn thận để đảm bảo hiệu suất truy vấn tối ưu. Bên cạnh đó, việc quản lý các giao dịch phân tán và đảm bảo tính nhất quán dữ liệu cũng là một thách thức quan trọng.

2.2. Đảm bảo tính toàn vẹn và nhất quán dữ liệu CSDL phân tán

Khi CSDL được phân tán trên nhiều máy chủ, việc đảm bảo tính toàn vẹn và nhất quán dữ liệu trở nên phức tạp hơn. Các cơ chế như giao thức cam kết hai pha (two-phase commit) có thể được sử dụng để đảm bảo rằng tất cả các máy chủ đều đồng ý với một giao dịch trước khi nó được thực hiện. Tuy nhiên, giao thức này có thể làm giảm hiệu suất hệ thống. Các giải pháp khác như sử dụng các cơ sở dữ liệu NewSQL hoặc áp dụng các kỹ thuật đồng bộ hóa dữ liệu không đồng bộ cũng có thể được sử dụng.

III. Phương pháp Thiết kế Mô hình Dữ liệu Mở rộng hiệu quả nhất CNTT

Thiết kế mô hình dữ liệu mở rộng hiệu quả đòi hỏi sự hiểu biết sâu sắc về các yêu cầu của ứng dụng và các đặc tính của dữ liệu. Các phương pháp thiết kế thường bao gồm sử dụng mô hình CSDL quan hệ mở rộng, mô hình hướng đối tượng mở rộng, hoặc các cơ sở dữ liệu NoSQL. Việc lựa chọn mô hình dữ liệu phù hợp phụ thuộc vào loại dữ liệu cần lưu trữ, các loại truy vấn cần thực hiện và các yêu cầu về hiệu suất và khả năng mở rộng. Ngoài ra, việc áp dụng các nguyên tắc thiết kế CSDL như chuẩn hóa dữ liệu và tối ưu hóa truy vấn cũng rất quan trọng.

3.1. Sử dụng CSDL NoSQL và NewSQL để tăng khả năng mở rộng

Cơ sở dữ liệu NoSQLNewSQL cung cấp các giải pháp thay thế cho mô hình CSDL quan hệ truyền thống, đặc biệt trong các ứng dụng đòi hỏi khả năng mở rộng cao và hiệu suất truy vấn nhanh. Cơ sở dữ liệu NoSQL thường sử dụng các mô hình dữ liệu phi quan hệ như mô hình key-value, mô hình document hoặc mô hình graph. Cơ sở dữ liệu NewSQL cố gắng kết hợp các ưu điểm của CSDL quan hệ (tính toàn vẹn dữ liệu, hỗ trợ SQL) với khả năng mở rộng của CSDL NoSQL.

3.2. Các phương pháp Sharding và Partitioning trong thiết kế CSDL

Database shardingpartitioning là các kỹ thuật phân mảnh dữ liệu để cải thiện khả năng mở rộng và hiệu suất của CSDL. Sharding phân chia CSDL thành nhiều phần độc lập (shards), mỗi phần chứa một tập hợp con của dữ liệu. Partitioning phân chia một bảng duy nhất thành nhiều phần nhỏ hơn, mỗi phần được lưu trữ trên một phân vùng khác nhau. Cả hai kỹ thuật này đều có thể giúp giảm tải cho một máy chủ duy nhất và tăng tốc độ truy vấn.

IV. Ứng dụng thực tiễn Xây dựng Mô hình CSDL quản lý xe buýt

Ứng dụng quản lý xe buýt là một ví dụ điển hình về việc sử dụng CSDL không gian để giải quyết các bài toán thực tế. CSDL này có thể lưu trữ thông tin về các tuyến xe buýt, các trạm dừng, vị trí xe buýt theo thời gian thực và thông tin về hành khách. Các truy vấn không gian có thể được sử dụng để tìm kiếm các tuyến xe buýt gần nhất, tính toán thời gian di chuyển và tối ưu hóa lịch trình xe buýt. Theo tài liệu gốc, luận văn tập trung vào nghiên cứu hệ quản trị cơ sở dữ liệu không gian (PostgreSQL, PostGis) và xây dựng một ứng dụng về quản lý xe buýt.

4.1. Phân tích yêu cầu và thiết kế CSDL cho hệ thống quản lý xe buýt

Việc xây dựng CSDL cho hệ thống quản lý xe buýt đòi hỏi việc phân tích kỹ lưỡng các yêu cầu của hệ thống. CSDL cần có khả năng lưu trữ thông tin về các tuyến xe buýt (điểm đầu, điểm cuối, lộ trình), các trạm dừng (vị trí, tên), vị trí xe buýt theo thời gian thực (tọa độ GPS), và thông tin về hành khách (thông tin cá nhân, lịch sử di chuyển). Mô hình CSDL có thể sử dụng các kiểu dữ liệu không gian để lưu trữ vị trí địa lý và các toán tử không gian để thực hiện các truy vấn liên quan đến vị trí.

4.2. Sử dụng PostGIS và PostgreSQL cho quản lý dữ liệu không gian

PostGIS là một mở rộng không gian cho PostgreSQL, cung cấp các kiểu dữ liệu không gian và các toán tử không gian để quản lý dữ liệu địa lý. PostGIS có thể được sử dụng để lưu trữ thông tin về vị trí của các trạm dừng, lộ trình của các tuyến xe buýt và vị trí của các xe buýt theo thời gian thực. Các truy vấn không gian có thể được sử dụng để tìm kiếm các trạm dừng gần nhất, tính toán khoảng cách giữa hai địa điểm và xác định các tuyến xe buýt đi qua một khu vực cụ thể.

V. Đánh giá hiệu năng của CSDL Mở rộng và các yếu tố ảnh hưởng

Việc đánh giá hiệu năng CSDL mở rộng là rất quan trọng để đảm bảo rằng hệ thống CSDL đáp ứng được các yêu cầu về hiệu suất của ứng dụng. Các yếu tố ảnh hưởng đến hiệu năng bao gồm kiến trúc CSDL mở rộng, mô hình dữ liệu, cấu hình phần cứngcác tham số CSDL. Các công cụ và phương pháp đánh giá hiệu năng có thể được sử dụng để xác định các điểm nghẽn và tối ưu hóa hệ thống CSDL.

5.1. Các tiêu chí đánh giá hiệu năng CSDL Thời gian truy vấn ...

Các tiêu chí đánh giá hiệu năng CSDL mở rộng bao gồm thời gian truy vấn (query latency), thông lượng (throughput), độ trễ (latency), và khả năng mở rộng (scalability). Thời gian truy vấn là thời gian cần thiết để thực hiện một truy vấn. Thông lượng là số lượng truy vấn có thể được thực hiện trong một đơn vị thời gian. Độ trễ là thời gian từ khi một yêu cầu được gửi đến khi nhận được phản hồi. Khả năng mở rộng là khả năng của hệ thống CSDL để xử lý tải lượng tăng lên mà không làm giảm hiệu suất.

5.2. Công cụ và phương pháp kiểm thử và phân tích hiệu năng CSDL

Các công cụ và phương pháp kiểm thử và phân tích hiệu năng CSDL mở rộng bao gồm sử dụng các công cụ benchmark, giám sát tài nguyên hệ thống (CPU, bộ nhớ, đĩa), và phân tích nhật ký truy vấn. Các công cụ benchmark có thể được sử dụng để mô phỏng tải lượng thực tế và đo lường hiệu suất của hệ thống CSDL. Việc giám sát tài nguyên hệ thống có thể giúp xác định các điểm nghẽn. Việc phân tích nhật ký truy vấn có thể giúp xác định các truy vấn chậm và tối ưu hóa chúng.

VI. Kết luận Xu hướng phát triển CSDL Mở rộng trong tương lai

Xu hướng phát triển CSDL mở rộng trong tương lai tập trung vào việc cải thiện khả năng mở rộng, hiệu suất, tính linh hoạt và khả năng tích hợp với các công nghệ mới như Cloud database, big data, Data warehouseData lake. Các mô hình CSDL mới như graph databasetime-series database cũng đang ngày càng được sử dụng rộng rãi trong các ứng dụng big data. Bên cạnh đó, việc áp dụng các kỹ thuật machine learning để tự động tối ưu hóa CSDL và dự đoán các vấn đề về hiệu suất cũng là một xu hướng quan trọng.

6.1. Tích hợp CSDL mở rộng với Cloud Computing và Big Data

Việc tích hợp CSDL mở rộng với Cloud computingbig data mang lại nhiều lợi ích, bao gồm khả năng mở rộng linh hoạt, chi phí thấp và khả năng xử lý dữ liệu lớn. Các cơ sở dữ liệu Cloud database cung cấp khả năng lưu trữ và xử lý dữ liệu trên đám mây, cho phép các ứng dụng mở rộng dễ dàng khi cần thiết. Các cơ sở dữ liệu big data như HadoopSpark cung cấp các công cụ để xử lý và phân tích dữ liệu lớn.

6.2. Ứng dụng AI và Machine Learning trong tối ưu hóa hiệu năng CSDL

Việc ứng dụng AImachine learning trong tối ưu hóa hiệu năng CSDL đang trở thành một xu hướng quan trọng. Các thuật toán machine learning có thể được sử dụng để tự động tối ưu hóa các tham số CSDL, dự đoán các vấn đề về hiệu suất, và phát hiện các truy vấn chậm. Điều này có thể giúp giảm chi phí quản lý CSDL và cải thiện hiệu suất của ứng dụng.

24/09/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU Ngày nay, ngành Công nghệ thông tin đã phát triển và có nhiều ứng dụng vào mọi lĩnh vực cuộc sống. Trong các ứng dụng đó có các mô hình cơ sở dữ liệu đóng vai trò quan trọng. Để đáp ứng đƣợc việc các ứng dụng liên quan đến các xử lý thông tin phức tạp, việc mở rộng các mô hình cơ sở dữ liệu là cần thiết. Mục đích của luận văn là nghiên cứu và giới thiệu một số mô hình cơ sở dữ liệu mở rộng (cơ sở dữ liệu tích cực, cơ sở dữ liệu thời gian và cơ sở dữ liệu không gian) đi sâu nghiên cứu nghiên cứu hệ quản trị cơ sở dữ liệu không gian (PostgreSQL, PostGis) và xây dựng một ứng dụng về quản lý xe buýt.

Luận văn bao gồm ba chƣơng: Chƣơng 1: Tổng quan về cơ sở dữ liệu mở rộng Chƣơng này trình bày một số mô hình CSDL mở rộng nhƣ cơ sở dữ liệu tích cực, cơ sở dữ liệu thời gian và cơ sở dữ liệu không gian cùng với các ứng dụng của chúng. Chƣơng 2: Hệ quản trị CSDL postgreSQL và Postgis. Chƣơng này trình bày nghiên cứu hệ quản trị CSDL PostgreSQL và PostGis, cách lƣu trữ dữ liệu và các câu lệnh truy vấn dữ liệu của chúng Chƣơng 3: Xây dựng chƣơng trình quản lý bản đồ xe buýt Hà Nội. Chƣơng này trình bày bài toán quản lý xe buýt, xây dựng cơ sở dữ liệu và lập trình demo hoạt động quản lý.

Cuối cùng, trong phần kết luận, chúng tôi tổng kết lại những công việc đã làm trong luận văn, những khuyết điểm và hạn chế cũng nhƣ hƣớng phát triển tiếp theo. TIEU LUAN MOI download : skknchat@gmail.com 10 CHƢƠNG 1: TỔNG QUAN VỀ MÔ HÌNH CƠ SỞ DỮ LIỆU MỞ RỘNG 1. Một số mô hình CSDL mở rộng Cùng với sự phát triển của công nghệ thông tin , mô hình cơ sở dữ liệu quan hệ đã có rất nhiều các ứng dụng trong quản lý cũng nhƣ nhiều lĩnh vực khác. Tuy nhiên trong quá trình ứng dụng có nhiều vấn đề nảy sinh.

Chẳng hạn, việc đảm bảo các ràng buộc toàn vẹn khi cập nhật dữ liệu, việc ghi lại lịch sử biến đổi của dữ liệu hoặc nhu cầu mở rộng thêm các kiểu dữ liệu. Vì vậy, ngƣời ta đã đề nghị một số mô hình mở rộng để đáp ứng các ứng dụng trên. Trong phần này chúng tôi xin trình bày ngắn gọn về các mô hình mở rộng đó. Cụ thể luận văn sẽ trình bày về cơ sở dữ liệu tích cực, cơ sở dữ liệu thời gian và cơ sở dữ liệu không gian.

Mô hình cơ sở dữ liệu tích cực( Active database). Cơ sở dữ liệu tích cực là một cơ sở dữ liệu cộng với một tập các quy tắc tích cực (active rules). Các quy tắc này sẽ đƣợc tự động kích hoạt sau một sự kiện cập nhật nhƣ (insert, delete, update) trên cơ sở dữ liệu, nhằm đảm bảo tính toàn vẹn của cơ sở dữ liệu.1: Mô hình cơ sở dữ liệu tích cực( Active Database). Quy tắc ECA (Event- Condition -Action).

Mô hình đƣợc sử dụng để chỉ rõ các quy tắc của cơ sở dữ liệu tích cực đƣợc tham chiếu đến nhƣ mô hình ECA. Một quy tắc trong mô hình ECA có 3 thành phần. TIEU LUAN MOI download : skknchat@gmail. Sự kiện (Event) Sự kiện (Event) làm kích hoạt trigger: Các sự kiện này thƣờng là các thao tác cập nhật cơ sở dữ liệu đƣợc áp dụng một cách tƣờng minh đối với cơ sở dữ liệu.

Tuy nhiên, trong mô hình tổng quát, chúng cũng có thể là các sự kiện thời gian hoặc là các dạng sự kiện ngoài khác. Các lựa chọn có thể là: - Các hành động cấu trúc, trong trƣờng hợp sự kiện đƣợc sinh ra bằng một hành động ở một phần của cấu trúc (ví dụ: thêm bản ghi, sửa một thuộc tính, truy cập vào 1 bản ghi). - Trƣờng hợp sự kiện đƣợc sinh ra bởi việc thực hiện một vài hành động của ngƣờì sử dụng. Đối với các ngôn ngữ sự kiện thƣờng cho phép các sự kiện xuất hiện trƣớc hoặc sau một hành động nào đó thực thi.

- Sự thực thi (giải quyết), trong trƣờng hợp khi sự kiện đƣợc sinh ra bằng các lệnh thực thi (ví dụ: từ chối (abort), ủy thác (commit), bắt đầu thực thi (begin – transaction)) - Trừu tƣợng hoặc ngƣời dùng định rõ, trong trƣờng hợp một cơ chế lập trình đƣợc sử dụng cho phép một chƣơng trình ứng dụng báo hiệu sự xuất hiện một sự kiện rõ ràng (ví dụ trong phản hồi một vài thông tin mà ngƣời dùng nhập vào). - Đồng hồ, trong trƣờng hợp sự kiện đƣợc sinh ra ở một điểm thời gian, sự kiện thời gian tƣơng đối và chu kỳ đƣợc báo cáo trong tài liệu Ngoài ra, trong trƣờng hợp sự kiện đƣợc sinh ra bởi sự việc xảy ra bên ngoài cơ sở dữ liệu. Các kiểu sự kiện có thể là: - Gốc (nguyên thủy), trong trƣờng hợp này sự kiện đƣợc sinh ra bởi sự việc đơn lẻ ở tầng thấp thuộc một trong những loại đƣợc mô tả ở nguồn (Source). Ví dụ, sự kiện “on insert to Owns” theo dõi việc thêm những bản ghi mới vào quan hệ “Owns”.

- Hỗn hợp, trong trƣờng hợp này sự kiện đƣợc sinh ra bởi sự kết hợp các sự kiện hoặc hỗn hợp bằng cách sử dụng một loạt các toán tử cấu thành lên sự kiện. Các toán tử sự kiện khác nhau tùy vào hệ thống. Phổ biến là: TIEU LUAN MOI download : skknchat@gmail.com 12  Toán tử tách rời(disjunction) – E1 or E2 xuất hiện khi một trong các thành phần E1 hoặc E2 xuất hiện;  Toán tử kết hợp (conjunction) – E1 and E2 xảy ra khi cả hai E1 và E2 đều xảy ra theo thứ tự bất kỳ  Toán tử nối tiếp (sequence)– seq(E1,E2) xuất hiện khi E1 xuất hiện trƣớc E2; toán tử đóng kín – “closure E in Int” xuất hiện chỉ một lần đầu tiên E ra tín hiệu, không cần chú ý tới sự xuất hiện sau đó của E trong một khoảng thời gian Int,  Toán tử lịch sử (history) – times(n,E) in Int báo hiệu khi sự kiện E xuất hiện n lần trong khoảng thời gian Int;  Phủ định (not) – not E1 in Int phát hiện sự không xuất hiện của sự E1 trong khoảng thời gian Int. Vai trò của một sự kiện biểu thị sự kiện phải luôn đƣợc định sẵn cho quy tắc tích cực hay không, hoặc việc đặt tên rõ ràng của một sự kiện có cần thiết hay không.

Nếu vai trò là tùy ý, thì khi mà không một sự kiện nào đƣợc xác định thì các quy tắc điều kiện - hành động đƣợc hỗ trợ, các quy tắc đó có chức năng khác nhau đáng kể và thực thi từ quy tắc sự kiện - điều kiện - hành động (ECA). Nếu nhƣ vai trò là none thì các sự kiện có thể không đƣợc định rõ, và tất cả các quy tắc là điều kiện, hành động, nếu vai trò là bắt buộc thì quy tắc ECA là đƣợc hỗ trợ.2 : Ngữ cảnh mà trong đó một quy tắc đƣợc xử lý[7] 1.2 Điều kiện(Condition) Điều kiện (Condition) xác định hành động của quy tắc có thể đƣợc thực hiện hay không: Mỗi khi sự kiện kích hoạt có mặt, một điều kiện chọn có thể đƣợc tính giá trị. Nếu không có điều kiện nào đƣợc chỉ rõ, hành động sẽ đƣợc thực hiện một lần sự kiện xảy ra. Nếu điều kiện đƣợc chỉ rõ, đầu tiên nó đƣợc tính TIEU LUAN MOI download : skknchat@gmail.com 13 giá trị là đúng (true) thì hành động của quy tắc sẽ đƣợc thực hiện.

Ngữ cảnh biểu thị sự thiết lập mà trong đó điều kiện đƣợc đánh giá. Các thành phần khác nhau của một quy tắc không đƣợc đánh giá trong sự độc lập trong cơ sở dữ liệu hoặc từ mỗi thành phần khác, và hơn nữa cũng có thể không đƣợc đánh giá lần lƣợt. Kết quả là việc xử lý một quy tắc đơn lẻ có thể đƣợc liên kết với ít nhất 4 trạng thái cơ sở dữ liệu khác nhau trong hình 1. DBT -:Cơ sở dữ liệu ở thời điểm bắt đầu của sự thực thi hiện thời.

DBE - Cơ sở dữ liệu khi sự kiện đã diễn ra. DBC - Cơ sở dữ liệu khi điều kiện đƣợc đánh giá DBA - Cơ sở dữ liệu khi hành động đƣợc thực hiện. Hệ thống quy tắc tích cực có thể hỗ trợ các công cụ bên trong điều kiện của quy tắc mà cho phép nó có thể không truy cập tới hoặc nhiều hơn các trạng thái DBT , DBE và DBC có thể cũng cho phép truy cập tới các ràng buộc liên kết với sự kiện BindE. Các thông tin có sẵn đƣợc dùng với các thành phần khác nhau của một quy tắc đƣợc minh họa ở Hình 1.

Nhìn chung, vị trí của các thành phần còn phức tạp hơn trong miêu tả ở Hình 1.2, bởi vì trạng thái trƣớc và sau một sự kiện diễn ra có thể khác nhau, và nhiều sự kiện có thể đƣợc bắt đầu và có thể thực hiện tới khi hoàn thành trong khi thực hiện một hành động đơn lẻ. Hành động (Action) thực hiện: Hành động thƣờng là một dãy lệnh SQL nhƣng nó cũng có thể là một giao tác cơ sở dữ liệu hoặc một chƣơng tình bên ngoài sẽ đƣợc thực hiện một cách tự động. Hành động có thể cập nhật theo cấu trúc của cơ sở dữ liệu hoặc quy tắc thiết lập, thực hiện hành động lấy thông tin từ cơ sở dữ liệu và thông báo ngƣời dùng hoặc quản trị hệ thống trong một vài tình huống, hủy bỏ giao dịch, hoặc lấy một số quy tắc phụ của hành động sử dụng trong do-instead [Stonebraker et al. Sau đây là một ví dụ của do-instead, nếu xóa khỏi quan hệ Holder một giá trị >0 thì ngƣời quản trị hệ thống sẽ đƣợc thông báo.

On delete to Holder If delete .value >0 Do instead <inform system manager> Khác với nhiều cú pháp chuẩn, trong trƣờng hợp này bản ghi đƣợc xóa đi TIEU LUAN MOI download : skknchat@gmail.com 14 và ngƣời quản lý hệ thống đƣợc thông báo: On delete to Holder If delete .value >0 Do <inform system manager> Ngữ cảnh của hành động gần giống với ngữ cảnh của điều kiện, và biểu thị thông tin sẵn có về hành động, nhƣ trong minh họa ở Hình 1. Đôi khi thông tin có thể đƣợc chuyển từ điều kiện của quy tắc sang hành động, nhƣ DBE hoặc BindC Sau đây là một ví dụ về sự tiện ích của thông tin ngữ cảnh, quy tắc sau đƣợc sử dụng để sửa lại thông tin lƣu trữ trong thuộc tính value của tất cả bản ghi Holder mà bị ảnh hƣởng bởi sự thay đổi price của vài Stock. On update to price of Stock If true Do update Holder Set value = value*(new.price) Where reg# in (select reg# from Owns where stock# = update.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ