Datenbank- Implementierung

Größe: px
Ab Seite anzeigen:

Download "Datenbank- Implementierung"

Transkript

1 DB2 Crash 0 1 Crash-Kurs Datenbank- Implementierung Uni Magdeburg Gunter Saake

2 DB2 Crash 0 1 Überblick 1. Architektur von Datenbanksystemen 2. Basisalgorithmen für Datenbankoperationen 3. Optimierung von Anfragen

3 DB2 Crash Architektur Schichtenmodell eines relationalen DBMS

4 DB2 Crash 1 2 Betrachtete Fragestellungen Externe Ebene Konzeptuelle Ebene Interne Ebene Anfragen Updates Optimierer Auswertung Plattenzugriff P1... DB-Operationen Einbettung Data Dictionary Pn Masken Sichtdefinition Dateiorganisation Datendefinition

5 DB2 Crash 1 3 Fünf-Schichten-Architektur basierend auf Idee von Senko 1973 Weiterentwicklung von Härder 1987 Umsetzung im Rahmen des IBM-Prototyps System R genauere Beschreibung der Transformationskomponenten schrittweise Transformation von Anfragen/Änderungen bis hin zu Zugriffen auf Speichermedien Definition der Schnittstellen zwischen Komponenten

6 DB2 Crash Schichten-Architektur: Schnittstellen I mengenorientierte Schnittstelle deklarative DML auf Tabellen, Sichten, Zeilen satzorientierte Schnittstelle Sätze, logische Dateien, logische Zugriffspfade navigierender Zugriff interne Satzschnittstelle Sätze, Zugriffspfade Manipulation von Sätzen und Zugriffspfaden

7 DB2 Crash Schichten-Architektur: Schnittstellen II Pufferschnittstelle Seiten, Seitenadressen Freigeben und Bereitstellen Datei- oder Seitenschnittstelle Hole Seite, Schreibe Seite Geräteschnittstelle Spuren, Zylinder Armbewegungen

8 DB2 Crash Schichten-Architektur: Funktionen Mengenorientierte Schnittstelle (MOS) Satzorientierte Schnittstelle (SOS) Interne Satz schnittstelle (ISS) Datensystem Zugriffssystem Speichersystem Systempuffer schnittstelle (SPS) Pufferverwaltung Datei schnittstelle (DS) Betriebssystem Übersetzung, Zugriffspfadauswahl, Zugriffskontrolle, Integritätskontrolle Data Dictionary, Currency Pointer, Sortierung, Transaktionsverwaltung Record Manager, Zugriffspfadverwaltung, Sperrverwaltung, Log/Recovery Systempufferverwaltung mit Seitenwechselstrategie Externspeicherverwaltung Geräte schnittstelle (GS)

9 DB2 Crash Schichten-Architektur: Objekte Mengenorientierte Schnittstelle (MOS) Satzorientierte Schnittstelle (SOS) Interne Satz schnittstelle (ISS) Speichersystem Systempuffer schnittstelle (SPS) Pufferverwaltung Datei schnittstelle (DS) Geräte schnittstelle (GS) Datensystem Zugriffssystem Betriebssystem Relationen Sichten externe Sätze, Scans, Index Strukturen interne Sätze, Bäume, Hashtabellen Segmente Seiten Dateien Blöcke Zylinder Spuren SQL : select... from... QBE, QUEL,... FIND NEXT satz STORE satz Speichere internen Satz s INSERT in B Baum Bereitstellen Seite j Freigeben Seite j Lies Block k Schreibe Block k Treiber

10 DB2 Crash 1 8 Erläuterungen (I) mengenorientierte Schnittstelle MOS: deklarative Datenmanipulationssprache auf Tabellen und Sichten (etwa SQL) durch Datensystem auf satzorientierte Schnittstelle SOS umgesetzt: navigierender Zugriff auf interner Darstellung der Relationen manipulierte Objekte: typisierte Datensätze und interne Relationen sowie logische Zugriffspfade (Indexe) Aufgaben des Datensystems: Übersetzung und Optimierung von SQL-Anfragen

11 DB2 Crash 1 9 Erläuterungen (II) durch Zugriffssystem auf interne Satzschnittstelle ISS umgesetzt: interne Tupel einheitlich verwalten, ohne Typisierung Speicherstrukturen der Zugriffspfade (konkrete Operationen auf B -Bäumen und Hash-Tabellen), Mehrbenutzerbetrieb mit Transaktionen

12 DB2 Crash 1 10 Erläuterungen III durch Speichersystem Datenstrukturen und Operationen der ISS auf interne Seiten eines virtuellen linearen Adressraums umsetzen Manipulation des Adressraums durch Operationen der Systempufferschnittstelle SPS Typische Objekte: interne Seiten, Seitenadressen Typische Operationen: Freigeben und Bereitstellen von Seiten, Seitenwechselstrategien, Sperrverwaltung, Schreiben des Log-Buchs durch Pufferverwaltung interne Seiten auf Blöcke der Dateischnittstelle DS abbilden Umsetzung der DS-Operationen auf Geräteschnittstelle erfolgt durch BS

13 DB2 Crash Basisalgorithmen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden

14 DB2 Crash 2 2 Datenbankparameter Komplexitätsbetrachtungen (maximal O(n 2 ) als Forderung) Aufwandsabschätzungen (konkret) Datenbankparameter als Grundlage müssen im Katalog des Datenbanksystems gespeichert werden

15 DB2 Crash 2 3 Datenbankparameter (II) n r : Anzahl Tupel in Relation r b r : Anzahl von Blöcken (Seiten), die Tupel aus r beinhalten s r : (mittlere) Größe von Tupeln aus r (s für size) f r : Blockungsfaktor (Tupel aus r pro Block) mit bs Blockgröße f r = bs s r, Tupel einer Relation kompakt in Blöcken: nr b r = f r

