Grundlagen von Anfragen: Algebra

Größe: px
Ab Seite anzeigen:

Download "Grundlagen von Anfragen: Algebra"

Transkript

1 Teil VIII Grundlagen von Anfragen: Algebra & Kalkül

2 Grundlagen von Anfragen: Algebra & Kalkül 1. Kriterien für Anfragesprachen 2. Anfragealgebren 3. Erweiterungen der Relationenalgebra 4. Anfragekalküle 5. Beispiele für Bereichskalkül 6. Eigenschaften des Bereichskalküls Sattler/Saake VL Datenbanksysteme Dezember

3 Lernziele für heute... Verständnis der formalen Grundlagen relationaler Anfragesprachen Kenntnisse zur Formulierung von Anfragen in der relationalen Algebra Kenntnisse zur Formulierung von Kalkülanfragen Sattler/Saake VL Datenbanksysteme Dezember

4 Kriterien für Anfragesprachen

5 Einführung bisher: jetzt: Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert sind abgeleitete Relationenschemata mit virtuellen Relationen, die aus den Basisrelationen berechnet werden (Basisrelationen bleiben unverändert) Sattler/Saake VL Datenbanksysteme Dezember

6 Begri e Anfrage: Folge von Operationen, die aus den Basisrelationen eine Ergebnisrelation berechnet Ergebnisrelation interaktiv auf dem Bildschirm anzeigen oder per Programm weiterverarbeiten ( Einbettung ) Sicht: Folge von Operationen, die unter einem Sichtnamen langfristig abgespeichert wird und unter diesem Namen wieder aufgerufen werden kann; ergibt eine Sichtrelation Snapshot: Ergebnisrelation einer Anfrage, die unter einem Snapshot-Namen abgelegt wird, aber nie ein zweites Mal (mit geänderten Basisrelationen) berechnet wird (etwa Jahresbilanzen) Sattler/Saake VL Datenbanksysteme Dezember

7 Kriterien für Anfragesprachen Ad-Hoc-Formulierung: Benutzer soll eine Anfrage formulieren können, ohne ein vollständiges Programm schreiben zu müssen Deskriptivität: Benutzer soll formulieren Was will ich haben? und nicht Wie komme ich an das, was ich haben will? Mengenorientiertheit: jede Operation soll auf Mengen von Daten gleichzeitig arbeiten, nicht navigierend nur auf einzelnen Elementen ( one-tuple-at-a-time ) Abgeschlossenheit: Ergebnis ist wieder eine Relation und kann wieder als Eingabe für die nächste Anfrage verwendet werden Sattler/Saake VL Datenbanksysteme Dezember

8 Kriterien für Anfragesprachen /2 Adäquatheit: alle Konstrukte des zugrundeliegenden Datenmodells werden unterstützt Orthogonalität: Sprachkonstrukte sind in ähnlichen Situationen auch ähnlich anwendbar Optimierbarkeit: Sprache besteht aus wenigen Operationen, für die es Optimierungsregeln gibt E zienz: jede Operation ist e zient ausführbar (im Relationenmodell hat jede Operation eine Komplexität apple O(n 2 ), n Anzahl der Tupel einer Relation). Sattler/Saake VL Datenbanksysteme Dezember

9 Kriterien für Anfragesprachen /3 Sicherheit: keine Anfrage, die syntaktisch korrekt ist, darf in eine Endlosschleife geraten oder ein unendliches Ergebnis liefern Eingeschränktheit: (folgt aus Sicherheit, Optimierbarkeit, E zienz) Anfragesprache darf keine komplette Programmiersprache sein Vollständigkeit: Sprache muss mindestens die Anfragen einer Standardsprache (wie etwa die in diesem Kapitel einzuführende Relationenalgebra oder den sicheren Relationenkalkül) ausdrücken können Sattler/Saake VL Datenbanksysteme Dezember

10 Anfragealgebren

11 Anfragealgebren Mathematik: Algebra definiert durch Wertebereich und auf diesem definierte Operatoren für Datenbankanfragen: Inhalte der Datenbank sind Werte, und Operatoren definieren Funktionen zum Berechnen von Anfrageergebnissen Relationenalgebra Algebra-Erweiterungen Sattler/Saake VL Datenbanksysteme Dezember

