Kapitel 8 Schätzung von Anfragekosten

Größe: px
Ab Seite anzeigen:

Download "Kapitel 8 Schätzung von Anfragekosten"

Transkript

1 Kapitel 8 Schätzung von Anfragekosten Einführung Berechnung von Operatorkardinalitäten Histogramme 2 Architektur und Implementierung von Datenbanksystemen WS 2009/10 Melanie Herschel Universität Tübingen

2 Überblick Architektur eines DBMS Web Forms Applications SQL Interface Figure inspired by Ramakrishnan/Gehrke: Database Management Systems, McGraw-Hill Transaction Manager Lock Manager SQL Commands Executor Operator Evaluator Parser Optimizer File and Access Methods Buffer Manager Disk Space Manager Database Recovery Manager DBMS data, files, indices,... 3

3 Anfragebearbeitung Grundproblem Anfragen sind deklarativ (SQL, relationale Algebra) Anfragen müssen in ausführbare (prozedurale) Form transformiert werden. Ziele Prozeduraler Query Execution Plan (QEP) Effizienz Schnelle Ausführung der Anfrage Wenig Ressourcenverbrauch (CPU, I/O, RAM, Bandbreite) 4

4 Anfragebearbeitung Parsing Parsen der Anfrage (Syntax) Überprüfung der Elemente (Semantik) Parserbaum Wahl des logischen Anfrageplans Baum mit logischen Operatoren Potentiell exponentiell viele Wahl des optimalen Plans (siehe Kapitel 9) Logische Optimierung Regelbasierte Optimierung Kostenbasierte Optimierung Wahl des physischen Anfrageplans Ausführbar Programm mit physischen Operatoren (siehe Kapitel 6 und 7) Wahl des optimalen Plans physische Optimierung SQL Anfrage Parsing Wahl des logischen Anfrageplans Wahl des physischen Anfrageplans Anfrageplan ausführen 5

5 Kostenmodell DB-Kardinalitäten Attributverteilungen Algebraischer Ausdruck Kostenmodell Ausführungskosten Index-Informationen Ballungsinformationen (Clustering) Folie nach Prof. Alfons Kemper, TU München 6

6 Kapitel 8 Schätzung von Anfragekosten Einführung Berechnung von Operatorkardinalitäten Histogramme 7 Architektur und Implementierung von Datenbanksystemen WS 2009/10 Melanie Herschel Universität Tübingen

7 Schätzung der Kardinalität Die Kardinalität einer Anfrage entspricht der Größe der Ausgabe der Anfrage. Die Kardinalität eines Operators entspricht der Größe der Ausgabe des Operators. Die Kardinalität wird typischerweise in Anzahl Seiten bzw. Anzahl Tupel angegeben. Die Selektivität einer Anfrage bzw. eines Operators ist sel = Anzahl Ausgabetupel / Anzahl Eingabetupel Die exakte Bestimmung von Kardinalitäten bedarf der Ausführung der Anfrage bzw. des Operators " Schätzung der Kardinalität zur Anfrageoptimierung 8

8 Schätzung der Kardinalität Zwei Varianten der Kardinalitätenschätzung: 1. Datenbankprofile Speichere Statistiken für Basisrelationen im database catalog, insb. Anzahl und Größe von Tupeln und Werteverteilungen von Attributen. Berechne diese Statistiken für Zwischenergebnisse einer Anfrage (Kardinalität der Operatoren der Anfrage) anhand eines statistischen Modells während der Anfrageoptimierung. Typischerweise basieren statistische Modelle auf vereinfachenden Annahmen wie die Datenunabhängigkeit und Gleichverteilung der Daten. Diese gelten oft nicht in realen Daten, deswegen sind die Schätzungen oft falsch. Um ein genaueres Ergebnis zu erzielen, werden Histogramme verwendet. 2. Sampling Sammeln relevanter Statistiken während der Anfrageausführung auf einem Sample der Eingabedaten. Extrapolieren der Ergebnisse auf Gesamteingabe. Es ist wichtig, die richtige Balance zwischen der Stichprobengröße und der Qualität der Schätzung zu finden. 9

