www.wikidata.de-de.nina.az
Dieser Artikel behandelt den Begriff aus der Theorie der Datenbanken Zum ahnlich lautenden Begriff aus der Theorie der Booleschen Algebren siehe Relationsalgebra In der Theorie der Datenbanken versteht man unter einer relationalen Algebra oder Relationenalgebra eine Menge von Operationen zur Manipulation von Relationen Sie ermoglicht es Relationen zu filtern zu verknupfen zu aggregieren oder anderweitig zu modifizieren um Anfragen an eine Datenbank zu formulieren 1 2 Normalerweise werden Anfragen und Programme nicht direkt in einer relationalen Algebra formuliert sondern in einer deklarativen Sprache wie SQL 3 XQuery 4 SPARQL 5 oder auch Datalog 6 Diese Programme und Anfragen werden ublicherweise zunachst in eine i Allg erweiterte relationale Algebra ubersetzt Der entstehende Operatorbaum wird dann mit Hilfe relationaler Gesetze transformiert um eine moglichst effiziente Auswertung der Anfragen zu ermoglichen 7 Inhaltsverzeichnis 1 Geschichte und Bedeutung 2 Allgemein 3 Operationen 3 1 Mengenoperationen 3 1 1 Vereinigung 3 1 2 Schnittmenge Intersection 3 1 3 Differenz 3 1 4 Symmetrische Differenz 3 2 Kartesisches Produkt Kreuzprodukt 3 3 Projektion 3 4 Selektion 3 5 Join 3 5 1 Equi Join 3 5 2 Natural Join 3 5 3 Semi Join 3 5 4 Outer Join 3 6 Umbenennung 3 7 Division 4 Minimalitat und Vollstandigkeit 5 Erweiterungen der relationalen Algebra 5 1 Nullwerte 5 2 Gruppierungsoperator und Aggregatfunktionen 5 3 Multimengensemantik 5 4 NF 5 5 eNF2 6 Beispiele 7 Siehe auch 8 Literatur 9 Weblinks 10 EinzelnachweiseGeschichte und Bedeutung BearbeitenIm Jahr 1941 stellte Alfred Tarski in seinem Papier On the calculus of relations erstmals Ideen einer relationalen Algebra vor 8 Insbesondere fuhrte er die relationalen Operationen Vereinigung Durchschnitt und Join ein wobei er sich allerdings auf zweistellige Relationen beschrankte Am Ende seines Artikels erwahnt er dass er eigentlich nicht so sehr das Ziel hatte neue Ergebnisse zu prasentieren als vielmehr das Interesse an einer bestimmten logischen Theorie zu wecken die bislang nicht beachtet wurde The aim of this paper has been not so much to present new results as to awaken interest in a certain neglected logical theory and to formulate some new problems concerning this theory Tarski 8 Ende der 1960er Jahre entwickelte Edgar F Codd am IBM Research Laboratory in San Jose die Grundlagen der heutigen relationalen Algebra 9 10 Ob ihn die Arbeit Tarskis dazu inspirierte ist nicht bekannt Zu Beginn seines Papiers von 1969 stellt er die Behauptung auf dass das relationale Modell in vielen Aspekten dem Graphenmodell und dem Netzwerkmodell die zu dieser Zeit en vogue franz in Mode waren uberlegen sei The first part of this paper is concerned with an explanation of a relational view of data This view or model of data appears to be superior in several respects to the graph or network model 1 2 presently in vogue Codd 9 Er bezieht sich damit auf die Tatsache dass die Dauer der Beantwortung von Anfragen sehr stark vom Aufbau des jeweiligen Netzwerks abhangt Sofern Daten abgerufen werden sollen die im Netzwerk benachbart sind muss der Benutzer nur sehr kurz auf eine Antwort warten Sind die gewunschten Daten jedoch im Netzwerk stark verstreut kann die Wartezeit unzumutbar lang werden Die Datenbankentwickler mussten bei der Erstellung eines Netzwerkmodells von vorneherein samtliche denkbaren Anfragen berucksichtigen da nachtragliche Anderungen am Datenmodell nur noch sehr schwer umgesetzt werden konnten Um dieses Problem zu beheben hatte Codd die Idee die Daten nicht mehr in einem Netzwerk zu speichern sondern in Relationen Tabellen die je nach Anfrage unterschiedlich miteinander verknupft werden konnen Future users of large data banks must be protected from having to know how the data is organized in the machine the internal representation Codd 10 Er wagte folgende geradezu prophetische Prognose dass Datenbanken kunftig viele Relationen in gespeicherter Form enthalten wurden The large integrated data banks of the future will contain many relations of various degrees in stored form Codd 9 Ende 1970 d h im selben Jahr in dem Codds Arbeit publik wurde stellen Rudolf Bayer und Ed McCreight den B Baum vor Dies ist ein Datenbankindex der es ermoglicht Relationen mit einer grossen Anzahl von Tupel so auf einer Festplatte zu speichern dass der lesende Zugriff auf Tupel sowie die Modifikation von Tupeln hocheffizient erfolgen kann 11 12 In den 1970er Jahren begann auf Basis dieser beiden Arbeiten die Erfolgsgeschichte der Relationalen Datenbanken einschliesslich der zugehorigen Sprache SQL An Codds Arbeitsstatte d h am IBM Research Laboratory in San Jose wurden die Sprache SEQUEL sowie das experimentelle Datenbanksystem System R entwickelt Spater wurde SEQUEL in SQL umbenannt Zu Beginn der 1980er Jahre gab es fur die Anfragesprache SQL die ersten kommerziellen relationalen Datenbanksysteme Db2 von IBM und Oracle von Relational Software Inc 13 Heute ist SQL aus der Welt der Datenbanken nicht mehr wegzudenken siehe beispielsweise Kategorie Relationales Datenbankmanagementsystem Aber auch diverse weitere Sprachen wie zunachst QBE 14 oder QUEL 15 und spater Datalog 6 XQuery 4 oder SPARQL 5 basieren letztendlich auf der Idee Codds Relationen zum Speichern von Daten einzusetzen Als Anfragesprache fur Endbenutzer ist die Relationenalgebra heute ohne Bedeutung datenbank intern spielt sie jedoch in allen Hochleistungs Datenbanken eine wesentliche Rolle Die Datenbanksprache SQL wird in diesen Systemen durch die Anfragebearbeitung des Datenbanksystems intern auf eine Folge von Operationen der Relationenalgebra und weiterer Operationen wie z B fur den Zugriff auf Indexe ubersetzt die durch den Anfrageoptimierer in eine optimale Ausfuhrungsreihenfolge gebracht werden Allgemein BearbeitenEine relationale Algebra definiert Operationen die sich auf eine Menge von Relationen anwenden lassen Damit konnen Relationen beispielsweise gefiltert verknupft oder aggregiert werden Die Ergebnisse aller Operationen sind ebenfalls Relationen Aus diesem Grund bezeichnet man die Relationenalgebra als abgeschlossen Ihre Bedeutung hat die Relationenalgebra als theoretische Grundlage fur Abfragesprachen in relationalen Datenbanken Hier werden die Operationen der relationalen Algebra in sogenannten Datenbankoperatoren implementiert Wenn jede Operation der relationalen Algebra in der Abfragesprache durch mindestens einen Ausdruck umgesetzt werden kann heisst sie relational vollstandig der Ausdruck kann hierbei mehrere Datenbankoperatoren verknupfen Wenn jede Operation auch durch genau einen Datenbankoperator umgesetzt werden kann heisst sie streng relational vollstandig es darf also immer nur genau ein Datenbankoperator in ein und demselben umsetzenden Ausdruck enthalten sein Wenn die Bedingung der strengen relationalen Vollstandigkeit auch in die andere Richtung gilt es also zu jedem Datenbankoperator eine entsprechende Operation der relationalen Algebra gibt dann heisst die Abfragesprache aquivalent zur relationalen Algebra kurz relational aquivalent 16 Da es fur die relationale Algebra mehrere minimale Mengen von Operationen gibt aus denen alle weiteren Operationen zusammengesetzt werden konnen reicht es fur die streng relationale Vollstandigkeit aus die Abfragesprache mit diesen Basisoperationen zu vergleichen Das folgt daraus dass die relationale Algebra trivialerweise selbst aquivalent ist und durch ein minimales System aus Operationen schon vollstandig im Hinblick auf Operationen beschrieben ist Ein ubliches minimales System aus Operationen besteht aus den sechs Operationen Projektion Selektion Kreuzprodukt Vereinigung Differenz und Umbenennung Die relationale Algebra wird wegen ihrer theoretischen Klarheit oft als Bewertungsmassstab fur die Machtigkeit bzw Ausdruckskraft von Abfragesprachen genutzt u a mittels der gerade beschriebenen Vergleichsbegrifflichkeiten Allerdings darf man von der grosseren Nahe einer Abfragesprache zur relationalen Algebra nicht auf deren grossere Machtigkeit schliessen Abfragesprachen die relational vollstandig oder sogar streng relational vollstandig sind haben oft einen deutlich grosseren Funktionsumfang als dies durch die alleinige Umsetzung der Relationen Algebra Operationen moglich ware Zum Beispiel ist in der relationalen Algebra die Moglichkeit der Bildung der transitiven Hulle einer Relation was etwa bei ruckbezuglichen Relationen interessant ist nicht gegeben Von der strengen relationalen Vollstandigkeit einer Abfragesprache lasst sich eher auf eine Mindestfunktionalitat von der relationalen Aquivalenz eher auf eine Maximalfunktionalitat schliessen wahrend die nichtstrenge relationale Vollstandigkeit die wenigsten konkreten Informationen uber die Abfragesprache liefert Im Gegensatz zu den Kalkulen ist die relationale Algebra sicher d h sie liefert in endlicher Zeit ein endliches Resultat Eine relationale Algebra ist daruber hinaus ein Beispiel fur eine prozedurale Sprache im Unterschied zu Kalkulen die meist als deskriptive Sprachen formalisiert sind Operationen BearbeitenMengenoperationen Bearbeiten Um Mengenoperationen auf den Relationen R displaystyle R nbsp und S displaystyle S nbsp durchfuhren zu konnen mussen beide miteinander kompatibel sein Die Typkompatibilitat zweier Relationen ist gegeben wenn R displaystyle R nbsp und S displaystyle S nbsp den gleichen Grad Attributelementanzahl haben der Wertebereich der Attribute von R displaystyle R nbsp und S displaystyle S nbsp identisch istDie Typkompatibilitat wird auch Vereinigungsvertraglichkeit genannt Vereinigung Bearbeiten nbsp VereinigungBei der Vereinigung R S displaystyle R cup S nbsp werden alle Tupel der Relation R displaystyle R nbsp mit allen Tupeln der Relation S displaystyle S nbsp zu einer einzigen Relation vereint Voraussetzung dafur ist dass R displaystyle R nbsp und S displaystyle S nbsp das gleiche Relationenschema haben Das heisst sie haben gleiche Attribute und Attributtypen Duplikate werden bei der Vereinigung geloscht Definition R S t t R t S displaystyle R cup S lbrace t mid t in R lor t in S rbrace nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 6 S displaystyle S nbsp A B C7 8 94 5 6 R S displaystyle R cup S nbsp A B C7 8 94 5 61 2 3Voraussetzung Vereinigungsvertraglichkeit von R displaystyle R nbsp und S displaystyle S nbsp Schnittmenge Intersection Bearbeiten nbsp SchnittDas Ergebnis der Durchschnittsoperation R S displaystyle R cap S nbsp sind all die Tupel die sich sowohl in R displaystyle R nbsp als auch in S displaystyle S nbsp finden lassen Der Mengendurchschnitt lasst sich auch durch die Mengendifferenz ausdrucken R S R R S displaystyle R cap S R setminus R setminus S nbsp Definition R S t t R t S displaystyle R cap S lbrace t mid t in R land t in S rbrace nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 6 S displaystyle S nbsp A B C7 8 94 5 6 R S displaystyle R cap S nbsp A B C4 5 6Voraussetzung Vereinigungsvertraglichkeit von R displaystyle R nbsp und S displaystyle S nbsp Differenz Bearbeiten nbsp DifferenzStatt der in der Mengenlehre ublichen Schreibweise fur die Differenz zweier Mengen M N displaystyle M setminus N nbsp wird in der relationalen Algebra haufig M N displaystyle M N nbsp geschrieben Es handelt sich hierbei jedoch ausdrucklich nicht um die ubliche Subtraktion Bei der Operation R S displaystyle R S nbsp werden aus der Relation R displaystyle R nbsp alle Tupel entfernt die auch in der Relation S displaystyle S nbsp vorhanden sind Die Differenz ebenso wie die symmetrische Differenz ist keine monotone Operation daher ist auch die relationale Algebra im Vergleich zu anderen deklarativen Anfragesprachen z B Datalog nicht monoton Definition R S R S t t R t S displaystyle R S R setminus S lbrace t mid t in R land t notin S rbrace nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 6 S displaystyle S nbsp A B C7 8 94 5 6 R S displaystyle R setminus S nbsp A B C1 2 3Voraussetzung Vereinigungsvertraglichkeit von R displaystyle R nbsp und S displaystyle S nbsp Symmetrische Differenz Bearbeiten nbsp Symmetrische DifferenzBei der symmetrischen Differenz R S displaystyle R bigtriangleup S nbsp handelt es sich um die Menge aller Tupel die entweder in R displaystyle R nbsp oder in S displaystyle S nbsp aber nicht in beiden gleichzeitig enthalten sind R S t t R t S t R S displaystyle R bigtriangleup S lbrace t mid t in R lor t in S land t notin R cap S rbrace nbsp Die Operation kann aus den Grundoperationen abgeleitet werden R S R S S R R S S R displaystyle R bigtriangleup S R setminus S cup S setminus R R cup S setminus S cap R nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 6 S displaystyle S nbsp A B C7 8 94 5 6 R S displaystyle R bigtriangleup S nbsp A B C1 2 37 8 9Voraussetzung Vereinigungsvertraglichkeit von R und SKartesisches Produkt Kreuzprodukt Bearbeiten nbsp Kartesisches ProduktDas kartesische Produkt R S displaystyle R times S nbsp ist eine Operation welche dem kartesischen Produkt aus der Mengenlehre ahnelt Das Resultat des kartesischen Produkts ist die Menge aller Kombinationen der Tupel aus R displaystyle R nbsp und S displaystyle S nbsp d h jede Zeile der einen Tabelle wird mit jeder Zeile der anderen Tabelle kombiniert Wenn alle Merkmale Spalten verschieden sind so umfasst die Resultatstabelle die Summe der Merkmale der Ausgangstabellen Gleichnamige Merkmale der zwei Tabellen werden durch Voranstellen des Tabellennamens referenziert Die Anzahl der Tupel Zeilen in der Resultatstabelle ist das Ergebnis der Multiplikation der Zeilenanzahlen der Ausgangstabellen DefinitionZwei beliebige Relationen R displaystyle R nbsp und S displaystyle S nbsp sind gegeben Das kartesische Produkt ist definiert durch R S a 1 a 2 a n b 1 b 2 b m a 1 a 2 a n R b 1 b 2 b m S displaystyle R times S a 1 a 2 ldots a n b 1 b 2 ldots b m mid a 1 a 2 ldots a n in R land b 1 b 2 ldots b m in S nbsp Beispiel R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp E F G1 2 37 8 9 R S displaystyle R times S nbsp A B C D E F G1 2 3 4 1 2 34 5 6 7 1 2 37 8 9 0 1 2 31 2 3 4 7 8 94 5 6 7 7 8 97 8 9 0 7 8 9Projektion Bearbeiten nbsp ProjektionDie Projektion entspricht der Projektionsabbildung aus der Mengenlehre und kann auch Attributbeschrankung genannt werden Sie extrahiert einzelne Attribute aus der ursprunglichen Attributmenge und ist somit als eine Art Selektion auf Spaltenebene zu verstehen das heisst die Projektion blendet Spalten aus Wenn b displaystyle beta nbsp die Attributliste ist schreibt man p b R displaystyle pi beta R nbsp oder in der linearen Schreibweise R b displaystyle R beta nbsp b displaystyle beta nbsp heisst auch Projektionsliste Duplikate in der Ergebnisrelation werden eliminiert DefinitionSei R displaystyle R nbsp eine Relation uber A 1 A k displaystyle lbrace A 1 ldots A k rbrace nbsp und b A 1 A k displaystyle beta subseteq lbrace A 1 ldots A k rbrace nbsp p b R t b t R displaystyle pi beta R lbrace t beta mid t in R rbrace nbsp Die t b b displaystyle t beta beta nbsp das heisst die Tupel erhalten nur die Attribute aus der Attributliste b displaystyle beta nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 61 3 8 R A B displaystyle R A B nbsp A B1 24 51 3 R A displaystyle R A nbsp A14Voraussetzung Die angegebenen Spalten mussen in R displaystyle R nbsp enthalten sein Selektion Bearbeiten nbsp SelektionBei der Selektion kann man mit einem Vergleichsausdruck Pradikat festlegen welche Tupel in die Ergebnismenge aufgenommen werden sollen Es werden also Tupel Zeilen ausgeblendet Man schreibt s A u s d r u c k R displaystyle sigma mathrm Ausdruck R nbsp oder in der linearen Schreibweise R A u s d r u c k displaystyle R mathrm Ausdruck nbsp Ausdruck heisst dann Selektionsbedingung DefinitionSei R displaystyle R nbsp eine Relation s A u s d r u c k R t t R t erfullt Ausdruck displaystyle sigma mathrm Ausdruck R t mid t in R land t text erfullt Ausdruck nbsp Ausdruck bezeichnet dabei eine Formel Diese kann bestehen aus Konstantenselektionen Attribut 8 displaystyle theta nbsp Konstante wobei 8 displaystyle theta nbsp ein ublicher passender Vergleichsoperator ist Attributselektionen Attribut 8 displaystyle theta nbsp Attribut Eine Verknupfung einer Formel mit logischen Pradikaten displaystyle land lor neg nbsp Klammerung wie ublich Beispiel R displaystyle R nbsp A B C1 2 44 6 71 6 78 6 1 R A 1 displaystyle R A 1 nbsp A B C1 2 41 6 7 R C gt 6 displaystyle R C gt 6 nbsp A B C4 6 71 6 7Voraussetzung Jedes Element der angegebenen Spalte muss uber den Bedingungsoperator mit dem Vergleichswert vergleichbar sein Join Bearbeiten nbsp JoinEin Join zu deutsch Verbund bezeichnet die beiden hintereinander ausgefuhrten Operationen kartesisches Produkt und Selektion Die Selektionsbedingung ist dabei ublicherweise ein Vergleich von Attributen A 8 B displaystyle A theta B nbsp wobei 8 displaystyle theta nbsp ein passender Vergleichsoperator ist Man bezeichnet den allgemeinen Verbund daher auch als 8 displaystyle theta nbsp Verbund Theta Verbund Ein Spezialfall des allgemeinen Verbundes ist der Equi Join siehe unten DefinitionFur zwei Relationen R A 1 A n displaystyle R A 1 ldots A n nbsp und S B 1 B m displaystyle S B 1 ldots B m nbsp ist das Ergebnis des allgemeinen Verbundes mit einer Formel Ausdruck als Selektionsbedingung R A u s d r u c k S r s r R s S A u s d r u c k displaystyle R underset mathrm Ausdruck bowtie S lbrace r cup s mid r in R land s in S land mathrm Ausdruck rbrace nbsp Die Ableitung ist R A u s d r u c k S s A u s d r u c k R S displaystyle R underset mathrm Ausdruck bowtie S sigma mathrm Ausdruck R times S nbsp Beispiel R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp E F G1 2 37 8 9 R S displaystyle R times S nbsp A B C D E F G1 2 3 4 1 2 34 5 6 7 1 2 37 8 9 0 1 2 31 2 3 4 7 8 94 5 6 7 7 8 97 8 9 0 7 8 9 R R A S E S JOIN R R A S E S displaystyle R underset R A neq S E bowtie S textsf JOIN R R A bowtie S E S nbsp A B C D E F G4 5 6 7 1 2 37 8 9 0 1 2 31 2 3 4 7 8 94 5 6 7 7 8 9JoinverfalschungBei der Joinverfalschung wird als erstes die Tabelle gesplittet bis auf eine Spalte A j displaystyle A j nbsp Die 2 Tabellen werden dann gejoint uber die gemeinsame Spalte A j displaystyle A j nbsp Sei L 1 L 2 A 1 A n displaystyle L 1 cup L 2 A 1 ldots A n nbsp und L 1 L 2 A j displaystyle L 1 cap L 2 A j nbsp dann gilt R P L 1 R A j P L 2 R displaystyle R subseteq Pi L 1 R bowtie A j Pi L 2 R nbsp BeispielL 1 A B L 2 B C L 1 L 2 B displaystyle begin aligned L 1 amp lbrace A B rbrace L 2 amp lbrace B C rbrace L 1 cap L 2 amp B end aligned nbsp R displaystyle R nbsp A B C1 2 32 1 22 2 1 R P L 1 R B P L 2 R displaystyle R subseteq Pi L 1 R bowtie B Pi L 2 R nbsp A B C1 2 31 2 12 1 22 2 32 2 1Equi Join Bearbeiten nbsp Equi Join a 3 b 1 displaystyle a 3 b 1 nbsp Beim Equi Join auch Gleichverbund wird als erstes das kartesische Produkt gebildet Dann erfolgt die Selektion mit der Bedingung dass der Inhalt bestimmter Spalten identisch sein muss Der Equi Join ist ein allgemeiner Verbund mit einer Formel der Form A B displaystyle A B nbsp DefinitionFur die Relationen R S displaystyle R S nbsp und dazugehorige Attribute A displaystyle A nbsp ist Attribut von R displaystyle R nbsp und B displaystyle B nbsp ist Attribut von S displaystyle S nbsp ist der Equi Join R A B S r s r R s S r A s B displaystyle R bowtie A B S lbrace r s mid r in R land s in S land r A s B rbrace nbsp BeispielHier R A E S r s r R s S r A s E displaystyle R bowtie A E S lbrace r cup s mid r in R land s in S land r A s E rbrace nbsp R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp E F G1 2 37 8 9 R S displaystyle R times S nbsp A B C D E F G1 2 3 4 1 2 34 5 6 7 1 2 37 8 9 0 1 2 31 2 3 4 7 8 94 5 6 7 7 8 97 8 9 0 7 8 9 J O I N R R A S E S displaystyle mathsf JOIN R R A S E S nbsp A B C D E F G1 2 3 4 1 2 37 8 9 0 7 8 9Natural Join Bearbeiten nbsp Natural JoinDer Natural Join setzt sich zusammen aus dem Equi Join und einer zusatzlichen Ausblendung der duplizierten Spalten Projektion Der Join erfolgt uber die Attribute Spalten die in beiden Relationen die gleiche Bezeichnung haben Gibt es keine gemeinsamen Attribute so ist das Ergebnis des naturlichen Verbundes das kartesische Produkt Der naturliche Verbund ist kommutativ und assoziativ das heisst es gilt R S S R displaystyle R bowtie S S bowtie R nbsp sowie R S T R S T displaystyle R bowtie S bowtie T R bowtie S bowtie T nbsp was eine Rolle bei der Optimierung von Anfragen spielt Die Anzahl der Attribute der Ergebnisrelation ist die Summe der Anzahlen der beiden Ausgangsrelationen abzuglich der Anzahl der Verbundattribute DefinitionFur zwei Relationen R A 1 A k B 1 B n displaystyle R A 1 ldots A k B 1 ldots B n nbsp und S B 1 B n C 1 C l displaystyle S B 1 ldots B n C 1 ldots C l nbsp ist das Ergebnis des naturlichen Verbundes R S r s C 1 C l r R s S r B 1 B n s B 1 B n displaystyle R bowtie S left lbrace r cup s C 1 ldots C l mid r in R land s in S land r B 1 ldots B n s B 1 ldots B n right rbrace nbsp Beispiel R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp A F G1 2 37 8 9 N A T U R A L J O I N R S displaystyle mathsf NATURAL JOIN R S nbsp A B C D F G1 2 3 4 2 37 8 9 0 8 9Semi Join Bearbeiten Der Semi Join berechnet den Anteil eines Natural Joins welcher nach einer Reduktion auf die linke Relation ubrig bleibt DefinitionFur zwei Relationen R A 1 A k B 1 B n displaystyle R A 1 ldots A k B 1 ldots B n nbsp und S B 1 B n C 1 C l displaystyle S B 1 ldots B n C 1 ldots C l nbsp ist das Ergebnis des halben naturlichen Verbundes R S r r R s S r B 1 B n s B 1 B n displaystyle R ltimes S left lbrace r mid r in R land s in S land r B 1 ldots B n s B 1 ldots B n right rbrace nbsp Beispiel R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp A F G1 2 37 8 9 S E M I J O I N R R A S A S displaystyle mathsf SEMIJOIN R R A S A S nbsp A B C D1 2 3 47 8 9 0Outer Join Bearbeiten nbsp Left Outer Join nbsp Right Outer Join nbsp Full Outer JoinIm Gegensatz zum Equi Join werden beim Outer Join auch die Tupel der linken left outer join bzw der rechten right outer join Tabelle in die Ergebnisrelation mit aufgenommen die keinen Join Partner finden Die nicht vorhandenen Attribute der Join Relation werden mit Nullwerten aufgefullt Die Kombination aus Left und Right Outer Join wird Outer Join oder Full Outer Join genannt Dabei werden alle Tupel in die Ergebnisrelation aufgenommen und jene Attribute eines Tupels mit Nullwerten aufgefullt die keinen Join Partner in der jeweils anderen Relation gefunden haben Der Outer Join kann mit oder ohne natural outer join Join Bedingung verwendet werden Beispiel R displaystyle R nbsp A B C D1 2 3 44 5 6 77 8 9 0 S displaystyle S nbsp A F G1 2 37 8 9 L E F T O U T E R J O I N R R A S A S displaystyle mathsf LEFT OUTER JOIN R R A S A S nbsp A B C D F G1 2 3 4 2 34 5 6 7 NULL NULL7 8 9 0 8 9Umbenennung Bearbeiten Durch diese Operation konnen Attribute und Relationen umbenannt werden Diese Operation ist wichtig um Joins von unterschiedlichen benannten Relationen zu ermoglichen kartesische Produkte zu ermoglichen wo es gleiche Attributnamen gibt insbesondere auch mit der gleichen Relation Mengenoperationen zwischen Relationen mit unterschiedlichen Attributen zu ermoglichen Die Schreibweise ist r n e u a l t R displaystyle rho mathrm neu leftarrow mathrm alt R nbsp linear R a l t n e u displaystyle R mathrm alt rightarrow mathrm neu nbsp DefinitionWir konstruieren eine neue Tupelmenge t displaystyle t nbsp aus der alten r n e u a l t R t t R a l t t R a l t t n e u t a l t displaystyle rho mathrm neu leftarrow mathrm alt R lbrace t mid t R mathrm alt t R mathrm alt land t mathrm neu t mathrm alt rbrace nbsp Beispiel R displaystyle R nbsp A B C1 2 34 5 6 R B X displaystyle R B rightarrow X nbsp A X C1 2 34 5 6Division Bearbeiten nbsp DivisionDefinitionDa die Division eine abgeleitete Operation ist definieren wir sie mit Hilfe der anderen Operationen der Relationenalgebra Seien R S displaystyle R S nbsp Relationen und b displaystyle beta nbsp die zu R displaystyle R nbsp sowie g displaystyle gamma nbsp die zu S displaystyle S nbsp dazugehorigen Attributmengen mit g b displaystyle gamma subsetneq beta nbsp R b g displaystyle R beta setminus gamma nbsp Die Division ist dann definiert durch R S p R R p R p R R S R displaystyle R div S pi R R pi R pi R R times S R nbsp Anschaulich gesprochen enthalt R S displaystyle R div S nbsp also diejenigen Attribute aus R displaystyle R nbsp welche in jeder Kombination mit den Attributen aus S displaystyle S nbsp in R displaystyle R nbsp vorkommen BeispielGegeben ist eine Relation R displaystyle R nbsp die Vater und Mutter deren Kinder und das Alter dieser Kinder enthalt Zusatzlich dazu ist eine Relation S displaystyle S nbsp gegeben die einige Kinder und deren Alter enthalt Maria 4 und Sabine 2 Dividiert man R displaystyle R nbsp durch S displaystyle S nbsp so erhalt man als Ergebnis eine Relation die nur noch diejenigen Ehepaare enthalt die sowohl eine Tochter Maria mit Alter 4 als auch eine Tochter Sabine mit Alter 2 haben R displaystyle R nbsp Vater Mutter Kind AlterFranz Helga Harald 5Franz Helga Maria 4Franz Ursula Sabine 2Moritz Melanie Gertrud 7Moritz Melanie Maria 4Moritz Melanie Sabine 2Peter Christina Robert 9 S displaystyle S nbsp Kind AlterMaria 4Sabine 2 R S displaystyle R div S nbsp Vater MutterMoritz MelanieDie Division wird dann eingesetzt wenn die Frage fur alle enthalt Fur unser Beispiel lautet die Frage also Wahle alle Eltern aus Vater Mutter die ein Kind mit dem Namen Maria und dem Alter 4 und ein Kind mit dem Namen Sabine und dem Alter 2 die Relation S displaystyle S nbsp haben Minimalitat und Vollstandigkeit BearbeitenEine minimale Menge von Operationen das heisst eine Menge von Operationen die mindestens notwendig ist um alle Ausdrucke der relationalen Algebra bilden zu konnen umfasst Projektion Selektion Kartesisches Produkt Vereinigung Differenz UmbenennungAlle anderen Operationen zum Beispiel Joins lassen sich durch diese Grundoperationen nachbilden Jede andere Menge von Operationen ist relational vollstandig wenn sie die gleiche Machtigkeit wie die oben genannten Operationen haben Erweiterungen der relationalen Algebra BearbeitenUm andere Abfragesprachen speziell SQL vollstandig in die relationale Algebra abbilden zu konnen ist die relationale Algebra nicht machtig genug Es gibt z B keine Moglichkeit die SQL Operatoren GROUP BY HAVING Aggregatfunktionen und Nullwerte in die relationale Algebra zu ubersetzen Wir betrachten hier einige Erweiterungen die teilweise ahnliches bewirken die eine vollstandige Abbildung in die relationale Algebra und damit eine vollstandige theoretische Betrachtung dieser Abfragesprachen ermoglichen Nullwerte Bearbeiten SQL ermoglicht die Verwendung von NULL Werten die mit dem speziellen Pradikat IS NULL abgefragt werden konnen Dies ist insbesondere wichtig bei der Bildung von ausseren Verbunden die eine Relation erzeugen die alle Werte der einen Relation enthalten sowie alle Werte der anderen fur die die Verbundbedingung wahr ist sonst eben NULL Werte Dies kann mit der relationalen Algebra so nicht abgebildet werden Eine Moglichkeit ist die Definition von Nullwerten wie in SQL mit einer dreiwertigen Logik das heisst die booleschen Operatoren werden mittels Wahrheitstabellen so erweitert dass festgelegt ist wie zu verfahren ist wenn ein Operand NULL ist Erweiterte Wahrheitstabelle fur AND true false NULLtrue true false NULLfalse false false falseNULL NULL false NULLSelektionsbedingungen oder Verbunde die auf Nullwerte angewendet werden ergeben NULL Eine Schwierigkeit damit d h mit der SQL artigen Behandlung von Nullwerten besteht darin dass die Ergebnisse von Abfragen mit Unterabfragen die NULL ergeben nicht notwendigerweise der Intention des Benutzers entsprechen Diese Art der Nullwertbehandlung ist auch nicht orthogonal d h das Verhalten auf der einen Ebene boolesche Operatoren 3 wertige Logik entspricht nicht dem auf einer anderen Verbunde 3 wertige Logik wird auf 2 wertige abgebildet Eine andere Moglichkeit ist die Unterscheidung zweier verschiedener Arten von Nullwerten die jeweils beliebig oder nicht definiert bedeuten Gruppierungsoperator und Aggregatfunktionen Bearbeiten nbsp Gruppierung und AggregationDie Gruppierung wendet Funktionen auf gleiche Attribute in einer Relation an Der Operator g erhalt eine Liste von Funktionen und eine Attributliste Die Funktionen werden dann auf Tupel angewendet fur die die Attribute der Attributliste gleich sind Die Ausgabe ist eine neue Relation bestehend aus der Attributliste und einem neuen Attribut das die Ergebnisse der Funktionsliste enthalt Die Funktionen sind dann die ublichen Aggregatfunktionen count sum max avg DefinitionSeien R eine Relation und A A1 An Attribute aus R F X sei eine Funktionsliste f1 x1 fn xn Die Gruppierung ist danng F X A R t R g F X s A t A R displaystyle gamma F X A R bigcup t in R gamma F X emptyset sigma A t A R nbsp Fur eine leere Attributmenge also gF X wird ein zusatzliches Attribut erzeugt das den Wert der Funktionsanwendung uber die gesamte Relation enthalt Dies wird ausgenutzt um die Relation mit der Selektion in Teilrelationen mit gleichen Attributen zu zerlegen die dann mit der Funktionsanwendung wieder zusammengesetzt werden Weiter gilt dass eine Gruppierung mit einer leeren Funktionsliste keinen Effekt hat Multimengensemantik Bearbeiten SQL liefert als Ergebnis von Anfragen eine Multimenge zuruck also eine Menge die Elemente mehrfach enthalten kann Dies wurde aus Performance Grunden so gehandhabt um den zusatzlichen Schritt der Duplikatentfernung zu sparen Es konnen also streng genommen nur Anfragen in die relationale Algebra ubersetzt werden die mit DISTINCT angegeben sind Fur die relationale Algebra kann man dann zusatzlich eine Funktion bag to set spezifizieren die die Duplikate aus einer Multimenge entfernt und somit eine Menge erzeugt und die Basisoperationen dann einfach als Multimenge t displaystyle t mid ldots nbsp spezifizieren Vorsicht muss man aber bei der Definition abgeleiteter Operationen walten lassen NF Bearbeiten nbsp Nestung nbsp EntnestungEine Erweiterung des relationalen Datenbankmodells ist das NF Modell 17 Der Name steht fur Non first normal form NFNF was andeuten soll dass die Bedingung atomarer Attributwerte der 1 Normalform aufgebrochen wird Folglich werden Mengen von Attributen und Mengen von Mengen erlaubt was dazu fuhrt dass ein Attribut einer Relation wieder eine Relation sein kann Die Domane Wertebereich eines kombinierten Attributs ist das Kreuzprodukt der beteiligten Attributdomanen NF erweitert die relationale Algebra dahingehend dass neben den ublichen entsprechend angepassten Operationen der relationalen Algebra zwei Operationen hinzugenommen werden die eine Relation schachteln Nestung n und entschachteln Entnestung m Die Nestung fasst eine Menge von Attributen in eine Unterrelation zusammen die einen neuen Attributnamen erhalt Die Entnestung hebt Schachtelungen auf Diese Operationen dienen dazu NF Relationen in die 1 Normalform zu transformieren und umgekehrt 18 Die Operationen sind im Allgemeinen nicht bijektiv NF benotigt aus obigen Grunden keine Fremdschlussel eNF2 Bearbeiten eNF2 steht fur erweiterte NF2 Relationen 19 20 und ist eine erhebliche Verallgemeinerung des NF2 Relationenmodells Es wurde entwickelt da in vielen technisch wissenschaftlichen Anwendungen wie Geoinformationssystemen CAM CAD und Robotik Datenstrukturen auftreten 21 22 die selbst mit NF2 Relationen nicht mehr adaquat reprasentiert werden konnen Hierzu gehoren insbesondere listenartige Datenobjekte wie z B Messreihen und Polygone Listenstrukturen konnen dabei auch geschachtelt auftreten wie z B bei Matrizen im zwei oder mehrdimensionalen Raum Eine weitere Eigenschaft des eNF2 Relationenmodells der dafur konzipierten SQL artigen Anfragesprache HDBL steht fur Heidelberg Database Language 23 24 ist dass jedes Anfrageergebnis wieder ein legales eNF2 Datenobjekt zuruckliefert das auch in einer eNF2 Datenbank gespeichert oder innerhalb eines geschachtelten HDBL Ausdrucks auftreten kann Im eNF2 Relationenmodell und in HDBL konnen deshalb alle atomaren und konstruierten Datentypen Tupel Menge Liste sowohl auf der obersten Ebene als auch als Subtypen auftreten nbsp Von 1NF uber NF2 zu eNF2Das eNF2 Datenmodell bietet damit im Wesentlichen alle Datenstrukturen die man auch in gangigen Programmiersprachen wie z B C C und Java zur Verfugung hat Es bietet daher auch eine gute Basis fur die Erganzung eines solchen eNF2 DBMS durch die Implementierung benutzerdefinierter Datentypen und Funktionen 25 die insbesondere fur technisch wissenschaftliche Anwendungen sehr wertvoll sind 21 26 27 Beispiele BearbeitenAls Relationenschemata fur die Beispiele nehmen wir die klassische Beispieldatenbank bestehend aus den Schemata Kunde Lieferant und Ware Die Schemata seien KUNDE Kundennr Name Wohnort Kontostand LIEFERANT Lieferantennr Name Ort Telefon WARE Warennr Bezeichnung Lieferantennr Preis Grundoperationen der relationalen Algebra werden dann so benutzt Die Preise aller Waren pBezeichnung Preis WARE Alle Lieferanten aus Bremen sOrt Bremen LIEFERANT Kunden mit negativem Kontostand sKontostand lt 0 KUNDE Ort von LIEFERANT umbenennen zum Beispiel um Mengenoperationen durchfuhren zu konnen rWohnort Ort LIEFERANT Da die Ergebnisse der relationalen Algebra wieder Relationen sind die RA ist orthogonal konnen die Operationen wieder auf die Ergebnisse von Operationen angewendet werden Dies erlaubt komplexe Abfragen Fur eine einfachere Schreibweise nehmen wir an dass das Kreuzprodukt eine implizite Umbenennung der Attribute vornimmt so dass die neuen Attributnamen mit dem Relationennamen qualifiziert sind d h aus Lieferantennr aus der Relation WARE wird WARE Lieferantennr Die Telefonnummern aller Lieferanten die Gemuse in Bremen liefern pTelefon sBezeichnung Gemuse Ort Bremen LIEFERANT Lieferantennr WARE Lieferantennr LIEFERANT WARE Alle Orte die wenigstens einen Lieferanten und wenigstens einen Kunden enthalten pOrt rOrt Wohnort KUNDE pOrt LIEFERANT Siehe auch BearbeitenKalkul Datenbank Literatur BearbeitenEdgar F Codd A Relational Model of Data for Large Shared Data Banks In Communications of the ACM 6 13 1970 S 377 387 Die fundamentale Arbeit mit der Codd 1970 erstmals das relationale Datenmodell vorstellte ACM Digital Library oder University of Pennsylvania Alfons Kemper Andre Eickler Datenbanksysteme Eine Einfuhrung ISBN 3 486 57690 9 Peter Kandzia Hans Joachim Klein Theoretische Grundlagen relationaler Datenbanksysteme B I Wissenschaftsverlag 1993 ISBN 3 411 14891 8 Andreas Heuer Gunter Saake Datenbanken Konzepte und Sprachen MITP Verlag ISBN 3 8266 0619 1 S 297 ff H Buff Datenbanktheorie Book on Demand Norderstedt ISBN 3 0344 0201 5 312 Seiten H J Schek P Pistor Data Structures for an Integrated Data Base Management and Information Retrieval System Non First Normal Form NF Proceedings of the 8th International Conference on Very Large Data Bases 1982 ISBN 0 934613 14 1 S 197 207 H J Schek M Scholl Die NF2 Relationenalgebra zur Einheitlichen Manipulation Externer Konzeptueller und Interner Datenstrukturen In Sprachen fur Datenbanken Informatik Fachberichte Band 72 1983 DOI Dirk Leinders Jerzy Tyskiewicz Jan Van den Bussche On the expressive power of semijoin queries arxiv cs DB 0308014Weblinks Bearbeiten nbsp Wikibooks Relationenalgebra und SQL Lern und Lehrmaterialien Erklarvideos zur Relationalen Algebra Big Data Analytics Group Uni Saarland RAT Software Rational Algebra Translator to SQL SELECT2OBaum Umwandlung von SQL in die relationale Algebra Datenbank Einfuhrung in Joins In SELFHTML Abgerufen am 4 Juli 2017 Anschauliche Beispiele Ausfuhrliche Beispiele zur Anfragebearbeitung und optimierung sowie Join Verfahren in Abschnitt 6 8 Ausfuhrliche Beispiele zu NF2 und eNF2 Bibliographie Server Weitere BeispieleEinzelnachweise Bearbeiten Jeffery D Ullman Principles of Database and Knowledgebase Systems Volume I Classical Database Systems Computer Science Press 1988 ISBN 0 7167 8158 1 S 53 Ramez Elmasri Shamkant B Navathe Grundlagen von Datenbanksystemen 3 uberarbeitete Auflage Pearson Studium 2002 ISBN 3 8273 7021 3 S 242 Jeffery D Ullman Principles of Database and Knowledgebase Systems Volume I Classical Database Systems Computer Science Press 1988 ISBN 0 7167 8158 1 S 210 a b Torsten Grust Jens Teubner Relational Algebra Mother Tongue XQuery Fluent In Proc of the first Twente Data Management Workshop on XML Databases Enschede 2004 S 9 16 uni konstanz de a b Richard Cyganiak A relational algebra for SPARQL Hrsg Hewlett Packard Development Company Bristol 2005 semanticscholar org hp com a b Werner Kiessling Gerhard Kostler Multimedia Kurs Datenbanksysteme Springer Verlag Berlin Heidelberg 1998 ISBN 3 540 63836 9 Jeffery D Ullman Principles od Database and Knowledge base Systems Volume II The New Technologies Computer Science Press 1989 ISBN 0 7167 8162 X S 633 733 Chapter 11 a b Alfred Tarski On the calculus of relations In The Journal of Symbolic Logic Band 6 Nr 3 Association for Symbolic Logic New York September 1941 S 73 89 JSTOR 2268577 a b c Edgar F Codd Derivability Redundancy and Consistency of Relations Stored in Large Data Banks In ACM SIGMOD Record Band 38 Nr 1 Association for Computing Machinery New York 1969 S 17 36 acm org a b Edgar F Codd A Relational Model of Data for Large Shared Data Banks In Communications of the ACM Band 13 Nr 6 Association for Computing Machinery New York 1970 S 377 387 acm org Rudolf Bayer Edward M McCreight Organization and Maintenance of Large Ordered Indexes In Proceedings of the 1970 ACM SIGFIDET SIGFIDET 70 Association for Computing Machinery 1970 S 107 141 Rudolf Bayer Edward M McCreight Organization and Maintenance of Large Ordered Indexes In Acta Informatica Band 1 Nr 3 Springer Verlag 1972 S 173 189 Alexis Leon and Mathews Leon SQL A Complete Reference Tata McGraw Hill New Delhi 1999 ISBN 0 07 463708 8 S 68 69 eingeschrankte Vorschau in der Google Buchsuche Jeffery D Ullman Principles od Database and Knowledgebase Systems Volume I Classical Database Systems Computer Science Press 1988 ISBN 0 7167 8158 1 S 195 210 Jeffery D Ullman Principles od Database and Knowledgebase Systems Volume I Classical Database Systems Computer Science Press 1988 ISBN 0 7167 8158 1 S 185 195 Gunther Pernul Rainer Unland Datenbanken im Unternehmen Analyse Modellbildung und Einsatz In Lehrbucher Wirtschaftsinformatik 2 korrigierte Auflage Oldenbourg Wissenschaftsverlag ISBN 3 486 27210 1 S 228 248 eingeschrankte Vorschau in der Google Buchsuche G Jaeschke H J Schek Remarks on the algebra of non first normal form relations In Proceedings of the 1st ACM SIGACT SIGMOD symposium on Principles of database systems PODS 82 ACM Press Los Angeles California 1982 ISBN 978 0 89791 070 5 S 124 doi 10 1145 588111 588133 acm org abgerufen am 19 Januar 2023 H J Schek M Scholl Die NF2 Relationenalgebra zur Einheitlichen Manipulation Externer Konzeptueller und Interner Datenstrukturen In Sprachen fur Datenbanken Band 72 Springer Berlin Heidelberg Berlin Heidelberg 1983 ISBN 978 3 540 12733 8 S 113 133 doi 10 1007 978 3 642 69297 0 8 springer com abgerufen am 22 Januar 2023 P Dadam K Kuespert F Andersen H Blanken R Erbe A DBMS prototype to support extended NF2 relations an integrated view on flat tables and hierarchies In ACM SIGMOD Record Band 15 Nr 2 15 Juni 1986 ISSN 0163 5808 S 356 367 doi 10 1145 16856 16889 acm org abgerufen am 27 Februar 2023 Gunter Saake Kai Uwe Sattler Andreas Heuer Datenbanken Konzepte und Sprachen 6 Auflage mitp Frechen 2018 ISBN 978 3 95845 776 8 mitp de PDF a b R Dillmann M Huck R2D2 An Integration Tool for CIM In Hector Heterogeneous Computers Together A Joint Project of IBM and the University of Karlsruhe Springer Berlin Heidelberg Berlin Heidelberg 1988 ISBN 978 3 540 19137 7 S 355 372 doi 10 1007 978 3 642 73574 5 21 springer com abgerufen am 27 Februar 2023 Ulrich Rembold Robot Technology and Applications 1 Auflage CRC Press 2020 ISBN 978 1 00 306634 7 doi 10 1201 9781003066347 taylorfrancis com abgerufen am 27 Februar 2023 Peter Pistor Peter Dadam The advanced information management prototype In Nested Relations and Complex Objects in Databases Band 361 Springer Berlin Heidelberg Berlin Heidelberg 1989 ISBN 978 3 540 51171 7 S 1 26 doi 10 1007 3 540 51171 7 18 springer com abgerufen am 27 Februar 2023 P Pistor R Traunmueller A database language for sets lists and tables In Information Systems Band 11 Nr 4 Januar 1986 S 323 336 doi 10 1016 0306 4379 86 90012 8 elsevier com abgerufen am 27 Februar 2023 Volker Linnemann Klaus Kuspert Peter Dadam Peter Pistor R Erbe Alfons Kemper Norbert Sudkamp Georg Walch Mechtild Wallrath Design and Implementation of an Extensible Database Management System Supporting User Defined Data Types and Functions In Proceedings of the 14th International Conference on Very Large Data Bases VLDB 88 Morgan Kaufmann Publishers Inc San Francisco CA USA 1988 ISBN 978 0 934613 75 0 S 294 305 doi 10 5555 645915 671798 vldb org PDF abgerufen am 28 Februar 2023 Hans Jorg Schek Gerhard Weikum Erweiterbarkeit Kooperation Foderation von Datenbanksystemen In Datenbanksysteme in Buro Technik und Wissenschaft Band 270 Springer Berlin Heidelberg Berlin Heidelberg 1991 ISBN 978 3 540 53861 5 S 38 71 doi 10 1007 978 3 642 76530 8 3 springer com abgerufen am 28 Februar 2023 P Dadam K Kuspert N Sudkamp R Erbe V Linnemann P Pistor G Walch Managing Complex Objects in R2D2 In Hector Heterogeneous Computers Together A Joint Project of IBM and the University of Karlsruhe Springer Berlin Heidelberg Berlin Heidelberg 1988 ISBN 978 3 540 19137 7 S 304 331 doi 10 1007 978 3 642 73574 5 19 springer com abgerufen am 28 Februar 2023 Abgerufen von https de wikipedia org w index php title Relationale Algebra amp oldid 239136883 Projektion