Vorlesung. Datenbanktechnik. Studienfach Informationstechnologie. Prof. Dr. Nikolai Preiß Duale Hochschule Baden-Württemberg Stuttgart



Ähnliche Dokumente
Datenbanken. Prof. Dr. Bernhard Schiefer.

Allgemeines zu Datenbanken

Grundlagen von Datenbanken

Entwurf & Verarbeitung relationaler Datenbanken

Transaktionsverwaltung

Software-Engineering und Datenbanken

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

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe Copyright 2005 HSR SS 2005

Die Grundbegriffe Die Daten Die Informationen

SQL (Structured Query Language) Schemata Datentypen

Themen. M. Duffner: Datenbanksysteme

Arbeiten mit einem lokalen PostgreSQL-Server

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

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

5. Programmierschnittstellen für XML

P.A. Bernstein, V. Hadzilacos, N. Goodman

Einführung. Informationssystem als Abbild der realen Welt

Evil Tech presents: Windows Home Server

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

miditech 4merge 4-fach MIDI Merger mit :

Datenbanken. Ein DBS besteht aus zwei Teilen:

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

XML und Datenbanken. Wintersemester 2003/2004. Vorlesung: Dienstag, 13:15-15:00 Uhr IFW A36. Übung: Dienstag, 15:15-16:00 Uhr IFW A36

Datenbanken I - Einführung

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

Relationale Datenbanken Datenbankgrundlagen

5. Programmierschnittstellen für XML

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Inhalt der Vorlesung. 1 Datenmodellierung (Entity-Relationship Modell) 2 Das relationale Modell. 3 Relationenalgebra. 4 Datenbanksprache (SQL)

Prüfungsberatungs-Stunde Datenbanksysteme 1 (Dbs1)

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Prozessarchitektur einer Oracle-Instanz

EEX Kundeninformation

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Übersicht über Datenbanken

7. Übung - Datenbanken

Workflow, Business Process Management, 4.Teil

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Einteilung von Datenbanken

Definition Informationssystem

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

Skalierbare Webanwendungen mit Python und Google App Engine

Verbinde die Welten. Von Oracle auf MySQL zugreifen

Microsoft Azure Fundamentals MOC 10979

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

Teil VI. Datenbanken

Prozedurale Datenbank- Anwendungsprogrammierung

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

Fragen zur GridVis MSSQL-Server

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung

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

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

Einführung. Kapitel 1 2 / 508

SQL. Fortgeschrittene Konzepte Auszug

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

An integrated total solution for automatic job scheduling without user interaction

CLR-Integration im SQL-Server. Alexander Karl

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

Datenbanken (WS 2015/2016)

Entwicklung einer Informix- Administrationsdatenbank mit ERwin

Restore Exchange Server 2007 SP2

LINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into

Einführung in Datenbanken

Im Kapitel Resourc Manager werden die verschiedenen Möglichkeiten der Überwachung von Messwerten eines Server oder Benutzers erläutert.

SAS Metadatenmanagement Reporting und Analyse

Data Warehouse ??? Ein Data Warehouse ist keine von der Stange zu kaufende Standardsoftware, sondern immer eine unternehmensindividuelle

3. Stored Procedures und PL/SQL

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

DB2 Kurzeinführung (Windows)

OPERATIONEN AUF EINER DATENBANK

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Datenbanken. Datenbanken. Datenbanken. Taschenbuch. Taschenbuch Taschenbuch. Thomas Kudraß. 2. Auflage. Thomas Kudraß.

Relationale Datenbanken Kursziele

Datenbanken. Dateien und Datenbanken:

ORACLE PROFIL UND REFERENZEN

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Grundbegriffe der Wirtschaftsinformatik Informationssystem I

MSSQL Server Fragen GridVis

Datenmanagement in Android-Apps. 16. Mai 2013

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Was ist Windows Azure? (Stand Juni 2012)

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Best Practice Infor PM 10 auf Infor Blending

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

Unternehmen-IT sicher in der Public Cloud

Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

SJ OFFICE - Update 3.0

Big Data Projekte richtig managen!

SAP Memory Tuning. Erfahrungsbericht Fritz Egger GmbH & Co OG. Datenbanken sind unsere Welt

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Vorlesung ) Einführung

Betriebssystemsicherheit am Beispiel UNIX

Backup and Recovery. Der Abschnitt beschreibt Vorgehensweisen zur Sicherung und Wiederherstellung der Daten mit Applikationsmitteln.

IBM Netezza Data Warehouse Appliances - schnelle Analysen mit hohen Datenmengen

Transkript:

