60 likes | 171 Views
Polymorphe Operatoren. Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit durch Formalisierung in Anlehnung an den mathematischen Relationsbegriff und einer auf Relationen erklärten Algebra ( Relationsalgebra ).
E N D
Polymorphe Operatoren • Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. • Forderung nach mathematischer Exaktheit durch Formalisierung in Anlehnung an den mathematischen Relationsbegriff und einer auf Relationen erklärten Algebra (Relationsalgebra).
Relationsalgebra : relation bedingung relation (Selektion) : relation atributfolge relation (Projektion) : relation relation relation (Kartesisches Produkt) : relation relation relation (Vereinigung) / : relation relation relation (Differenz) : relation relation relation (Durchschnitt) bQ : relation bedingung relation relation (Theta-Verbindung) b : relation relation relation (natürliche Verbindung) : relation relation relation (Division) • Rein formal betrachtet reichen die fünf Grundoperatoren Selektion, Projektion, KartesischesProdukt, Vereinigung und Differenz aus. • Operatoren Durchschnitt, Theta-Verbindung, natürlicheVerbindung und Division vermeiden Prozeduren für elementare Dienstleistungen.
Bewertung Operationelle Verknüpfbarkeit: • Operatoren bilden aus Relationen wieder Relationen • Zugriff auf einzelne Tupel oder Tupelbestandteile nur durch außerhalb des Datenmodells liegende Operatoren (gestrichelte Pfeile) • Dementsprechend: „mengenorientiertes Datenmodel“ Relation Tupel Atomarer Typ
Formalisierung (1) • Ein RelationstypTR ist ein Tupel (AR1,...., ARn). (Häufig wird auch eine reine Mengensichtweise verwendet: {AR1,...., ARn}.) • AR = {AR1,...., ARn} heißt Attributmenge von TR, n die Stelligkeit von TR . • AR1,...., ARn sind paarweise verschiedene Attributnamen. • Zu jedem ARi ist eine Menge Di gegeben, die Domäne von ARi. • Zu jedem Relationstyp existiert eine n-stellige RelationR als eine zeitlich veränderliche Untermenge des kartesischen Produkts D1 ... Dn. • R ist dann eine Menge von Tupeln (d1,d2,....,dn) mit di Di für 1 i n. • Rnbezeichnet die Menge aller n-stelligen Relationen.
Formalisierung (3) • Eine Attributfolge zu TRist ein Tupel (ARf1, ..., ARfn) mit ARfiÎAR, fiÎ {1, ..., n}, fi¹fj für i¹j. • Sie entsteht also durch Auswahl und Permutation von Attributen aus TR. • Die Menge aller Attributfolgen zu TR bezeichnen wir mit AR.
Formalisierung (4) Verkettung von Tupeln: • Sei RÎ Rm, SÎ Rn. • Sei r = (r1, ..., rm) ÎR, s = (s1, ..., sn) ÎS. • Dann ist die Verkettung der Tupel r und s definiert durch rs := (r1, ..., rm, s1, ..., sn) Beispiel: • r = ('A-001', 'Anlasser', 1, 'Bosch', 2.00) Î ArtikelArt • s = ('LEA-01', 'Stapelkasten', 580, 380, 300, 300.00) Î LagereinheitArt • Dann: rs = ('A-001', 'Anlasser', 1, 'Bosch', 2.00, 'LEA-01', 'Stapelkasten', 580, 380, 300, 300.00). • Verkettung ist ein reines Hintereinanderschreiben von Tupeln ohne jeden semantischen Hintergrund.