ZSBD-2st-1.2-w3.tresc-1.1-Slajd10

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Definiowanie aktywnych reguł Oracle

Definiowanie aktywnych reguł Oracle


Na slajdzie pokazano przykład aktywnej reguły zdefiniowanej w systemie bazy danych Oracle. Zadaniem reguły jest utrzymywanie wywiedzionego atrybutu „stanOsobowy relacji „Zespoły w wypadku dodawania do relacji „Pracownicy krotek reprezentujących nowo przyjmowanych pracowników. Kompletny przykład powinien jeszcze obejmować przypadki zwalniania pracowników i przenoszenia ich między zespołami.

Zdarzeniem uaktywniającym regułę jest wystąpienie operacji INSERT na relacji „Pracownicy ”. Słowo kluczowe AFTER użyte w drugiej linii definicji oznacza, że akcja reguły zostanie odpalona bezpośrednio po wykonaniu pojedynczej operacji wstawienia krotki. Fraza "for each row" występująca w trzeciej linii określa, że kontekstem akcji reguły jest pojedyncza krotka. Dla pojedynczego wywołania instrukcji INSERT, która wstawi 100 nowych krotek do relacji, akcja reguły zostanie odpalona stukrotnie, raz dla każdej wstawionej krotki. Akcja reguły jest zdefiniowana między słowami kluczowymi „begin i „end ”. Prefiks :New poprzedzający nazwę atrybutu „IdZesp w ciele akcji reguły jest odwołaniem do wartości tego atrybutu we wstawianej krotce.

Na rysunku poniżej definicji przedstawiono przykładowy scenariusz odpalenia akcji zdefiniowanej reguły „Zmodyfikuj_Stan_Osobowy ”. Do relacji „Pracownicy zawierającej dwie krotki reprezentujące pracowników Tarzana i Kowalskiego dodano trzecią krotkę reprezentującą nowego pracownika Nowaka. Bezpośrednio po wstawieniu nowej krotki jest odpalana akcja reguły. W wyniku wykonania akcji stan osobowy zespołu dziesiątego jest zwiększany o jeden.


<< Poprzedni slajd | Spis treści | Następny slajd >>