Relationale AlgebraRelationale Algebra
Vortrag am Vortrag am 11.04.2311.04.23
© 2007 Daniel Birkholz
Ziele Grundbegriffe der Relationalen Algebra
Domainen Attribute und Attributwerte Relationen und Relationsschemata Ausprägung (Extension) Tupel Beispiel
Schlüsselwerte Schlüsselkandidat Primärschlüssel Fremdschlüssel Nullwerte
Operationen der Relationalen Algebra
Zweck der relationalen Algebra
Ziele der relationalen Algebra Mathematisches Werkzeug der Datenbank-Technologie
Mathematische Disziplin der Mengenlehre
Ordnung von Mengen Mengen und Werte in Beziehungen (Relationen) setzen Analysen und Operationen auf diesen Mengen und Beziehungen durchführen
Bildet die mathematische Möglichkeit Datenbankoperationen zu optimieren
Grundbegriffe der Relationalen Algebra
Mengen als Grundlage Mengen sind Sammlungen von Daten
Mengen bezeichnen keine Strukturierung von Daten
Mengen setzen Daten nicht in Relationen zueinander
Es gilt die Daten in Mengen zu definieren
Relationen werden über definierte Beziehungen zwischen den Mengen realisiert
Domainen
Bezeichnen die atomaren Werttypen einer Relation
Vergleichbar mit Wertebereichen ()
Geben den Typ eines Attributs an
z.B: ganze Zahlen, Gleitkommazahlen, Zeichenketten …
DD kM ,,
1
violettgelbgrünrotFarben ,,,
SuchoiIljushinTupolevChessnaBoingAirbusFlugzeuge ,,,,,
Attribute
Zuordnung von bezeichnenden Namen (Charakteristik) und Domänen
Vergleichbar mit Eigenschaften eines Objektes
Kleinste Einheit einer Relation
DDA mkdom ,,
1
ZahlganzeerTelefonnumdom
Attributwert
Bezeichnet den Wert eines Attributes
Bezieht sich auf eine Tupel
Beispiel:
Bezieht sich auf den Wert des Attributes des Tupels t
iki Ata .
Relationen
Ist eine Menge von Attributen, welche miteinander Verknüpft sind
Bezeichnet eine Sammlung von Daten
Relationsschema:
Allgemeine Zuordnungsvorschrift (legt Struktur fest)
Bsp.:
nDDR 1
longFacNumberstringggistrierunstringHerstellerFlugzeug :,:Re,::
Ausprägung
Stellt die Ganzheit der Zuordnung von Werten und Attributen dar
Wird auch als Extension bezeichnet
Mathematisch dargestellt als:
nAdomAdomRext 1
Tupel
Bezeichnet das Element einer Ausprägung
Bezeichnet die Werte der Attribute welche miteinander in Relation stehen
Siehe folgendes Beispiel
Rextt
Beispiel
61 :DA 22 :DA 3:DAn
11a
21a 22a
12a na1
na2
Attribut gekennzeichnetDurch Domain
Ausprägung(Extension)
Relationsschema
,,,,,,,, 222212112111 nn aaataaatRext
Tupel
Schlüsselwerte
Schlüsselkandidat
Ein Attribut ist ein Schlüsselkandiat (C) wenn gilt:
Bedeutet: Wenn für zwei beliebige Tupel die Attributwerte von C identisch sind, so sind die Attributwerte für alle Attribute der Tupel identisch
nAAAC ,,, 21
2121 .. ttCtCt
AtAtRAbedeutettt ba ..:21
Rexttt 21,
Primärschlüssel
Ein Schlüsselkandidat
Wird zur primären Identifizierung von Tupeln verwendet
Kriterien:
Attribut soll sich möglichst wenig ändern (ideal nie)
Es sollte keine wiederkehrenden Attribute geben Es soll niemals wieder einen gleichen Attributwert geben
Attribut Domain soll wenig Speicherplatz verbrauchen(daher möglichst Zahlenwerte / ID‘s)
Fremdschlüssel
Bezeichnet einen Attribut, dessen Attributwerte Primärwertschlüssel aus anderen Relationen darstellen
A1 sei ein Primärschlüssel
87652
43211
,,,
,,,
AAAAR
AAAAR
11727
22
11
..: AtAtRA
Rextt
Rextt
Fremdschlüssel
Bezeichnet einen Attribut, dessen Attributwerte Primärwertschlüssel aus anderen Relationen darstellen
A1 sei ein Primärschlüssel
87652
43211
,,,
,,,
AAAAR
AAAAR
11727
22
11
..: AtAtRA
Rextt
Rextt
Nullwerte
Unbestimmte oder undefinierte Werte eines Attributes werden als Nullwerte bezeichnet
Es gelten folgende Bedingungen für Schlüsselwerte:
Primärschlüssel dürfen niemals einen Nullwert haben
Für Fremdschlüssel gilt, wenn ein Fremdschlüssel einen Nullwert besitzt, so müssen ALLE Fremdschlüssel des gleichen Tupels Nullwerte sein Referenzielle Integrität
At.
AtCARextt .:,
Operationen derRelationalen Algebra
Operationen der relationalen Algebra
Dienen dem Manipulieren, Selektieren und Verknüpfen von relationalen Datensammlungen
Diese Operationen bilden Grundlage für DB-Operationen und Zugriffe
SEQUEL SQL (Structured Query Language) CQL (Continuous Query Language)
Die Operationen der relationalen Algebra gelten als abgeschlossen
Basierend auf Relationen werden Relationen erzeugt
Mengenoperationen
Auf Relationen lassen sich Mengenoperationen anwenden
Vereinigung (union)
Durchschnitt (intersection)
Differenz (difference)
BexttAextttBAext |:
BexttAextttBAext |:
BexttAextttBAext |:/
Selektion - selection
Eine der wichtigsten Operationen
Wird auch als „filtering“ oder „restriction“ bezeichnet
Es gilt eine Auswahl aus einer Menge von Tupel zu treffen (also aus einer Extension)
Die Selektion wird Formeltechnisch folgendermaßen definiert:
R
VergleichBoolscher
OperationalsSelektiondieBezeichnet
Selektion – Beispiel „Personen“
PersonenAlterKarpovaName 17""
Vorname Name Alter
Vikusiya Karpova 19
Lena Karpova 18
Gala Tupolev 18
Pascha Pushkin 17
Vorname Name Alter
Vikusiya Karpova 19
Lena Karpova 18
Gala Tupolev 18
Projektion - projection
Bildet aus Relationen eine neue Relation ab
Die Attributelemente der neuen Relation werden speziell definiert
E seinen A Attributmengen. So gilt:
RattAmit
Rext A
Projektion – Beispiel „Personen“
PersonenNameVorname ,
Vorname Name Alter
Vikusiya Karpova 19
Lena Karpova 18
Gala Tupolev 18
Pascha Pushkin 17
Vorname Name
Vikusiya Karpova
Lena Karpova
Gala Tupolev
Pascha Pushkin
Natürlicher Verbund – natural join
Bildet eine Vereinigung der Attributmengen zweier Relationen ab
R sei eine Relation mit Schema A S sei eine Relation mit Schema B
Es wird somit eine Extension aus dem natürlichen Verbund gebildet
BAJ :
SRext
A B C D
C D E F
A B C D E F
Natural Join – Beispiel „Personen“
A Vorname Name
Vikusiya Karpova
Vika Karpova
Marcus Pushkin
Emanuel Pushkin
Vorname Name Alias
Vikusiya Karpova Tiger Cat
Vika Karpova Tiger Cat
Marcus Pushkin Bear
Emanuel Pushkin Bear
Name Alias
Karpova Tiger Cat
Pushkin Bear
B
BA
Kartesisches Produkt – cartesian product
Matched Relationen miteinander
Es findet wie beim „natural Join“ eine Zuordnung der Attribute in einer neuen Menge statt
Es werden bei hierbei alle möglichen Tupelkombinationen abgebildet
2121 RRRR AAA
Kartesisches Produkt – cartesian product
A Vorname Name
Vikusiya Karpova
Vika Karpova
Marcus Pushkin
Emanuel Pushkin
Name Alias
Karpova Tiger Cat
Pushkin Bear
B
BA
Vorname A.Name B.Name Alias
Vikusiya Karpova Karpova Tiger Cat
Vikusiya Karpova Pushkin Bear
Vika Karpova Karpova Tiger Cat
Vika Karpova Pushkin Bear
Marcus Pushkin Karpova Tiger Cat
… … … …
Theta Verbund – theta join
Bildet ein kartesisches Produkt unter der Voraussetzung einer Bedingung ab
Bedingung bezeichnet eine Selektion
Theta Verbund ist kartesisches Produkt + Selektion
SRextSRext BABA
:
Theta Verbund – theta join
A Vorname Name
Vikusiya Karpova
Vika Karpova
Marcus Pushkin
Emanuel Pushkin
Name Alias
Karpova Tiger Cat
Pushkin Bear
B
BANameBNameA ..
Vorname A.Name B.Name Alias
Vikusiya Karpova Karpova Tiger Cat
Vika Karpova Karpova Tiger Cat
Marcus Pushkin Pushkin Bear
Emanuel Pushkin Pushkin Bear
… … … …
Vielen Dank für die Aufmerksamkeit
Quellen
Einführung in die Informatik – 5. Aufl.H.-P. Gumm / M. SommerOldenbourg Verlag
Algorithmen und DatenstrukturenGunter Saake / Kai-Uwe Sattlerdpunkt.lehrbuch
Schüler Duden InformatikProf. Dr. Volker Claus / Prof. Dr. Andreas SchwillDudenverlag
Deutsche Wikipediawww.wikipedia.de
Informationssysteme für Ingenieure (ISI) SS2006R. Marti
Top Related