16 DB2 Crash 2 4 Datenbankparameter (III) V (A, r): Anzahl verschiedener Werte für das Attribut A in der Relation r (V für values): V (A, r) = π A (r) A Primärschlüssel: V (A, r) = n r SC(A, r): Selektionskardinalität (selection cardinality); durchschnittliche Anzahl von Ergebnistupeln bei σ A=x (r) für x π A (r) Schlüsselattribut A: SC(A, r) = 1 Allgemein: SC(A, r) = n r V (A, r) Weiterhin: Verzweigungsgrad bei B-Baum-Indexen, Höhe des Baums, Anzahl von Blätterknoten

17 DB2 Crash 2 5 Komplexität von Grundalgorithmen Grundannahmen Indexe B + -Bäume dominierender Kostenfaktor: Blockzugriff Zugriff auf Hintergrundspeicher auch für Zwischenrelationen Zwischenrelationen zunächst für jede Grundoperation Zwischenrelationen hoffentlich zum großen Teil im Puffer einige Operationen (Mengenoperationen) auf Adreßmengen (TID-Listen)

18 DB2 Crash 2 6 Hauptspeicheralgorithmen wichtig für den Durchsatz des Gesamtsystems, da sie sehr oft eingesetzt werden Tupelvergleich (Duplikate erkennen, Sortierordnung angeben,... ) iterativ durch Vergleich der Einzelattribute, Attribute mit großer Selektivität zuerst TID-Zugriff TID innerhalb des Hauptspeichers: übliche Vorgehensweise bei der Auflösung indirekter Adressen

19 DB2 Crash 2 7 Zugriffe auf Datensätze Relationen: interner Identifikator RelID Indexe: interner Identifikator IndexID Primärindex, etwa I(Personen(PANr))) bei A = a wird maximal ein Tupel pro Zugriff Sekundärindex, etwa I(Ausleihe(PANr))) Bsp.: PANr = 4711 liefert i.a. mehrere Tupel Indexzugriffe: Ergebnis TID-Listen

20 DB2 Crash 2 8 Zugriffe auf Datensätze (II) fetch-tupel Direktzugriff auf Tupel mittels TID-Wertes holt Tupel in Tupel-Puffer fetch-tupel(relid, TID) Tupel-Puffer fetch-tid: TID zu (Primärschlüssel-)Attributwert bestimmen fetch-tid(indexid, Attributwert) TID weiterhin auf Relationen und Indexen: Scans

21 DB2 Crash 2 9 Beispiel in SQL select * from KUNDE where KName = Meier Gleichheitsanfrage über einen Schlüssel put: hier Anzeige des Ergebnisses aktuellertid := fetch-tid(kunde-kname-index, Meyer ); aktuellerpuffer:= fetch-tupel(kunde-relationid, aktuellertid); put(aktuellerpuffer);

22 DB2 Crash 2 10 Vergleich der Techniken für Joins s s s r r r Nested-Loops-Join Merge-Join Hash-Join

23 DB2 Crash 2 11 Aggregation & Gruppierung Anfragen: select A, count(*) from T group by A Algebraoperator: γ count(*),a (r(t)) Implementierungsvarianten: Nested Loops Sortierung Hashing

24 DB2 Crash Optimierung Grundprinzipien, motivierende Beispiele Phasen der Anfrageverarbeitung Übersetzung von SQL in Relationenalgebra Logische Optimierung (algebraisch, Tableau) Interne Optimierung Kostenbasierte Auswahl

25 DB2 Crash 3 2 Grundprinzipien Basissprachen SQL Relationenkalküle hier: Relationenalgebra Ziel der Optimierung möglichst schnelle Anfragebearbeitung möglichst wenig Seitenzugriffe bei der Anfragebearbeitung möglichst in allen Operationen so wenig wie möglich Seiten (Tupel) berücksichtigen

26 DB2 Crash 3 3 Teilziele einer Optimierung 1. Selektionen so früh wie möglich 2. Basisoperationen zusammengefassen und ohne Zwischenspeicherung realisieren 3. Redundante Operationen, Idempotenzen oder leere Zwischenrelationen entfernen 4. Zusammenfassen gleicher Teilausdrücke: Wiederverwendung von Zwischenergebnissen

27 DB2 Crash 3 4 Beispiel KUNDE { KName, Kadr, Kto } AUFTRAG { KName, Ware, Menge } select KUNDE.KName, Kto from KUNDE, AUFTRAG where KUNDE.KName = AUFTRAG.KName and Ware = Kaffee Relation KUNDE: 100 Tupel; eine Seite: 5 Tupel Relation AUFTRAG: Tupel; eine Seite: 10 Tupel 50 der Aufträge betreffen Kaffee Tupel der Form (KName, Kto): 50 auf eine Seite 3 Zeilen von KUNDE AUFTRAG auf eine Seite Puffer für jede Relation Größe 1, keine Spannsätze

28 DB2 Crash 3 5 Direkte Auswertung 1. R 1 := KUNDE AUFTRAG Seitenzugriffe: l : (100/ /10) = s : ( )/3 = (ca.) 2. R 2 := σ SEL (R 1 ) l : (ca.) s : 50/3 = 17 (ca.) 3. ERG := π PROJ (R 2 ) l : 17 s : 1 Insgesamt ca Seitenzugriffe und ca Seiten zur Zwischenspeicherung