9 Datenbankprofil Im Datenbankkatalog werden Profile gespeichert und bei SQL DML Befehlen (Datenbank-Updates) aktualisiert. Daten, die in einem Datenbankprofil typischerweise gespeichert sind: R NR s(r) V(A, R) Anzahl Tupel in Relation R Anzahl Seiten auf Platte die Tupel von R enthalten durschnittliche Tupellänge Anzahl verschiedener, sog. Distinct-Werte in Attribut A

10 Datenbankprofil Excerpt of IBM DB2 catalog information for a TPC-H database 1 db2 => SELECT TABNAME, CARD, NPAGES 2 db2 (cont.) => FROM SYSCAT.TABLES 3 db2 (cont.) => WHERE TABSCHEMA = TPCH ; 4 TABNAME CARD NPAGES ORDERS CUSTOMER NATION REGION PART SUPPLIER PARTSUPP LINEITEM record(s) selected. CARD = R, NPAGES = NR 11

11 Annahmen des Statistischen Modells Gleichverteilung und Unabhängigkeit (einfach, doch selten realistisch) Alle Werte eines Attributs erscheinen mit der gleichen Wahrscheinlichkeit (Gleichverteilung, engl. uniformity). Werte verschiedener Attribute sind unabhängig voneinander (Unabhängigkeit, engl. independence). Gegenbeispiele: Nachname Müller erscheint mit höherer Wahrscheinlichkeit als Nachname Blabla. Attribut PLZ ist nicht unabhängig von Attribut Stadt. Worst Case (unrealistisch) Es liegen keine Informationen über den Inhalt von Relationen vor. In diesem Fall wird z.b. im Fall einer Selektion nach Prädikat P angenommen, dass alle Tupel P entsprechen. Allwissendes Orakel (unrealistisch) Es liegen exakte Informationen über Werteverteilungen vor. Benötigt einen sehr großen Katalog oder genaues Wissen über eingehende Anfragen. 12

12 Schätzung der Kardinalität Relationaler Operatoren Selektion (mit Gleichheitsbedingung) Estimation for σ (Equality Predicate) Query: Q σ A=c (R) Selectivity sel(a = c) 1/V(A, R) Uniformity Q Record size s(q) Value Distribution V(A, Q) sel(a = c) R s(r) { 1, for A = A, c(v(a, R), Q ), otherwise. with (# of distinct colors obtained by drawing r balls from a bag of balls of m colors): r, for r < m/2, c(m, r) = (r + m)/3, for m/2 r < 2m, m, for r 2m Database Profiles Estimating Operator Set Operations, \, Statistical Views

13 Selectivity Estimation for σ (Other Predicates) Equality between attributes (Q σa=b (R)): Approximate selectivity by Selectivity Estimation forder σ (Other Predicates) Relationaler Operatoren Schätzung Kardinalität Selectivity Estimation for σ (Other Predicates) Selektion (andere sel(a Prädikate) = B) (Q = 1/ (R)): max(v(a, R), V(B, R)). Equality between attributes σa=b Equality between attributes (Q σa=b (R)): Selectivity Estimation for σby (Other Predicates) Approximate selectivity Cardin T Approximate selectivity with by Selectivity Estimation for σvalue (Other (Assumes that each of Predicates) the attribute fewer Database Profiles Gleichheit Equalitydistinct between attributes (Q σa=b (R)): zwischen Attributen values has a corresponding sel(a = B) = 1/ max(v(a, R), V(B, R)). sel(a = B) = 1/ max(v(a, R), V(B, R)). Equalityselectivity betweenbyattributes (Q σa=b (R)): Approximate Nimmt an, dass jeder Wert des Attributs mit weniger Distinct-Werten einem Estimating Operator Cardi Selectivity Estimation for σ (Other Predicates) match in the other attribute.) Independence Cardin Approximate selectivity by Wert des anderen Attributs entspricht. (Assumes that each value of the attribute with fewer (Assumes each the attribute with Datab Database Equality between attributes (Q σa=b (R)):Profiles that sel(a =selections B)value = of 1/ R), V(B,fewer R)). Range (Q max(v(a, = σ (R)): A>c distinct values has a corresponding distinct values has a corresponding Approximate selectivity by Set Operations, \, sel(a = B) = 1/ max(v(a, R), V(B, R)). In the database profile,match maintain the minimum Estima Estimation in the other attribute.) and Independence Estimating Operator Join " Cardin (Assumes that each value of the attribute with fewer match in the other attribute.) Independence Database Profiles maximum value of attribute A in = relation R,A>c Low(A, R) and Range selections (Q = σ (R)): sel(a B) = 1/ max(v(a, R), V(B, R)). Selection σ distinct values has a corresponding (Assumes that each value of the attribute with fewer Range selections (Q = σ (R)): Bereichsanfrage Database Profiles A>c High(A, R). In the database profile, maintain the Estimating minimum and Operator Cardi " match in the other attribute.) Independence distinct values has a corresponding Set Operations, \, (Assumes that each value of the attribute with fewer In the database profile, maintain the minimum and maximum value of attribute A in relation R, Low(A, R) and Im Datenbankprofil wird der minimale Wert Low(A, R) und maximale Datab Histog Join " σ Wert Estimating Operator Statistical Views Approximate selectivity by Uniformity Range selections (Q = σa>c match in von the other attribute.) Independence values has a corresponding High(A, R). π maximum value of attribute relation Low(A, R) and High(A, R) Attribut AA(R)): inindistinct Relation R R, gespeichert. Estim, \,Selection σ in the other and attribute.) Independence In the database profile, maintain the minimum Cardi R). High(A, Range selections (Q = σmatch (R)): Statist " A>c Approximate selectivity by Uniformity sel(a > c) = Set Operations, \, maximum of attribute in relation R, Low(A, and Range selections (Q =R)σA>c (R)): In thevalue database profile, Amaintain the minimum and Statistical ViewsJoin " Approximate Uniformity High(A, R). selectivity by In sel(a the database maintain the minimum and > c) = profile, " maximum A in relation R, Low(A, R) and value of attribute maximum value of attribute A in relation R, Low(A, R) and High(A, R) c Histo selectivity Statistical Views Approximate by Uniformity High(A, R)., Low(A, R) c High(A, R) sel(a > c) = High(A, R). High(A, R) Low(A, R) High(A, R) c, Low(A, R) c High(A, R) Statistical Views High(A,selectivity R) Low(A, R) Approximate Statis Approximate byuniformity Uniformity sel(a > c) = 0, selectivity by otherwise 0, otherwise High(A, R) c, Low(A, R)c)=c High(A, R) 9.10 sel(a > c) = sel(a > High(A,High(A, R) Low(A, R) c R) 14,von Datenbanksystemen Low(A, R) c2009/10 High(A, R) Universität Tübingen Architektur und Implementierung WS Melanie Herschel 0, High(A, otherwise R) Low(A, R) High(A, R) c High(A, R) c Estimation Estimation Assum Selecti Project Set Op Join Selection Projection Set Operations Assum Equi-W Equi-D Join Select Projec Set Op Join Equi-W Equi-D

14 for π Schätzung der Kardinalität Relationaler Operatoren Projektion For Q π L (R), estimating the number of result rows is difficult (L = A 1, A 2,..., A n : list of projection attributes): Esti Torsten Gr Q π L (R) Q Record size s(q) V(A, R), R, if L = A if keys of R L R, no dup. elim. min ( R, A i L V(A i, R) ), otherwise Independence A i L s(a i) Estim Database Profile Estimating Ope Set Operations, Statistical Views Val. Dist. V(A i, Q) V(A i, R) for A i L 15

15 Schätzung der Kardinalität Relationaler Operatoren Mengenoperatoren for, \, Q R S Q R + S s(q) = s(r) =s(s) schemas of R,S identical V(A, Q) V(A, R)+V(A, S) Q R \ S Q R S max(0, R S ) Q R s(q) = s(r) =s(s) V(A, Q) V(A, R) Database Profiles Estimating Operator Set Operations, \, Statistical Views Q = R S s(q) = s(r)+s(s) { V(A, Q) = V(A, R), V(A, S), for A R for A S

16 Database Profiles Schätzung Establish der a foreign Kardinalität key relationship (SQL) Relationaler Operatoren Join A special, yet very common case: foreign-key relationship between input relations R and S: 1 CREATE TABLE R (A INTEGER NOT NULL, PRIMARY KEY (A)); 4 CREATE TABLE S (..., Estimating Operator Set Operations, \, Im Allgemeinen Fall ist es sehr schwierig, die Kardinalität eines Joins abzuschätzen. 5 A INTEGER NOT NULL, 6... Ein Spezialfall, der häufig auftritt ist der Join zwischen einem Primärschlüssel und 7 FOREIGN KEY (A) REFERENCES R); einem entsprechenden Fremdschlüssel. Q R R.A=S.A S The foreign key constraint guarantees π A (S) π A (R). Thus: for Q = S. Statistical Views Ist ein Attribut nicht Unique, aber das andere Attribut dennoch eine Untermenge: Q R R.A=S.B S 9.13 Q = R S V(A, R), R S V(B, S), s(q) = s(r)+s(s) V(A, Q) { V(A, R), V(A, S), π B(S) π A (R) π A(R) π B (S) if A attribute in R otherwise Database Profiles Estimating Operator Set Operations, \, Statistical Views 17

17 Kapitel 8 Schätzung von Anfragekosten Einführung Berechnung von Operatorkardinalitäten Histogramme 18 Architektur und Implementierung von Datenbanksystemen WS 2009/10 Melanie Herschel Universität Tübingen

18 Histogramme In realistischen Datenbankinstanzen sind die Werte der aktiven Domäne eines Attributs (Werte, die tatsächlich gespeichert sind) nicht gleichmäßig verteilt. Um die tatsächliche Verteilung von Attributwerten besser zu reflektieren, wird diese durch Histogramme approximiert. Die aktive Domäne von Attribut A wird in adjazente Intervalle geteilt, indem Grenzwerte (boundary values) bi gewählt werden. Für jedes Intervall zwischen zwei Genzwerten werden Statistiken gesammelt, z.b., Anzahl Tupel mit bi-1 < r.a <= bi oder Anzahl Distinct-Werte von A im Intervall (bi-1, bi]. Die Intervalle eines Histogramms werden auch Buckets genannt. Weitherführende Literatur Yannis Ioannidis: The History of (Abridged), Proceedings of the Conference on Very Large Data Bases (VLDB), 2003, Berlin Histogram maintained for a column in a TPC-H database SELECT SEQNO, COLVALUE, VALCOUNT FROM SYSCAT.COLDIST WHERE TABNAME = LINEITEM AND COLNAME = L_EXTENDEDPRICE AND TYPE = Q ; SEQNO COLVALUE VALCOUNT

19 Histogramme Zwei Typen von Histogrammen sind weit verbreitet: 1. Histogramme Alle Buckets haben die gleiche Breite, d.h., Grenzwerte werden wie folgt gewählt bi = bi-1 + w, für eine Konstante w 2. Histogramme Alle Buckets enthalten die selbe Anzahl Tupel, d.h., ihre Breite ist variabel. Die Anzahl Buckets ist die Stellschraube, die den Tradeoff zwischen der Qualität der Kardinalitätsschätzung (histogram resolution) und die Größe (und daher den Speicherbedarf) eines Histogramms definiert. 20

20 Histogramme Beispiel Example (Actual value distribution) In Spalte A vom SQL Typ INTEGER (Domäne {..., -2, -1, 0, 1, 2, 3,...}) beobachten wir die folgende reale Verteilung von Werten in einer Relation R. Column A of SQL type INTEGER (domain {..., -2, -1, 0, 1, 2,... }). Actual non-uniform distribution in relation R: Database Profiles Estimating Operator Set Operations, \, Statistical Views

21 Histogramme Divide active domain of attribute A into B buckets of equal Wir teilen die Divide width. aktive active Domäne The bucket domain von Attribut width of attribute A win will B Buckets A be into Bgleicher bucketsbreite of equal w. Die Bucket- Breite w wird width. berechnet The bucket durch width High(A, w will R) be Low(A, R)+1 w = High(A, R) Low(A, R)+1 w = B B Beispiel Example Example (B = (Equi-width (Equi-width 4) histogram (B = 4)) histogram (B = 4)) Database Profiles Database Profiles Set Operations, \, Set Operations, \, Estimating Operator Estimating Operator Statistical Views Statistical Views Zusätzlich zu den Grenzwerten speichern wir die Summe der Wertehäufigkeiten. Maintain sum of value frequencies in each bucket (in addition Maintainto sum bucket of boundaries value frequencies b i ). in each bucket (in

22 Divide active domain of attribute A into B buckets of equal width. Histogramme The bucket width w will be Selektion mit Gleichheitsbedingung High(A, R) Low(A, R)+1 w = B Beispiel (Q Example A=5(R) (Equi-width ) histogram (B = 4)) Database Profiles Estimating Operator Set Operations, \, Statistical Views Wert 5 ist in Bucket [5, 8] (mit 19 Tupeln) Unter der Annahme Maintain einer sum Gleichverteilung of value frequencies von Werten innerhalb each bucket eines Buckets (in haben wir Q = 19 / B = 19 / 4 5 addition to bucket boundaries b i ) Tatsächlicher ist Q = 1. Welchen Schätzwert erhalten wir ohne Histogramm? 23

23 Divide active domain of attribute A into B buckets of equal width. Histogramme The bucket width w will be Selektion mit Bereichsprädikat High(A, R) Low(A, R)+1 w = B Beispiel (Q A>7 AND A <= 16 Example (Equi-width (R) ) histogram (B = 4)) Database Profiles Estimating Operator Set Operations, \, Statistical Views Anfrageintervall schließt Buckets [9, 12] und [13, 16] ein. Anfrageintervall umfasst einen Teil von Bucket [5, 8] Q = / 4 45 Maintain sum of value frequencies in each bucket (in addition to bucket boundaries b i ) Tatsächlicher ist Q = 48. Welchen Schätzwert erhalten wir ohne Histogramm? 24

24 Histogramme Initiallisierung und Aktualisierung Initialisierung eines Histogramm für ein Attribut A der Relation R mit B Buckets 1. Berechne Grenzwerte bi zwischen High(A,R) und Low(A, R). 2. Scanne R sequentiell. 3.Während des Scans werden B Tupel-Häufigkeits-Counter (einen für jeden Bucket) verwaltet. Ein Counter wird inkrementiert, wenn ein Tupel des entsprechenden Buckets gelesen wird. Wenn R (z.b. aufgrund seiner Größe) nicht gescannt werden kann, scannen wir eine Stichprobe RSample aus R und skalieren die Counter durch R / RSample Aktualisierung Werden Tupel gelöscht, werden einfach die entsprechenden Counter dekrementiert. Werden Tupel hinzugefügt, und fallen diese in einen existierenden Bucket (Wert zwischen High(A, R) und Low(A, R) ) so inkrementieren wir die entsprechenden Counter. Ansonsten ist prinzipiell eine Neubestimmung der Bucketgrenzen nötig. 25

25 Divide active domain of attribute A into B buckets of roughly the same number of tuples in each bucket, depth d Histogramme Divide of each active bucket domainwill of attribute be A into B buckets of Die aktive Domäne roughly the eines same Attributs number A wird of tuples in B Buckets in each bucket, unterteilt, depth wobei d jeder Bucket (ungefähr) die of each selbe bucket Anzahl will Tupel be enthält. Die Anzahl Tupel in eine Bucket, die Tiefe d, wird berechnet als d = R d = R B. B. Example (Equi-depth histogram (B = 4, d = 16)) Beispiel Example mit (Equi-depth B = 4, d = histogram 16 (B = 4, d = 16)) Maintain depth (and bucket boundaries b i ). Maintain depth (and bucket boundaries b i ). 5 Database Profiles Estimating Operator Set Operations, \, Statistical Views 9.23 Estima 26 Estima Database Profiles Estimating Operat Set Operations, \, Statistical Views

26 Histogramme Example (Histogram on customer age attribute (B = 8, R = 5,600)) Intuitiv werden Werte mit hoher Häufigkeit als wichtiger gewertet als Werte mit geringer Häufigkeit. Die Auflösung des passt sich somit Daten 1100 an, die starke 1000 Unterschiede in den Häufigkeiten aufweisen. idth vs. Histogramme investieren Bytes in dichte Datenregionen. le (Histogram Beispiel on Histogramme customer age für attribute Kundenalter (B = (B 8, = R 8, R = = 5,600)) 5600) Histogramm vs Database Profiles Estimating Operator Set Operations , \, Equi-depth histogram invests bytes in the densely Statistical Views Histogramm populated customer age region between 30 and

27 Histogramme Selektion mit Gleichheitsbedingung : Equality Selections Example (Q σ A=5 (R)) Beispiel (Q A=5(R) ) Value 5 is in first bucket [1, 7] (with d = 16 tuples) Assume uniform distribution within the bucket: Wert 5 ist in Bucket [1, 7] (mit d = 16 Tupeln) Unter der Annahme einer Gleichverteilung von Werten innerhalb eines Buckets haben wir Q = d / 7 = 16 / 7 2 Database Profiles Estimating Operator Set Operations, \, Statistical Views Q = d/7 = 16/7 2. (Actual: Q = 1) 28

28 Histogramme Selektion mit Bereichsprädikat : Equality Selections Example (Q σ A=5 (R)) Beispiel (Q A>5 AND A <= 16 (R) ) Value 5 is in first bucket [1, 7] (with d = 16 tuples) Assume uniform distribution within the bucket: Anfrageintervall schliesst Buckets [8, 9], [10, 11] und [12, 16] ein. Anfrageintervall umfasst einen Teil von Bucket [1, 7] Q = / 7 53 (Der exakte Wert beträgt Q = 59). (Actual: Q = 1) Q = d/7 = 16/7 2. Database Profiles Estimating Operator Set Operations, \, Statistical Views 29

29 Histogramme Initiallisierung : Construction To construct an equi-depth histogram for relation R, Initialisierung eines Histogramms für ein Attribut A der Relation R mit B attribute A: Buckets 1.Berechne Tiefe d = R / B. 2.Sortiere R nach A. 1 Compute depth d = R /B. 2 Sort R by sort criterion A. 3 b 0 = Low(A, R), then determine the b i by dividing the 3.Sei b0 = Low(A, R). Bestimme Grenzwerte bi indem das sortierte Feld A in Buckets der Größe d geteilt sorted werden. R into chunks of size d. Example (B = 4, R = 64) Beispiel mit B = 4, R = 64 1 d = 64 /4 = Sorted R.A: 1,2,2,3,3,5,6,6,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,... 3 Boundaries of d-sized chunks in sorted R: 1,2,2,3,3,5,6,6,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,... {z } {z } b 1 =7 b 2 =9 Database Profiles Estimating Operator Set Operations, \, Statistical Views 30

30 Zusammenfassung Anfragebearbeitung Um einen optimalen Anfrageplan unter allen möglichen zu finden, bewertet der Optimierer Pläne anhand eines komplexen Kostenmodells. Ein wichtiger Bestandteil dieses Kostenmodells sind die I/O Kosten, die durch die Menge an Daten (Seiten oder Tupel), die den Plan durchlaufen, approximiert wird. Kardinalität einer Anfrabe bzw. eines Operators Die Kardinalität entspricht der Größe der Ausgabe einer Anfrage bzw. eines Operators. Zur Schätzung der Kardinalität sammelt ein DBMS Statistiken über die Basisrelationen. Annahmen wie die Gleichverteilung und Unabhängigkeit von Daten machen eine Schätzung der Kardinalität möglich, sind jedoch oft fern der Realität. Histogramme Um potentiell eine bessere Schätzung zu erzielen, werden Histogramme für gewisse Daten angelegt. Zwei Histogramm-Typen: - und -Histogramme 31

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

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

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

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Datenbanksysteme I Anfragebearbeitung und -optimierung. 27.6.2011 Felix Naumann

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

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

Transaktionsverwaltung

Transaktionsverwaltung Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung

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

Operator-Kostenmodelle für Fortschrittsschätzung und Opt. Datenbanksystemen

Operator-Kostenmodelle für Fortschrittsschätzung und Opt. Datenbanksystemen Operator-Kostenmodelle für und Optimierung in Datenbanksystemen 23. Oktober 2012 Übersicht 1 Grundlagen Ziele der Arbeit Grundlagen Kostenmodelle Neues Framework Entwickelte Hilfsmittel 2 3 Ziele der Arbeit

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

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. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen

Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen Datenbanksysteme II Architektur und Implementierung von Datenbanksystemen Winter 2009/10 Melanie Herschel Willhelm-Schickard-Institut für Informatik Kapitel 1 Einführung Vorstellung Überblick Organisatorisches

Mehr

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008

Histogramme in der Datenbankoptimierung. Marian Marx 26.06.2008 Histogramme in der Datenbankoptimierung Marian Marx 26.06.2008 Inhaltsverzeichnis 1. Histogramme im Allgemeinen 1.1 Definition Histogramm 1.2 Beispiel Histogramm 2. Histogramme in der Datenbankoptimierung

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

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

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

Mehr

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

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

Mehr

SQL-Optimizer und Optimierung bei DB2

SQL-Optimizer und Optimierung bei DB2 SQL-Optimizer und Optimierung bei DB2 S.K. Consulting GmbH, München DB2_SQL_PERF - 1 - Inhaltsverzeichnis 1. Optimierung bei DB2 1.1 Einflussfaktoren auf die Entscheidung des Optimizers 1.2 Übersicht über

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation und Zugriffsstrukturen Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

MIN oder MAX Bildung per B*Tree Index Hint E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich

Mehr

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014

Datenbanksysteme 2 Frühjahr-/Sommersemester 2014 28. Mai 2014 Lehrstuhl für Praktische Informatik III Prof. Dr. Guido Moerkotte Email: moer@db.informatik.uni-mannheim.de Marius Eich Email: marius.eich@uni-mannheim.de Datenbanksysteme 2 8. Übungsblatt Frühjahr-/Sommersemester

Mehr

R ist freie Software und kann von der Website. www.r-project.org

R ist freie Software und kann von der Website. www.r-project.org R R ist freie Software und kann von der Website heruntergeladen werden. www.r-project.org Nach dem Herunterladen und der Installation von R kann man R durch Doppelklicken auf das R-Symbol starten. R wird

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

Abfrage-Befehle in MySQL -diverse Funktionen -

Abfrage-Befehle in MySQL -diverse Funktionen - Abfrage-Befehle in MySQL -diverse Funktionen - Berechnungen mit MySQL -Einführung Ich liebe Funktionen! Es sollen die Projektbezeichnung, der Auftragswert, die Mehrwertsteuer und der Bruttobetrag für jedes

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

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

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

MySQL: Einfaches Rechnen. www.informatikzentrale.de

MySQL: Einfaches Rechnen. www.informatikzentrale.de MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank

Mehr

Indexing und Performance Tuning

Indexing und Performance Tuning Indexing und Performance Tuning Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig PostgreSQL Indexing - Jeder hat schon einmal ein Telefonbuch Benutzt - Jeder hat schon einmal Suchen durchgeführt CREATE

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz Preisvergleich - Amazon Web Services M3 Instanz Stand Preisliste : 10.04.2014 www.profitbricks.de Stand Preisliste : 10.04.2014 Hotline: 0800 22 44 66 8 product@profitbricks.com Vorwort Preisvergleiche

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Aufgabe 1: [Logische Modellierung]

Aufgabe 1: [Logische Modellierung] Aufgabe 1: [Logische Modellierung] a) Entwerfen Sie für das von Ihnen entworfene Modell aus Aufgabe 2 des 1. Übungsblattes ein Star-Schema. b) Entwerfen Sie für das vorangegangene Modell einen Teil eines

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

SQL Intensivpraktikum SS 2008

SQL Intensivpraktikum SS 2008 SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr

Kapitel 6 Anfragebearbeitung

Kapitel 6 Anfragebearbeitung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Kapitel 8: Physischer Datenbankentwurf

Kapitel 8: Physischer Datenbankentwurf 8. Physischer Datenbankentwurf Seite 1 Kapitel 8: Physischer Datenbankentwurf Speicherung und Verwaltung der Relationen einer relationalen Datenbank so, dass eine möglichst große Effizienz der einzelnen

Mehr

W-Rechnung und Statistik für Ingenieure Übung 11

W-Rechnung und Statistik für Ingenieure Übung 11 W-Rechnung und Statistik für Ingenieure Übung 11 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) Mathematikgebäude Raum 715 Christoph Kustosz (kustosz@statistik.tu-dortmund.de) W-Rechnung und Statistik

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

Das neue Volume-Flag S (Scannen erforderlich)

Das neue Volume-Flag S (Scannen erforderlich) NetWorker 7.4.2 - Allgemein Tip 2, Seite 1/5 Das neue Volume-Flag S (Scannen erforderlich) Nach der Wiederherstellung des Bootstraps ist es sehr wahrscheinlich, daß die in ihm enthaltenen Informationen

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren I. Kapitel 7. Sortieren und Suchen Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Null-Werte in Relationalen Datenbanken

Null-Werte in Relationalen Datenbanken Seminar: Imperfektion in Datenbanken WS03/04 Null-Werte in Relationalen Datenbanken Thomas Bierhance Einführung Null-Werte in DBen sind notwendiges Übel, da... (1) das Wissen über die tatsächliche Welt

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

SQL Performance - Tips Do's & Don'ts

SQL Performance - Tips Do's & Don'ts SQL Performance - Tips Do's & Don'ts S.K. Consulting GmbH, München DB2_SQL_PERF - 1 - Inhaltsverzeichnis I. Richtlinien bei der Verwendung von SQL 1.1. In Programmen "verbotene" SQL- Anweisungen 1.2 SQL

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Kapitel MK:IV. IV. Modellieren mit Constraints

Kapitel MK:IV. IV. Modellieren mit Constraints Kapitel MK:IV IV. Modellieren mit Constraints Einführung und frühe Systeme Konsistenz I Binarization Generate-and-Test Backtracking-basierte Verfahren Konsistenz II Konsistenzanalyse Weitere Analyseverfahren

Mehr

Sortierte Folgen 250

Sortierte Folgen 250 Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung Ludwig-Maximilians-Universität München München, 02.07.2010 Department Institut für Informatik PD Dr. Peer Kröger Andreas Züfle Datenbanksysteme II SS 2010 Übungsblatt 9: Wiederholung Besprechung: 20.07.2010

Mehr

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:

Mehr

Agentur für Werbung & Internet. Schritt für Schritt: E-Mail-Konfiguration mit Apple Mail

Agentur für Werbung & Internet. Schritt für Schritt: E-Mail-Konfiguration mit Apple Mail Agentur für Werbung & Internet Schritt für Schritt: E-Mail-Konfiguration mit Apple Mail E-Mail-Konfiguration mit Apple Mail Inhalt E-Mail-Konto erstellen 3 Auswahl des Servertyp: POP oder IMAP 4 Konfiguration

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr