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

5. Basisalgorithmen für DB-Operationen

5. Basisalgorithmen für DB-Operationen 5. Basisalgorithmen für DB-Operationen Datenbankparameter Komplexität von Grundalgorithmen Unäre Operationen (Scan, Selektion, Projektion) Binäre Operationen: Mengenoperationen Berechnung von Verbunden

Mehr

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

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur Moderne Datenbanksysteme sind nach der 3-Ebenen-Architektur gebaut: Anwendung 1 Web-Anwendung Anwendung 2 Java-Programm... Anwendung n Applikation

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

Schema-Architektur II. Schema-Architektur. 2. Architekturen von DBS. Zusammenhang zwischen. Konzeptuellen Schema (Ergebnis der Datendefinition)

Schema-Architektur II. Schema-Architektur. 2. Architekturen von DBS. Zusammenhang zwischen. Konzeptuellen Schema (Ergebnis der Datendefinition) Schema-Architektur I Schema-Architektur III Zusammenhang zwischen externes Schema... externes Schema N Konzeptuellen Schema (Ergebnis der Datendefinition) Internen Schema (Festlegung der Dateiorganisationen

Mehr

Abschluss Einblick und Ausblick

Abschluss Einblick und Ausblick Abschluss Einblick und Ausblick Prof. Dr. T. Kudraß 1 Benutzer Komponenten eines DBMS (Überblick) I/O-Prozessor Output-Generierung Parser für selbst. oder eingebettete Kommandos Precompiler Autorisierungs-Kontrolle

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

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken Aufgabenzettel 1 Grundlagen Datenbanken: Kurzer historischer Überblick (1) Anwendung 1 Anwendung 2 Datei 1 Datei 2 Datei 3 Zugriff auf Dateien ohne spezielle Verwaltung 2 Exkurs:

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

Aufbau Datenbanksysteme

Aufbau Datenbanksysteme Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur

Mehr

Anfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520

Anfragebearbeitung. Kapitel 7. Anfragebearbeitung 285 / 520 Kapitel 7 Anfragebearbeitung 285 / 520 Übersicht Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis 286 / 520 Übersetzung Übersetzung SQL ist deklarativ, irgendwann muß Anfrage aber für Laufzeitsystem

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

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

Informatik II Datenorganisation Datenbanken

Informatik II Datenorganisation Datenbanken Informatik II Datenorganisation Datenbanken Studiengang Wirtschaftsingenieurwesen (2. Semester) Prof. Dr. Sabine Kühn Tel. (0351) 462 2490 Fachbereich Informatik/Mathematik skuehn@informatik.htw-dresden.de

Mehr

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Kapitel 2: Architektur von Datenbanksystemen Überblick über den Datenhaltungsteil Einleitung Motivation und Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell

Mehr

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt Andreas Heuer Gunter Saake Kai-Uwe Sattler Datenbanken kompakt Inhaltsverzeichnis Vorwort v 1 Was sind Datenbanken 1 1.1 Warum Datenbanken 1 1.2 Datenbanksysteme 4 1.3 Anforderungen: Die Codd'schen Regeln

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

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

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

Benutzer. Dateiverwaltung

Benutzer. Dateiverwaltung 1.4 Datenbanksysteme u. ihre Eigenschaften und Terminologie im Überblick 1.4.1 Datenbank/Datenbanksystem/Datenbank-Verwaltungssystem (DBVS, DBMS) Begriffliche Abgrenzung und Einordnung Client liegt üblicherweise

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

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

1. Einführung. Architektur von Datenbanksystemen I

1. Einführung. Architektur von Datenbanksystemen I 1. Einführung Architektur von Datenbanksystemen I Motivation Was? Warum? Petabyte Age NEW REALITIES TB disks < $100 Everything is data Rise of data-driven culture - CERN s LHC generates 15 PB a year Sloan

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationale Datenbanken Vorlesung Datenbankmanagementsysteme Relationale Datenbanken M. Lange, S. Weise Folie #4-1 Relationale Datenbanken Wiederholung - Datenbankmodelle,

Mehr

9. Einführung in Datenbanken

9. Einführung in Datenbanken 9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken

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

Architektur und Implementierung von Apache Derby

Architektur und Implementierung von Apache Derby Architektur und Implementierung von Apache Derby Das Zugriffssystem Carsten Kleinmann, Michael Schmidt TH Mittelhessen, MNI, Informatik 16. Januar 2012 Carsten Kleinmann, Michael Schmidt Architektur und

Mehr

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN

IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Joins 1 IMPLEMENTIERUNG VON OPERATIONEN AUF RELATIONEN Literatur Priti Mishara, Maragaret H. Eich, Join Processing in Relational Databases, ACM Computing Surveys, Vol. 24, No. 1, March 1992 Goetz Graefe,

Mehr

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

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

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

1. Einführung: 1.3 Aufbau und Architektur von DBMS

1. Einführung: 1.3 Aufbau und Architektur von DBMS 1. Einführung: 1.3 Aufbau und Architektur von DBMS Bestandteile eines Datenbanksystems Datenbanksystem Datenbanksystem Oberbegriff Datenbank (DB) Systemschnittstelle Datenbankmanagementsystem (DBMS) Speicher

Mehr

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer Speicherung von XML in (objekt-)relationalen Datenbanken Burkhard Schäfer Übersicht Motivation Anforderungen Ansätze modellorientiert strukturorientiert Zusammenfassung Motivation Warum XML in Datenbanken

Mehr

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind.

! DBMS organisiert die Daten so, dass minimal viele Plattenzugriffe nötig sind. Unterschiede von DBMS und files Speichern von Daten! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr Daten als in den Hauptspeicher

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

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

Physische Datenorganisation

Physische Datenorganisation Physische Datenorganisation Physische Datenorganisation 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Übersicht Datenbanken, Relationen und Tupel werden auf der untersten Ebene der bereits vorgestellten

Mehr

Warum Datenbank-Vorlesung? Überblick

Warum Datenbank-Vorlesung? Überblick Warum Datenbank-Vorlesung? /2 große Herausforderungen: Verwaltung von Daten im TB-Bereich, viele Nutzer weltweit verteilte Datenbestände Multimedia-Inhalte Hochverfügbarkeit, Sicherheit DB-Kenntnisse unverzichtbar

Mehr

Cluster-Bildung. VL Datenbanken II 4 107

Cluster-Bildung. VL Datenbanken II 4 107 Cluster-Bildung gemeinsame Speicherung von Datensätzen auf Seiten wichtige Spezialfälle: Ballung nach Schlüsselattributen. Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge

Mehr

Ohne Datenbanken: Datenredundanz II. Software-Schichten. Ohne Datenbanken: Datenredundanz. 1. Grundlegende Konzepte. Individual-Software

Ohne Datenbanken: Datenredundanz II. Software-Schichten. Ohne Datenbanken: Datenredundanz. 1. Grundlegende Konzepte. Individual-Software Software-Schichten Individual-Software Anwendungs-Software Basis-Software System-Software Betriebssystem Ohne Datenbanken: Datenredundanz II Andere Software-Systeme (auch Programmiersprachen, Tabellenkalkulation,

Mehr

Inhalt. Dr. Frank Haney 17.5.2005 1

Inhalt. Dr. Frank Haney 17.5.2005 1 Inhalt SQL-Optimierung Grundlagen Logische und physische Optimierung CBO Funktionsweise Entscheidungsgrundlagen Zugriffspfade Statistiken für den Optimizer Initialisierungsparameter Optimizer Hints Dynamic

Mehr

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup)

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

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 1 Aufgaben und Prinzipien von Datenbanksystemen Datenbanksysteme ermöglichen die integrierte Speicherung von

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

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

Physischer Datenbankentwurf: Datenspeicherung

Physischer Datenbankentwurf: Datenspeicherung Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim

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

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

SYSTEM J - Konzeption und prototypische Umsetzung eines Praktikums zur Datenbanksystementwicklung

SYSTEM J - Konzeption und prototypische Umsetzung eines Praktikums zur Datenbanksystementwicklung Einführung Architektur Komponenten FileManager BufferManager RecordManager IndexManager LockManager CatalogManager Compiler Optimizer RunTime Erfahrungen SYSTEM J - Konzeption und prototypische Umsetzung

Mehr

4. Anfrageoptimierung. 4.1. Optimierung einzelner Operationen

4. Anfrageoptimierung. 4.1. Optimierung einzelner Operationen Es gibt zwei Stufen für die Optimierung einer SELECT-FROM-WHERE-Anfrageauswertung: a) Optimierung jeder einzelnen Operation => systematische Schätzung der Kosten versch. Ausführungsstrategien, Auswahl

Mehr

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP

B-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte

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

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

Data Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik

Data Warehousing. Relationale Datenbanken. Ulf Leser Wissensmanagement in der Bioinformatik Data Warehousing Relationale Datenbanken Ulf Leser Wissensmanagement in der Bioinformatik Inhalt dieser Vorlesung Relationale Datenbanken Relationales Modell und relationale Operatoren SQL Anfragebearbeitung

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

Datenbanksysteme II. Vorlesung: PD Dr. Peer Kröger

Datenbanksysteme II. Vorlesung: PD Dr. Peer Kröger Datenbanksysteme II Sommersemester 2012 Vorlesung: PD Dr. Peer Kröger Dieses Skript basiert auf den Skripten zur Vorlesung Datenbanksysteme II an der LMU München von Prof. Dr. Christian Böhm (Sommersemester

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

Architekturen im DB-Umfeld

Architekturen im DB-Umfeld Architekturen im DB-Umfeld ANSI/SPARC und DIAM 66 Motivation 67 Ziele von Architekturdefinitionen I Strukturierung des Chaos Komplexe (IT-)Anwendungen und reale Problemstellungen bestehen aus vielen Einzelteilen.

Mehr

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung

Logische Optimierung. Im Allgemeinen wird keine optimale Lösung erzielt, sondern nur eine Verbesserung. Logische Optimierung Logische Optimierung Höhere, nichtprozedurale Abfragesprachen (SQL, QBE,...) verlangen keine Kenntnisse des Benutzers über die Implementierung, müssen aber in prozedurale Form (z. B. Relationenalgebra)

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

Vorlesung 30.03.2009 1) Einführung

