Grundlagen von Anfragen: Algebra
|
|
- Elly Morgenstern
- vor 5 Jahren
- Abrufe
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 Grundlagen von Anfragen: Algebra & Kalkül 1 Kriterien für Anfragesprachen 2 Anfragealgebren 3 Erweiterungen der Relationenalgebra 4 Anfragekalküle 5
MehrKriterien 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
MehrMotivation 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
MehrGrundlagen 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
MehrGrundlagen 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.
MehrTeil 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
Mehr7. 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
MehrDie 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
Mehr9. 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
MehrKapitel 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:
MehrTeil 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
Mehr4. 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
MehrKapitel 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
MehrKapitel 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
MehrRelationen-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
MehrKapitel 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
MehrGrundlagen 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
MehrDaten-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
MehrEinleitung 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
MehrDatenbanksysteme 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,
MehrDie 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
MehrKapitel 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
MehrTeil 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
MehrKap. 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,
MehrRelationale 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
MehrQuery 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
MehrKapitel 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
MehrRelationale 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
Mehr3. 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
MehrPrü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:
MehrPrü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:...
MehrKapitel 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) Dennis Fischer dennis.fischer@tum.de http://home.in.tum.de/~fischerd/ Technische Universität München Fakultät für Informatik
MehrTeil 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.
MehrDas 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
MehrPrü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:...
Mehr2.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
Mehr3.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
MehrDer 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
MehrDiskussion: 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
MehrKapitel 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
MehrKapitel 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:
MehrRelationale 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
MehrAggregatfunktionen in der Relationenalgebra?
Aggregatfunktionen in der Relationenalgebra? Dieter Sosna Aggregatfunktionen in der Relationenalgebra p.1/23 Gliederung Motivation Begriffe Definitionen Anwendungen Zusammenfassung Aggregatfunktionen in
MehrPrü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:...
MehrRelationenkalkü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
MehrRü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
MehrKapitel 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
MehrDatenbanksysteme 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):
MehrFormale 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
MehrDatenbanken. 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.
MehrRelationale 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
MehrKapitel 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:
MehrRü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
MehrTeil 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
MehrPrü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:...
MehrDatenbanken: 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
MehrDatenbanken. 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.
Mehr8. 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
MehrDatenbanken 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
MehrBeschreibungslogik 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
MehrKapitel 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
MehrLogik 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
MehrDatenbanksysteme 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
MehrDatenbanksysteme 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,,...,
MehrVorlesung 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
MehrDieser 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,
MehrRelationales 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
MehrTeil 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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrTeil 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
MehrSQL 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
MehrSchlü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'
MehrEinfü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
MehrGrundlagen 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:
MehrTU7 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
MehrLogik 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
MehrUniversitä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
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrLö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
Mehr8. 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
MehrSQL 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
MehrVorlesung 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)
MehrAlphabet 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
Mehr1. 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
MehrChapter 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
MehrStructured 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
MehrVerbunde (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
MehrPRG2 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 =
MehrEinfü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
MehrVerbunde (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
MehrKapitel 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:
MehrWelche 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