Vorlesung Datenbanktechnik Studienfach Informationstechnologie Prof. Dr. Nikolai Preiß Duale Hochschule Baden-Württemberg Stuttgart & Dipl.-Ing. (BA) Holger Seubert hseubert@me.com 1

Inhalt 1. Einführung 2. Physische Datenspeicherung Unsortierte und sortierte Datei Hash-Datenbank 3. Indexierung Flache Indexe Mehrstufige Indexe (B- und B + -Bäume) 4. Anfrageoptimierung Anfragebaum Auswertung 5. Transaktionskonzept Recovery Mehrbenutzerbetrieb 6. Verteilte Datenbanken Verteilungskonzepte Anfrageauswertung Transaktionskonzept 2

Literatur Connolly, T. / Begg, C. (2005): Database Systems, 4. Auflage, Addison-Wesley-Verlag, ISBN 0-321-21025-5 Elmasri, R. / Navathe, S.B. (2000): Fundamentals of Database Systems, Third Edition, Addison-Wesley, ISBN 0-201-54263-3 (5. Auflage 2006 verfügbar, ISBN 0-321-41506-X) Elmasri, R. / Navathe, S.B. (2009) Grundlagen von Datenbanksystemen, 3. aktualisierte Auflage, Pearson Studium, ISBN 3-86894-012-X (deutsche Übersetzung der verkürzten englischsprachigen Originalausgabe) Heuer, A. / Saake, G. / Sattler, K.-U. (2003) Datenbanken kompakt, 2. Auflage, mitp-verlag, ISBN 3-8266-0987-5 Saake, G. / Heuer, A. / Sattler, K.-U. (2005) Datenbanken: Implementierungstechniken, 2. akt. u. erw. Auflage, mitp-verlag, ISBN 3-8266-1438-0 Silberschatz, A. / Korth, H. / Sudarshan, S. (2006) Database System Concepts, 5. Auflage, McGraw-Hill-Verlag, ISBN 007-124476-X Vossen, G. (2007): Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme, 5. Auflage, Oldenbourg-Verlag, ISBN 3-486-27574-7 3

1. Einführung 1.1. Allgemeine Einführung Wir bleiben bei traditionellen Datenbankanwendungen, d.h. OnLine Transaction Processing Systemen (OLTP) Verarbeitung von einfach strukturierten Massendaten (numerisch, textform) also keine : nosql Datenbanken In-Memory Datenbanken objektorientierten Datenbanken (im 6. Semester) Web-Datenbanken (Content Management System) (z.b. XML-DBs im 6. Semester) Multimedia-Datenbanken (Audio, Video, Bilder DBS bspw. mit Ausschnitt-Abfragemöglichkeiten) geographischen Informationssysteme (Landkarten, Wetterkarten, Satelittenbilder) Data Warehouse - OLAP (sehr große Datenmengen, Unterstützung unternehmerischer Entscheidungsprozesse) Echtzeit-Datenbanken (z.b. Computer Integrated Manufacturing, Telefonanlagen) 4

1.1. Allgemeine Einführung Bestandteile eines Datenbanksystems Datenbank (DB) = Sammlung zusammenhängender Daten einfach strukturiert, logisch zusammenhängend Ausschnitt der realen Welt ( Miniwelt ) Datenbankmanagementsystem (DBMS) = Menge von (System-) Programmen, um Datenbanken zu verwalten definieren, manipulieren, abfragen Strukturen und Daten Wartung und Administration Datenbanksystem (DBS) = Datenbank + DBMS Benutzer: - interaktiver Anwender - (Anwendungs-) Programme 5

1.1. Allgemeine Einführung Quelle: Elmasri, R. / Navathe, S.B. (2000) 6

1.1. Allgemeine Einführung - Beispiel DB2 DB2 Server Instanz ( DB2, db2inst1 ) An der Spitze der DB2 Hierarchie steht die Instanz (DBMS) bzw. das DB2 Subsystem (DB2 z/os) Eine Instanz ist eine unabhängige Umgebung in der Datenbanken erstellt, und Anwendungen ausgeführt werden können (eigene Konfiguration). Dabei stellt eine Instanz diverse Systemresourcen wie Speicher, CPU Management Policies und Netzwerk-Ports zur Verfügung. db2icrt <instance_name> db2idrop <instance_name> db2ilist DBM CFG Instanz ( myinst ) Port. Port db2start db2stop get dbm cfg update dbm cfg <params> reset dbm cfg 7

