5. Implementierung von Präferenz- Querysprachen

Größe: px
Ab Seite anzeigen:

Download "5. Implementierung von Präferenz- Querysprachen"

Transkript

1 5. Implementierung von Präferenz- Querysprachen Es werden Implementierungsdetails zu folgenden Themen vorgestellt: 5.1 Integration mit SQL-Datenbanken 5.2 Algebraische Präferenz-Optimierung 5.3 Auswertung der Präferenz-Selektion Prof. Kießling

2 5.1 Integration mit SQL-Datenbanken Drei prinzipielle Vorgehensweisen für die Integration mit SQL-Datenbanken stehen zur Verfügung: Lose Kopplung Hybride Kopplung Enge Kopplung Prof. Kießling

3 5.1.1 Lose Kopplung Applikationsintegration durch lose Kopplung, Präprozessor, on top of the db, rewriting Preference SQL-Anfrage Preference JDBC-Treiber Preference SQL Rewriter Standard JDBC-Treiber SQL-Anfrage Applikation Standard SQL DB-System BMO-Ergebnisse Prof. Kießling

4 Beispiel: Preference SQL Rewriter Identifier Make Model Price Mileage Airbag Diesel 1 Audi A yes no 2 BMW 5 series yes yes 3 Volkswagen Beetle yes no SELECT * FROM cars PREFERRING Make = 'Audi' AND Diesel = 'yes'; Prof. Kießling

5 CREATE VIEW Auxiliary AS SELECT *, CASE WHEN Make = 'Audi' THEN 0 ELSE 1 END AS Makelevel, CASE WHEN Diesel = 'yes' THEN 0 ELSE 1 END AS Diesellevel FROM cars; Einfügen in eine temporär erstellte Relation bmo INSERT INTO bmo SELECT Identifier, Make, Model, Price, Mileage, Airbag, Diesel FROM Auxiliary A1 WHERE NOT EXISTS (SELECT 1 FROM Auxiliary A2 WHERE A2.Makelevel <= A1.Makelevel AND A2.Diesellevel <= A1.Diesellevel AND (A2.Makelevel < A1.Makelevel OR A2.Diesellevel < A1.Diesellevel)); Prof. Kießling

6 5.1.2 Enge Kopplung Ansatz: Erweiterung des existierenden SQL-Optimierers um Präferenzoptimierungstechniken Implementierung von σ[p] im DB-Kern Vorteil: Größtmögliche Effizienz Nachteil: Höchster Implementierungsaufwand Kooperation mit DB-Hersteller Beispiel: relationales Datenbanksystem EXASolution 5.0 von Exasol. Prof. Kießling

7 EXASolution 5.0 EXASolution 5.0 bietet ein Skyline Feature, welches eine Vielzahl an Präferenzfunktionen liefert (entstanden in einem gemeinsamen Forschungsprojekt mit dem Lehrstuhl). EXASolution 5.0: Skyline Analytics - multi-criteria optimization auf YouTube Prof. Kießling

8 Enge Kopplung: Preference SQL-Anfrage Applikation Standard JDBC-Treiber BMO-Ergebnisse Preference SQL Optimierer Query Engine Standard SQL DB-System Prof. Kießling

9 5.1.3 Hybride Kopplung Ansatz: SQL-System für Standardteile (d.h. relationale Algebra, z.b. π X (σ H (R))) der Preference Query nützen. Spezialmethoden in einer Middleware Algebraische Preference Query Optimierung Effiziente Algorithmen für die Präferenz-Selektion σ[p] und die gruppierende Präferenz-Selektion σ[p grouping G ] Anfrage-Operatorbaum wird von Preference SQL (P-Optimierer, P-Engine) verwaltet. Prof. Kießling

10 Hybride Kopplung Client Applikation Preference SQL-JDBC-Treiber (Client) Preference SQL-Anfrage BMO-Ergebnisse Preference SQL-JDBC-Treiber (Server) Preference SQL (P-Optimierer, P-Engine) Server Standard JDBC-Treiber SQL-Anfrage SQL-Zwischenergebnisse Standard SQL DB-System Prof. Kießling

11 Vorteile: Die Preference SQL-Komponente liegt nur auf einem Server, womit eine leichte Wartbarkeit und eine einfache Erweiterung von Preference SQL gewährleistet sind, da kein Update auf Seite der Clients erforderlich ist. Die Standard-SQL-Komponente eines DB-Systems bleibt unverändert. Nachteile: Die Laufzeit einer Preference SQL-Anfragegenerierung erhöht sich, da Preference SQL als eigene Komponente zusätzlich zur Standard- SQL-Komponente eines DB-Systems Rechenzeit verbraucht. Nachoptimierung innerhalb Standard-SQL-Komponente ist nötig. Prof. Kießling