Vorlesung 30.03.2009 1) Einführung Vorlesung 30.03.2009 1) Einführung Was versteht man unter dem Begriff Datenbank? - Eine Datenbank ist eine Struktur zur Speicherung von Daten mit lesendem und schreibendem Zugriff - Allgemein meint man

Mehr

Einführung relationale Datenbanken. Themenblock: Erstellung eines Cube. Schlüssel. Relationenmodell Relationenname Attribut. Problem.

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

Mehr

Otto von Guericke Universität Magdeburg. Fakultät für Informatik. Masterarbeit

Otto von Guericke Universität Magdeburg. Fakultät für Informatik. Masterarbeit Otto von Guericke Universität Magdeburg Fakultät für Informatik Masterarbeit Forensisch sicheres Löschen in relationalen Datenbankmanagementsystemen Verfasser: Alexander Grebhahn 27. Februar 2012 Betreuer:

Mehr

Schulinternes Curriculum im Fach Informatik

Schulinternes Curriculum im Fach Informatik Schulinternes Curriculum im Fach Informatik Unterricht in EF : 1. Geschichte der elektronischen Datenverarbeitung (3 Stunden) 2. Einführung in die Nutzung von Informatiksystemen und in grundlegende Begriffe

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

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

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1

6. Formaler Datenbankentwurf 6.1. Rückblick. Datenbanken und Informationssysteme, WS 2012/13 22. Januar 2013 Seite 1 6. Formaler Datenbankentwurf 6.1. Rückblick 3. Normalform Ein Relationsschema R = (V, F) ist in 3. Normalform (3NF) genau dann, wenn jedes NSA A V die folgende Bedingung erfüllt. Wenn X A F, A X, dann

Mehr

Datenbanken. Dateien und Datenbanken:

Datenbanken. Dateien und Datenbanken: Dateien und Datenbanken: Professionelle Anwendungen benötigen dauerhaft verfügbare, persistent gespeicherte Daten. Datenbank-Systeme bieten die Möglichkeit, Daten persistent zu speichern. Wesentliche Aspekte

Mehr

Raumbezogene Datenbanken (Spatial Databases)

Raumbezogene Datenbanken (Spatial Databases) Raumbezogene Datenbanken (Spatial Databases) Ein Vortrag von Dominik Trinter Alexander Christian 1 Inhalte Was ist ein raumbezogenes DBMS? Modellierung Abfragen Werkzeuge zur Implementierung Systemarchitektur

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

Grundlagen von Datenbanksystemen

Grundlagen von Datenbanksystemen Ramez Elmasri Shamkant B. Navathe Grundlagen von Datenbanksystemen 3., überarbeitete Auflage ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort 9 Über die Autoren 13 Teil 1 Grundkonzepte

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

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

Gliederung Datenbanksysteme

Gliederung Datenbanksysteme Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte

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

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

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf I Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf I M. Lange, S. Weise Folie #5-1 Wiederholung Relationaler Datenbankentwurf

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

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de Datenbanksysteme Wintersemester 2015/16 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Verschachtelte (Engl. Nested) Anfragen Wieso und wo gibt es verschachtelte Anfragen? ˆ Unteranfragen

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

Arbeiten mit ACCESS 2013

Arbeiten mit ACCESS 2013 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2013 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

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

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme

Mehr

Datenbanksysteme SS 2007

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

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

Ü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

Anfrageverarbeitung. Prof. Dr. T. Kudraß 1

Anfrageverarbeitung. Prof. Dr. T. Kudraß 1 Anfrageverarbeitung Prof. Dr. T. Kudraß 1 Einführung Wir betrachten die Implementierung der Operatoren der Relationenalgebra: Basis-Operationen: Selektion ( s ) Auswahl einer Teilmenge von Tupeln aus der

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

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

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

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

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

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

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

Datenbanken (WS 2015/2016)

Datenbanken (WS 2015/2016) Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde

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

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