12 Relationenalgebra Spalten ausblenden: Projektion Zeilen heraussuchen: Selektion Tabellen verknüpfen: Verbund (Join) on Tabellen vereinigen: Vereinigung [ Tabellen voneinander abziehen: Di erenz Spalten umbenennen: Umbenennung (wichtig für on und [, ) Sattler/Saake VL Datenbanksysteme Dezember

13 Relationenalgebra: Übersicht Selektion Projektion Verbund a1 b2 b2 c3 a1 b2 c3 a2 b2 b3 c4 a2 b2 c3 a2 b3 b4 c5 a2 b3 c4 Sattler/Saake VL Datenbanksysteme Dezember

14 Projektion Syntax Semantik Attributmenge (Relation) X (r) :={t(x ) t 2 r} für r(r) undx R Attributmenge in R Eigenschaft für Y X R Y ( X (r)) = Y (r) Achtung: entfernt Duplikate (Mengensemantik) Sattler/Saake VL Datenbanksysteme Dezember

15 Projektion: Beispiel Region (ERZEUGER) Region Südaustralien Kalifornien Bordeaux Hessen Sattler/Saake VL Datenbanksysteme Dezember

16 Projektion: Beispiel 2 Anbaugebiet,Region (ERZEUGER) Anbaugebiet Barossa Valley Napa Valley Saint-Emilion Pomerol Rheingau Region Südaustralien Kalifornien Bordeaux Bordeaux Hessen Sattler/Saake VL Datenbanksysteme Dezember

17 Selektion Syntax Semantik (für A 2 R) Bedingung(Relation) A=a(r) :={t 2 r t(a) =a} Sattler/Saake VL Datenbanksysteme Dezember

18 Selektionsbedingungen Konstantenselektion Attribut Konstante boolesches Prädikat ist = oder 6=, bei linear geordneten Wertebereichen auch apple, <, oder > Attributselektion Attribut1 Attribut2 logische Verknüpfung mehrerer Konstanten- oder Attribut- Selektionen mit ^, _ oder Sattler/Saake VL Datenbanksysteme Dezember

19 Selektion: Eigenschaften Kommutativität A=a( B=b (r)) = B=b ( A=a (r)) falls A 2 X, X R X ( A=a (r)) = A=a ( X (r)) Distributivität bzgl. [, \, A=a(r [ s) = A=a (r) [ A=a (s) Sattler/Saake VL Datenbanksysteme Dezember

20 Selektion: Beispiel Jahrgang>2000 (WEINE) WeinID Name Farbe Jahrgang Weingut 2168 Creek Shiraz Rot 2003 Creek 3456 Zinfandel Rot 2004 Helena 2171 Pinot Noir Rot 2001 Creek 4961 Chardonnay Weiß 2002 Bighorn Sattler/Saake VL Datenbanksysteme Dezember

21 Verbund Syntax des (natürlichen) Verbundes (engl.: natural join) Semantik Relation1 on Relation2 r 1 on r 2 := {t t(r 1 [ R 2 ) ^ [8i 2{1, 2}9t i 2 r i : t i = t(r i )]} Verbund verknüpft Tabellen über gleichbenannten Spalten bei gleichen Attributwerten Sattler/Saake VL Datenbanksysteme Dezember

22 Verbund: Eigenschaften Schema für r(r) on r(s) ist Vereinigung der Attributmengen RS = R [ S aus R 1 \ R 2 = {} folgt r 1 on r 2 = r 1 r 2 Kommutativität: r 1 on r 2 = r 2 on r 1 Assoziativität: (r 1 on r 2 ) on r 3 = r 1 on (r 2 on r 3 ) daher erlaubt: on p i=1 r i Sattler/Saake VL Datenbanksysteme Dezember

23 Verbund: Beispiel WEINE on ERZEUGER WeinID Name... Weingut Anbaugebiet Region 1042 La Rose Grand Cru... Ch. La Rose Saint-Emilion Bordeaux 2168 Creek Shiraz... Creek Barossa Valley Südaustralien 3456 Zinfandel... Helena Napa Valley Kalifornien 2171 Pinot Noir... Creek Barossa Valley Südaustralien 3478 Pinot Noir... Helena Napa Valley Kalifornien 4711 Riesling Reserve... Müller Rheingau Hessen 4961 Chardonnay... Bighorn Napa Valley Kalifornien Sattler/Saake VL Datenbanksysteme Dezember

24 Umbenennung Syntax Semantik neu alt(relation) B A(r) :={t 0 9t 2 r : t 0 (R A) =t(r A)^t 0 (B) =t(a)} ändert Attributnamen von alt in neu Name Nachname (KRITIKER) durch Umbenennung nun möglich Verbunde, wo bisher kartesische Produkte ausgeführt wurden (unterschiedliche Attribute werden gleich benannt), kartesische Produkte, wo bisher Verbunde ausgeführt wurden (gleiche Attribute werden unterschiedlich genannt), Mengenoperationen Sattler/Saake VL Datenbanksysteme Dezember

25 Berechnung des Kreuzproduktes natürlicher Verbund entartet zum Kreuzprodukt, wennkeine gemeinsamen Attribute existieren Erzwingen durch Umbenennung Beispiel: R1(A, B, C) undr2(c, D) R1 R2 R1 on E C (R2) Kreuzprodukt + Selektion simuliert natürlichen Verbund R1 on R2 R1.C=R2.C (R1 R2) Sattler/Saake VL Datenbanksysteme Dezember

26 Mengenoperationen: Semantik formal für r 1 (R) undr 2 (R) Vereinigung r 1 [ r 2 := {t t 2 r 1 _ t 2 r 2 } Durchschnitt r 1 \ r 2 := {t t 2 r 1 ^ t 2 r 2 } Di erenz r 1 r 2 := {t t 2 r 1 ^ t 62 r 2 } Durchschnitt \ wegen r 1 \ r 2 = r 1 (r 1 r 2 ) überflüssig Sattler/Saake VL Datenbanksysteme Dezember

27 Unabhängigkeit und Vollständigkeit Minimale Relationenalgebra: =,, on,, [ und unabhängig: kein Operator kann weggelassen werden ohne Vollständigkeit zu verlieren andere unabhängige Menge: on und durch ersetzen Relationale Vollständigkeit: jede andere Menge von Operationen genauso mächtig wie strenge relationale Vollständigkeit: zu jedem Ausdruck mit Operatoren aus gibt es einen Ausdruck auch mit der anderen Menge von Operationen Sattler/Saake VL Datenbanksysteme Dezember

28 Erweiterungen der Relationenalgebra

29 Erweiterungen der Relationenalgebra weitere Verbundoperationen Division Gruppierung und geschachtelte Relationen... Sattler/Saake VL Datenbanksysteme Dezember

30 Verbundvarianten für L(AB), R(BC), S(DE) Gleichverbund (engl. equi-join): Gleichheitsbedingung über explizit angegebene und evtl. verschiedene Attribute r(r) on C=D r(s) Theta-Verbund (engl. -join): beliebige Verbundbedingung r(r) on C>D r(s) Semi-Verbund: nurattributeeinesoperandenerscheinenim Ergebnis r(l) n r(r) = L (r(l) on r(r)) äußere Verbunde (engl. outer join) Sattler/Saake VL Datenbanksysteme Dezember

31 Äußere Verbunde Übernahme von dangling tuples in das Ergebnis und Au üllen mit Nullwerten voller äußerer Verbund übernimmt alle Tupel beider Operanden r A./@ s linker äußerer Verbund übernimmt alle Tupel des linken Operanden r A./ s rechter äußerer Verbund übernimmt alle Tupel des rechten Operanden r./@ s Sattler/Saake VL Datenbanksysteme Dezember

32 Äußere Verbunde /2 LINKS A B RECHTS B C on A B C A./@ A B C 1 2? 2 3 4? 4 5 A./ A B C 1 2? /@ A B C 2 3 4? 4 5 natural join left outer join right outer join full outer join Sattler/Saake VL Datenbanksysteme Dezember

33 Problem: Quantoren Allquantor in Relationenalgebra ausdrücken, obwohl in Selektionsbedingungen nicht erlaubt Division (kann aus hergeleitet werden) r 1 (R 1 )undr 2 (R 2 ) gegeben mit R 2 R 1, R 0 = R 1 ist R 2.Dann r 0 (R 0 ) = {t 8t 2 2 r 2 9t 1 2 r 1 : t 1 (R 0 )=t ^ t 1 (R 2 )=t 2 } = r 1 r 2 Division von r 1 durch r 2 r 1 r 2 = R 0(r 1 ) R 0(( R 0(r 1 ) on r 2 ) r 1 ) Sattler/Saake VL Datenbanksysteme Dezember

34 Division: Beispiel WEIN EMPFEHLUNG Wein Kritiker La Rose Grand Cru Pinot Noir Riesling Reserve La Rose Grand Cru Pinot Noir Riesling Reserve Parker Parker Parker Clarke Clarke Gault-Millau GUIDES1 Kritiker GUIDES2 Kritiker Parker Clarke Parker Gault-Millau Sattler/Saake VL Datenbanksysteme Dezember

35 Divisionsbeispiele Division mit erster Tabelle liefert WEIN EMPFEHLUNG GUIDES1 Wein La Rose Grand Cru Pinot Noir Division mit zweiter Kritikerliste liefert WEIN EMPFEHLUNG GUIDES2 Wein Riesling Reserve Sattler/Saake VL Datenbanksysteme Dezember

36 Begri Division Analogie zur arithmetischen Operation der ganzzahligen Division Division Die ganzzahlige Division ist in dem Sinne die Inverse zur Multiplikation, indem sie als Ergebnis die größte Zahl liefert, für die die Multiplikation mit dem Divisor kleiner ist als der Dividend. Analog gilt: r = r 1 r 2 ist die größte Relation, für die r on r 2 r 1 ist. Sattler/Saake VL Datenbanksysteme Dezember

37 Division in SQL: Simulation des Allquantors select distinct Wein from WEIN EMPFEHLUNG w1 where not exists ( select * from GUIDES2 g where not exists ( select * from WEIN EMPFEHLUNG w2 where g.kritiker = w2.kritiker and w1.wein = w2.wein)) Gib alle Weine aus, so dass kein Wein existiert, der nicht von allen Kritikern in der Relation GUIDES2 empfohlen wird. Sattler/Saake VL Datenbanksysteme Dezember

38 Gruppierungsoperator f 1 (x 1 ),f 2 (x 2 ),...,f n(x n);a(r(r)) erweitert Attributschema von r(r) um neue Attribute,die mit den Funktionsanwendungen f 1 (x 1 ), f 2 (x 2 ),...,f n (x n ) korrespondieren Anwendung der Funktionen f i (x i ) auf die Teilmenge derjenigen Tupel von r(r) die gleiche Attributwerte für die Attribute A haben select f 1 (x 1 ), f 2 (x 2 ),..., f n (x n ), A from R group by A Sattler/Saake VL Datenbanksysteme Dezember

39 Semantik des Gruppierungsoperators leere Attributmenge A = ;: F (X );;(r(r)) = r(r) r(r) F (X ) mit r(r) F (X ) ist Relation mit Attribut F (X )undeinemtupel als Wert von F (X )aufr(r) ohne Funktion: allgemeiner Fall: F (X );A(r(R)) = [ ;;;(r(r)) = r(r) F (X );;( A=t.A (r(r))) t2r Sattler/Saake VL Datenbanksysteme Dezember

40 Anfragekalküle

41 Anfragekalküle Kalkül: eine formale logische Sprache zur Formulierung von Aussagen Ziel: Einsatz eines derartigen Kalküls zur Formulierung von Datenbank-Anfragen Logikbasierter Ansatz: Datenbankinhalte entsprechen Belegungen von Prädikaten einer Logik Anfragen abgeleiteten Prädikaten Sattler/Saake VL Datenbanksysteme Dezember

42 Ein allgemeiner Kalkül Motivation: mathematische Notation {x 2 x 2 N ^ x 3 > 0 ^ x 3 < 1000} Anfrage hat die Form {f (x) p(x)} x bezeichnet Menge von freien Variablen x = {x 1 : D 1,...,x n : D n } Sattler/Saake VL Datenbanksysteme Dezember

43 Ein allgemeiner Kalkül /2 Funktion f bezeichnet Ergebnisfunktion über x wichtige Spezialfälle: Angabe einer Variable selber (f ist hier die Identitätsfunktion) und Tupelkonstruktion (Ergebnis vom Typ tuple of) p Selektionsprädikat über freien Variablen x Terme aus Variablen, Konstanten und Funktionsanwendungen Prädikate der Datentypen, etwa apple, <, >,,...! atomare Formeln über Termen Bezug zur aktuellen Datenbank! Datenbankprädikate, z.b. Relationennamen im RM prädikatenlogischen Operatoren ^, _,, 8, 9! Formeln Sattler/Saake VL Datenbanksysteme Dezember

44 Ergebnisbestimmung einer Anfrage x = {x 1 : D 1,...,x n : D n } 1. Bestimme aller Belegungen der freien Variablen in x, für die das Prädikat p wahr wird. 2. Wende Funktion f auf die durch diese Belegungen gegebenen Werte an. Sicherheit von Anfragen Unter welchen Umständen liefern Kalkülanfragen endliche Ergebnisse?! Sicherheit von Anfragen Sattler/Saake VL Datenbanksysteme Dezember

45 Relationale Kalküle Bereichskalkül: VariablennehmenWerteelementarer Datentypen (Bereiche) an Tupelkalkül: Variablenvariierenüber Tupelwerte (entsprechend den Zeilen einer Relation) Sattler/Saake VL Datenbanksysteme Dezember

46 Tupelkalkül Grundlage von SFW-Anfragen in SQL Variablen sind tupelwertig Beispiel: {w w 2 WEINE ^ w.farbe = Rot } Sattler/Saake VL Datenbanksysteme Dezember

47 Tupelkalkül: Beispiele konstruierte Tupel {hw.name, w.weinguti w 2 WEINE ^ w.farbe = Rot } Verbund {he.weinguti e 2 ERZEUGER ^ w 2 WEINE ^ e.weingut = w.weingut} Schachtelung {hw.name, w.weinguti w 2 WEINE^ 9e 2 ERZEUGER(w.Weingut = e.weingut^ e.region = Bordeaux )} Sattler/Saake VL Datenbanksysteme Dezember

48 Motivation: Die Sprache QBE Query by Example Anfragen in QBE: Einträge in Tabellengerüsten Intuition: Beispieleinträge in Tabellen Vorläufer verschiedener tabellenbasierter Anfrageschnittstellen kommerzieller Systeme basiert auf logischem Kalkül mit Bereichsvariablen Sattler/Saake VL Datenbanksysteme Dezember

49 Anfragen in QBE: Selektion und Projektion Anfrage: Alle Rotweine, die vor 2015 produziert wurden WEINE Name Weingut Farbe Jahrgang P. Rot 2015 {n WEINE(n,, Rot, j) ^ j < 2015} Sattler/Saake VL Datenbanksysteme Dezember

50 Anfragen in QBE: Verbund Anfrage: Alle Rotweine aus der Region Bordeaux WEINE Name Weingut Farbe Jahrgang P. w Rot ERZEUGER Weingut Region Anbaugebiet w Bordeaux {n WEINE(n, w, Rot, ) ^ ERZEUGER(w, Bordeaux, )} Sattler/Saake VL Datenbanksysteme Dezember

51 Anfragen in QBE: Selbstverbund Anfrage: Regionen mit zwei oder mehr Erzeugern ERZEUGER Weingut Region Anbaugebiet eins P. region eins region {r ERZEUGER(x, r, ) ^ ERZEUGER(y, r, ) ^ x 6= y} Sattler/Saake VL Datenbanksysteme Dezember

52 QBE in MS-Access MS-Access: Datenbankprogramm für Windows Basisrelationen mit Schlüsseln Fremdschlüssel über graphische Angabe von Beziehungen graphische Definition von Anfragen (SQL-ähnlich) interaktive Definition von Formularen und Berichten Unterstützung von QBE Sattler/Saake VL Datenbanksysteme Dezember

53 Access: Projektion und Selektion Sattler/Saake VL Datenbanksysteme Dezember

54 Access: Verbund Sattler/Saake VL Datenbanksysteme Dezember

55 Bereichskalkül Terme: Konstanten, etwa 42 oder MZ-4 Variablen zu Datentypen, etwa x Datentypangabe erfolgt in der Regel implizit und wird nicht explizit deklariert! Funktionsanwendung f (t 1,...,t n ): Funktion f,termet i,etwa plus(12, x) bzw. in Infixnotation 12 + x Atomare Formeln: Prädikatanwendung (t 1,...,t n ), 2{<, >, apple,, 6=, =,...} Datentypprädikat, Terme t i Zweistellige Prädikate wie üblich in Infix-Notation. Beispiele: x = y, 42 > x oder = 11. Sattler/Saake VL Datenbanksysteme Dezember

56 Bereichskalkül /2 Atomare Formeln (fortg.): Prädikatanwendungen für Datenbankprädikate, notiert als R(t 1,...,t n )für einen Relationennamen R Voraussetzung: n muss die Stelligkeit der Relation R sein und alle t i müssen vom passenden Typ sein Beispiel: ERZEUGER(x, Hessen, z) Formeln wie üblich mit ^, _,, 8 und 9 Sattler/Saake VL Datenbanksysteme Dezember

57 Bereichskalkül /3 Anfragen: {x 1,...,x n (x 1,...,x n )} ist Formel über den in der Ergebnisliste aufgeführten Variablen x 1 bis x n Ergebnis ist eine Menge von Tupeln Tupelkonstruktion erfolgt implizit aus den Werten der Variablen in der Ergebnisliste Beispiel {x ERZEUGER(x, y, z) ^ z = Hessen } Sattler/Saake VL Datenbanksysteme Dezember

58 Basiskalkül Einschränkung des Bereichskalküls: Wertebereich: ganze Zahlen Datentypprädikate werden wie bei der Relationenalgebra auf Gleichheit und elementare Vergleichsoperatoren eingeschränkt Funktionsanwendungen sind nicht erlaubt; nur Konstanten dürfen neben Bereichsvariablen als Terme verwendet werden Sattler/Saake VL Datenbanksysteme Dezember

59 Sichere Anfragen Semantisch sichere Anfragen Anfragen, die für jeden Datenbankzustand Ergebnis liefern (R) ein endliches Beispiel für nicht sichere Anfrage: {x, y R(x, y)} Beispiel für sichere Anfrage: {x, y R(x, y)} Sattler/Saake VL Datenbanksysteme Dezember

60 Sichere Anfragen /2 Weiteres Beispiel für sichere Anfrage: {x, y y = 10 ^ x > 0 ^ x < 10} Sicherheit folgt direkt aus den Regeln der Arithmetik. Semantische Sicherheit Semantische Sicherheit ist im Allgemeinen nicht entscheidbar! Sattler/Saake VL Datenbanksysteme Dezember

61 Syntaktisch sichere Anfragen Syntaktisch sichere Anfragen: Anfragen, die syntaktischen Einschränkungen unterliegen, um die semantische Sicherheit zu erzwingen. Grundidee: Syntaktische Sicherheit Jede freie Variable x i muss überall in (x 1,...)durchpositives Auftreten x i = t oder R(...,x i,...)anendlichebereiche gebunden werden. Bindung an endliche Bereiche muss für die ganze Bedingung gelten, also insbesondere für alle Zweige einer Disjunktion Sattler/Saake VL Datenbanksysteme Dezember

62 Sichere Anfragen im Überblick Anfragen sichere Anfragen syntaktisch sichere Anfragen Sattler/Saake VL Datenbanksysteme Dezember

63 Beispiele für Bereichskalkül

64 Beispiele Bereichskalkül Anfrage: Alle Weingüter von Erzeugern in Hessen. {x ERZEUGER(x, y, z) ^ z = Hessen } Vereinfachte Notation: Ansonsten ungebundene Variablen (hier y und z) im Bedingungsteil existentiell mit 9 gebunden Vollständige Version: {x 9y9zERZEUGER(x, y, z) ^ z = Hessen } Einsparung von Bereichsvariablen, indem Konstanten als Parameter des Prädikats eingesetzt werden: {x ERZEUGER(x, y, Hessen )} Sattler/Saake VL Datenbanksysteme Dezember

65 Beispiele Bereichskalkül /2 Abkürzung für beliebige, unterschiedliche existentiell gebundene Variablen ist Symbol: {x ERZEUGER(x,, z) ^ z = Hessen } Verschiedene Auftreten des Symbols paarweise verschiedene Variablen stehen hierbei für Sattler/Saake VL Datenbanksysteme Dezember

66 Beispiele Bereichskalkül /3 Anfrage: Regionen mit mehr als zwei Weingütern. {z ERZEUGER(x, y, z) ^ ERZEUGER(x 0, y 0, z) ^ x 6= x 0 } Anfrage zeigt eine Verbundbildung über das dritte Attribut der ERZEUGER-Relation Verbundbildung kann einfach durch die Verwendung der selben Bereichsvariablen als Parameter in verschiedenen Relationsprädikaten erfolgen Sattler/Saake VL Datenbanksysteme Dezember

67 Beispiele Bereichskalkül /4 Anfrage: Aus welcher Region sind welche Weine mit Jahrgang vor 1970 im Angebot? {y, r WEINE(x, y, z, j, w) ^ ERZEUGER(w, a, r) ^ j < 1970} Verbund über zwei Relationen Sattler/Saake VL Datenbanksysteme Dezember

68 Beispiele Bereichskalkül /5 Anfrage: Aus welchen Regionen gibt es Rotweine? {z ERZEUGER(x, y, z)^9a9b9c9d(wein(a, b, c, d, x)^c = Rot )} Einsatz einer existentiell gebundenen Unteranfrage derartige Unteranfragen können aufgrund der Regeln der Prädikatenlogik wie folgt aufgelöst werden: {z ERZEUGER(x, y, z) ^ (WEIN(a, b, c, d, x) ^ c = Rot )} Sattler/Saake VL Datenbanksysteme Dezember

69 Beispiele Bereichskalkül /6 Anfrage: Welches Weingut hat nur Weine mit Jahrgang nach 1995 im Angebot? {x ERZEUGER(x, y, z) ^8a8b8c8d (WEIN(a, b, c, d, x) =) d > 1995)} universell gebundene Teilformeln können nicht aufgelöst werden Sattler/Saake VL Datenbanksysteme Dezember

70 Eigenschaften des Bereichskalküls

71 Ausdrucksfähigkeit Bereichskalkül Ausdrucksfähigkeit des Bereichskalküls Bereichskalkül ist streng relational vollständig, d.h.zu jedem Term der Relationenalgebra gibt es einen äquivalenten (sicheren) Ausdruck des Bereichskalküls. Sattler/Saake VL Datenbanksysteme Dezember

72 Umsetzung von Relationenoperationen Geg.: Relationenschemata R(A 1,...,A n )unds(b 1,...,B m ) Vereinigung (für n = m) R [ S ˆ= {x 1...x n R(x 1,...,x n ) _ S(x 1,...,x n )} Di erenz (für n = m) R S ˆ= {x 1...x n R(x 1,...,x n ) ^ S(x 1,...,x n )} Natürlicher Verbund R on S ˆ= {x 1...x n x n+1...x n+m i R(x 1,...,x n ) ^ S(x 1,...,x i, x n+1,...,x n+m i )} Annahme: die ersten i Attribute von R und S sind die Verbundattribute, also A j = B j für j =1...i Sattler/Saake VL Datenbanksysteme Dezember

73 Umsetzung von Relationenoperationen /2 Projektion A (R) ˆ={y 1...y k 9x 1...9x n (R(x 1,...,x n ) ^ y 1 = x i1 ^ ^y k = x ik )} Attributliste der Projektion: A =(A i1,...,a ik ) Selektion (R) ˆ={x 1...x n R(x 1,...,x n ) ^ 0} 0 wird aus gewonnen, indem Variable x i an Stelle der Attributnamen A i eingesetzt werden Sattler/Saake VL Datenbanksysteme Dezember

74 Zusammenfassung formale Modelle für Anfragen in Datenbanksystemen Relationenalgebra operationaler Ansatz Anfrage als Schachtelung von Operatoren auf Relationen Anfragekalküle logikbasierter Ansatz Anfragen als abgeleitete Prädikate im Buch: Abschnitte 4.2.3, und 9.3 Sattler/Saake VL Datenbanksysteme Dezember

75 Kontrollfragen Welche Bedeutung haben Äquivalenz, Unabhängigkeit und Vollständigkeit in der Relationenalgebra? Wie lässt sich die Semantik von erweiterten SQL-Operationen in der Relationenalgebra ausdrücken? Was unterscheidet Relationenalgebra und relationale Anfragekalküle? Welche Rolle spielt die Sicherheit von Anfragen? Sattler/Saake VL Datenbanksysteme Dezember

Teil VIII Grundlagen von Anfragen: Algebra & Kalkül

Teil VIII Grundlagen von Anfragen: Algebra & Kalkül Teil VIII Grundlagen von Anfragen: Algebra & Kalkül Grundlagen von Anfragen: Algebra & Kalkül 1 Kriterien für Anfragesprachen 2 Anfragealgebren 3 Erweiterungen der Relationenalgebra 4 Anfragekalküle 5

Mehr

Kriterien für Anfragesprachen. Einführung II. Grundlagen von Anfragen und Änderungen

Kriterien für Anfragesprachen. Einführung II. Grundlagen von Anfragen und Änderungen Einführung Kriterien für Anfragesprachen bisher Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert sind jetzt Abgeleitete Relationenschemata mit virtuellen Relationen, die aus den

Mehr

Motivation Anford. Anfrage- Kalküle Bereichskalkül. Sichere Anfragen Beispiele. Ausdrucksfähigkeit. Tupelkalkül. Motivation Anford.

Motivation Anford. Anfrage- Kalküle Bereichskalkül. Sichere Anfragen Beispiele. Ausdrucksfähigkeit. Tupelkalkül. Motivation Anford. Kapitel 4: Grundlagen von Grundlagen von Anforderungen an Anfragesprachen,. Datenbankeinsatz: Grundlagen von 1 Datenbankeinsatz: Grundlagen von 2 Einführung (1) Einführung (2) Anfrage: Formulierung eines

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken SS 2010 5. Bereichskalkül (=Domänenkalkül) Agenda: Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Agenda: Grundlagen von Datenbanken SS 2010 3. Relationale Algebra Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS 2010 - Prof. Dr.

Mehr

Teil VIII. Weitere Datenbanksprachen

Teil VIII. Weitere Datenbanksprachen Teil VIII Weitere Datenbanksprachen Weitere Datenbanksprachen 1 Programmiersprachenanbindung 2 QBE 3 Änderungen in QBE 4 Anfragen in Access Sattler / Saake Datenbanksysteme Wintersemester 2010/11 8 1 Programmiersprachenanbindung

Mehr

7. Grundlagen von Anfragen. Einführung. Kriterien für Anfragesprachen. Einführung II

7. Grundlagen von Anfragen. Einführung. Kriterien für Anfragesprachen. Einführung II 7. Grundlagen von Anfragen Einführung Kriterien für Anfragesprachen Anfragealgebren Anfrage-Kalküle Änderungsoperationen bisher Relationenschemata mit Basisrelationen, die in der Datenbank gespeichert

Mehr

Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren?

Die Sprache QUEL. Beispiel für QUEL-Anfrage. Weitere Datenbanksprachen. Anfragen in QUEL. Welche Lieferanten liefern von Weiß bestellte Waren? ( " unique - ( ) [ DDL DML des INGRES-Systems DDL analog zu SQL DML an Tupelkalkül angelehnt Die Sprache QUEL Beispiel für QUEL-Anfrage Welche Lieferanten liefern von Weiß bestellte Waren? : range of is

Mehr

9. Weitere Datenbanksprachen

9. Weitere Datenbanksprachen 9. Weitere Datenbanksprachen QUEL (Anfragesprache des INGRES-Systems) Query by Example QBE in MS Access Objektorientierte Anfragesprachen (OQL) XML-Anfragesprachen (XQuery) VL Datenbanken I 9 1 Die Sprache

Mehr

Kapitel 3: Relationale Algebra

Kapitel 3: Relationale Algebra Kapitel 3: Relationale Algebra Algebra Motivation (1) Wir wollen aus Relationen für uns interessante Informationen extrahieren, Tabellen modifizieren und neue Tabellen aus alten generieren Datenbankeinsatz:

Mehr

Teil II Relationale Datenbanken Daten als Tabellen

Teil II Relationale Datenbanken Daten als Tabellen Teil II Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen

4. Relationenalgebra. Einleitung. Selektion und Projektion Mengenoperatoren. Verbundoperationen (Join) Division Beispielanfragen Einleitung 4. Relationenalgebra Selektion und Projektion Mengenoperatoren Vereinigung, Durchschnitt, Differenz kartesisches Produkt Verbundoperationen (Join) Theta-Join natürlicher Verbund Semi-Join äußerer

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus

Mehr

Relationen-Algebra. Prof. Dr. T. Kudraß 1

Relationen-Algebra. Prof. Dr. T. Kudraß 1 Relationen-Algebra Prof. Dr. T. Kudraß 1 Relationale Anfragesprachen Query Language (QL): Manipulation und Retrieval von Daten einer Datenbank Relationenmodell erlaubt einfache, mächtige Anfragesprachen

Mehr

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen

Kapitel DB:V. V. Grundlagen relationaler Anfragesprachen Kapitel DB:V V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-1 Relational Algebra & Calculus STEIN 2004-2018 Anfragen

Mehr

Grundlagen von Datenbanken SS 2010

Grundlagen von Datenbanken SS 2010 Grundlagen von Datenbanken SS 2010 6. Tupelkalkül und relationale Vollständigkeit Prof. Dr. Stefan Böttcher Universität Paderborn mit Material von Prof. Dr. Gregor Engels Grundlagen von Datenbanken - SS

Mehr

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

Datenbanksysteme I Relationale Algebra. Felix Naumann

Datenbanksysteme I Relationale Algebra. Felix Naumann Datenbanksysteme I Relationale Algebra Felix Naumann 17.5.2010 Überblick 2 Einführung Basisoperatoren Operatoren auf Multimengen Erweiterte Operatoren Einführung 3 Bisher Relationenschemata mit Basisrelationen,

Mehr

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

Kapitel 3: Grundlagen von Anfragesprachen

Kapitel 3: Grundlagen von Anfragesprachen 3. Grundlagen von Anfragesprachen 3. Kapitel 3: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül Datenbanken und Informationssysteme, WS 2012/13 9. November 2012 Seite

Mehr

Teil V Relationaler Entwurf

Teil V Relationaler Entwurf Teil V Relationaler Entwurf Relationaler Entwurf 1 Zielmodell des logischen Entwurfs 2 Relationaler DB-Entwurf 3 Normalformen 4 Transformationseigenschaften 5 Weitere Abhängigkeiten Sattler / Saake Datenbanksysteme

Mehr

Kap. 3 Relationenmodell mit relationaler Algebra

Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3 Relationenmodell mit relationaler Algebra Kap. 3.1. Trägermenge Seien D 1, D 2,..., D k Domänen: (Typen, Arten, Sorten, Wertmengen) z.b. string integer real Boolean DateTime BLOB, TIFF-image, HTML-Doc,

Mehr

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra.

Relationale Algebra. Thomas Heimrich. Rel. Algebra. Grundlagen. Beispielrelationen. rel. Algebra. Definition der rel. Algebra. 1 / 17 Rel. Relationale Thomas Heimrich rel. Formale Sprachen Rel. relationale Die relationale ist prozedural orientiert. Sie beinhaltet implizit einen Abarbeitungsplan für die Anfrage. Die rel. ist wichtig

Mehr

Query Languages (QL) Relationale Abfragesprachen/Relational

Query Languages (QL) Relationale Abfragesprachen/Relational Relationale Algebra Relationale Abfragesprachen/Relational Query Languages (QL) Abfragesprachen: Daten aus einer Datenbank zu manipulieren und abzufragen (retrieve information) Das relationalle Modell

Mehr

Kapitel 2: Grundlagen von Anfragesprachen

Kapitel 2: Grundlagen von Anfragesprachen 2. Grundlagen von Anfragesprachen Seite 1 Kapitel 2: Grundlagen von Anfragesprachen Sprachparadigmen Relationenalgebra Relationenkalkül später SQL 2. Grundlagen von Anfragesprachen 2.1. Relationenalgebra

Mehr

Relationale Datenbanksprachen

Relationale Datenbanksprachen Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Andreas Heuer, Gunter Saake Datenbanken I 9-1 Sprachen und ihre Grundlagen Grundlagen Kommerzielle Sprachen ISBL SQL

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

Prüfung Datenbanken I

Prüfung Datenbanken I Fakultät für Informatik, Institut für Technische und Betriebliche Informationssysteme 1 Prüfung Datenbanken I 26.07.2012 Name:... Vorname:... MatrNr:... Studiengang:... Unterschrift:... Note/Schein Seitenzahl:

Mehr

Prüfung Datenbanken I

Prüfung Datenbanken I Fakultät für Informatik, Institut für Technische und Betriebliche Informationssysteme 1 Name:... Vorname:... MatrNr:... Studiengang:... Note/Schein (Zutreffendes bitte unterstreichen) Unterschrift:...

Mehr

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-70 Relational Algebra

Mehr

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017)

Übung 4. Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Übung 4 Tutorübung zu Grundlagen: Datenbanken (Gruppen Do-T24 / Do-T31 WS 2016/2017) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik

Mehr

Teil VII Die relationale Anfragesprache SQL

Teil VII Die relationale Anfragesprache SQL Teil VII Die relationale Anfragesprache SQL Die relationale Anfragesprache SQL 1 Der SFW-Block in Detail 2 Erweiterungen des SFW-Blocks 3 Rekursion Sattler / Saake Datenbanksysteme Letzte Änderung: Okt.

Mehr

Das Relationale Modell

Das Relationale Modell Kapitel 3 Das Relationale Modell 1 / 50 Generelle Anmerkungen Wurde in den Siebzigern von E.F.Codd entwickelt (er bekam den Turing Award dafür) Im Moment das am weitesten verbreitete Datenmodell Hat die

Mehr

Prüfung Datenbanken I

Prüfung Datenbanken I Fakultät für Informatik, Institut für Technische und Betriebliche Informationssysteme 1 Name:... Vorname:... MatrNr:... Studiengang:... Note/Schein (Zutreffendes bitte unterstreichen) Unterschrift:...

Mehr

2.5 Relationale Algebra

2.5 Relationale Algebra 2.5 Relationale Algebra 2.5.1 Überblick Codd-vollständige relationale Sprachen Relationale Algebra Abfragen werden durch exakte Angabe der auf den Relationen durchzuführenden Operationen formuliert Relationenkalküle

Mehr

3.4 Die relationale Algebra

3.4 Die relationale Algebra Algebra: 3.4 Die relationale Algebra gegeben eine Menge N ( Anker der Algebra ) Menge von Operationen { σ 1,, σ n } der Form σ j :N k N elationale Algebra Anker ist die Menge aller elationen {(, I) I ist

Mehr

Der relationale Tupel-Kalkül

Der relationale Tupel-Kalkül Der relationale Tupel-Kalkül Udo Kelter 24.11.2001 Zusammenfassung dieses Lehrmoduls Die relationalen Kalküle sind neben der relationalen Algebra ein alternativer Formalismus, mit dem sich die grundlegenden

Mehr

Diskussion: Personal (1)

Diskussion: Personal (1) Diskussion: Personal (1) ER-Diagramm: Abteilung ist beschäftigt in [0, n] [0, 1] Person Umsetzung ins Relationenmodell? Diskussion: Personal (2) Zusätzliche Regel: In jeder Abteilung (Person) muss mindestens

Mehr

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2006/2007 Vorlesung: Dr. Peer Kröger Übungen: Karsten

Mehr

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 2013/2014 Vorlesung: Prof. Dr. Christian Böhm Übungen:

Mehr

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen

Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester Mengenoperationen Concept Content.. Information Topic Relationale Algebra Datenbanken I (Systemorientierte Informatik IV) Sommersemester 2007 Gunar Fiedler (fiedler@is.informatik.uni-kiel.de) Institut für Informatik Arbeitsgruppe

Mehr

Aggregatfunktionen in der Relationenalgebra?

Aggregatfunktionen in der Relationenalgebra? Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in

Mehr

Prüfung Datenbanken I

Prüfung Datenbanken I Fakultät für Informatik, Institut für Technische und Betriebliche Informationssysteme 1 Name:... Vorname:... MatrNr:... Studiengang:... Note/Schein (Zutreffendes bitte unterstreichen) Unterschrift:...

Mehr

Relationenkalkül. Prof. Dr. T. Kudraß 1

Relationenkalkül. Prof. Dr. T. Kudraß 1 Relationenkalkül Prof. Dr. T. Kudraß 1 Relationenkalkül Zwei Ausprägungen: Tupelrelationenkalkül (TRK) und Domänenrelationenkalkül (DRK). Kalkül hat Variablen, Konstanten, Vergleichsoperatoren, logische

Mehr

Rückblick: Relationales Modell

Rückblick: Relationales Modell Rückblick: Relationales Modell Relationales Modell als vorherrschendes Datenmodell Relationen (Tabellen) besitzen Attribute (Spalten) mit Wertebereichen und beinhalten Tupel (Zeilen) Umsetzung eines konzeptuellen

Mehr

Kapitel 4: Relationen-Kalkül

Kapitel 4: Relationen-Kalkül Ludwig Maximilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Vorlesung: Prof. Dr. Christian

Mehr

Datenbanksysteme 2009

Datenbanksysteme 2009 Datenbanksysteme 2009 Vorlesung vom 11.05.2009: Anfang von Kapitel 6: Das Relationale Modell Oliver Vornberger Institut für Informatik Universität Osnabrück Das Relationale Modell Wertebereiche (Domänen):

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 2: Logik 1 Prädikatenlogik (Einleitung) 2 Aussagenlogik Motivation Grundlagen Eigenschaften Eigenschaften Normalformen

Mehr

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage Gunter Saake Kai-Uwe Sattler Andreas Heuer Datenbanken Konzepte und Sprachen Sechste Auflage Dieses pdf-kapitel ist eine kostenlose Ergänzung zum oben genannten Buch, das 2018 bei MITP erschienen ist.

Mehr

Relationale Datenbanken: Relationale Algebra

Relationale Datenbanken: Relationale Algebra Relationale Datenbanken: Relationale Algebra Natürlicher Verbund (Natural Join, ): Zwei Relationen werden tupelweise bezüglich Übereinstimmung der Daten in einem gleichbenannten Attribut vereinigt. Das

Mehr

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) Kapitel 6 Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle) 1 Datenmanipulationssprache (DML) SQL Einfügen: Insert-Statement Ändern: Update-Statement Löschen:

Mehr

Rückblick: Relationale Normalisierung

Rückblick: Relationale Normalisierung Rückblick: Relationale Normalisierung Gute Relationenschema vermeiden Redundanz und führen nicht zu Anomalien beim Einfügen, Löschen oder Ändern Relationale Normalformen (1NF, 2NF, 3NF, BCNF, 4NF) charakterisieren

Mehr

Teil VI Relationale Theorie

Teil VI Relationale Theorie Teil VI Relationale Theorie Relationale Theorie 1 Formalisierung 2 Rechnen mit FDs 3 Mehr zu Normalformen 4 Entwurfsverfahren Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 6 1 Lernziele für

Mehr

Prüfung Datenmanagement

Prüfung Datenmanagement Fakultät für Informatik, Institut für Technische und Betriebliche Informationssysteme 1 Name:... Vorname:... MatrNr:... Studiengang:... Note/Schein (Zutreffendes bitte unterstreichen) Unterschrift:...

Mehr

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018

Datenbanken: Relationales Modell und SQL. Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Datenbanken: Relationales Modell und SQL Dr. Matthias Uflacker, Stefan Klauck 23. April 2018 Vorlesungsinhalte/-aufbau Phase 1 Einführung zu Unternehmensanwendungen (2 Vorlesungen) Grundlagen von spaltenorientierten

Mehr

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage

Datenbanken. Konzepte und Sprachen. Gunter Saake Kai-Uwe Sattler Andreas Heuer. Sechste Auflage Gunter Saake Kai-Uwe Sattler Andreas Heuer Datenbanken Konzepte und Sprachen Sechste Auflage Dieses pdf-kapitel ist eine kostenlose Ergänzung zum oben genannten Buch, das 2018 bei MITP erschienen ist.

Mehr

8. Relationale Datenbanksprachen

8. Relationale Datenbanksprachen 8. Relationale Datenbanksprachen SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen VL Datenbanken I 8 1 SQL-Kern select Projektionsliste arithmetische Operationen und Aggregatfunktionen from zu verwendende

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach

Mehr

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung Sommersemester 2017 Thomas Schneider AG Theorie der künstlichen Intelligenz (TdKI) http://tinyurl.com/ss17-bl Beschreibungslogik SoSe 2017 7

Mehr

Kapitel 5: Der SQL-Standard

Kapitel 5: Der SQL-Standard Kapitel 5: Der SQL-Standard 5. Der SQL-Standard 5. Ein Anfrageausdruck in SQL besteht aus einer SELECT-Klausel, gefolgt von einer FROM-Klausel, gefolgt von einer WHERE-Klausel. Grundform eines SFW-Ausdruck

Mehr

Logik und Künstliche Intelligenz

Logik und Künstliche Intelligenz Logik und Künstliche Intelligenz Kurze Zusammenfassung (Stand: 14. Januar 2010) Prof. Dr. V. Stahl Copyright 2007 by Volker Stahl. All rights reserved. V. Stahl Logik und Künstliche Intelligenz Zusammenfassung

Mehr

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Datenbanksysteme Kapitel 5: SQL Data Manipulation Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück 1 Kapitel 6a: Das relationale Modell 2 Das Relationale Modell Wertebereiche (Domänen): D 1, D 2,,...,

Mehr

Vorlesung Datenbanktheorie. Einige Erweiterungen der Anfragesprachen. Regelbasierte konjunktive Anfragen mit = Vorlesung vom Mittwoch, 26.

Vorlesung Datenbanktheorie. Einige Erweiterungen der Anfragesprachen. Regelbasierte konjunktive Anfragen mit = Vorlesung vom Mittwoch, 26. Vorlesung Datenbanktheorie Vorlesung vom Mittwoch, 26. April 2006 Nicole Schweikardt Humboldt-Universität zu Berlin Sommersemester 2006 Letzte Vorlesung: regelbasierte konjunktive Anfragen Tableau-Anfragen

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Relationales Datenmodell Relationale Algebra

Relationales Datenmodell Relationale Algebra Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Relationale Algebra Dr. Gerd Gröner Wintersemester 2013/14 Lernziele Grundbegriffe des Relationalen Modells Abbildung

Mehr

Teil III Entity-Relationship-Modell

Teil III Entity-Relationship-Modell Teil III Entity-Relationship-Modell Entity-Relationship-Modell 1 Datenbankmodell 2 ER-Modell 3 Weitere Konzepte im ER-Modell Sattler / Saake Datenbanksysteme Letzte Änderung: Okt. 2016 3 1 Lernziele für

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Teil III. Relationale Datenbanken Daten als Tabellen

Teil III. Relationale Datenbanken Daten als Tabellen Teil III Relationale Datenbanken Daten als Tabellen Relationale Datenbanken Daten als Tabellen 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1

Schlüssel. Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 Schlüssel Definition: Ein Schlüssel (key) einer Relation r(r) ist eine Til Teilmenge K von R, so dass für je zwei verschiedene Tupeln t 1 und t 2 r gilt: - t 1 (K) t 2 (K) und - keine echte Teilmenge K'

Mehr

Einführung in Datenbanken. Kapitel 11: Relationale Algebra in SQL

Einführung in Datenbanken. Kapitel 11: Relationale Algebra in SQL Stefan Brass: Einf. in Datenbanken 11. Relationale Algebra in SQL 1/48 Einführung in Datenbanken Kapitel 11: Relationale Algebra in SQL Prof. Dr. Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung Grundlagen von Datenbanken Relationale Algebra und algebraische Optimierung Relationale Algebra Überblick Selektion: σ Projektion: π Mengenoperationen:,,,, Kartesisches Produkt: Verbund (Join): Umbenennung:

Mehr

TU7 Aussagenlogik II und Prädikatenlogik

TU7 Aussagenlogik II und Prädikatenlogik TU7 Aussagenlogik II und Prädikatenlogik Daniela Andrade daniela.andrade@tum.de 5.12.2016 1 / 32 Kleine Anmerkung Meine Folien basieren auf den DS Trainer von Carlos Camino, den ihr auf www.carlos-camino.de/ds

Mehr

Logik Vorlesung 7: Grundlagen Prädikatenlogik

Logik Vorlesung 7: Grundlagen Prädikatenlogik Logik Vorlesung 7: Grundlagen Prädikatenlogik Andreas Maletti 5. Dezember 2014 Überblick Inhalt 1 Motivation und mathematische Grundlagen 2 Aussagenlogik Syntax und Semantik Äquivalenz und Normalformen

Mehr

Universität Augsburg, Institut für Informatik WS 2005/2006 Prof. Dr. Werner Kießling 21. Nov M. Endres, A. Huhn, P. Preisinger Lösungsblatt 4

Universität Augsburg, Institut für Informatik WS 2005/2006 Prof. Dr. Werner Kießling 21. Nov M. Endres, A. Huhn, P. Preisinger Lösungsblatt 4 Universität Augsburg, Institut für Informatik WS 2005/2006 Prof. Dr. Werner Kießling 21. Nov. 2005 M. Endres, A. Huhn, P. Preisinger Lösungsblatt 4 Datenbanksysteme I Aufgabe 1: Relationale Vollständigkeit

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { }

Lösungsmenge L I = {x R 3x + 5 = 9} = L II = {x R 3x = 4} = L III = { } Zur Einleitung: Lineare Gleichungssysteme Wir untersuchen zunächst mit Methoden, die Sie vermutlich aus der Schule kennen, explizit einige kleine lineare Gleichungssysteme. Das Gleichungssystem I wird

Mehr

8. Relationale Datenbanksprachen. SQL-Kern. Kartesisches Produkt. from-klausel

8. Relationale Datenbanksprachen. SQL-Kern. Kartesisches Produkt. from-klausel 8. Relationale Datenbanksprachen SQL-Kern SQL-Kern Weitere Sprachkonstrukte von SQL SQL-Versionen Query by Example select Projektionsliste arithmetische Operationen und Aggregatfunktionen from zu verwendende

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Vorlesung Datenbanken I Zwischenklausur

Vorlesung Datenbanken I Zwischenklausur Prof. Dr. Stefan Brass 12. Dezember 2003 Institut für Informatik MLU Halle-Wittenberg Vorlesung Datenbanken I Zwischenklausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte Zeit 1 (Integritätsbedingungen)

Mehr

Alphabet der Prädikatenlogik

Alphabet der Prädikatenlogik Relationen und Alphabet der Das Alphabet der besteht aus Individuenvariablen Dafür verwenden wir kleine Buchstaben vom Ende des deutschen Alphabets, auch indiziert, z. B. x, y, z, x 1, y 2,.... Individuenkonstanten

Mehr

1. Einführung Seite 1. Kapitel 1: Einführung

1. Einführung Seite 1. Kapitel 1: Einführung 1. Einführung Seite 1 Kapitel 1: Einführung 1. Einführung Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine Adresse ist Seeweg 20. Er ist im zweiten Semester. Lisa

Mehr

Chapter 4. Relationenalgebra. Lecture Datenbanken Pierre Fierz. Berner Fachhochschule Technik und Informatik.

Chapter 4. Relationenalgebra. Lecture Datenbanken Pierre Fierz. Berner Fachhochschule Technik und Informatik. Chapter 4 Lecture Datenbanken 04.03.2014 Berner Fachhochschule Technik und Informatik 4.1 Contents 1 2 3 4 5 6 7 4.2 Die Lernziele dieses Kapitels. 1 kennen 2 Operationen der kennen (σ) (π) Der natürliche

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007

PRG2 Folien Zicari Teil 5. Einführung in Datenbanken SS 2007 PRG2 Folien Zicari Teil 5 Einführung in Datenbanken SS 2007 Prof. Dott. Ing. Roberto Zicari Johann Wolfgang Goethe-Universität Frankfurt am Main PRG2 V-1 Fachbereich Informatik und Mathematik SQL SQL =

Mehr

Einführung in Datenbanken

Einführung in Datenbanken Einführung in Datenbanken Vorlesungsmanuskript Dr. Josef Templ Universität Salzburg SS 2006 http://www.cs.uni-salzburg.at/~josef.templ/ (c) Copyright Josef Templ, 2003-2006; Alle Rechte vorbehalten. Teil

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2012 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

Mehr