Trigger Info
Allgemein |
Benutzen das ECA Prinzip. |
Werden für DDL, DML und Serveroperationen verwendet |
Timing |
BEFORE |
AFTER |
INSTEAD OF (nicht in SQL-1999) |
Granularität |
STATEMENT |
ROW |
Trigger Code
Syntax
CREATE [OR REPLACE] TRIGGER tname
{BEFORE | AFTER} events
[WHEN (condition)]
pl/sql_block
Events
{DELETE|INSERT|UPDATE [OF column [,column]...]}
[OR {DELETE|INSERT|UPDATE [OF column [, column]... ]}]...
ON table [FOR EACH ROW]
|
Dist. Design
Korrektheit der Fragmentierung |
Vollständigkeit |
Wenn R in die Fragmente R1, R2, ..., Rn zerlegt ist, müssen alle Elemente in den Fragmenten enthalten sein. |
Rekonstrierbarkeit |
Wenn R in die Fragmente R1, R2, ..., Rn zerlegt ist, muss es relationale Operationen geben, um R zu rekonstrieren. |
Disjunktheit |
Wenn R in die Fragmente R1, R2, ..., Rn zerlegt ist, darf es keine unnötige Redundanz geben. |
Vollständigkeit einer Menge von simple predicates |
Eine Menge von simple predicates ist genau dann vollständig, wenn auf jedes Tupel im gleichen Fragment von allen Anwendungen mit der gleichen Häufigkeit zugegriffen wird. |
Minimalität einer Menge von simple predicates |
Wird durch ein simple predicate ein Fragment weiter aufgeteilt, dann muss es mindestens eine Anwendung geben, die auf diese Fragmente verschieden zugreift. Ein simple predicate soll also relevant sein für die Bestimmung einer Fragmentierung. Sind alle simple predicate eine Menge P relevant, dann ist P minimal |
PHF Algorithmus
1. |
Finde eine Menge von simple predicates, die vollständig und minimal ist. |
2. |
Bilde die (exponentiale) Menge der minterm predicates. |
3. |
Bestimme eine Menge von Implikationen unter den simple predicates. |
4. |
Eliminiere sämtliche minterm predicates, die den Implikationen widersprechen. |
|
|
Akronyme
Akronym |
Bedeutung |
DDL |
Data Definition Language |
DHF |
Derived/Abgeleitete horizontale Fragmentierung |
DML |
Data Manipulation Language |
ECA Prinzip |
Event, Condition, Action |
HF |
Horizontale Fragmentierung (horizontal schneiden) |
MF |
Gemischte Fragmentierung |
PHF |
Primäre horizontale Fragmentierung |
VF |
Vertikale Fragmentierung (vertikal schneiden) |
Glossar
Minterm Predicate |
Verkettung mehrerer Simple Predicates |
Simple Predicate |
Vergleich eines Attributes mit einem Wert |
Minterm Selectivity sel(mi) |
Anzahl Tupel, die mit dem Minterm Predicate mi ausgewählt werden |
Access Frequency acc(mi) |
Häufigkeit mit der Anwendungen auf Daten mit dem Minterm mi zugreifen |
|
|
PL/SQL Syntax
Prinzip
DECLARE
Deklarationsteil
BEGIN
Programmteil
EXCEPTION
Ausnamebehandlung
END;
Zuweisng
variable := expression;
im Deklarationsteil
DECLARE
last_name VARCHAR2(30) := 'Wyss';
first_name VARCHAR2(25) := 'Bernhard';
If - then
IF condition THEN
...
END IF;
If - then - else
IF condition THEN
...
ELSE
...
END IF;
If - then - elsif
IF condition THEN
...
ELSIF condition THEN
...
ELSE
...
END IF;
While Schleife
While condition LOOP
...
END LOOP
For Schleife
FOR counter IN lower_bound..higher_bound LOOP
...
END LOOP
|
|