1.1. Allgemeine Einführung - Beispiel DB2 DB2 Server Instanz ( DB2, db2inst1 ) Datenbank 1 Innerhalb einer Instanz können mehrere unabhängige Datenbanken angelegt werden. Dabei hat jede Datenbank: System Katalog Tabellen (Metadaten) Eine eigene Datenbank-Konfiguration (DB CFG) Ein Transaktions-Log Diagnoseinformationen. DB CFG LOG Files create database <parameter> drop database <parameter> Datenbank n connect to database <parameter> DBM CFG Instanz ( myinst ) Port. Port get db cfg update db cfg <parameter> db2sampl 8

1.1. Allgemeine Einführung - Beispiel DB2 - SAMPLE DB 9

1.1. Allgemeine Einführung - Beispiel DB2 - Katalog Jede Datenbank hat seinen eigenen System-Katalog mit Tabellen,Views, Funktionen etc. Im Katalog werden Metadaten über alle Datenbankobjekte gespeichert Der Katalog kann wie jede andere Tabelle auch abgefragt werden DB2 Katalogobjekte befinden sich in dem Datenbankschemata SYS*, wie z.b.: SYSIBM Basistabellen (Metadaten) SYSCAT Views basierend auf SYSIBM Tabellen, optimiert für ease of use SYSSTAT Datenbank-Statistiken SYSIBMADM Views über Administrative Informationen, wie z.b. die CONTAINER UTILIZATION Beispiele: - SYSCAT.TABLES - SYSCAT.INDEXES - SYSCAT.COLUMNS - SYSCAT.FUNCTIONS - SYSCAT.PROCEDURES 10

1.1. Allgemeine Einführung Vorteil Datenbanksystem im Vergleich zur Dateiverwaltung: fertiges Datenverwaltungssystem mit interaktiver Schnittstelle und API (Programmierschnittstelle) => Datenverwaltung unabhängig von Programmlogik zentrale oder verteilte Datenbank (Skalierbarkeit) möglich (mit unterschiedlichen Benutzersichten), hohe Verfügbarkeit einfache, standardisierte Datenbanksprache (SQL, XQuery / SQL/PL, PL/SQL, T-SQL) optimierte, strukturierte Datenablage (Objekte mit Beziehungen - relationales Datenmodell), Vermeidung von Redundanz Datensicherheit (Zugriffsschutz, Sicherheits- und Autorisierungssubsystem, Backup/ Restore) schnelle Zugriffe mit geeigneten Datenblöcken mit Indexen Überwachung von Integritätsbedingungen (Wertebereiche, RI, unique, not null, ), Sicherstellung der Konsistenz Transaktionskontrolle mit Koordination konkurrierender Benutzer (Concurrency Control/ Nebenläufigkeitskontrolle) Wiederherstellung eines korrekten Datenbank-Zustands im Fehlerfall (Recovery) 11

1.1. Allgemeine Einführung Berufsbilder im Umgang mit Datenbanksystemen: Endanwender fragen DBs ab (Reports) oder manipulieren DBs Gelegenheitsanwender (bspw. Manager) bis hin zum DB-Spezialisten Software-Ingenieur (DB-) Anwendungsentwickler: Analytiker + Programmierer DB-Designer (Datenmodellierer) zentrale Stelle für Analyse und Design der Datenmodelle unternehmensweites Datenmodell + unternehmensweites Relationenmodell DB-Administrator überwacht DB-Betrieb (DB + DBMS + (DB-) Anwendungen) mit geeigneten Tools: Performance, Reorg (Umstellung/Optimierung Primär-/Sekundärorganisation), Backup, Ressourcenzuteilung, Zugriffsrechte DBS-Hersteller (Vendor) eigentliches DBS ergänzende Tools (bspw. Performance-Monitor, CASE-Tool (bspw. für Datenmodellierung) ) 12

1.2. DBS-Architektur 3-Ebenen-Architektur (nach ANSI/SPARC, 1978) für den Aufbau einer Datenarchitektur mit einem DBS => Trennung Benutzer von physischer Ebene Kunden-Bestellungen Artikel-Bestellungen EXTERNE EBENE K-Nr Artikel Art-Nr Art-Name..... Art-Nr Kunden K-Nr K-Name.. (Datensicht für Programm 1) (Datensicht für Programm 2) Externe Schemata KONZEPTIONELLE EBENE Kunde K-Nr K-Name bestellt 0..* 0..* Artikel Art-Nr Art-Name Konzeptionelles Schema (Entity-Relationship-Datenmodell) Kunde K-Nr K-Name Bestell K-Nr Art-Nr Logisches Schema (Relationales Datenmodell) Artikel Art-Nr Art-Name INTERNE EBENE Satzspeicherungsart, Speichergröße, Blockgröße, Verteilung, Indexe, Transaktionsverhalten,.. Internes Schema 13