12 5.1.4 Literatur W. Kießling, G. Köstler: Preference SQL - Design, Implementation, Experiences 28th International Conference on Very Large Data Bases (VLDB 2002). pp , Hong Kong, China, Aug W. Kießling, M. Endres, F.Wenzel: The Preference SQL System - An Overview In Bulletin of the Technical Committee on Data Engineering, Vol. 34 No. 2, June 2011, p Prof. Kießling

13 5.2 Algebraische Präferenz-Optimierung Preference Relational Algebra: Relationale Algebra Präferenz-Selektion: σ[p](r) := { t R v R: t[a] < P v[a]} Gruppierende Präferenz-Selektion: σ[p GROUPING G ] (R) := { t R v R: t[g] G v[g] t[a] < P v[a]} Spezialfall (triviale SV-Semantik): σ[p GROUPING G] (R) := σ[p GROUPING id G ] (R) Prof. Kießling

14 5.2.1 Ablauf einer Preference SQL Query- Auswertung 1. Übersetzung in einen initialen Operatorbaum der Preference Relational Algebra (PRA) 2. Operatorbaumtransformationen nach Heuristiken 3. Kostenbasierte Auswahl effizienter Algorithmen zur Auswertung des Operatorbaums aus (2) Prof. Kießling

15 Beispiel: Relationales Datenbankschema: USED_CARS (id, Age, Color, Price ) // id ist Fremdschlüssel CAR_DETAIL (id, Brand, ) // auf id von CAR_DETAIL SELECT u.price, d.brand, u.age FROM used_cars u, car_detail d WHERE u.id = d.id and u.color = 'red' PREFERRING u.age AROUND 8 PRIOR TO d.brand IN ('BMW', 'Mercedes') ; Prof. Kießling

16 Initialer Ausführungsplan der Anfrage: π u.price, d.brand, u.age σ[around(u.age, 8) & POS(d.brand, {BMW, Mercedes})] σ u.id = d.id color = red X used_car u car_detail d Prof. Kießling

17 5.2.2 Transformationsregeln Ziel ist die frühzeitige Anwendung von Präferenzen, um die Ergebnismenge zu reduzieren. Theorem L1: Schiebe Projektion über eine Präferenz-Selektion. * Theorem L2: Schiebe Präferenz-Selektion über kartesisches Produkt. Theorem L3: Schiebe Präferenz-Selektion über Vereinigung. Theorem L4: Teile Priorisierung in Gruppierung auf. * Theorem L5: Schiebe Präferenz-Selektion über harte Selektion. * Theorem L6: Schiebe Präferenz-Selektion über Join. * * Diese Theoreme werden noch detaillierter vorgestellt. Prof. Kießling

18 Theorem L7: Theorem L8: Teile Pareto-Präferenz auf und schiebe sie über Join. Teile Priorisierung auf und schiebe sie über Join. Theorem L9: Vereinfache gruppierte Präferenz-Selektionen. * Theorem L10: Theorem L11: Theorem L12: Theorem L13: Kaskadiere Präferenzen und harte Selektionen. Nutze Kommutativität, Assoziativität und Linksdistributivität von Pareto-Präferenzen.* Teile Priorisierung auf und schiebe die jeweiligen Präferenzen über kartesisches Produkt. Teile Pareto auf und schiebe die jeweiligen Präferenzen über kartesisches Produkt. Prof. Kießling

19 Transformationsgesetze in Preference Relational Algebra (PRA): Wir betrachten ein Relationenschema R(A 1, A n ) mit einer Instanz R dom(a 1 ) dom(a n ). Ferner sei attr(r) = {A 1, A n }. Prof. Kießling

20 (L1) Schiebe Projektion über Präferenz-Selektion: Für die Präferenz P = (A, < P, P ) und A, X attr(r) gilt: a) Falls A X: π X (σ[p](r)) = σ[p](π X (R)) b) sonst: π X (σ[p](r)) = π X (σ[p](π X A (R))) Ebenso gilt auch für die Präferenz P = (A, < P, P ) mit A, X attr(r): a) Falls A, B X: π X (σ[p grouping B](R)) = σ[p grouping B](π X (R)) b) sonst: analog zu oben Prof. Kießling

21 (L2) Schiebe Präferenz-Selektion über kartesisches Produkt: Für die Präferenz P = (A, < P, P ) und A attr(r) gilt: σ[p](r x T) = σ[p](r) x T Prof. Kießling

