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 saake@iti.cs.uni-magdeburg.de

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

Einordnung. 6. Basisalgorithmen für DB-Operationen. Datenbankparameter. Datenbankparameter (II)

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

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

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

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

6. Optimierung von Anfragen

6. Optimierung von Anfragen 6. Optimierung von Anfragen Grundprinzipien, motivierende Beispiele Phasen der Anfrageverarbeitung Übersetzung von SQL in Relationenalgebra Logische Optimierung (algebraisch, Tableau) Interne Optimierung

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

2. Architektur von Datenbanksystemen

2. Architektur von Datenbanksystemen 2. Architektur von Datenbanksystemen Betrachtete Fragestellungen Schichtenmodell eines relationalen DBMS Hardware und Betriebssystem Pufferverwaltung Speichersystem Zugriffssystem Datensystem VL Datenbank-Implementierungstechniken

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

Grundprinzipien der Anfrageoptimierung

Grundprinzipien der Anfrageoptimierung 5. Anfragebearbeitung und -optimierung Grundprinzipien und Beispiele Grundprinzipien der Anfrageoptimierung In einem RDBS wird mit SQL nur die Ergebnismenge festgelegt (deskriptiver Ansatz). Eine möglichst

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

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

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

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

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

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

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

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

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

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

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

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

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

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN

KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN KAPITEL 4 BASISALGORITHMEN FÜR DATENBANKOPERATIONEN h_da Prof. Dr. Uta Störl Architektur von DBMS WS 2015/16 Kapitel 4: Basisalgorithmen für Datenbankoperationen 1 Einordnung in die 5-Schichten-Architektur

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

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

Teil I. Architektur von DBMS

Teil I. Architektur von DBMS Teil I Architektur von DBMS Überblick 1. Schichtenmodell eines relationalen DBMS Sattler/Saake VL Datenbank-Implementierungstechniken April 2018 1 10 Überblick 1. Schichtenmodell eines relationalen DBMS

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

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

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

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

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

Teil V Basisalgorithmen für DB-Operationen

Teil V Basisalgorithmen für DB-Operationen Teil V Basisalgorithmen für DB-Operationen Überblick 1 Datenbankparameter & Grundalgorithmen c Sattler / Saake Datenbank-Implementierungstechniken Letzte Änderung: 12. Mai 2017 5 1 Überblick 1 Datenbankparameter

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

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

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

Mehr

Aufgabe 1: [Logische Modellierung]

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

Mehr

Verarbeitung der E-Mail-Adressen

Verarbeitung der E-Mail-Adressen Verarbeitung der E-Mail-Adressen A) Auswertung aus dem Infotyp 0105 - Kommunikation zur Feststellung, welche E-Mail-Adressen gespeichert sind Aufruf über direkte Eingabe der Transaktion (notfalls Transaktionsfenster

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

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

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

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

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

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

Mehr

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

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

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

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

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

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

Mehr

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

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

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

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

Mehr

Ein Beispiel: Tabelle DICHTER

Ein Beispiel: Tabelle DICHTER Datenbanken Eine Datenbank ist eine Sammlung von Daten, die aus der Sicht des Benutzers zusammen gehören. Ein Datenbankverwaltungssystem (DBMS) ist ein informatisches System zur Verwaltung einer Datenbank.

Mehr

Architektur und Optimierung relationaler Datenbanksysteme

Architektur und Optimierung relationaler Datenbanksysteme Literatur Architektur und relationaler Datenbanksysteme M. Jarke, J. Koch: Query optimization in database systems, ACM Computing Surveys, Vol. 16, No. 2, pp. 111-152, 1984. (ein Klassiker zur Anfrageoptimierung)

Mehr

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

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

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

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

Mehr

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

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

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

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

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash

[W, T4, D, 15] [start_transaction, T3] [W, T3, C, 30] [W, T4, A, 20] [commit, T4] [W, T2, D, 25] System Crash Übungen Aufgabe 1 Geben ist die folgende Logdatei: [start_transaction, T1] [W, T1, D, 20] [commit, T1] [checkpoint] [start_transaction, T2] [W, T2, B, 12] [start_transaction, T4] [W, T4, D, 15] [start_transaction,

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

Mehr

Anforderungen an die HIS

Anforderungen an die HIS Anforderungen an die HIS Zusammengefasst aus den auf IBM Software basierenden Identity Management Projekten in NRW Michael Uebel uebel@de.ibm.com Anforderung 1 IBM Software Group / Tivoli Ein Feld zum

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

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen: FRAGEBOGEN-AUFGABE Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen: Ein Fragebogen besteht aus mehreren Fragen, eine Frage kann in mehreren Fragebögen

Mehr

Die Statistiken von SiMedia

Die Statistiken von SiMedia Die Statistiken von SiMedia Unsere Statistiken sind unter folgender Adresse erreichbar: http://stats.simedia.info Kategorie Titel Einfach Erweitert Übersicht Datum und Zeit Inhalt Besucher-Demographie

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

Kommunikation und Datenhaltung

Kommunikation und Datenhaltung Kommunikation und Datenhaltung Anfrageoptimierung Überblick über den Datenhaltungsteil Einleitung und Grundlagen Architektur von Datenbanksystemen Datenbankanfragen Relationenmodell und Relationenalgebra

Mehr

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Leitfaden #1a. zanox Publisher-Statistik (next generation) Leitfaden #1a "zanox Publisher-Statistik" (next generation) Thema: Sortieren von Leads und Sales nach dem Bearbeitungsdatum (inklusive Abschnitt "Filterung nach Transaktionsstatus") 1/8 Leitfaden "Sortieren

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

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

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

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Einteilung von Datenbanken

Einteilung von Datenbanken Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

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

Mehr

Datenbanksysteme II SS 2010. Übungsblatt 9: Wiederholung

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

Mehr

Datenexport aus JS - Software

Datenexport aus JS - Software Datenexport aus JS - Software Diese Programm-Option benötigen Sie um Kundendaten aus der JS-Software in andere Programme wie Word, Works oder Excel zu exportieren. Wählen Sie aus dem Programm-Menu unter

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Überblick. Lineares Suchen

Überblick. Lineares Suchen Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

tifakt Dokumentation bmsoft information technologies GmbH 2012 tifakt Dokumentation 1 / 16

tifakt Dokumentation bmsoft information technologies GmbH 2012 tifakt Dokumentation 1 / 16 tifakt Dokumentation bmsoft information technologies GmbH 2012 tifakt Dokumentation 1 / 16 Inhaltsverzeichnis Login... 3 Einzelzeiteintrag... 4 Listenerfassung... 5 Korrekturliste... 6 Tagesstatistik...

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

Binäre Bäume Darstellung und Traversierung

Binäre Bäume Darstellung und Traversierung Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.

Mehr

DB2 Kurzeinführung (Windows)

DB2 Kurzeinführung (Windows) DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten

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

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

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

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

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

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

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

Mehr

MIN oder MAX Bildung per B*Tree Index Hint

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

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

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

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

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

Mehr