Hành động (Active)

Một phần của tài liệu Nghiên cứu, xây dựng cơ sở dữ liệu tích cực (Trang 50)

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 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 Nghiên cứu, xây dựng cơ sở dữ liệu tích cực (Trang 50)