Einführung in Datenbanken und Informationssysteme

Werbung
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Kapitel 1: Einführung
Motivation: Warum Datenbanken?
"... kaum eine größere Informatikanwendung ist ohne DB-Unterstützung denkbar."
"DB-Systeme ... sind heute ein selbstverständliches Hilfsmittel der betrieblichen
Organisation und Verwaltung geworden."
"Datenbanken ... als Schlüsseltechnologie für die effiziente Realisierung komplexer
Informationssysteme ...“
Kennzeichen der Daten
o lange Lebensdauer (Jahre, Jahrzehnte)
o reguläre Strukturen
o große Datenobjekte, große Datenmengen
o stetig anwachsende integrierte Bestände (Giga-, Terabyte an Informationen)
o immer wiederkehrende Muster von Objektbeziehungen
Einführung in Datenbanksysteme
Einführung 1.1
Motivation: Warum Datenbanken? (2)
Einsatzbeispiele für Datenbanken
o Traditionell: Für kaufmännische informationsverarbeitende Aktivitäten in
Verwaltungsabteilungen großer Organisationen wie Versicherungen, Banken,
Telekommunikations- oder Versandunternehmen etc.
o Heute:
• Adreßdatenbank auf jedem PC
• Paper-Datenbank, Warburg Electronic Library
• Kinoprogramm, Telefonbuch, Kleinanzeigenmarkt, ...
• Stadtkarten
o Aber auch:
• Modulbibliotheken (Cross References), ...
• Repositories (Visio/UML, Centra 2000, ABAP/4), ...
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.2
1
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Motivation: Warum Datenbanken? (3)
Anforderungen an die Datenverwaltung:
o Adäquate Repräsentation der Informationsstrukturen (betriebswirtschaftliche,
statistische, textuelle, multimediale, grafische etc.)
o Flexible Zugriffsmodalitäten auf Informationsbestände (Hintergrundverarbeitung,
interaktive Recherche, entfernter Zugriff etc.)
o Zugriff für verschiedene Benutzer und Anwendungsprogramme
o Konsistenz der Daten
• Synchronisation
• Fehlererholung
• "konzeptuelle" Integrität
o Zugriffskontrolle, Datenschutz
o Effizienz beim Element- und Massendatenzugriff
o Unterstützung für Evolution der Daten und Programme
Einführung in Datenbanksysteme
Einführung 1.3
Informationssysteme
Wandel der Softwaresysteme:
o Früher: Computer zur Lösung numerischer Berechnungsaufgaben
o Später Informationssysteme: Systeme zur Repräsentation und Verarbeitung von
Informationen über Geschäftsprozesse
zentralisierte
dezentralisierte
kooperative Informationssysteme
Zeit
Host
Client/Server
Internet-"Nirvana"
Charakteristika von Informationssystemen:
o Persistenz (Langlebigkeit) des Informationsbestands
o Quantität des regulär strukturierten Informationsbestands
o Reaktivität auf die Aktivitäten seiner Umgebung
o Integrität des Informationsbestands und der ein- und ausgehenden Informationen
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.4
2
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Schematische Struktur eines Informationssystems
Geschäftsprozesse
Informationsaustausch mit
Aktivitäten der Umgebung
Schnittstelle des Informationssystems
Algorithmen zur
Informationsverarbeitung
und Integritätssicherung
Software
Umfangreicher, persistenter
Informationsbestand
Daten
Informationssystem
Einführung in Datenbanksysteme
Einführung 1.5
Beispiel: Ein Firmeninformationssystem
Beratungsprojekt
durchführen
Schnittstelle des Informationssystems
Budgetberechnung,
Gehaltsabrechnung,
Ressourcenberechnung etc.
Mitarbeiter,
Projekt,
Abteilung
Mitarbeiterdaten
Projektdaten
Abteilungsdaten
Informationssystem
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.6
3
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Datenbanksysteme
Realisierung eines Informationssystems mit einer Datenbank:
Schnittstelle des Informationssystems
Datenbankschema
Algorithmen zur
Informationsverarbeitung
und Integritätssicherung
Dienste des Datenbanksystems
zur Datenspeicherung
und Integritätssicherung
Datenbankzustand
Informationssystem
Datenbank
Informationssystem
Einführung in Datenbanksysteme
Einführung 1.7
Dienstgestützte Informationssystem-Realisierung
Schnittstelle Informationssystem B
Schnittstelle Informationssystem A
Datenbankschema A
Datenbankschema B
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Datenbankmodell
Datenbanksystem
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.8
4
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Dienstgestützte Informationssystem-Realisierung
Schnittstelle Informationssystem A1
Schnittstelle Informationssystem A2
Datenbanksubschema A1
Datenbanksubschema A2
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Datenbankschema A
Datenbanksystem
Einführung in Datenbanksysteme
Einführung 1.9
Datenbankdienste (1)
Anforderungen an Datenbanksysteme:
o Verpflichtende Datenbankdienste: Persistente Datenspeicherung, Verwaltung
einer Speicherhierarchie mit effizienter Datenselektion, dynamische
Massendatenstrukturen, Synchronisationsprimitive, Dienstschnittstellen für den
Datenbankzugriff aus Programmiersprachen.
o Datenbankkerndienste: Zusätzlich zu den verpflichtenden Datenbankdiensten:
Persistenzabstraktion, Metadatenverwaltung, inkrementelle und dynamische
Bindung, Datenunabhängigkeit durch Schemaschichtung, Iterationsabstraktion,
transaktionale Integritätssicherung, Fehlererholung und Parallelitätskontrolle im
Mehrbenutzerbetrieb.
o Erweiterte Datenbankdienste: Zusätzlich zu den Datenbankkerndiensten:
Orthogonale Persistenz, Persistenzunabhängigkeit, deklarative Integritätssicherung,
Verhaltensmodellierung, Ausnahmebehandlung, Unterstützung für Konversationen
und langandauernde Aktivitäten, Benutzeroberflächen, erweiterte
Dienstschnittstellen (4 GL, Benutzeroberfläche, Reportgenerator, entfernter
Datenbankzugriff).
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.10
5
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Datenbankdienste (2)
Vorteile ihrer Nutzung:
o Ausnutzung der Wiederverwendbarkeit
o Erhöhung der Portabilität
o Verbesserung der Systemskalierbarkeit (Migration eines Informationssystems von
einem Einbenutzerdatenbanksystem über ein Mehrbenutzerdatenbanksystem zu
einem verteilten Datenbanksystem)
o Qualitätsteigerung der auf ihnen basierenden Informationssysteme durch:
• Datenabstraktion
• Gemeinsame Informationsnutzung (Information Sharing)
• Integrierte Datenbeschreibung (Information Integration)
Mögliche Nachteile ihrer Nutzung:
o Redundanz, Inkonsistenz, ineffizienter Datenzugriff
Einführung in Datenbanksysteme
Einführung 1.11
Datenbanksysteme als Middleware
Applikationen
4GL-Sprachen
Broker
Netzwerke
DBMS
Betriebssysteme
Einführung in Datenbanksysteme
1. Einführung
Natural,
PowerBuilder
OLE, DCE,
CORBA, Entire, ...
Middleware
TCP/IP, SNA, ...
Oracle, Adabas D, ...
UNIX, Windows NT, OS/2, ...
Einführung 1.12
6
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Analogie: Datenbanken Ö Programmiersprachen
Datenbankschema
(Datenstrukturen, Tabellenstrukturen)
Datenbank
(Datenwerte, Tabelleninhalte)
Datenbankmodell
(Relationales Modell)
Datenbanksprache
(SQL)
Datenbanksystem
(Oracle 7.3)
Modulschnittstelle
(Klassen, Typen)
Modulimplementierung
(Objekte, Methoden)
Programmiersprachen
(C++, ANSI C)
Konkrete Programmiersprache
(GNU C++)
Konkreter Compiler
(GNU C++ 2.7.2 für Solaris)
Einführung in Datenbanksysteme
Einführung 1.13
Anforderungen an Datenbankmodelle
PQRI-Anforderungen:
Persistenz
Quantität
Datenbankmodell
Integrität
Reaktivität
Beachte: Synergieeffekt bei Diensterbringung
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.14
7
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Persistenz (1)
Alle Daten, deren Lebensdauer die Lebensdauer eines einzelnen
Betriebssystemprozesses überschreitet, werden als persistent bezeichnet.
Ein Informationssystem unterstützt die Speicherung unterschiedlichster Daten (mit
unterschiedlicher Lebensdauer).
Ziel: Daten existieren solange, wie die Geschäftsprozesse, die sie unterstützen.
Zeit
akueller Datenbankzustand
Einführung in Datenbanksysteme
Einführung 1.15
Unterstützung der Persistenz (2)
Beispiele:
o Transienter Zustand einer langandauernden Aktivität an einem Sicherungspunkt
(Minuten)
o Informationsanfragen (Stunden)
o Zustand eines Systemdialogs über mehrere Sitzungen (Tage)
o Versionen von Datenbeständen (Wochen, Monate)
o Protokollinformation (Jahre)
o Historische Datenbankzustände (Jahrzehnte)
o Datenbankzustand (unendlich)
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.16
8
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Persistenz (3)
o Speicherhierarchie: Datenspeicherung auf Sekundär- (Festplatte) und
Tertiärspeichern (Band, Wechselplatte) Ö Datenmanipulation im Primärspeicher
(RAM)
o Persistenzabstraktion: Manipulation von Daten unabhängig von ihrer
Lebensdauer
o Meta- und Schemadaten müssen zusammen mit den Nutzdaten abgelegt werden
o Schemaevolution: Umstrukturierung ohne Datenverlust
o Inkrementelle und dynamische Bindungsmechanismen: Bindung zwischen
Variablennamen und persistenten Objekten Õ Datenunabhängigkeit
o Fehlererholung: Persistenz über Ausfälle hinweg
Einführung in Datenbanksysteme
Einführung 1.17
Unterstützung der Persistenz (4)
Kosten
Zugriffszeit
sehr teuer
Umfang
Lebensdauer
Nanosekunden 50 MB/s
begrenzt
flüchtig
teuer
Millisekunden
5 MB/s
begrenzt
persistent
billig
> Sekunden
500 KB/s
"unendlich" persistent
Einführung in Datenbanksysteme
1. Einführung
Durchsatz
Einführung 1.18
9
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Quantität
Durch die Regularität der Informationsstrukturen läßt sich der Informationsbestand in
Klassen aufteilen, zwischen denen Beziehungen bestehen können
(Õ Massendatenstrukturen) und auf denen Invarianten definiert werden können
(Õ statische Typisierung).
o Iterationsabstraktion: stereotype imperative Programmuster ersetzt durch
deklarative Beschreibungen
o Effizienz der Datenselektion zur Vermeidung teurer Sekundär- und
Tertiärspeicherzugriffe
Beispiel:
firstPerson()
result:= true
while dbstatus = 0 do
person = getPerson()
result:= result and person.salary > 100
nextPerson()
end
∀ p in Person: p.salary > 100
Einführung in Datenbanksysteme
Einführung 1.19
Unterstützung der Reaktivität
Ein Informationssystem reagiert auf eingehende Daten, antwortet auf Anfragen und löst
selbständig Aktionen aus (Benutzeroberflächen, Dienstschnittstellen).
o Synchronisation nebenläufiger Aktivitäten auf dem gleichen Informationsbestand
o Transaktionen: zusammengehörige Aktionen müssen atomar,
konsistenzerhaltend, isoliert und mit dauerhaftem Effekt ausgeführt werden
(Õ Integritätssicherung, Synchronisation, Fehlererholung)
o Verhaltensmodellierung erfolgt mit algorithmisch vollständigen Sprachen
(Õ Programmierspracheneinbettung)
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.20
10
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Integrität (1)
Aspekte der Integritätssicherung:
o Binnenwirkung: Konsistenz eines gekapselten langlebigen Systemzustandes
o Außenwirkung: Informationsstrukturen und Geschäftsanforderungen für alle
Aktivitäten der Umgebung
Klassifizierung von Integritätsbedingungen:
o Modellinhärente Integritätsbedingungen werden implizit durch das
Datenbankmodell erzwungen (z.B. Typisierung: das Alter einer Person ist ein
Integer).
o Applikationsspezifische Integritätsbedingungen werden durch explizite
Deklaration im Datenbankschema oder durch explizite Überprüfung in Algorithmen
erzwungen (z.B. das Alter einer Person liegt zwischen 0 und 100).
Einführung in Datenbanksysteme
Einführung 1.21
Unterstützung der Integrität (2)
Klassifizierung nach der zeitlichen Ausdehnung:
o Statische Integritätsbedingungen müssen in jedem Zustand erfüllt sein
(quantifizierte Prädikate, z.B. jeder Mitarbeiter arbeitet in genau einer Abteilung).
o Dynamische Integritätsbedingungen müssen in jeder Zustandsänderung erfüllt
sein (Prädikattransformator, temporale Logiken, z.B. Gehälter von Mitarbeiter
nehmen nie ab).
Integritätsbedingungen können auch nach ihrem Sichtbarkeits- und Wirkungsbereich
unterschieden werden (z.B. Objekte, Klassen).
Integrität wird erhalten durch:
o Deklarative Integritätssicherung: Klauseln oder quantifizierte boolesche
Prädikate im Datenbankschema (z.B. zu jedem Student s gehört genau eine
Universität u)
o Prozedurale Integritätssicherung: explizit programmierte Tests
(z.B. if person.age < 18 then abort else insertStudent (person) )
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.22
11
Vorlesung "Datenbanken und Informationssysteme“WS 98/99
© F. Matthes, J.W. Schmidt
Deklarative Integritätssicherung
Vorteile:
o Verbesserte Systemwartbarkeit
o Verbesserte Verstehbarkeit
o Optimierbarkeit
Probleme:
o Synchronisation verschiedener Integritätsbedingungen kann zu nichtdeterministischem Verhalten führen.
o Terminierung und Konsistenz von Ausnahmebehandlungen ist nicht garantiert.
o Lokalisierung von Integritätsbedingungen
o Inadäquate Sprachmittel für die Ausnahmebehandlung
Einführung in Datenbanksysteme
1. Einführung
Einführung 1.23
12
Herunterladen