Aufbau Datenbanksysteme



Ähnliche Dokumente
2. Architektur von Datenbanksystemen

Datenbankoptimierung

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

Die Anweisung create table

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung

Datenbanken als Grundlage für Informationssysteme

Slotted Pages Wie ordnet man eine Menge von Sätzen auf eine Seite an? ffl Seite besteht aus drei Teilen fixer Seitenkopf (z.b. mit Seitennr, LSN) Slot

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Aufgabe 1 Indexstrukturen

Abschluss Einblick und Ausblick

Oracle 9i Einführung Performance Tuning

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

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

Indizes B+Bäume in Oracle. Jörg Winkler

Kapitel 8: Physischer Datenbankentwurf

Oracle 10g Einführung

Datenbank Objekte (Tabellen, Segemente, Extents, Blöcke)

Architektur von Datenbanksystemen

Sommersemester Vorlesung: Dr. Matthias Schubert

Übersicht der wichtigsten MySQL-Befehle

Es geht also im die SQL Data Manipulation Language.

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

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

Gleichheitsanfrage vs. Bereichsanfrage

Datenmanagement in Android-Apps. 16. Mai 2013

Oracle SQL. Seminarunterlage. Version vom

Algorithmen und Datenstrukturen 1

7. Übung - Datenbanken

Indexe. Ein Index = eine Struktur auf Platte, die einer Tabelle oder Sicht zugeordent ist, um die Tupeln in der Tabelle oder Sicht schneller abzurufen

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

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 6 - Musterlösung

Microsoft Access 2010 SQL nutzen

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

Übungsblatt 8 Lösungsvorschläge

Datenbanken 2. Kapitel 5: Pufferverwaltung und Optimierung von Zugriffspfaden

Praktische SQL-Befehle

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Triggern. Change Data Capture

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

OPERATIONEN AUF EINER DATENBANK

Datenbanksysteme II Physische Repräsentation von Daten Felix Naumann

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Webbasierte Informationssysteme

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

[ SQL] Wissen, das sich auszahlt

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Kapitel 8: Zugriffskontrolle

Performance in der Oracle Datenbank von Anfang an

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Übung Datenbanksysteme Updates, Integritätsbedingungen, funktionale Abhängigkeiten

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Datenbank und Tabelle mit SQL erstellen

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

A Datendenition in SQL ( Punkte)

Daten, Datenbanken, Datenbankmanagmentsysteme

Bibliografische Informationen digitalisiert durch

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Datenbanksysteme 2013

Üben von DDL und DML. Ergebnis:

IV. Datenbankmanagement

Teil I. Architektur von DBMS

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

PHP- Umgang mit Datenbanken (1)

Anwendungsentwicklung Datenbanken Datenbankentwurf. Stefan Goebel

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

Transkript:

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 eines Datenbanksystems c Ingo Claßen, Martin Kempa 2/20 Aufbau Datenbanksysteme

Speichersystem Aufgaben Segmente und Seiten werden auf der Basis von Dateien und Blöcken realisiert Seitenpuffer mit Seitenwechselstrategie wird realisiert Ziel Einsparen von Read-/Write-Operationen in der Datei Schnittstelle Datenstrukturen: Segmente, die aus Seiten (page) bestehen Operationen: create/delete Segment open/close Segment write Seite in Segment/read Seite from Segment release Seite in Segment c Ingo Claßen, Martin Kempa 3/20 Aufbau Datenbanksysteme

Speicherhierarchie schnell, relativ klein, flüchtig langsam, relativ groß, nicht flüchtig sehr langsam, sehr groß, nicht flüchtig c Ingo Claßen, Martin Kempa 4/20 Aufbau Datenbanksysteme

Exkurs: Dateien Platte Linearisierung (abrollen) Datei = Menge von Blöcken Abbildung: Blocknummer (Zylinder, Spur/Kopf, Sektor/Block) c Ingo Claßen, Martin Kempa 5/20 Aufbau Datenbanksysteme

Seitenpuffer c Ingo Claßen, Martin Kempa 6/20 Aufbau Datenbanksysteme

Pufferverwaltung: Bereitstellen einer Seite /* Seite s = (d,b), d. h. Block b aus Datei d */ if s ist im Puffer then return Pufferspeicheradresse für s else suche freien Pufferplatz if kein freier Pufferplatz vorhanden then suche geeignete Seite zu entfernen aus dem Puffer schreibe Seite zurück auf Platte, falls Änderungen entferne Seite aus dem Puffer endif /* an dieser Stelle ist p der freie Pufferplatz */ lies Block b aus Datei d in Pufferplatz p return Pufferspeicheradresse von p endif c Ingo Claßen, Martin Kempa 7/20 Aufbau Datenbanksysteme