29 DB2 Crash 3 6 Optimierte Auswertung 1. R 1 := σ Ware= Kaffee (AUFTRAG) l : /10 = s : 50/10 = 5 2. R 2 := KUNDE KName=KName R 1 l : 100/5 5 = 100 s : 50/3 = ERG := π PROJ (R 2 ) l : 17 s : 1 ca Seitenzugriffe (Faktor 500 verbessert)

30 DB2 Crash 3 7 Auswertung mit Indexausnutzung Indexe I(AUFTRAG(Ware)) und I(KUNDE(KName)) 1. R 1 := σ Ware= Kaffee (AUFTRAG) über I(AUFTRAG(Ware)) l : minimal 5, maximal 50; s : 50/10 = 5 2. R 2 := sortiere R 1 nach KName l + s : 5 log 5 = 15 (ca.) 3. R 3 := KUNDE KName=KName R 2 l : 100/5 + 5 = 25; s : 50/3 = ERG := π PROJ (R 3 ) l : 17; s : 1 maximal ca. 130 und minimal ca. 85 Seitenzugriffe

31 DB2 Crash 3 8 Gegenüberstellung der Varianten Variante der Ausführung Aus- direkte wertung optimierte Auswertung Seiten für Zwischenergebnisse Lese- und Schreibzugriffe ca ca ca Auswertung min mit Index max mit Pipelining 85 bis (plus sortieren)

32 DB2 Crash 3 9 Phasen der Anfrageverarbeitung 1. Übersetzung und Sichtexpansion in Anfrageplan arithmetische Ausdrücke vereinfachen Unteranfragen auflösen Einsetzen der Sichtdefinition 2. Logische oder auch algebraische Optimierung Anfrageplan unabhängig von der konkreten Speicherungsform umformen; etwa Hineinziehen von Selektionen in andere Operationen

33 DB2 Crash 3 10 Phasen der Anfrageverarbeitung II 3. Interne Optimierung konkrete Speicherungstechniken (Indexe, Cluster) berücksichtigen Algorithmen auswählen mehrere alternative interne Pläne 4. Kostenbasierte Auswahl Statistikinformationen (Größe von Tabellen, Selektivität von Attributen) für die Auswahl eines konkreten internen Planes nutzen 5. Code-Erzeugung Umwandlung des Zugriffsplans in ausführbaren Code

34 DB2 Crash 3 11 Ablauf und Sprachen SQL Übersetzung Sichtauflösung Optimierung Code-Erzeugung Ausführung Algebra Algebra Zugriffsplan Code logische Optimierung physische Optimierung kostenbasierte Auswahl

35 DB2 Crash 3 12 Phasen der Optimierung Optimierung Algebraterm logische Optimierung physische Optimierung Algebraterm mehrere Zugriffspläne kostenbasierte Auswahl Zugriffsplan

36 DB2 Crash 3 13 Logische Optimierung heuristische Methoden etwa algebraische Optimierung für Relationenalgebra + Gruppierung,...

37 DB2 Crash 3 14 Algebraische Optimierung Termersetzung von Termen der Relationenalgebra anhand von Algebraäquivalenzen Äquivalenzen gerichtet als Ersetzungsregeln heuristische Methode: Operationen verschieben, um kleinere Zwischenergebnisse zu erhalten; Redundanzen erkennen

38 EntlAdr DB2 Crash 3 15 Unoptimierter Anfrageplan Titel Datum Autor Heuer ProjList Bücher Ausleihe Entleiher ProjList=Titel Autor Verlag ISBN EntlName

39 DB2 Crash 3 16 Anfrageplan (II) nach Verschieben der Selektionen Titel Autor Heuer Datum ENTLEIHER BÜCHER AUSLEIHE

40 $ "# DB2 Crash 3 17 '& % # %! Anfrageplan (III) mit zusätzlichen Projektionen

41 DB2 Crash 3 18 Interne Optimierung erster Schritt: Relationenalgebraoperationen in interne Operationen umsetzen weitere Operationen Tupelmengen zum Teil durch sortierte Tupellisten ersetzen statt Mengen Multimengen neben Tupeln auch TID-Listen verarbeiten Zugriffe auf Indexe

42 DB2 Crash 3 19 Auswahl von Berechnungsalgorithmen Projektion: π REL/mit AttList :REL Projektion durch Relationen-Scan (mit bezeichnet eine Projektion mit Duplikateliminierung) π REL/ohne AttList : Projektion durch Relationen-Scan ohne Duplikateliminierung π SORT/mit AttList :SORT Projektion durch Scan über einer nach AttList sortierten Relation mit Duplikateliminierung π SORT/ohne AttList : Projektion durch Scan über einer nach AttList sortierten Relation ohne Duplikateliminierung

43 DB2 Crash 3 20 Auswahl von Berechnungsalgorithmen II Selektion: RELσ REL ϕ : Selektion durch Relationen-Scan Selektion über Index (später detailliert) Verbund: DIRECT : Verbund durch Nested-Loops DIRECT MERGE : Verbund durch Mischen MERGE (Voraussetzung: Eingaberelationen nach Verbundattribut(en) sortiert). HASH : Verbund durch Hash-Join HASH Operatoren für Vereinigung, Differenz und Durchschnitt analog zum Verbund; Vereinigung mit oder ohne Duplikateliminierung

44 DB2 Crash 3 21 Indexzugriff Zugriff über Index liefert TID-Liste Spezialfall σ IND nach A Varianten: σ IND AΘa(I(R(A))) list(tid) true (I(R(A))): alle Indexeinträge sortiert duplikatfreier Primärindex: Ergebnis bei A = a ein einzelnes Tupel Tupel direkt im Index: Ergebnis des Indexzugriffs ist sortierte Liste von Tupeln Bereichsanfrage: Prädikat a 1 A a 2