1.2. DBS-Architektur Übersicht über die Komponenten eines DBMS Figure 2.3 illustrates, in a simplified form, the typical DBMS components. The database and the DBMS catalog are usually stored on disk. Access to the disk is controlled primarily by the operating system (OS), which schedules disk input/ output (I/O). A higher-level stored data manager module of the DBMS controls access to DBMS information that is stored on disk, whether it is part of the database or the catalog. The dotted lines and circles marked A, B, C, D, and E in Figure 2.3 illustrate accesses that are under the control of this stored data manager. The stored data manager may use basic OS services for carrying out low level data transfer between the disk and computer main storage, but it controls other aspects of data transfer, such as handling buffers in main memory. Once the data is in main memory buffers, it can be processed by other DBMS modules, as well as by application programs. The DDL compiler processes schema definitions, specified in the DDL, and stores descriptions of the schemas (meta-data) in the DBMS catalog. The catalog includes information such as the names of files, data items, storage details of each file, mapping information among schemas, and constraints, in addition to many other types of information that are needed by the DBMS modules. DBMS software modules then look up the catalog information as needed. The run-time database processor handles database accesses at run time; it receives retrieval or update operations and carries them out on the database. Access to disk goes through the stored data manager. 14

1.2. DBS-Architektur The query compiler handles high-level queries that are entered interactively. lt parses, analyzes, and compiles or interprets a query by creating database access code, and then generates calls to the run-time processor for executing the code. The precompiler extracts DML commands from an application program written in a host programming language. These commands are sent to the DML-compiler for compilation into object code for database access. The rest of the program is sent to the host language compiler. The object codes for the DML commands and the rest of the program are linked, forming a canned transaction whose executable code includes calls to the run-time database processor. The concurrency control / recovery system is based on the concept of transaction processing. It ensures the correctness of database operations when multiple users are working on the database at the same time. It also recovers the database from a system failure. Figure 2.3 is not meant to describe a specific DBMS; rather it illustrates typical DBMS modules. The DBMS interacts with the operating system when disk accesses - to the database or to the catalog - are needed. lf the computer system is shared by many users, the OS will schedule DBMS disk access requests and DBMS processing along with other processes. The DBMS also interfaces with compilers for general-purpose host programming languages. User-friendly interfaces to the DBMS can be provided to help any of the user types shown in Figure 2.3 to specify their requests. 15

1.2. DBS-Architektur Quelle: Elmasri, R. / Navathe, S.B. (2000) 16

1.2. DBS-Architektur Übersicht über die Komponenten eines DBMS Erläutern Sie anhand der Abbildung 2.3 und der zugehörigen Beschreibung in Stichworten die folgenden DBMS-Komponenten: Stored Data Manager (SDM) regelt Datentransfer zwischen Platte und Hauptspeicher mit Hilfe von Betriebssystem-Routinen DDL-Compiler übersetzt Schema-Definitionen speichert diese in den Katalog arbeitet mit Hilfe des SDM 17

1.2. DBS-Architektur Run-Time Database Processor (RTDP) führt den Datenbankzugriff zur Laufzeit aus mit Hilfe des SDM Query Compiler übersetzt interaktive Datenbankanfragen und lässt diese ausführen aktiviert RTDP Concurrency control / Recovery System regelt den konkurrierenden Zugriff mehrerer Benutzer stellt den konsistenten Zustand der Datenbank nach einem Datenbanksystemfehler wieder her 18

1.2 Am Beispiel DB2 - Architektur Concurrency Control DDL/ Query Compiler RTDP Recovery system Stored Data Manager 19

DBT Primärorganisation Sekundärorganisation (Indexe) Anfrageauswertung unsortiert sortiert Hash Selektion flach statisch dynamisch Primärindex Clusterindex Sekundärindex mehrstufig B-Baum B + -Baum linear binär Hash Index Themenübersicht Vorlesung Datenbanktechnik Verbund Anfragebaum Nested loop join Single loop join Sort merge join Recovery (Reihenfolge Commits) Transaktionskonzept Mehrbenutzerkontrolle (2-Phasen-Sperr-Protokoll + wait-die) Verteilte Datenbanken Anfrageauswertung Transaktionskonzept Selektion (Selektions- Verrechnung ) Verbund (Semi-Verbund) 2-Phasen-Commit-Protokoll Recovery Reihenfolge Commits 20 Mehrbenutzerkontrolle (2-Phasen-Sperr-Protokoll + wait-die)