Aufgaben Freispeicherverwaltung Record-Manager speichert interne Sätze Zugriffspfadverwaltung realisiert geordnete Datenstrukturen. Sperrverwaltung Log/Recovery Ziel Persistente Speicherung interner Sätze und Realisierung von Zugriffspfaden für effizienten Zugriff Schnittstelle Datenstrukturen: Satztypen mit internen Sätzen (Record), Bäume (altern. Hashtabellen) Operationen: create, update, delete satz read satz by id insert into B-Baum c Ingo Claßen, Martin Kempa 8/20 Aufbau Datenbanksysteme

Speicherstruktur für Sätze c Ingo Claßen, Martin Kempa 9/20 Aufbau Datenbanksysteme

Verwaltung von Sätzen in Seiten Tuple-Identifier (TID) TID = (Seitennummer, Index im Seitenverzeichnis) c Ingo Claßen, Martin Kempa 10/20 Aufbau Datenbanksysteme

Exkurs: Datenstrukturen c Ingo Claßen, Martin Kempa 11/20 Aufbau Datenbanksysteme

Zugriffspfad c Ingo Claßen, Martin Kempa 12/20 Aufbau Datenbanksysteme

Geclusterte/Nichtgeclusterte Indizes Geclusterter Index Physische Speicherung der Datensätze entsprechend der Indexsortierung D. h. Datensätze, deren Indexwerte nahe bei einander liegen, werden physisch nahe bei einander gespeichert (auf der gleichen Seite) Nur einer pro Tabelle Nichtgeclusterter Index Physische Speicherung der Datensätze unabhängig von der Indexsortierung Beliebig viele pro Tabelle c Ingo Claßen, Martin Kempa 13/20 Aufbau Datenbanksysteme

Dünn gestreute/dichte Indizes Dünn gestreuter (sparse) Index Zeiger auf Seiten Suche nach Datensatz innerhalb der Seite Benötigt wenig Speicher, dadurch wenige Seitenzugriffe, bei der Indexsuche Dichter (dense) Index Direkter Zugriff über TID auf den Datensatz Nichtgeclusterte Indizes müssen dicht sein c Ingo Claßen, Martin Kempa 14/20 Aufbau Datenbanksysteme

Weitere Aspekte von Indizes Überdeckende (covering) Indizes Speicherung weiterer Attributwerte im Index Vermeidung von Zugriffen auf Datenseiten, da alle benötigten Daten im Index vorliegen Kosten für Einfüge-, Lösch- und Änderungsoperationen Bei Datenänderungen in den Tabellen müssen die Indizes angepasst werden Wartung von Indizes Indizes sind kein Allheilmittel Keine Vorteile bei kleinen Tabellen TableScan kann schneller sein als IndexScan (abhängig von der Selektivität der Indexattribute) c Ingo Claßen, Martin Kempa 15/20 Aufbau Datenbanksysteme

Spezielle Zugriffspfade Bitmap-Indexstrukturen Ein Bitvektor pro Spaltenwert, wobei jede Bitposition für einen Datensatz steht. Steht an der Bitposition der Wert 1, so hat der entsprechende Datensatz den gegebenen Spaltenwert, ansonsten nicht. Multidimensionale Indexstrukturen Erweiterung eindimensionaler Indexstrukturen Addressierung von Datensätzen über mehrere Dimensionen c Ingo Claßen, Martin Kempa 16/20 Aufbau Datenbanksysteme

Aufgaben Data Dictionary Currency Pointer Sortierung Transaktionsverwaltung Schnittstelle Datenstrukturen: Satztypen externe Sätze, Index Operationen: insert/delete/update (externer) satz find satz by id, (find satz by attributwert) find satz by index key c Ingo Claßen, Martin Kempa 17/20 Aufbau Datenbanksysteme

Relationales Aufgaben Realisiert die relationalen Operationen (z. B. Join) Zugriffskontrolle Integritätskontrolle Zugriffspfadauswahl Schnittstelle Datenstrukturen: Zeilen, Relationen, Sichten Operationen: SQL: select... from...,... c Ingo Claßen, Martin Kempa 18/20 Aufbau Datenbanksysteme

Systemtabellen (Systemkatalog, Data Dictionary) Tabellen, die die Objekte innerhalb der Datenbank beschreiben Tabellen Spalten Schlüssel Indizes Gespeicherte Prozeduren Trigger... Werden für den laufenden Betrieb benötigt Kontextanalyse bei Anfragen: Existieren die in der SQL-Anweisung angegebenen Tabellen und Spalten Anfrageoptimierung: Welche Indizes existieren Datenzugriff: Wo beginnt eine Spalte im Datensatz Berechtigungsüberprüfung c Ingo Claßen, Martin Kempa 19/20 Aufbau Datenbanksysteme

Beispiel: Oracle-Server Tabellen select T.table_name from user_tables T Spalten TableName STUDENT VERANSTALTUNG STUDIENGANG BEWERTUNG select TC.column_name, TC.column_id from user_tab_columns TC where tc.table_name = STUDENT ColumnName ColumnId MATRNR 1 VORNAME 2 NAME 3 STUDIENGANG 4 c Ingo Claßen, Martin Kempa 20/20 Aufbau Datenbanksysteme