Grundlagen der Datenbanksysteme I

Ähnliche Dokumente
Einführung in Datenbanken

Datenmodellierung VU Einführung SS 2016

Entwicklung der Datenbanksysteme

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Die Grundbegriffe Die Daten Die Informationen

Datenbanken Datenbanken 1 Belegnummer Belegnummer

Grundlagen der Programmierung 2

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

Datenbanken (WS 2015/2016)

BERUFSPRAKTIKUM UND -VORBEREITUNG

Wiederholung VU Datenmodellierung

Datenbanken I - Einführung

Relationale Datenbanken Kursziele

Modul Datenbanksysteme. (auch Teil des Moduls Informationssysteme) TU Bergakademie Freiberg

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

Datenbanken. Einführung. Tobias Galliat. Sommersemester 2012

Informa(onssysteme Übersicht Sommersemester 2015

Datenbanken Unit 1: Einleitung

Einführung. Informationssystem als Abbild der realen Welt

Relationale Datenbanken Datenbankgrundlagen

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

'DWHQEDQNV\VWHPH. Bernhard Seeger. Fachbereich Mathematik und Informatik. Philipps-Universität Marburg

Datenbanken. Prof. Dr. Bernhard Schiefer.

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

Software-Engineering und Datenbanken

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

Teil VI. Datenbanken

Datenbanken. Prof. Dr. Steffen Staab. Organisatorisches. Organisatorisches. Vorlesung

Einführung in Datenbanksysteme. Donald Kossmann Institut für Informationssysteme ETH Zürich

Einführung und Überblick

Kapitel 3: Datenbanksysteme

Datenbanksysteme. Eyke Hüllermeier

1. Einführung Seite 1. Kapitel 1: Einführung

Datenbanken. Dateien und Datenbanken:

Informationssysteme Übersicht Sommersemester 2017

Relationale Datenbanken Kursziele

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2014

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

Einführung. Kapitel 1 2 / 508

Einführung in die Informatik II

Kapitel 2 Grundlagen von Datenbanksystemen. E. Schikuta und H. Wanek, VO Datenbanksysteme: Kapitel 2 Grundlagen von Datenbanksystemen 1

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

Gliederung Datenbanksysteme

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Abstraktionsschichten. Das Relationale Datenmodell

10 Datenbanksysteme Datenbanken und Datenbanksysteme

Kapitel 3: Datenbanksysteme

Es geht also um die sogenannte SQL- Data Definition Language.

Datenbanken 1. Einführung. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg. Version 1.

SQL (Structured Query Language) Schemata Datentypen

Kapitel 3: Datenbanksysteme

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

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

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

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

SQL/Datenbanken Klausur: Basics

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

Themen. Elektrotechnik und Informatik Faculty of Electrical Engineering and Computer Science

Relationale Datenbanken - Theorie und Praxis

Datenbanken. Günter M. Goetz 1. Inhalt der Veranstaltung. Konzept und Architektur von Datenbanksystemen Datenbankentwurf Datenbankmodelle Schwerpunkt:

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

Ausführliches zum Kapitel 1: Einführung

1. Einführung. Datenbanken Grundlagen

D1: Relationale Datenstrukturen (14)

10. Datenbank Design 1

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

Grundlagen von Datenbanksystemen

Datenbanksysteme. Thomas Neumann 1 / 31

Übersicht über Datenbanken

Relationales Datenbanksystem Oracle

Innovator 11 excellence. DDL importieren. Data-Definition-Language-Dateien in Datenbankschema importieren. HowTo.

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

- Gewinnung neuer Informationen durch Berechnungen - Einsatz graphischer Mittel zur Präsentation / Visualisierung von Datenreihen

Datenbanksysteme Teil 1. Dozent: Stefan Maihack Dipl. Ing. (FH)

Inhalt. Datenbanken 1. Alle Infos zu Vorlesung und Proseminar: Inhalt. Einführung. Nikolaus Augsten. Sommersemester 2014

Datenbanken. Prof. Jürgen Sauer. Datenbanken. Skriptum zur Vorlesung im SS 2001

In diesem Abschnitt wollen wir uns mit dem Thema XML Datenbank beschäftigen. Das Ziel ist, herauszufinden, was XML Datenbank überhaupt sind und was

Einführung in Datenbanksysteme ++ Datenbanken für Bioinformatiker

Archivierung in DBMS

Vorlesung Datenbank-Entwurf Klausur

S(tructured)Q(uery)L(anguage)

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

In diesem Anschnitt geht es um die SQL Anweisungen, mit denen ich den Zugriff auf das Datenbankschema steuern kann.

Wie kommen die Befehle zum DBMS

Datenbank-Implementierungstechniken

Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL

Grundlagen von Datenbanken

OPERATIONEN AUF EINER DATENBANK

Vorlesung Informatik II

Dr. Angelika Reiser Lehrstuhl für Informatik III: Datenbanksysteme TU München / Garching. reiser@in.tum.de

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Lösungen der Übungsaufgaben von Kapitel 4

Übungen zu Datenbanken

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

Themen. M. Duffner: Datenbanksysteme

7. Datenbankdefinitionssprachen

OM Datenbanken. OM Datenbanken. 8.1 Was ist ein Datenbanksystem? Motivation

Kap. 5.3: SAP-Datenmodell, Metadatenverwaltung

Einführung in SQL Datenbanken bearbeiten

Transkript:

Grundlagen der Datenbanksysteme I SoSe 2017 Prof. Dott. Ing. Roberto V. Zicari Goethe Universität Frankfurt am Main Fachbereich 12 - Informatik und Mathematik

Goethe Universität Frankfurt am Main Institut für Informatik im Fachbereich Informatik und Mathematik (12) Grundlagen der Datenbanksysteme I Veranstalter: Prof. Dott. Ing. Roberto V. Zicari Zeit und Ort: Di, 10 bis 12 Uhr im Hörsaal HVI, Do, 10 bis 12 Uhr im Hörsaal HVI, Übung: Fr, 10 bis 12 Uhr im Hörsaal HIII Achtung: Auf etwaige Änderungen wird jeweils in der Vorlesung und auf den Web Seiten hingewiesen. http://www.bigdata.uni-frankfurt.de/database-systems-1-ss-2017/ Grundlagen der Datenbanksysteme I I-1

Mitarbeiter: Dr. Karsten Tolle Todor Ivanov Marten Rosselli (Robert-Mayer-Str. 10, 5. Stock) DBIS Homepage: http://www.dbis.cs.uni-frankfurt.de E-Mail: db@dbis.cs.uni-frankfurt.de Grundlagen der Datenbanksysteme I I-2

Scheinerwerb durch schriftliche Prüfung (es wird eine zweite Klausur/Nachklausur im Oktober geben Details hierzu folgen) Bearbeitungszeit 180 Minuten Termin Erstklausur: Datum: 07. Juli 2017 Raum: Hörsaaltrakt Bockenheim - H VI Zeit: 10:00 13:00 Bonuspunkte: Es können Bonuspunkte durch Übungsabgaben vor der Klausur gesammelt werden (siehe separate Folien). Grundlagen der Datenbanksysteme I I-3

Termin Zweitklausur (noch unter Vorbehalt): Datum: Freitag 27. Oktober 2017 Raum: Hörsaaltrakt Bockenheim - H VI Zeit: 10:00 13:00 Vorwissen: Modellierung/Design und ER-Modelle Die Lerninhalte von PRG-2 siehe (http://wwwstud.rbi.informatik.uni-frankfurt.de/~prg2/) Frühere Folien aus alten DB1 Veranstaltungen auf der Webseite! Konzeptionelles Design Entity-Relationship Modell Methoden des DB-Designs 1 Methoden des DB-Designs 2 Grundlagen der Datenbanksysteme I I-4

Literatur Theorie: J. Ullman, Principles of Database Systems, 2d ed., Computer Science Press, 1982 ISBN 0-7167-8069-0 Transaktionen: Bernstein, Hadzilacos, Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, 1987 ISBN 0-201-10715-5 Online frei erhältlich unter: https://www.microsoft.com/en-us/research/wpcontent/uploads/2016/05/ccontrol.zip Grundlagen der Datenbanksysteme I I-5

Weitere empfehlenswerte Literatur A. Kemper, A. Eickler: 'Datenbanksysteme - Eine Einführung', 8. Auflage Oldenburg Verlag, 2011 ISBN 978-3-486-598334-6 Ramez Elmasri und Shamkant B. Navathe, 'Grundlagen von Datenbanksystemen', Pearson Studium, 2009 Weitere Literaturempfehlungen befinden sich auf der Web Seite der Veranstaltung. Grundlagen der Datenbanksysteme I I-6

Inhalt Einführung Relationales Datenmodell Relationale Algebra SQL Logische Optimierung Normalformen Transaktionen Grundlagen der Datenbanksysteme I I-7

Einführung Kernaufgaben von Datenbanksystemen ist die Speicherung und Verwaltung von großen Datenbeständen. Wichtig für diese Kernaufgabe sind: Angebotene Benutzerschnittstellen Wie greife ich auf die gespeicherten Daten zu? Wie kann ich gespeicherte Daten ändern? Organisation der Daten Wie effizient ist die Speicherorganisation der Daten? Grundlagen der Datenbanksysteme I I-8

Beispiel 1: Flug-Reservierungssystem Daten die gespeichert werden müssen: Reservierungen einzelner Kunden auf einzelnen Flügen, inklusive Sitzplatzvorlieben und Essenswünsche Informationen über die Flüge (Start- und Zielflughäfen, Abflugzeiten, Ankunftszeiten, Flugzeugtyp, Fluggesellschaft,...) Informationen über Ticketpreise, Voraussetzungen und Verfügbarkeit Grundlagen der Datenbanksysteme I I-9

Anforderungen (Flug-Reservierungssystem) Anfragen nach Flügen zu gewissen Zeiten zwischen gegebenen Flughäfen Die Buchung einzelner Flüge, festlegen von Sitzplätzen und Vormerkung von Essenswünschen Gleichzeitiger Zugang und Bearbeitung der aktuellen Daten durch verschiedene Reisebüros Grundlagen der Datenbanksysteme I I-10

Beispiel 2: Bank Eine Bank benötigt Daten über: Die Kunden (Namen, Anschrift, Alter,...) Das Personal (Name, Anschrift, Tätigkeit, Gehalt,...) Die Konten (Kontonummer, Buchungen, Stand,...) Die Zuordnung von Kunden und Konten... und vieles mehr! Grundlagen der Datenbanksysteme I I-11

Verschiedene Anwendungen müssen auf die Bank-Daten zugreifen und sie ändern können: 1. Ein Geldautomat muss von Konten Abbuchungen vornehmen. 2. Ein Überweisungsterminal muss Abbuchungen und auch Zugänge verarbeiten können. 3. Ein Bankangestellter muss neue Kunden und Konten anlegen können. 4. Ein Kontoauszugsdrucker muss den Kontostand und die Buchungen auslesen können. Grundlagen der Datenbanksysteme I I-12

Anforderungen an einen Geldautomaten: Wird an einem Automaten Geld ausbezahlt, muss dies unverzüglich vermerkt werden. Auch nach einem sofortigen Stromausfall darf eine solche Information nicht verloren gehen. Auf der anderen Seite darf diese Information nur dann vermerkt werden, wenn das Geld auch wirklich ausbezahlt wurde. Grundlagen der Datenbanksysteme I I-13

Warum ein Datenbanksystem? Als es noch kein Datenbanksystem gab wurden die Daten für jede Anwendung in separaten Files permanent gespeichert (Einzellösung). Anwendung 1 Anwendung 2 Anwendung 3 Elementare Zugriffsoperationen Elementare Zugriffsoperationen Elementare Zugriffsoperationen Daten (Files) Daten (Files) Daten (Files) Grundlagen der Datenbanksysteme I I-14

Nachteile und Probleme dieser Einzellösung (1) Redundanz und Inkonsistenz Daten müssen mehrfach gespeichert werden. Beispiel: Die Adresse und Telefonnummer eines Kunden ist in einem File, welches zum Speichern von Kontobewegungen dient, als auch in einem (anderen) File, welches zur Überprüfung von Kontobewegungen dient, gespeichert. Diese Daten sind also mehrfach gespeichert (Redundanz), was einen höheren Bedarf an Speicher bedeutet. Zusätzlich birgt dies immer die Gefahr der Inkonsistenz, falls Daten nur an einer Stelle geändert werden. Grundlagen der Datenbanksysteme I I-15

Nachteile und Probleme dieser Einzellösung (2) Beschränkte Zugriffsmöglichkeiten Keine Ad-hoc-Abfrage, keine Abfragesprache. Beispiel: Angenommen ein Bankangestellter benötigt die Namen aller Kunden, die in Frankfurt wohnen. Der Bankangestellte kann nun entweder manuell versuchen die Namen aus dem entsprechenden File herauszusuchen oder einen Programmierer beauftragen ein entsprechendes Programm zu schreiben. Sollte sich die Fragestellung nur leicht ändern, z.b. nur die Namen mit einem Kontostand über 10.000, besteht das gleich Problem jedoch wieder. Grundlagen der Datenbanksysteme I I-16

Nachteile und Probleme dieser Einzellösung (3) Probleme des Mehrbenutzerbetriebs (Concurrency) Keine Überwachung gleichzeitiger Zugriffe. Beispiel: Um die Geschwindigkeit zu steigern, erlauben viele Systeme, insbesondere Banksysteme mit vielen Benutzern, den Mehrbenutzerbetrieb. Mehrere Benutzer arbeiten also gleichzeitig auf und mit den Daten. Falls gleichzeitig zwei Benutzer von dem gleichen Konto (A mit 500 ) abheben möchten (z.b. 100 und 50 ), so kann es sein, dass der Kontostand hinterher nicht stimmt. In diesem Fall könnte Konto A hinterher 400 oder 450 aufweisen, anstelle der korrekten 350. Grundlagen der Datenbanksysteme I I-17

15:00 Uhr Konto A 500 B := read(a); B := B 50; 15:01 15:02 B := read(a); write(a, B); 15:03 15:04 Konto A 400 B := B 100; write(a, B); Zeit Grundlagen der Datenbanksysteme I I-18

Nachteile und Probleme dieser Einzellösung (4) Integritätsverletzungen Erzwingen von Integritätsbedingungen ist schwierig. Beispiel: Bei Konten möchte man den Kreditrahmen gerne begrenzen. Eine Bedingung wie Kontostand darf nicht negativ werden ist mit Files nur sehr schwierig bzw. aufwendig zu realisieren. Grundlagen der Datenbanksysteme I I-19

Nachteile und Probleme dieser Einzellösung (5) Sicherheitsprobleme Nicht alle Benutzer sollten die gleichen Zugriffsmöglichkeiten auf die gespeicherten Daten haben. Beispiel: Ein Bankangestellter zuständig für die Gehaltsabrechnungen sollte keine Einsicht in die Kundenkonten und Kundendaten haben. Bei der Einbindung neuer Anwendungen müssen diese Sicherheitsüberprüfungen jeweils wieder überprüft und entsprechend implementiert werden. Grundlagen der Datenbanksysteme I I-20

Datenbanksysteme Datenbanksysteme (DBS) wurden entwickelt (seit ca. 1975), um diese Probleme zu überwinden. Ein Datenbanksystem sollte daher folgende Funktionalitäten bieten: Dauerhafte Speicherung von großen Datenbeständen Zugriffsmöglichkeit durch verschiedene Benutzer und Anwendungen, ohne inkonsistente Zustände zu erhalten Bereitstellung einer Anfragesprache zum einfachen Umgang mit der Datenbank Überwachung von Integritätsbedingungen Sicherheit gegenüber Hard- und Software ausfällen (backup and recovery) Sicherheit gegenüber nicht autorisierten Datenzugriffen (views)... und natürlich effizient, möglichst schnell unter Benutzung weniger Ressourcen Grundlagen der Datenbanksysteme I I-21

Anwendung 1 Anwendung 2 Anwendung 3 Elementare Zugriffsoperationen Elementare Zugriffsoperationen Elementare Zugriffsoperationen Datenbank- Managementsystem (DBMS) DBS Datenbank (DB) Kernidee: eine zentrale Datenverwaltung / Datenhaltung Grundlagen der Datenbanksysteme I I-22

Folgerung Diese Kernidee des DBS bedarf einer neuen Vorgehensweise: Erst Design der benötigten Datenstrukturen Danach können die Anwendungen auf den geteilten Daten (shared data) entwickelt und angewendet werden Gegenüber vorher (Einzellösungen): Entwicklung von Anwendung 1 mit benötigten Daten Entwicklung von Anwendung 2 mit benötigten Daten... Grundlagen der Datenbanksysteme I I-23

Datenabstraktion (Data Abstraction) Sehr grob unterscheidet man drei Abstraktionsebenen in einem Datenbanksystem: Die physische Ebene (physical level) Auf dieser Ebene ist beschrieben, wie die Daten auf dem Sekundärspeicher abgelegt sind. Die logische/konzeptionelle Ebene (conceptual level) Auf dieser Ebene wird mittels eines Datenbankschemas festgelegt, welche Daten abgespeichert sind. Die Sichten (view level) In den Sichten werden Teilmengen der Daten dargestellt. Die Sichten sind auf die Bedürfnisse der Benutzer zugeschnitten. Grundlagen der Datenbanksysteme I I-24

Sicht 1 Sicht 2... Sicht n logische Ebene physikalische Ebene Die drei Abstraktionsebenen eines Datenbanksystems. Grundlagen der Datenbanksysteme I I-25

Die verschiedenen Ebenen können analog zu den Konzepten in Programmiersprachen verdeutlicht werden. Ein Kunde könnte in C oder Modula 2 z.b. wie folgt deklariert werden: TYPE Kunde = RECORD Name: String; Strasse: String; Ort: String; END; Der Record Kunde hat hier drei Felder. Jedem Feld werden ein Name und ein Type zugewiesen. Grundlagen der Datenbanksysteme I I-26

Auf der physikalischen Ebene kann die Speicherung eines Kunden als Block (von Words oder Bytes) im Speicher beschrieben werden. Die konzeptionelle Ebene beschreibt die Type Deklaration wie oben beschrieben und die Beziehungen zwischen einzelnen Typen. Die einzelnen Sichten schließlich zeigen nur Teile der vorhandenen Daten. Ein Kassierer am Bankschalter zum Beispiel sieht nur die für ihn relevanten Daten und nicht auch Gehaltsinformationen von Kollegen. Grundlagen der Datenbanksysteme I I-27

Datenunabhängigkeit (Data Independence) Die Möglichkeit eine dieser Ebenen zu ändern, ohne dabei Auswirkungen auf die anderen Ebenen zu haben wird als Datenunabhängigkeit bezeichnet. Es wird dabei wie folgt unterschieden: Physische Datenunabhängigkeit = Stabilität der Benutzerschnittstelle gegen Änderungen der Datenorganisation (z.b. Datendarstellung, Feldlänge, Satzformate, Zugriffspfade), d.h. nach Änderungen auf der physikalischen Ebene müssen die Anwendungen nicht umgeschrieben werden. Logische Datenunabhängigkeit = Stabilität gegen Änderungen in der logischen Ebene (z.b. die Einführung neuer oder abgeleiteter Merkmale wie Ausbildung bzw. Alter für Kunden) Grundlagen der Datenbanksysteme I I-28

Bemerkungen: Das Erreichen der logischen Datenunabhängigkeit ist deutlich schwerer, da Anwendungen stark auf den logischen Strukturen der benötigten Daten aufbauen. Die Idee der Datenunabhängigkeit ist vergleichbar mit der Idee der abstrakten Datentypen in modernen Programmiersprachen. Mit beiden Ideen soll ein Information Hiding erreicht werden, damit Anwender sich mehr auf das eigentliche Problem konzentrieren können, anstatt sich mit den genauen Implementierungsdetails zu beschäftigen. Grundlagen der Datenbanksysteme I I-29

Die Architektur des DBMS Ein Datenbanksystem ist unterteilt in Module, die einzelne Aufgaben des Systems übernehmen. Zu diesen Modulen gehören: Datenbank Manager Interface zwischen Low-Level Daten und den Programmen und Anfragen der Benutzer Anfrage Prozessor übersetzt die Ausdrücke der Anfragesprache in Low-Level Anweisungen, die der Datenbank Manager versteht; führt Optimierung von Anfragen durch Transaktions-Manager überwacht gleichzeitigen Zugriff auf Daten Data Definition Language (DDL) Compiler übersetzt die DDL Ausdrücke in entsprechende Metadaten ( Daten über Daten ) Grundlagen der Datenbanksysteme I I-30

Schema Modifikationen Anfragen Modifikationen DDL Compiler Query Prozessor Transaktions Manager DBMS Datenbank Manager Daten Metadaten Grundlagen der Datenbanksysteme I 31

Data Definition Language (DDL) Ein Datenbankschema wird mit Hilfe einer speziellen Definitionssprache spezifiziert, der Data Definition Language (DDL). Die Schemainformationen nach der Übersetzung von DDL-Aussagen werden in einem besonderen File, dem Data Dictionary gespeichert. Die Daten im Data Dictionary beschreiben also nicht einen Kunden und dessen Eigenschaften, sondern die Struktur welche Informationen zu einem Kunden gespeichert werden. Diese Daten über Daten werden als Metadaten bezeichnet. Grundlagen der Datenbanksysteme I I-32

Data Manipulation Language (DML) Eine Data Manipulation Language (DML) ist eine Sprache, die es Benutzern erlaubt, auf Daten zuzugreifen (Anfragen) und diese zu modifizieren (Einfügen, Löschen, Ändern). Grundlagen der Datenbanksysteme I I-33

Der Datenbank Manager (database manager) Der Datenbank Manager ist ein Modul, welches die Schnittstellen zwischen den Low-Level Daten auf dem Sekundärspeicher und den Programmen und Abfragen von Benutzern zur Verfügung stellt. Der Datenbank Manager muss dabei folgende Aufgaben erfüllen: Interaktion mit dem File manager des OS Zusicherung von Integritätsbedingungen Sicherheitskontrollen Backup und Recovery Transaktions-Manager Nebenläufigkeitskontrolle (concurrency control) Grundlagen der Datenbanksysteme I I-34

Datenbank-Administrator Einer der Hauptgründe für eine Datenbank, ist es, eine zentrale Kontrolle über die Daten und Programme zu bekommen. Die Person mit diesen Kontrollmöglichkeiten nennt man Datenbank-Administrator. Seine Aufgaben sind: Definieren von Schemata Festlegen von Speicherstrukturen und Zugriffsmethoden Vergabe von Rechten Spezifikation von Integritätsbedingungen Grundlagen der Datenbanksysteme I I-35

Datenbank Benutzer Ziel einer Datenbank ist es, die Informationen den Benutzern zur Verfügung zu stellen. Es werden drei Typen von Benutzern unterschieden: Programmierer Computer-Experten, die mit der Datenbank durch DML-Aufrufe eingebettet in Programmiersprachen kommunizieren (Anwendungsprogrammierer). Fortgeschrittene Benutzer Benutzen keine fertigen Programme, sondern erstellen selbst ihre Anfragen in einer Anfragesprache. Einfacher Benutzer Interagiert mit der Datenbank durch fertige Programme. Grundlagen der Datenbanksysteme I I-36

Benutzer Datenbank Administrator Fortgeschrittener Benutzer Programmierer Einfacher Benutzer Programme Schema Modifikationen DDL DML DDL Compiler Query Prozessor Transaktions Manager DBMS Datenbank Manager Daten Metadaten Grundlagen der Datenbanksysteme I I-37