Datenbank - Grundlagen
H.-G. Hopf Georg-Simon-Ohm Fachhochschule Nürnberg
Datenbank-Grundlagen / 1
©Η.− G.Hopf / 03.10.2007
Motivation z
Aufgabe: Ablage und Verwaltung von Informationen in Zusammenhang mit einem digitalen Multimedia-DateienArchiv Beispiele für Multimedia-Dateien: » digitale Bilder, » Soundclips, » Movieclips, » ...
Datenbank-Grundlagen / 2
©Η.− G.Hopf / 03.10.2007
Motivation z
Lösung: Ablage von Multimedia-Dateien im Filesystem
Datenbank-Grundlagen / 3
©Η.− G.Hopf / 03.10.2007
Motivation z
Nachteile der Lösung: » Schwierigkeiten Ordnungsschema zu finden » Eingeschränkte Möglichkeit Informationen über Multimedia-Dateien abzulegen » Schlechte Suchmöglichkeiten » eventuell redundante Datenhaltung » keine Mechanismen zur Sicherung von Datenintegrität » keine Zugriffskontrolle
Datenbank-Grundlagen / 4
©Η.− G.Hopf / 03.10.2007
Motivation .. | -
.. | -
.. | -
Benutzer Benutzer Benutzer
Betriebssystem
Daten Daten Daten Daten Datei Datei Datei Datei Datenbank-Grundlagen / 5
.. | -
.. | -
.. | -
Benutzer Benutzer Benutzer
Datenbanksystem
Daten Daten Daten Daten
©Η.− G.Hopf / 03.10.2007
Inhaltsverzeichnis Begriffserklärung z Datenbank-Architektur z Klassifikation von Datenbanksystemen z DBMS Marktübersicht z
Datenbank-Grundlagen / 6
©Η.− G.Hopf / 03.10.2007
Inhaltsverzeichnis Begriffserklärung z Datenbank-Architektur z Klassifikation von Datenbanksystemen z DBMS Marktübersicht z
Datenbank-Grundlagen / 7
©Η.− G.Hopf / 03.10.2007
Begriffserklärung
DB
Datenbanksystem DBS
Datenbankmanagementsystem DBMS
Datenbank
Datenbasis Datenbankanwendung Datenbank-Grundlagen / 8
©Η.− G.Hopf / 03.10.2007
Begriffserklärung Datenbanksystem Ein Datenbanksystem (DBS) ist ein System zur z Beschreibung z persistenten Speicherung z zuverlässigen und unabhängigen Verwaltung z komfortablen, flexiblen und geschützten Verwendung (Wiedergewinnung) von umfangreichen Datenmengen (Informationen), die von mehreren Anwendungsprogrammen, eventuell auch gleichzeitig, genutzt werden.
Datenbank-Grundlagen / 9
©Η.− G.Hopf / 03.10.2007
Begriffserklärung Datenbanksystem » persistente Speicherung bedeutet, dass die Daten dauerhaft verfügbar sein sollen. » Zuverlässige Verwaltung bedeutet, dass die Konsistenz und die Integrität der Daten sichergestellt ist. » Unabhängige Verwaltung besagt, dass Anwendungen weitgehend von dem Datenbanksystem unabhängig sind.
Datenbank-Grundlagen / 10
©Η.− G.Hopf / 03.10.2007
Begriffserklärung Datenbanksystem » Komfortable Verwendung bedeutet, dass über höhere Programmiersprachen (höhere, abstrakte Schnittstelle) auf die Datenbank zugegriffen werden kann. » Flexible Verwendung bedeutet, dass mit einer ad-hoc Abfragesprache, ohne Programmierung, auf die Daten zugegriffen werden kann. » Geschützte Verwendung bedeutet, dass die Daten vor unberechtigtem Zugriff gesichert sind. Datenbank-Grundlagen / 11
©Η.− G.Hopf / 03.10.2007
Begriffserklärung Systemkomponenten Eine Datenbank besteht aus einer: z Datenbasis z Datenverwaltung
Datenbank-Grundlagen / 12
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Systemkomponenten Benutzer 1 Benutzer 2 Benutzer 3
Datenbasis
Benutzer .. Benutzer .. Benutzer n Datenbank-Grundlagen / 13
Datenverwaltung ©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Datenbasis Benutzer 1
Datenbasis
Benutzer 2 Benutzer 3 Benutzer .. Benutzer .. Benutzer n Datenbank-Grundlagen / 14
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Datenbasis » Die Datenbasis enthält die Gesamtheit der Daten eines Anwendungsbereichs. » Die Datenbasis kann für verschiedene Anwendungen in weitgehend unabhängigen Datengruppen zusammengefaßt sein. » Der Datenbestand der Datenbasis ist auf Dauer angelegt.
Datenbank-Grundlagen / 15
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Datenverwaltung Die Datenverwaltung erlaubt mehreren Benutzern gleichzeitig mit dem unter Umständen teilweise gemeinsamen Datenbestand zu arbeiten; insbesondere ermöglicht die Datenverwaltung: » das Abspeichern von Daten » den Zugriff auf die Daten » das Verändern von Daten » die Organisation der Daten » den Schutz der Daten vor unsachgemäßer oder nicht erlaubter Benutzung
Datenbank-Grundlagen / 16
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Problem: Lost-Update » Zwei Benutzer greifen unabhängig voneinander lesend auf das gleiche Datenelement zurück. » Der eine Benutzer ändert den Wert auf W1, der andere Benutzer ändert den gerade modifizierten Wert auf W2, ohne die Modifikation des ersten Benutzers zu berücksichtigen. » Damit ist der Wert W1 des ersten Benutzers verloren.
Datenbank-Grundlagen / 17
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Problem: Inconsistent Analysis (dirty read) » Ein Benutzer greift lesend ein anderer Benutzer greift schreibend auf eine Menge von Daten zu. » Der lesende Benutzer kann jetzt Daten lesen, – Die durch den 2. Benutzer ungeändert bleiben – Die nach dem Lesen durch den 2. Benutzer geändert werden, – Die vor dem Lesen schon durch den zweiten Benutzer geändert wurden.
» Damit ist das Leseergebnis inkonsistent Datenbank-Grundlagen / 18
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Datenbankmanagementsystem (DBMS) » Verwaltungsprogramme, die die Datenverwaltung ermöglichen, bilden das Datenbankmanagementsystem DBMS. » Das DBMS verwaltet und kontrolliert zentral die abgelegten Datenbestände.
Datenbank-Grundlagen / 19
©Η.− G.Hopf / 03.10.2007
Begriffserklärung z
Datenbankanwendung Beispiel für ein datenbankgestütztes Werkzeug:
Datenbank-Grundlagen / 20
©Η.− G.Hopf / 03.10.2007
Inhaltsverzeichnis Begriffserklärung z Datenbank-Architektur z Klassifikation von Datenbanksystemen z DBMS Marktübersicht z
Datenbank-Grundlagen / 21
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Wenn man von Information bzw. Daten spricht, meint man nicht immer das gleiche. Es gibt verschiedene Betrachtungsebenen. Es ist wichtig sich Klarheit über die Betrachtungsebenen von Information und Daten zu verschaffen. Dazu muss man festlegen, von welcher Betrachtungsebene man spricht.
Datenbank-Grundlagen / 22
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Reale Welt:
Datenbank-Grundlagen / 23
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Reale Welt beschrieben durch Informationen: Die Beschreibung der realen Welt geschieht in zwei Schritten. • Abstraktion • Repräsentation
Datenbank-Grundlagen / 24
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information
Abstraktion: Die reale Welt wird in einer ersten Abstraktion beschrieben durch (unter bestimmten Gesichtspunkten) relevante Information.
Datenbank-Grundlagen / 25
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Information Information wird definiert als zielgerichtetes und zweckorientiertes Wissen. Information nimmt die Stellung einer Grundkategorie neben Energie und Materie ein. Information ist Gegenstand der •Übermittlung,Vermittlung, •Verarbeitung •Speicherung.
Datenbank-Grundlagen / 26
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Information, für die Übermittlung und Aneignung »in Form gebrachtes« Wissen, wie Mitteilungen, Nachrichten, Messwerte, Daten, im Allgemeinen zur Beseitigung einer Ungewissheit. In der Informatik werden insbesondere Informationen betrachtet, die Gegenstand von Speicherung, Verarbeitung und Übertragung sind, meist dargestellt als eine Folge von Zeichen aus einem bestimmten Zeichenvorrat (z. B. einem Alphabet).
Quelle: Der Brockhaus Computer und Informationstechnologie. Mannheim: F.A. Brockhaus 2005. © Bibliographisches Institut F. A. Brockhaus AG, Mannheim
Datenbank-Grundlagen / 27
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information
Repräsentation: Zur Verarbeitung von Information muss diese dargestellt werden. Die verarbeitungsgerechte Darstellung von Information nennt man Daten.
Datenbank-Grundlagen / 29
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Konzeptionelle / logische Darstellung von Information: Auf der konzeptionellen / logischen Ebene wird eine konkrete Aussage (Situation) verallgemeinert. Das schlägt sich in der Formulierung von Datenmodellen nieder. Aus einem Datenmodell wird eine Datenstruktur abgeleitet. Datenbank-Grundlagen / 30
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Ein Datenmodell ist eine strukturierte Darstellung von Informationen aus einem wohldefinierten, abgegrenzten Informationsbereich. Abteilung
Projekt bearbeitet
Datenmodellierung ist eine formale Methode, ein Datenmodell zu generieren.
Datenbank-Grundlagen / 31
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Spezifische Darstellungen eines Informationsbereichs ergeben eine Menge von Daten einer bestimmten Datenstruktur. Eine Datenstruktur ist eine Implementierung / Realisierung eines Datenmodells (z.B. in Form einer Tabelle). Datenbank-Grundlagen / 32
Abt.
Projekt
Abt. 1
Projekt 1
Abt. 1
Projekt 2
Abt. 2
Projekt 2
Abt. 2
Projekt 1 ©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Physische Darstellung von Information: Auf dieser Ebene erfolgt die Repräsentation der Information in Speicherstrukturen (z.B. Datensatz in einer Datei). Von Interesse ist die konkrete, physische Datenorganisation: •gekettete / dichte Speicherung •indizierte Speicherung •Speicherung mit Datenverdichtung •.... Die Information präsentiert sich in der Sicht des Entwicklers (Systemprogrammierers). Datenbank-Grundlagen / 33
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Betrachtungsebenen für Information Physikalische Darstellung von Information: Auf dieser Ebene werden technische Eigenschaften beschrieben, die zur Speicherung der Information (Dateien) von Bedeutung sind: •Verwendung von Plattenspeicher •Speicherung auf Magnetband •.... Eigenschaften und Besonderheiten des Speichermediums finden hier Beachtung.
Datenbank-Grundlagen / 34
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Datenunabhängigkeit » Physikalische Datenunabhängigkeit » Logische Datenunabhängigkeit
Benutzerspezifische Datensicht z Strukturierung der Daten z Datenintegrität z Zeitliche Permanenz z
Datenbank-Grundlagen / 35
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Datenunabhängigkeit Die Datenunabhängigkeit soll eine Trennung der Daten von ihrer Anwendung erreichen.
Datenbank-Grundlagen / 36
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Es gibt zwei Aspekte: » Physikalische Datenunabhängigkeit Benutzer und Anwenderprogramme sind nicht von der physischen Datenorganisation abhängig. » Logische Datenunabhängigkeit Benutzer und Anwenderprogramme sind nicht von der logischen (konzeptionellen) Datenorganisation abhängig.
Datenbank-Grundlagen / 37
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Benutzerspezifische Datensicht Der Benutzer sieht nach Form und Menge nur den für ihn relevanten Ausschnitt der Datenbank.
Datenbank-Grundlagen / 38
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Strukturierung der Daten Ziel der Strukturierung ist es, einen überschaubaren inneren Aufbau des Datenbestands zu erreichen. Dieser ist charakterisiert durch: » die Vermeidung von ungeordneter Mehrfachspeicherung » die Möglichkeit zur Erweiterung, d.h. der Integration neuer Benutzer-/AnwenderBedürfnisse Datenbank-Grundlagen / 39
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Datenintegrität Wesentliche Gesichtspunkte der Datenintegrität sind: » Datenkonsistenz (innerer Aufbau) » Datensicherung (Schutz vor Verlust) » Datenschutz (Schutz vor kriminellen Aktivitäten)
Datenbank-Grundlagen / 40
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Konstruktionsprinzipien für DBS z Zeitliche Permanenz Die Berücksichtigung dieses Aspekts soll die dauerhafte Nutzung der Daten gewährleisten: » technische Neuerungen » physikalische Lebensdauer
Datenbank-Grundlagen / 41
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Das ANSI-SPARC 3 Schema-Konzept Abkürzungen: •ANSI: American National Standards Institute •SPARC: System Planning and Requirements Committee
Datenbank-Grundlagen / 42
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Benutzerspez. Datensicht
Anwender-Ebene
externe Ebene
Anwendung
Anwendung
Anwendung
Externe Sicht Logische Datenunabhängigkeit Logische Ebene
Konzeptionelle / logische Sicht
Physikalische Datenunabhängigkeit
Interne Ebene
Interne Sicht / physische Sicht
Physikalsche Sicht
Datenbank-Grundlagen / 43
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur 3 Ebenen-Konzept Anwender-Ebene
Externe Ebene
Logische Ebene
Anwendung
Anwendung
Anwendung
Externe Sicht
Konzeptionelle / logische Sicht
Interne Sicht / physische Sicht Interne Ebene Physikalsche Sicht
Datenbank-Grundlagen / 44
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Das ANSI-SPARC 3 Schema-Konzept Zur Formalisierung der Beschreibung einer Sicht dient ein sogenanntes Schema. Ein Schema ist eine, in einer Datenbeschreibungssprache / Datendefinitionssprache (DDL - data definition language) abgefaßte Definition der in einer Datenbank und der jeweils betrachteten Ebene zugelassenen Datenstrukturen.
Datenbank-Grundlagen / 45
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Das ANSI-SPARC 3 Schema-Konzept Ebene (level)
Sicht (view)
externe Ebene (external level)
zusammengesetzt aus individuellen Benutzersichten (individual user view)
konzeptionelle / logische Ebene (conceptual level)
Integration aller individuellen Benutzersichten zu einer vereinheitlichten Gesamtsicht (community view)
interne Ebene (internal level)
Speichersicht (storage view)
Datenbank-Grundlagen / 46
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur
Datenbank-Grundlagen / 47
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Anwender
Anwender-Ebene Externe Ebene
Logische Ebene DBS
Interne Ebene
Datenbank-Grundlagen / 48
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur
Datenbank-Grundlagen / 50
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur Datenbankverwaltung Das Datenbankmanagementsystem (DBMS - data base management system) » stellt Systemroutinen für alle Datenbankverwaltungsfunktionen zur Verfügung » bildet damit die eigentliche (universelle) Benutzerschnittstelle des Datenbanksystems
Datenbank-Grundlagen / 51
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur z
Hilfsprogramme zur Datenbankverwaltung sind z.B.: » Backup-Routinen zum Erzeugen eines Datenbankabzugs (Import/Export) » Lade-Routinen zum Erzeugen einer lauffähigen Datenbank auf Basis von ausgelagerten Dateien (Loader) » Reorganisations-Routinen, um Daten in der Datenbank nach Performanceaspekten neu zu organisieren
Datenbank-Grundlagen / 52
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur z
Hilfsprogramme zur Datenbankverwaltung sind z.B.: » Statistik-Routinen zum Erzeugen von: – Tabellen-/Datei-Größestatistiken – Performancestatistiken – Zugriffsstatistiken
» Analyse-Routinen, um Statistiken zu analysieren
Datenbank-Grundlagen / 53
©Η.− G.Hopf / 03.10.2007
Datenbank-Architektur z
Vom DBMS benötigte Verwaltungsdaten werden ebenfalls in der Datenbank abgelegt. Die hierfür vorbereitete Struktur ist das Data Dictionary (DD, data dictionary, system catalog). Das Data Dictionary: » enthält alle Informationen über die interne Struktur des verwalteten Datenbestandes. » enthält die sog. Meta-Information über die Struktur der Datenbank.
Datenbank-Grundlagen / 54
©Η.− G.Hopf / 03.10.2007
Inhaltsverzeichnis Begriffserklärung z Datenbank-Architektur z Klassifikation von Datenbanksystemen z DBMS Marktübersicht z
Datenbank-Grundlagen / 55
©Η.− G.Hopf / 03.10.2007
Klassifikation von DBS Hierarchische Datenbank z Netzwerk - Datenbank z Relationale Datenbank z Objektorientierte Datenbank z Objektrelationale Datenbanken z
Datenbank-Grundlagen / 56
©Η.− G.Hopf / 03.10.2007
Inhaltsverzeichnis Begriffserklärung z Datenbank-Architektur z Klassifikation von Datenbanksystemen z DBMS Marktübersicht z
Datenbank-Grundlagen / 84
©Η.− G.Hopf / 03.10.2007
http://www.crn.de/showArticle.jhtml?articleID=184418079&queryText=steigern Datenbank-Grundlagen / 92
©Η.− G.Hopf / 03.10.2007
DBMS Marktübersicht 45 40 35
Oracle IBM Microsoft Informix Sybase andere
30 25 20 15 10 5 0 1998
1999
2000
2003
2004
1998-2000: aus Computer Zeitung, 29/2000 und 22/2001 (31.05.2001) 2003-2004: aus Computer Reseller News / IDC (7.06.04) Datenbank-Grundlagen / 94
©Η.− G.Hopf / 03.10.2007
DBMS Marktübersicht Weltweiter Umsatz mit Datenbanken z im Jahr 2000: 8.8 Milliarden Dollar z im Jahr 2003: 13.6 Milliarden Dollar z im Jahr 2008: 20.0 Milliarden Dollar z
Datenbank-Grundlagen / 95
©Η.− G.Hopf / 03.10.2007
DBMS market overview z
Kostenlose SQL-Engines » Firebird 1.5 » MSDE 2000 » MySQL/MyISAM » MySQL/InnoDB » PostgreSQL 8 » OracleXE
from ct, 20/2002 (.10.2005) Datenbank-Grundlagen / 97
©Η.− G.Hopf / 03.10.2007
Zusammenfassung Datenbanken sind das Fundament jedes betrieblichen Informationssystems. In den 80er Jahren haben sich relationale Systeme durchgesetzt und damit ein Konzept, das eine theoretische Grundlage hat in der Mathematik der Relationen, ein positiver Umstand, den Praktiker (an)erkennen sollten. ... Viel mehr betrübt mich, daß die Informatik viel zu sehr im Arbeitsspeicher denkt, von Datenbankleuten natürlich abgesehen. ... Gravierender ist aber, dass viele Bücher über SoftwareEngineering Datenbanken gar nicht oder unzureichend behandeln. (E. Denert) Datenbank-Grundlagen / 99
©Η.− G.Hopf / 03.10.2007
Literatur » A.Kemper, A. Eickler: Datenbanksysteme – Eine Einführung; 6. Auflage, Oldenbourg, 2006 » J. Gennick: SQL – kurz und gut; O‘Reilly, 2006 » C.J. Date: An Introduction to Database Systems, 8th edition; Addison-Wesley, 2004 » W.M. Kähler: Relationales und objektrelationales SQL, Vieweg, 1999 » A.Heuer, G. Saake: Datenbanken – Konzepte und Sprachen; Thomson Publishing, 1995 » G. Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme; 2. Auflage, Addison-Wesley, 1994 Datenbank-Grundlagen / 100
©Η.− G.Hopf / 03.10.2007