22 (L3) Schiebe Präferenz-Selektion über Vereinigung: Für die Präferenz P = (A, < P, P ) mit A attr(r), attr(r) = attr(t) gilt: σ[p](r T) = σ[p]( σ[p](r) σ[p](t) ) (L4) Teile Priorisierung in Gruppierung auf: Für die Präferenzen P 1 = (A 1, < P1, P1 ) und P 2 = (A 2, < P2, P2 ) mit A 1, A 2 attr(r) gilt: a) σ[p 1 & P 2 ](R) = σ[p 2 grouping P 1 ] (σ[p 1 ](R)) b) σ[p 1 & P 2 ](R) = σ[p 1 ] (σ[p 2 grouping P 1 ](R)) Prof. Kießling

23 (L5) Schiebe Präferenz-Selektion über harte Selektion: Für die Präferenzen P = (A, < P, P ) mit A attr(r) und eine harte Bedingung H gilt: σ[p](σ H (R)) = σ H ( σ[p](r) ) gdw. w, v R: (H(w) w[a] < P v[a]) => H(v) Eine Vertauschung ist möglich, wenn für jedes Tupel w, das die harte Bedingung H erfüllt, auch das dominierende Tupel v die harte Bedingung erfüllt. Prof. Kießling

24 Gegenbeispiel und Beispiel zu L5: Gegeben sei die R(A, B) = {(1, 1), (2, 2), (1, 3), (2, 5), (2, 100)} mit Q1: σ[highest(b), =](σ A = 1 (R)) = σ[highest(b), =]({ (1, 3), (1, 1)}) = {(1, 3)}; Q2: σ A = 1 (σ[highest(b), =](R)) = σ A = 1 ({(2, 100)}) = ; Das Tupel v = (2, 100) erfüllt nicht die Bedingung A = 1, dominiert aber aufgrund seines maximalen B-Wertes das gesamte Ergebnis. L5 ist nicht anwendbar! Falls v durch v = (1, 100) ersetzt wird, ist (L5) anwendbar. Prof. Kießling

25 (L6) Schiebe Präferenz-Selektion über Join: Für die Präferenz P = (A, < P, P ) mit A attr(r) und X attr(r) attr(t), gilt: Falls für jedes Tupel aus R mindestens ein Join-Partner in T existiert: σ[p](σ R.X = T.X (R T)) = σ R.X = T.X (σ[p](r) T) (L7) Teile Pareto-Präferenz auf und schiebe sie über Join: Für die Präferenzen P 1 = (A 1, < P1, P1 ) mit A 1 attr(r), P 2 = (A 2, < P2, P2 ) mit A 2 attr(t) und X attr(r) attr(t), gilt: Falls für jedes Tupel aus R mindestens ein Join-Partner in T existiert: σ[p P 1 2 ](σ R.X = T.X (R T)) = σ[p P 1 2 ](σ R.X = T.X ( σ[p 1 grouping X](R) T)) Prof. Kießling

26 (L8) Teile Priorisierung auf und schiebe sie über Join: Gegeben seien P 1 = (A 1, < P1, P1 ) mit A attr(r) und P 1 2 = (A 2, < P, 2 P2 ) mit A 2 attr(r) attr(s). Zudem sei X attr(r) attr(s). Falls jedes Tupel in R wenigstens einen Join-Partner in S hat: σ[p & P 1 2 ](σ R.X = S.X (R S)) = σ[p 2 grouping P 1 ] (σ R.X = S.X (σ[p 1 ](R) S)) Bemerkung zu L6 - L8: Falls R.X ein Fremdschlüssel auf S.X ist, hat jedes Tupel in R wenigstens einen Join-Partner in S (referentielle Integrität). Prof. Kießling

27 (L9) Vereinfache gruppierende Präferenz-Selektion: Für die Präferenzen P = (A, < P, P ), P 1 = (A 1, < P1, P1 ) und P 2 = (A 2, < P2, P2 ) mit A, A 1, A 2 attr(r) und mit, 1, 2 als beliebige Äquivalenzrelationen gilt: a) σ[(p grouping 1 ) grouping 2 ](R) = σ[p grouping ( 1 2 )](R), wobei gilt: x ( 1 2 ) y gdw. x 1 y x 2 y b) σ[(p 1 grouping 1 ) & P 2 ](R) = σ[(p 1 & P 2 ) grouping 1 ](R) c) σ[(p 1 (P 2 grouping 1 )](R) = σ[(p 1 P 2 ) grouping 1 ](R) d) σ[(p 1 grouping 1 ) (P 2 grouping 2 )](R) = σ[(p 1 P 2 ) grouping ( 1 2 )](R) e) σ[p grouping G](R) = R, falls G eindeutig (z.b. Primärschlüssel) ist. Prof. Kießling

