Hành động (Active)

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU, XÂY DỰNG CƠ SỞ DỮ LIỆU TÍCH CỰC pdf (Trang 51 - 52)

Phạm vi các công việc mà có thể được thực hiện bởi một hành động được chỉ rõ như là sự lựa chọn của nó. Các 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.1990]. Sau đây là một ví dụ của do-instead,

nếu muốn cố xóa đi giá trị từ quan hệ Holder mà có giá trị value > 0, sau đó cho phép hành động được thực hiện, người quản lý hệ thống có thể được thông báo hành động đó:

on delete to Holder if delete.value > 0

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 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 2.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ư ( hoặc ( . 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/old.price)

Where reg# in (select reg# from Owns where stock# = update.stock#)

Trong quy tắc này, cả giá trị old và new của price đều được truy cập tới ( , để làm trạng thái của cơ sở dữ liệu tại thời gian của cập nhật ( .

Một phần của tài liệu LUẬN VĂN:NGHIÊN CỨU, XÂY DỰNG CƠ SỞ DỮ LIỆU TÍCH CỰC pdf (Trang 51 - 52)