45 DB2 Crash 3 22 Indexzugriff II Index kann auch Projektion unterstützen Ergebnis von σ IND Operator nehmen true kombinierter Zugriff: π IND/mit AttList (I(R(A))) als Eingabe für πsort/- bzw. π IND/ohne AttList in π IND/- A (I(R(A))) kann auf Zugriff auf Basisrelation ganz verzichtet werden

46 DB2 Crash 3 23 Neue Operatoren Für TID-Listen: Realisierung -Operator ρ: ρ( TID-Liste für R-Tupel, r(r)) Auf TID-Listen, und Sortierung von Tupelmengen: ω Relation sortieren: ω AttList ( Tupel-Folge ) ρ(σ IND true(i(r(attlist))), r(r)) = ω AttList (r(r)) erste Variante Aufwand O( R ), zweite Variante O( R log R )

47 DB2 Crash 3 24 Beispiele für interne Zugriffspläne select * from LIEFERANT where Ware = Tee and ( LName = Tom or LName = Jerry ) and Preis < 10

48 DB2 Crash 3 25 Zwei Zugriffspläne REL Preis LIEF LIEF IND Ware Tee IND LName Tom I(LIEF(LName)) IND LName Jerry I(LIEF(LName)) I(LIEF(Ware))

49 DB2 Crash 3 26 Pipelining von Operationen REL ohne KUNDE.KName Kto KName KName KName IND ohne KName Kto REL ohne KName I(KUNDE(Ware)) IND Ware Tee AUF I(AUF(Ware)) π A (σ ϕ (r(r))) π A σ ϕ (r(r))

50 DB2 Crash 3 27 Pipelining von Operationen II Typische Verschmelzungen: Kombination von Selektion und Projektion Kombination einer Selektion mit Verbund die Integration einer Selektion in die äußere Schleife eines Nested-Loops-Verbund Integration von Selektionen in den Merge-Join Kopplung der Selektion mit der Realisierung select K.KName, Kto from KUNDE K, AUFTRAG A where K.KName = A.KName and A.Ware = Tee

51 DB2 Crash 3 28 Gemeinsame Teilanfragen Aufgabe: Erkennung gemeinsamer Teilanfragen Gleichsetzen der zugehörigen Teilbäume des Operatorbaums Probleme: unterschiedliche syntaktische Form: r 1 r 2 identisch zu r 2 r 1 Überdeckung (σ ϕ überdeckt n σ ϕ ψ )

52 DB2 Crash 3 29 Kostenbasierte Auswahl Berücksichtigung: tatsächliche Größe der Datenbankrelationen Existenz von Indexen (Primär-, Sekundär-) und ihre Größe Clustering mehrerer Relationen Selektivität eines Attributs, über das ein Index aufgebaut wurde

53 DB2 Crash 3 30 Relevante Datenbankparameter Systemparameter aus Katalog: s: Länge einer Seite (nutzbarer Seitenbereich in Byte) Größe der Datenbank: Anzahl S der belegten Seiten (wird benötigt, wenn Tupel von Relationen gestreut gespeichert werden) statistische Daten über Relationen und Indexe: T R : Anzahl der Tupel in Relation R L R : durchschn. Länge eines Tupels in R W A,R : Anzahl der verschiedenen Werte des Attributes A in R (Indexinformation oder Statistik) Statistiken Aktualisierung bei Änderungsoperation oder Aufruf entsprechender Kommandos

54 DB2 Crash 3 31 Selektivität von Attributen Anzahl der verschiedenen Werte des Attributs A in R: W A,R Gleichheit: Ungleichheit: sel(a=c, R) = 1 W A,R sel(not A=c, R) = 1 sel(a=c, R) = 1 1 W A,R Vergleich mittels <, >,...: sel(a<c, R) = sel(a>c) = 1 2

55 DB2 Crash 3 32 Selektivität von Attributen II Verfeinerung: Bereichsanfragen: sel(a c, R) = A max c A max A min sel(c u A c o, R) = Selektivitäten für Verbunde: c o c u A max A min sel (ϕ, R, S) R ϕ S R S

56 DB2 Crash 3 33 Selektivitätsabschätzung 1. Parametrisierte Funktionen Parametriserung einer Funktion, die die Datenverteilung gut widerspiegelt, möglichst genau angeben (etwa Normalverteilung) 2. Histogramme Wertebereich in Unterbereiche aufteilen und die tatsächlich in diese Unterbereiche fallenden Werte zählen 3. Stichproben Selektivität anhand einer zufälligen Stichprobe der gespeicherten Datensätze bestimmen

57 DB2 Crash 3 34 Histogramme für Attributwerte Anzahl min Attributwerte max

58 DB2 Crash 3 35 Höhenbalancierte Histogramme a) gleichverteilte Werte b) ungleichverteilte Werte

59 DB2 Crash 3 36 Kostenberechnung am Beispiel Selektionen über Relation AUFTRAG mit Attribut Ware S = (Die Datenbank belegt insgesamt 4000 Seiten) T AUFTRAG = (in der Relation AUFTRAG sind insgesamt Tupel gespeichert) s/l AUFTRAG = 10 (auf eine Seite passen durchschnittlich 10 Auftrags-Tupel) W Ware,AUFTRAG = 50. (50 verschiedene Waren als Wert des Ware-Attributs) Selektion σ ϕ mit ϕ = (Aθa ψ)

60 DB2 Crash 3 37 Kostenberechnung: Variante A Index I(R(A)) über Selektionsattribut A σ REL ψ ρ σ IND Aθa (I(R(A)), r(r)) A1 Index mit Cluster-Bildung: S R sel(aθa, R). A2 Index ohne Cluster-Bildung: T R sel(aθa, R). (Maximalwert, wenn die Tupel jeweils auf verschiedenen Seiten liegen)

61 DB2 Crash 3 38 Kostenberechnung: Variante B Index I(R(B)) mit B A σ REL Aθa ψ ρ σ IND true (I(R(B)), r(r)) B1 Index mit Cluster-Bildung: S R. B2 Index ohne Cluster-Bildung: T R. Kosten ergeben sich, da die Selektivität des Prädikates true 1 ist

62 DB2 Crash 3 39 Kostenberechnung: Variante C Relationen-Scan Annahme: alle Seiten der Datenbank werden gelesen und alle auf den Seiten vorhandenen Tupel werden gefunden Kosten: durch die Anzahl S gegeben

63 DB2 Crash 3 40 Kostenberechnung: Anfragen 1. σ Ware= Tee (r(auftrag)). Selektivität sel: σ Ware> Tee (r(auftrag)). Selektivität sel: Annahme 1 2.

64 DB2 Crash 3 41 Kosten für Ausführungsvarianten Variante Kostenformel Ware = Tee Ware > Tee A1 S R sel(aθa, R) A2 T R sel(aθa, R) B1 S R B2 T R C S

65 DB2 Crash 3 42 Optimierer-Architektur Anfrage Übersetzung logische Optimierung Anfragerepräsentation (interne Darstellung) Katalog Anfrageverarbeitung Statistiken interne Optimierung Anfragerepräsentation (interne Darstellung) Anfrageplan Übersetzungszeit Anfrageausführung Planauswertung Laufzeit Anfrageergebnis

66 DB2 Crash 3 43 Optimierer-Varianten heuristische, regelbasierte Optimierer: 1. Erzeugung einer interner Anfragerepräsentation durch logische Optimierung 2. mit interne Optimierung einen Anfrageplan erzeugen kostenbasierte (Zwei-Phasen-) Optimierer: 1. Erzeugung verschiedener Anfragerepräsentation durch logische Optimierung 2. Übergabe an interne Optimierung (Plangenerierung) 3. Kostenbewertung 4. Auswahl des besten Plans

Teil II Architektur von DBMS

Teil II Architektur von DBMS Teil II Architektur von DBMS Überblick 1 2 Architekturvarianten 3 Architekturen konkreter DBMS c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 04/04/2011 2 1 Betrachtete Fragestellungen

Mehr

2. Architekturen von DBS

2. Architekturen von DBS 2. Architekturen von DBS Schema-Architektur System-Architekturen Konkrete System-Architekturen Anwendungsarchitekturen Andreas Heuer, Gunter Saake Datenbanken I 2-1 Schema-Architektur I Zusammenhang zwischen

Mehr

Architektur von Datenbanksystemen

Architektur von Datenbanksystemen Architektur von Datenbanksystemen Prof. Dr. Uta Störl Hochschule Darmstadt Fachbereich Informatik Sommersemester 2014 Motivation In Datenbanken-Grundvorlesung betrachtet: Funktionalität von Datenbanksystemen

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Datenbankarchitekturen M. Lange, S. Weise Folie #2-1 Datenbankarchitekturen Wiederholung - Motivation, Grundlagen Grundlegende Datenbankarchitekturen - Drei-Ebenen-Schema-Architektur

Mehr

Gunter Saake Kai-Uwe Sattler Andreas Heuer. 3. Auflage. Datenbanken. Implementierungstechniken

Gunter Saake Kai-Uwe Sattler Andreas Heuer. 3. Auflage. Datenbanken. Implementierungstechniken Gunter Saake Kai-Uwe Sattler Andreas Heuer 3. Auflage Datenbanken Implementierungstechniken Vorwort v ix 1 Aufgaben und Prinzipien von Datenbanksystemen 1 1.1 Wiederholung der Datenbank-Grundbegriffe...

Mehr

Relationenoperationen - Implementierung 0

Relationenoperationen - Implementierung 0 Relationenoperationen - Implementierung 0 Operationen der Relationenalgebra - unäre Operationen: π, σ - binäre Operationen: join,, +,,, SQL-Anfragen enthalten logische Ausdrücke, die auf die Operationen

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

Kapitel 3: Datenbanksysteme

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

Mehr

Anfragebearbeitung 3

Anfragebearbeitung 3 Anfragebearbeitung 3 VL Datenbanksysteme, WS 2014/5 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Kostenmodelle und

Mehr

Datenbanksysteme II Klausurvorbereitung. 18.7.2007 Felix Naumann

Datenbanksysteme II Klausurvorbereitung. 18.7.2007 Felix Naumann Datenbanksysteme II Klausurvorbereitung 18.7.07 Felix Naumann Kurzüberblick aus erster VL 2 1. Einführung 2. Physische Speicherstrukturen (2 2) 3. Physische Repräsentation von Daten (1 1) 4. Indexstrukturen

Mehr

4.1 SQL. Wichtige skalare Datentypen

4.1 SQL. Wichtige skalare Datentypen 4. Basierend auf dem Tupelkalkül und der relationalen Algebra wurden mit dem Aufkommen relationaler DBMS auch spezielle Sprachen entwickelt. SQL ist die derzeit am weitesten verbreitete Anfragesprache

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

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

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

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann Blatt Nr. 11 Übung zur Vorlesung Einsatz und Realisierung von Datenbanksystemen im SoSe15 Moritz Kaufmann (moritz.kaufmann@tum.de)

Mehr

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse

Download:.../~rieche. gehalten am 2. Februar 2004. Stephan Rieche. Vortrag. Thema: Index Selection. von. Seminar Advanced Data Warehouse Seminar Advanced Data Warehouse Thema: Index Selection Vortrag von Stephan Rieche gehalten am 2. Februar 2004 Download:.../~rieche Inhalt des Vortrages 1. Einleitung - Was ist das Index Selection Problem?

Mehr

Themenblock: Erstellung eines Cube

Themenblock: Erstellung eines Cube Themenblock: Erstellung eines Cube Praktikum: Data Warehousing und Data Mining Einführung relationale Datenbanken Problem Verwaltung großer Mengen von Daten Idee Speicherung der Daten in Form von Tabellen

Mehr

3. Architektur eines DBS (Oracle)

3. Architektur eines DBS (Oracle) 3. Architektur eines DBS (Oracle) aus Sicht des Datenbank Server Rechners Connectivity Komponente(n) des DBS (z.b. Oracle Listener) Installation ORACLE_HOME Instanz ORACLE_SID Datenbank Oracle: 1 (aktive)

Mehr

Teil I Was sind Datenbanken?

Teil I Was sind Datenbanken? page.1 Teil I Was sind Datenbanken? page.2 Was sind Datenbanken? Was sind Datenbanken? 1 Relationen für tabellarische Daten 2 SQL-Datendefinition 3 Grundoperationen: Die Relationenalgebra 4 SQL als Anfragesprache

Mehr

Anfragebearbeitung. Vorlesung: Dr. Matthias Schubert

Anfragebearbeitung. Vorlesung: Dr. Matthias Schubert Kapitel l5 Anfragebearbeitung Vorlesung: Dr. Matthias Schubert Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten

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

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

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

Teil I Was sind Datenbanken?

Teil I Was sind Datenbanken? page.1 Teil I Was sind Datenbanken? page.2 Was sind Datenbanken? Was sind Datenbanken? 1 Überblick & Motivation Sattler / Saake Datenbanksysteme Letzte Änderung: 07.10.2014 1 1 page.3 Was sind Datenbanken?

Mehr

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

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

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005

Datenbanksprache SQL. Datenbanksprache SQL. 5.1 Anfragesprache SQL-DQL. from-klausel SS 2005 Webbasierte Informationssysteme SS 2005 8. SQL-Vertiefung Prof. Dr. Stefan Böttcher Universität Paderborn Datenbanksprache SQL Structured Query Language (SQL) - am IBM San Jose Research Laboratory entwickelt

Mehr

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL ) Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL als Anfrage- und Datenmanipulationssprache (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL als DQL und DML M. Lange, S. Weise Folie #8-1 Themen

Mehr

Kapitel 3: Datenbanksysteme

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

Mehr

DB2 for z/os. Musterlösungen zu den Übungen

DB2 for z/os. Musterlösungen zu den Übungen Musterlösungen zu den Übungen 4. Januar 2013 Eine Ausarbeitung von: cps4it Ralf Seidler Stromberger Straße 36A 55411 Bingen Fon: +49-6721-992611 Fax: +49-6721-992613 Mail: ralf.seidler@cps4it.de Internet

Mehr

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

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

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter bersicht Niels Schršter EinfŸhrung GROUP BY Roll UpÔs Kreuztabellen Cubes Datenbank Ansammlung von Tabellen, die einen ãausschnitt der WeltÒ fÿr eine Benutzergruppe beschreiben. Sie beschreiben die funktionalen

Mehr

Fakultät. Verfasser: Waldemar Braun. Betreuer : Magdeburg Germany

Fakultät. Verfasser: Waldemar Braun. Betreuer : Magdeburg Germany Otto-von-Guericke-Universität Magdeburg Fakultät t für Informatik Masterarbeit Anfrageinterface für zeilenorientierte und spaltenorientierte Datenbanksysteme Verfasser: Waldemar Braun 19. Oktober, 2012

Mehr

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

Gunter Saake Kai-Uwe Sattler Andreas Heuer. 5. Auflage. Datenbanken Konzepte und Sprachen Gunter Saake Kai-Uwe Sattler Andreas Heuer 5. Auflage Datenbanken Konzepte und Sprachen 2 Architekturen von Datenbanksystemen In diesem Kapitel werden wir die prinzipielle Architektur eines Datenbanksystems

Mehr

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt Herbstsemester 2009 Datenbanken mit Übungen Kapitel 4: SQL H. Schuldt Inhalt Datenmanipulationssprache SQL: SQL (Structured Query Language) ist die Standardsprache für die Datendefinition und Datenmanipulation

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

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte Begriff DBS Datenbankmodelle

Mehr

Kapitel 7 Datenbank-Tuning

Kapitel 7 Datenbank-Tuning Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

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

Crashkurs: Relationale Datenbanksysteme

Crashkurs: Relationale Datenbanksysteme Crashkurs: Relationale Datenbanksysteme 3.0.2004 Felix Naumann Überblick Vormittag Motivation Warum sind RDBMS und XML Systeme für die Informationsintegration wichtig? RDBMS Relational Database Management

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

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

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

Kapitel 7 Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2010/11 LMU München

Kapitel 7 Datenbank-Tuning. Folien zum Datenbankpraktikum Wintersemester 2010/11 LMU München Kapitel 7 Datenbank-Tuning Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

Informationstheorethisches Theorem nach Shannon

Informationstheorethisches Theorem nach Shannon Informationstheorethisches Theorem nach Shannon Beispiel zum Codierungsaufwand - Wiederholung: Informationstheorethisches Modell (Shannon) Sei x eine Aussage. Sei M ein Modell Wieviele Bits sind aussreichend,

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

Datenbanksysteme I Relationale Algebra. Felix Naumann 11.5.2011

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

Mehr

Teil IV. Dateiorganisation und Zugriffsstrukturen

Teil IV. Dateiorganisation und Zugriffsstrukturen Teil IV Dateiorganisation und Zugriffsstrukturen Überblick c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 10. Mai 2012 4 1 Klassifikation der Speichertechniken Einordnung in 5-Schichten-Architektur

Mehr

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P

Index- und Zugriffsstrukturen für. Holger Brämer, 05IND-P Index- und Zugriffsstrukturen für Data Warehousing Holger Brämer, 05IND-P Index- und Zugriffstrukturen für Data Warehousing Materialisierte Sichten Bitmap-Indexe Verbundindexe Materialisierte Sichten gehören

Mehr

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln Structured Query Language, SQL vom American National Standards Institute, ANSI, genormte Datenbanksprache. enthält eine Teilsprache, die eine relationale Anfragesprache ist, Mischung von tupelorientierten

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

Vorlesungsinhalt. Architektur von Datenbanksystemen. G. Specht: Datenbanksysteme 8-1. Kapitel VIII

Vorlesungsinhalt. Architektur von Datenbanksystemen. G. Specht: Datenbanksysteme 8-1. Kapitel VIII Architektur von Datenbanksystemen Kapitel VIII Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Automatische Erstellung von Soft-Indexen in PostgreSQL

Automatische Erstellung von Soft-Indexen in PostgreSQL Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Datenbanken und Informationssysteme DIPLOMARBEIT Automatische

Mehr

Datenbanken. SQL Einführung und SQL-DDL

Datenbanken. SQL Einführung und SQL-DDL Datenbanken SQL Einführung und SQL-DDL SQL Überblick ANSI/ISO standardisierte Datendefinitions (DDL)- Datenmanipulations (DML)- Anfrage (Query)-Sprache SQL-92 weitgehend von den meisten DB- Herstellern

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Relationale Datenbanksprachen (SQL Structured Query Language) Überblick über den Datenhaltungsteil Motivation und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen

Mehr

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN Entwurf eines schulinternen Curriculums im Fach Informatik für die Qualifikationsphase (Jahrgang 11 und 12) Für die Gestaltung des Informatikunterrichts in der Qualifikationsphase sind für das schulinterne

Mehr

Datenbankadministration WS 2012/13: Performance-Monitoring und -Tuning

Datenbankadministration WS 2012/13: Performance-Monitoring und -Tuning Datenbankadministration WS 2012/13: Performance-Monitoring und -Tuning Prof. Dr. K. Küspert, Dipl.-Math. K. Büchse, Dipl.-Inf. A. Göbel Friedrich-Schiller-Universität Jena 09. Januar 2013 Gliederung Motivation

Mehr

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1. Inhalt der Vorlesung Literatur 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell 3 Relationenalgebra 4 Datenbanksprache (SQL) 5 Normalisierung 6 Vom ERM zum Datenbankschema 7 Routinen

Mehr

9.2: Die Fünf-Schichten-Architektur im Überblick

9.2: Die Fünf-Schichten-Architektur im Überblick Vorlesung " WS 98/99 9.2: Die Fünf-Schichten-Architektur im Überblick Lernziele: Aufgaben und Objekte der sechs Schnittstellen Teilaufgaben der Schichten Ausgewählte Lösungsansätze (je 1 Konzept pro Schicht)

Mehr

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume

Mehr

Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL

Agenda. Themenblock: Data Warehousing (I) Referenzarchitektur. Eigenschaften eines Data Warehouse. Einführung Data Warehouse Data Access mit SQL Themenblock: Data Warehousing (I) Praktikum: Data Warehousing und Data Mining 2 Eigenschaften eines Data Warehouse Referenzarchitektur Integrierte Sicht auf beliebige Daten aus verschieden Datenbanken

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik

Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik von Wolfgang König, Heinrich Rommelfanger, Dietrich Ohse, Oliver Wendt, Markus Hofmann, Michael Schwind, Klaus Schäfer, Helmut Kuhnle, Andreas

Mehr

KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN

KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN KAPITEL 3 DATEIORGANISATION UND ZUGRIFFSSTRUKTUREN h_da Prof. Dr. Uta Störl Architektur von DBMS SoSe 2014 Kapitel 3: Dateiorganisation und Zugriffsstrukturen 1 Dateiorganisation und Zugriffsstrukturen

Mehr

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12 Prof. Dr. Lutz Wegner, Dipl.-Math. Kai Schweinsberg 21.03.2012 Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12 Name:... Vorname:... Matr.Nr.:... Studiengang:... Hinweis: Bearbeiten Sie alle

Mehr

Relationale Datenbanken Kursziele

Relationale Datenbanken Kursziele Relationale Datenbanken Kursziele DB Grundlagen Daten-Modellierung Relationales Modell und DB => Praxis: Mit SQL als Anfragesprache Mit MySQL als DB RDB 1-1 Kursinhalt (Tage) 1. DB Einleitung / Entity-Relationship

Mehr

Data Mining-Modelle und -Algorithmen

Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining-Modelle und -Algorithmen Data Mining ist ein Prozess, bei dem mehrere Komponenten i n- teragieren. Sie greifen auf Datenquellen, um diese zum Training,

Mehr

Physische Datenbankdefinition in. Arthur Bauer

Physische Datenbankdefinition in. Arthur Bauer Physische Datenbankdefinition in Arthur Bauer Inhalt Cluster Index-Cluster Hash-Cluster Vor- und Nachteile Index-Organisierte Tabelle (IOT) Partitionierung STORAGE-Klausel in DDL Indexstrukturen Oracle

Mehr

Gliederung und Einordnung

Gliederung und Einordnung Gliederung und Einordnung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel

Mehr

Nicht Relationale Datenbanken. Nachteile des Relationenmodells

Nicht Relationale Datenbanken. Nachteile des Relationenmodells Nicht Relationale Datenbanken Nachteile des Relationenmodells Gliederung Probleme des Relationenmodells Datenmodellierung Datenbankentwurf Anfragesprachen Update Operationen Zugriffspfade Optimierung Datenmodellierung

Mehr

Inhaltsverzeichnis. Installationsübersicht. A. Installationsübersicht

Inhaltsverzeichnis. Installationsübersicht. A. Installationsübersicht Inhaltsverzeichnis A. Installationsübersicht B. und Optimierungsbereiche B.1 Hardware B.2 OperatingSystem Z/OS B.3 Databasemanagementsystem DB2 B.4 Applikation C. Organisation BSS_Chart-library 1 Installationsübersicht

Mehr

Kapitel DB:VI. VI. Die relationale Datenbanksprache SQL

Kapitel DB:VI. VI. Die relationale Datenbanksprache SQL Kapitel DB:VI VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus DB:VI-1 SQL

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

5.3 Sampling-Algorithmen

5.3 Sampling-Algorithmen 5.3 Sampling-Algorithmen Vorgehensweise in der Statistik: Gesamtheit von Werten durch kleine, möglichst repräsentative Stichprobe darstellen. (Vgl. z. B. Hochrechnungen für Wahlergebnisse.) Genauer: Gegeben

Mehr

Übung Datenbanksysteme I Relationale Algebra. Thorsten Papenbrock

Übung Datenbanksysteme I Relationale Algebra. Thorsten Papenbrock Übung Datenbanksysteme I Relationale Algebra Thorsten Papenbrock Übersicht: Relationale Algebra 2 Unäre Operatoren Binäre Operatoren Operator Beschreibung Operator Beschreibung (pi) (erweiterte)projektion

Mehr

Vorlesung Datenbankmanagementsysteme. Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1

Vorlesung Datenbankmanagementsysteme. Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1 Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-1 Vorlesung Datenbankmanagementsysteme Überblick M. Lange, S. Weise Folie #0-2 Bioinformatik:

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

Datenbanken II. Optimierung von Datenbanken. von Bettina Keil 45748 MIM 07

Datenbanken II. Optimierung von Datenbanken. von Bettina Keil 45748 MIM 07 Datenbanken II Optimierung von Datenbanken von Bettina Keil 45748 MIM 07 Inhaltsverzeichnis 1 Motivation 1 2 Phase 1.1: Optimierung des Datenbankschemas 2 2.1 Ziel........................................

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

Implementierung der SQL Operatoren GROUP BY und CUBE

Implementierung der SQL Operatoren GROUP BY und CUBE Implementierung der SQL Operatoren GROUP BY und CUBE Seminararbeit von Christian Brandt Seminar Advanced Data Warehousing WS 2003/2004 Einführung Ein zentrales Element von OLAP - Anwendungen ist die Aggregation

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

Teil XI Spalten-orientierte DBMSs

Teil XI Spalten-orientierte DBMSs Teil XI Spalten-orientierte DBMSs Spalten-orientierte Datenbankmanagementsysteme 1 Motivation 2 Funktionsweise 3 Erweiterungen 4 Literatur c Sattler / Saake / Köppen Data-Warehouse-Technologien Letzte

Mehr

Kapitel 7: Formaler Datenbankentwurf

Kapitel 7: Formaler Datenbankentwurf 7. Formaler Datenbankentwurf Seite 1 Kapitel 7: Formaler Datenbankentwurf Die Schwierigkeiten der konzeptuellen Modellierung sind zu einem großen Teil dadurch begründet, dass sich die relevanten Strukturen

Mehr

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. Programmieren von Datenbankzugriffen mit JDBC. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen Programmieren von Datenbankzugriffen mit JDBC Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Überblick über das Package java.sql Übersicht Architektur von JDBC Grundstruktur eines

Mehr

Datenbanksysteme II: Implementation of Database Systems Overview and General Architecture

Datenbanksysteme II: Implementation of Database Systems Overview and General Architecture Datenbanksysteme II: Implementation of Database Systems Overview and General Architecture Material von Prof. Johann Christoph Freytag Prof. Kai-Uwe Sattler Prof. Alfons Kemper, Dr. Eickler Speicherhierarchie

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme Trigger, Sichten und Zugriffskontrolle M. Lange, S. Weise Folie #10-1

Mehr

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index! 1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!

Mehr

zwei verschiedene Darstellungsformen derselben Abfrage.

zwei verschiedene Darstellungsformen derselben Abfrage. SQL Sprache Die strukturierte Abfragesprache SQL (englisch: Structured Query Language) bildet einen Standard zur Formulierung von Abfragen. Das SQL und das Abfragefenster bilden zwei verschiedene Darstellungsformen

Mehr

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien

Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien Aufbau einer Oracle Datenbank Tablespace, Arten von Dateien Boris Meißner 05-INDT Fachbereich Informatik, Mathematik und Naturwissenschaften HTWK-Leipzig 05. Juni 2008 Boris Meißner (Fb IMN - HTWK-Leipzig)

Mehr

Datenbanken und SQL. Kapitel 7. Performance in Datenbanken. Edwin Schicker: Datenbanken und SQL

Datenbanken und SQL. Kapitel 7. Performance in Datenbanken. Edwin Schicker: Datenbanken und SQL Datenbanken und SQL Kapitel 7 Performance in Datenbanken Performance in Datenbanken Datenbankenoptimizer und Ausführungsplan Index Partitionierung Materialisierte Sichten Optimierungen im Select-Befehl

Mehr