28 (L11) Kommutativität, Assoziativität und Linksdistributivität: Für die Präferenzen P 1 = (A 1, < P1, P1 ), P 2 = (A 2, < P2, P2 ) und P 3 = (A 3, < P3, P3 ) gilt: a) σ[p 1 P 2 ](R) = σ[p 2 P 1 ](R) b) σ[(p 1 P 2 ) P 3 ](R) = σ[p 1 (P 2 P 3 )](R) c) σ[(p 1 & P 2 ) & P 3 ](R) = σ[p 1 & (P 2 & P 3 )](R) d) σ[p 1 & (P 2 P 3 )](R) = σ[(p 1 & P 2 ) (P 1 & P 3 )](R) Prof. Kießling

29 (L12) Teile Priorisierung auf und schiebe die jeweiligen Präferenzen über kartesisches Produkt Gegeben seien: P 1 = (A 1, < P1, P1 ) mit A 1 attr(r), P 2 = (A 2, < P2, P2 ) mit A 2 attr(s). σ[p 1 & P 2 ](R S) = σ[p 1 ](R) σ[p 2 ](S) Prof. Kießling

30 (L13) Teile Pareto auf und schiebe die jeweiligen Präferenzen über kartesisches Produkt Gegeben seien: P 1 = (A 1, < P1, P1 ) mit A 1 attr(r), P 2 = (A 2, < P2, P2 ) mit A 2 attr(s). σ[p 1 P 2 ](R S) = σ[p 1 ](R) σ[p 2 ](S) Prof. Kießling

31 5.2.3 Operatorbaumoptimierung Der aus der Vorlesung Datenbanksysteme I bekannte Hill- Climbing-Algorithmus wird um Transformationsregeln für Preference Relational Algebra (PRA) erweitert. Eingabe ist ein initialer Operatorbaum T: Algorithmus PassPreference(T): {update T: Schritt A-1 <Schiebe Präferenz-Selektion über Vereinigung: L3> Schritt 1-1 Schritt 1-2 <Teile harte Selektionen auf> <Schiebe harte Selektionen so weit als möglich nach unten> Prof. Kießling

32 5.2.3 Operatorbaumoptimierung Schritt B-1: <Teile Priorisierung in Gruppierung auf: L4> Schritt B-2: <Schiebe Präferenz-Selektion über Join: L6> Schritt B-3: <Teile Präferenz auf und schiebe sie über Join: L7; L9e; L8> Schritt B-4: <Schiebe Präferenz-Selektion über kartesisches Produkt: L2> Schritt B-5: <Teile Präferenz auf und schiebe sie über kartesisches Produkt: L12, L13> Schritt 2-1: Schritt 2-2: return T} <Schiebe Projektionen soweit wie möglich nach unten auch über Präferenzen (L1)>; <Kombiniere harte Selektionen und kartesische Produkte zu Joins> Prof. Kießling

33 Beispiel für Operatorbaumoptimierung: Benutzte Schemata ohne Angabe von Domänen sind: USED_CARS (id, Age, Color, Price ) // id ist Fremdschlüssel CAR_DETAIL (id, Brand, ) // auf id von CAR_DETAIL SELECT u.price, d.brand, u.age FROM used_cars u, car_detail d WHERE u.id = d.id AND u.color = 'red' PREFERRING u.age AROUND 8 PRIOR TO d.brand IN ('BMW', 'Mercedes') Prof. Kießling

34 Initialer Ausführungsplan: π u.price, d.brand, u.age σ[around(u.age, 8, ~ AROUND ) & POS(d.brand, {BMW, Mercedes}, ~ POS )] π u.price, d.brand, u.age σ[around(u.age, 8, ~ AROUND ) & POS(d.brand, {BMW, Mercedes}, ~ POS )] σ u.id = d.id σ u.id = d.id u.color = red X X σ u.color = red used_car u car_detail d used_car u car_detail d 1-1: Harte Selektion aufteilen und 1-2: verschieben. Prof. Kießling

35 π u.price, d.brand, u.age π u.price, d.brand, u.age σ[around(u.age, 8, ~ AROUND ) & POS(d.brand, {BMW, Mercedes}, ~ POS )] σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) L4a grouping ~ AROUND ] σ[around(u.age, 8, ~ AROUND )] σ u.id = d.id X σ u.id = d.id X σ u.color = red σ u.color = red used_car u car_detail d used_car u car_detail d B-1: Teile Priorisierung in Gruppierung auf. Prof. Kießling

36 π u.price, d.brand, u.age π u.price, d.brand, u.age σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] σ[around(u.age, 8, ~ AROUND )] σ u.id = d.id L6 σ u.id = d.id X X σ[around(u.age, 8, ~ AROUND )] σ u.color = red σ u.color = red used_car u car_detail d used_car u car_detail d Prof. Kießling 2016 B-2: Schiebe Präferenz-Selektion über Join. 5-36

37 π u.price, d.brand, u.age σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] L1a π u.price, d.brand, u.age σ u.id = d.id X σ[around(u.age, 8, ~ AROUND )] σ u.id = d.id X σ[around(u.age, 8, ~ AROUND )] σ u.color = red σ u.color = red used_car u car_detail d used_car u 2-1: Schiebe Projektion über gruppierte Präferenz-Selektion. car_detail d Prof. Kießling

38 σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] π u.price, d.brand, u.age σ u.id = d.id X σ[around(u.age, 8, ~ AROUND )] 5b(DB1) 10(DB1) L1a π u.price, d.brand, u.age σ u.id = d.id X σ[around(u.age, 8, ~ AROUND )] π u.id, u.price, u.age π d.id, d.brand σ u.color = red σ u.color = red used_car u car_detail d used_car u car_detail d 2-1: Schiebe Projektion über Präferenz-Selektion. Prof. Kießling

39 σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] σ[pos(d.brand, {BMW, Mercedes}, ~ POS ) grouping ~ AROUND ] π u.price, d.brand, u.age π u.price, d.brand, u.age σ u.id = d.id X σ[around(u.age, 8, ~ AROUND )] u.id = d.id σ[around(u.age, 8, ~ AROUND )] πu.id, u.price, u.age π d.id, d.brand π u.id, u.price, u.age π d.id, d.brand σ u.color = red σ u.color = red used_car u car_detail d used_car u car_detail d Prof. Kießling : Selektion + kartesisches Produkt zu Joins. 5-39

40 Weiteres Beispiel: Zwischenstand eines PRA-Operatorbaums π u.price, s.name σ[(lowest(u.age, ~ LOWEST ) BETWEEN(u.price, [5000, 6000], ~ BETWEEN )) & POS(c.brand, {BMW}, ~ POS ) & AROUND(s.zipcode, 86609, ~ AROUND ) ] u.sid = s.sid u.ref = c.ref seller s σ u.color = gray u.color = red used_car u category c Prof. Kießling

41 Endstand des PRA-Operatorbaums π u.price, s.name σ[around(s.zipcode, 86609) grouping {~ BETWEEN, ~ LOWEST, ~ POS } ] π u.price, u.age, s.name, s.zipcode, c.brand u.sid = s.sid σ[pos(c.brand, {BMW}, ~ POS ) grouping {~ BETWEEN, ~ LOWEST }] π u.price, u.age, u.sid, c.brand π s.name, s.zipcode, s.sid seller s u.ref = c.ref π c.ref, c.brand category c σ[lowest(u.age, ~ LOWEST ) BETWEEN(u.price, [5000, 6000], ~ BETWEEN )] Anwendung der Regeln: L8; L8; L1b, L1a; π u.price, u.age, u.sid, u.ref σ u.color = gray u.color = red used_car u Prof. Kießling

42 SQL-Client: EXPLAIN-Anweisung Prof. Kießling

43 5.2.4 Weiterführende Literatur J. Chomicki: Preference formulas in relational queries ACM Transactions on Database Systems (TODS). Volume 28, Issue 4 (December 2003), pp B. Hafenrichter, W. Kießling: Optimization of Relational Preference Queries 16th Australasian Database Conference (ADC 2005). pp , Newcastle, Australia, Jan M. Endres, P. Roocks, M. Huber, W. Kießling: Grouping Queries with SV-Semantics in Preference SQL 8th Multidisciplinary Workshop on Advances in Preference Handling, in conkunction with AAAI-14, Quebec City, Canada. Prof. Kießling

5. Implementierung von PräferenzQuerysprachen

5. Implementierung von PräferenzQuerysprachen . Implementierung von PräferenzQuerysprachen Es werden Implementierungsdetails zu folgenden Themen vorgestellt:. Integration mit SQL-Datenbanken. Algebraische Präferenz-Optimierung. Auswertung der Präferenz-Selektion

Mehr

Semi-Skylines und Skyline Snippets

Semi-Skylines und Skyline Snippets Skyline von Manhattan, NY, USA Semi-Skylines und Skyline Snippets Markus Endres Universität Augsburg 10. Februar 2011 Skyline Queries Finde preiswerte Hotels in Strandnähe! Distance to the beach [km] 2.0

Mehr

5.3 Auswertung der Präferenz-Selektion

5.3 Auswertung der Präferenz-Selektion . Auswertung der Präferenz-Selektion Klassifizierung: Algorithmen ohne vordefinierte Indexstruktur mit vordefinierter Indexstruktur: effizient, jedoch nicht geeignet im Allgemeinen Algorithmen für allgemeine,

Mehr

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014 Universität Augsburg, Institut für Informatik Sommersemester 04 Prof. Dr. W. Kießling 5. Juli 04 Dr. M. Endres, F. Wenzel Suchmaschinen Vorlesung Suchmaschinen Semesterklausur Sommersemester 04 Hinweise:

Mehr

5.3.4 Hexagon-Algorithmus

5.3.4 Hexagon-Algorithmus 5.3.4 Hexagon-Algorithmus Der Hexagon-Algorithmus nutzt die Verbandseigenschaften des BTG für eine Optimierung aus. Verwendet dazu den explizit erstellten BTG in Form eines Feldes. Der Algorithmus besteht

Mehr

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2016

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2016 Universität Augsburg, Institut für Informatik Sommersemester 2016 Prof. Dr. W. Kießling 12. Juli 2016 Dr. F. Wenzel, L. Rudenko Suchmaschinen Vorlesung Suchmaschinen Semesterklausur Sommersemester 2016

Mehr

Anfrageoptimierung Logische Optimierung

Anfrageoptimierung Logische Optimierung Institute for Web Science & Technologies WeST Grundlagen der Datenbanken Logische Optimierung Dr. Thomas Gottron Wintersemester 2012/13 Ablauf der Deklarative Anfrage Scanner Parser Sichtenauflösung Algebraischer

Mehr

4. Das Preference SQL - System

4. Das Preference SQL - System 4. Das Preference SQL - System 4.1 Preference SQL Middleware 4.2 Preference SQL Syntax 4.2.1 Präferenz-Konstruktoren 4.2.2 Qualitätsfunktionen für Bewertung 4.2.3 Top-k Schnittstelle zum Auffüllen 4.2.4

Mehr

Semesterklausur Datenbanksysteme 1 SS 2015

Semesterklausur Datenbanksysteme 1 SS 2015 Universität Augsburg, Institut für Informatik Sommersemester 2015 Prof. Dr. W. Kießling 10. April 2015 F. Wenzel, L.Rudenko Datenbanksysteme 1 Semesterklausur Datenbanksysteme 1 SS 2015 Hinweise: Die Bearbeitungszeit

Mehr

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2015

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2015 Universität Augsburg, Institut für Informatik Sommersemester 2015 Prof. Dr. W. Kießling 15. Juli 2015 F. Wenzel, L. Rudenko Suchmaschinen Vorlesung Suchmaschinen Semesterklausur Sommersemester 2015 Hinweise:

Mehr

Semesterklausur Wiederholung

Semesterklausur Wiederholung Universität Augsburg, Institut für Informatik Wintersemester 2010/2011 Prof. Dr. W. Kießling 04. April 2011 Dr. M. Endres, F. Wenzel Datenbanksysteme Semesterklausur Wiederholung Hinweise: Die Bearbeitungszeit

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

Seminar : Benutzerzentrierte Datenbankanfragen. Referent : Axel Schön

Seminar : Benutzerzentrierte Datenbankanfragen. Referent : Axel Schön Kapitel 1 : Prolog Kapitel 2 : Preference SQL Kapitel 3 : Chomicki Framework Kapitel 4 : Epilog Was sind präferenzgestützte Datenbankanfragen? Beispiel: Familie Vielflieger will in den Urlaub fliegen

Mehr

Klausur. Universität Augsburg, Institut für Informatik Sommersemester 2007 Prof. Dr. Werner Kießling 21. Juli (Suchmaschinen) Hinweise:

Klausur. Universität Augsburg, Institut für Informatik Sommersemester 2007 Prof. Dr. Werner Kießling 21. Juli (Suchmaschinen) Hinweise: Universität Augsburg, Institut für Informatik Sommersemester 2007 Prof. Dr. Werner Kießling 21. Juli 2007 Dr. A. Huhn Datenbanksysteme II (Suchmaschinen) Klausur Hinweise: Die Bearbeitungszeit beträgt

Mehr

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1

Anfragebearbeitung. Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Anfragebearbeitung Logische Optimierung Physische Optimierung (Kostenmodelle Tuning ) Kapitel 8 1 Ablauf der Anfrageoptimierung Deklarative Anfrage (SQL) Scanner Parser Sichtenauflösung Algebraischer Ausdruck

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.

Mehr

Kapitel 10: Relationale Anfragebearbeitung

Kapitel 10: Relationale Anfragebearbeitung Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Wintersemester 201/2016 Kapitel 10: Relationale Anfragebearbeitung Vorlesung:

Mehr

Indexstrukturen in SQL

Indexstrukturen in SQL Indestrukturen in SQL Anlegen eines Primärinde in SQL: Anlegen eines Sekundärinde in SQL: Bsp: create table Dozenten ( DNr integer primary key, Name varchar(0), Geburt date, ) create [Unique] inde indename

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12

Universität Augsburg, Institut für Informatik WS 2007/2008 Prof. Dr. W. Kießling 18. Jan Dr. A. Huhn, M. Endres, T. Preisinger Übungsblatt 12 Universität Augsburg, Institut für Informatik WS 2007/2008 Prof Dr W Kießling 18 Jan 2008 Dr A Huhn, M Endres, T Preisinger Übungsblatt 12 Datenbanksysteme I Hinweis: Das vorliegende Übungsblatt besteht

Mehr

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit

Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit Datenbanken Unit 5: Datenintegrität und funktionale Abhängigkeit 23. IV. 2018 Outline 1 Organisatorisches 2 Relationale Algebra Notation 3 Datenintegrität 4 Funktionale Abhängigkeit 5 SQL Outline 1 Organisatorisches

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof Alfons Kemper, PhD Blatt Nr 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS5/6 Harald Lang, Linnea Passing (gdb@intumde) http://www-dbintumde/teaching/ws56/grundlagen/

Mehr

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Datenbanken

Mehr

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6 Aufgabe 1: Pareto mit SV-Semantik Suchmaschinen Pareto Definition: x < P

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

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

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung) 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,

Mehr

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis. SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Kapitel 10: Relationale Anfragebearbeitung

Kapitel 10: Relationale Anfragebearbeitung Ludwig Maimilians Universität München Institut für Informatik Lehr- und Forschungseinheit für Datenbanksysteme Skript zur Vorlesung Datenbanksysteme I Wintersemester 2017/2018 Kapitel 10: Relationale Anfragebearbeitung

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

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie

Mehr

Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14 Universität Augsburg, Institut für Informatik Wintersemester 2013/14 Prof. Dr. W. Kießling 10. Oktober 2013 F. Wenzel, D. Köppl Suchmaschinen Vorlesung Suchmaschinen Semesterklausur Wintersemester 2013/14

Mehr

Begrenzte Freigabe privater Daten

Begrenzte Freigabe privater Daten Begrenzte Freigabe privater Daten Matthias Kirschner Einführung Architektur Semantisches Modell Query Modifikation Fazit 29.9.2005 Szenario DBTabelle mit Seminarteilnehmern Mnr Name Thema Note email 1001

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 9.1.2008 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 07 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

Mehr

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur

Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar Semesterklausur Universität Augsburg, Institut für Informatik Wintersemester 2008/2009 Prof. Dr. W. Kießling 03. Februar 2009 Dr. A. Huhn, M. Endres, T. Preisinger Datenbanksysteme I Semesterklausur Hinweise: Die Bearbeitungszeit

Mehr

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis

Anfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli Semesterklausur

Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli Semesterklausur Universität Augsburg, Institut für Informatik Sommersemester 2009 Prof. Dr. Werner Kießling 16. Juli 2009 Dr. A. Huhn, M. Endres Suchmaschinen Semesterklausur Hinweise: Die Bearbeitungszeit beträgt 90

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

Kapitel 1: Einführung 1.1 Datenbanken?

Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

Das relationale Modell (Teil 1)

Das relationale Modell (Teil 1) Vorlesung #2 Das relationale Modell (Teil 1) Fahrplan WS 2010/11 Feedback Vorlesung#1 Das relationale Modell Einordnung (wir überspringen die Modellierung, das kommt im 4. Semester Datenmanagement ) Definition,

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

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16. Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: 13.02.2004 Zeit: 16. Uhr Hinweis: Die Bearbeitungszeit beträgt 90 Minuten. Bitte benutzen Sie

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

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

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

Mehr

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort. 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,

Mehr

SchemaSQL Eine Multidatenbank Sprache. Volodymyr Biryuk

SchemaSQL Eine Multidatenbank Sprache. Volodymyr Biryuk SchemaSQL Eine Multidatenbank Sprache Volodymyr Biryuk Herausforderung Aufbau eines Multi-Datenbank-Systems (MDBS) Problem Autonomie Distribution Heterogenität Integration heterogener Datenquellen Art

Mehr

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte

Wirtschaftsinformatik 7a: Datenbanken. Dozent: R. Witte Wirtschaftsinformatik 7a: Datenbanken Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt. Der Wirt gibt dem Kellner den Auftrag

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

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Anfragebearbeitung und Optimierung

Anfragebearbeitung und Optimierung In diesem Kapitel geht es darum, wie ein DBMS eine SQL-Anfrage verarbeitet. Also: 1. Schritte der Anfragebearbeitung 2. Parsen und Validieren 3. Optimieren und Erstellen des Zugriffsplans Schritte der

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 19. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 9

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 19. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 9 Universität Augsburg, Institut für Informatik W 2008/2009 Prof. Dr. W. Kießling 19. Dez. 2008 Dr. A. Huhn, M. Endres,. Preisinger Lösungsblatt 9 Aufgabe 1: Geschwister Gegeben war: a) Erstellen ie obigen

Mehr

Das relationale Datenmodell

Das relationale Datenmodell Das relationale Datenmodell Konzepte Attribute, Relationenschemata, Datenbank-Schemata Konsistenzbedingungen Beispiel-Datenbank Seite 1 Einführung Zweck datenmäßige Darstellung von Objekten und Beziehungen

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Garten - Daten Bank. - survival pack -

Garten - Daten Bank. - survival pack - Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2017 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table (Tabelle erzeugen) insert into (Einfügen) select (Anfragen)

Mehr

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 12. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 8

Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 12. Dez Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 8 Unierität Augburg, Intitut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 2. Dez. 2008 Dr. A. Hun, M. Endre, T. Preiinger Löungblatt 8 Aufgabe : Ertellen einer Multimedia-Datenbank Siee PDFinert.jaa

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 05 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de

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

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision

C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision C++ Anwendungskurs Tag 4: Datenbanken Daniela Horn Institut für Neuroinformatik Real-time Computer Vision 15. März 2018 C++ Anwendungskurs 15. März 2018 Daniela Horn 1 Übersicht 1 Motivation 2 Relationale

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Joins 1 Literatur IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN A. Kemper, A. Eickler: Datenbanksysteme Eine Einführung, 8. Auflage Oldenburg Verlag, 2011, ISBN 978-3-486-59834-6 (als E-Book mit dem Übungsbuch

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

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

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren.

Induktionsschluss: Sei Q RA eine Anfrage der Relationenalgebra mit n > 0 Operatoren. 1 Aufgabe 3.1: Wir beweisen durch Induktion über die Anzahl Operatoren π, σ,,,, δ eines Ausdrucks der Relationenalgebra, dass zu jeder Anfrage der Relationenalgebra eine äquivalente Anfrage in SQL existiert.

Mehr

7. XML-Datenbanksysteme und SQL/XML

7. XML-Datenbanksysteme und SQL/XML 7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte

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

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Physische Anfrageoptimierung

Physische Anfrageoptimierung Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 201/14 Ziel der physischen Optimierung π[titel] Konkrete Implementation der

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

[ SQL] Wissen, das sich auszahlt

[  SQL] Wissen, das sich auszahlt [www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen

Mehr

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer. Anwendung Input: Query-Bild, Ergebnis: Menge ähnlicher Bilder. Kapitel 8: Ähnlichkeitsanfragen und ihre effiziente Evaluierung Wie zu finden? Corbis, NASA: EOS Bilddatenbank Folie Folie 2 Ähnlichkeitssuche

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

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2

Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Universität Augsburg, Institut für Informatik WS 2009/2010 Prof. Dr. W. Kießling 06. Nov. 2009 Dr. A. Huhn, F. Wenzel, M. Endres Lösungsblatt 2 Aufgabe 1: ER-Modellierung 1. Siehe Unterstreichungen in

Mehr

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6

Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Datenbanksysteme I WS 18/19 Teillösung Übungsblatt 4-6 Universität Leipzig, Institut für Informatik Abteilung Datenbanken Prof. Dr. E. Rahm, V. Christen, M. Franke DBS1 Blatt 4 Mitschreibbar 2 Welche Autoren

Mehr

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15

Inhalt. Datenbanken 2. Literatur und Quellen. Inhalt. Anfrageoptimierung. Nikolaus Augsten. Wintersemester 2014/15 Inhalt Datenbanken 2 Anfrageoptimierung 1 Nikolaus Augsten 2 nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Wintersemester 2014/15 3 4 Augsten (Univ. Salzburg) DB2 Anfrageoptimierung

Mehr

Webbasierte Informationssysteme

Webbasierte Informationssysteme SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)

Mehr

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen

6. Trigger Charakterisierung von Triggern. 6. Trigger. Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen 6. Trigger Charakterisierung von Triggern 6. Trigger Trigger definieren automatische Reaktionen auf Ereignisse, die durch Datenmanupilationen auf einer Relation ausgelöst werden. Trigger stellen eine einfache

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann

Datenbanksysteme I Anfragebearbeitung und -optimierung Felix Naumann Datenbanksysteme I Anfragebearbeitung und -optimierung 22.6.2009 Felix Naumann Anfragebearbeitung Grundproblem 2 Anfragen sind deklarativ. SQL, Relationale Algebra Anfragen müssen in ausführbare (prozedurale)

Mehr

Deklarative Informationsextraktion

Deklarative Informationsextraktion Deklarative Informationsextraktion Alexander Behringer (alexander.behringer@informatik.hu-berlin.de) Im Rahmen der Vorlesung «Text Analytics» (U. Leser) 15.11.2012 1 / 29 Fahrplan Einführung XLog Erweiterte

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr