Kapitel 1: Einführung Motivation: Warum Datenbanken? (2)

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
❏ lange Lebensdauer (Jahre, Jahrzehnte)
❏ reguläre Strukturen
❏ große Datenobjekte, große Datenmengen
❏ stetig anwachsende integrierte Bestände (Giga-, Terabyte an Informationen)
❏ immer wiederkehrende Muster von Objektbeziehungen
Datenbanken und Informationssysteme
Einführung 1.1
Motivation: Warum Datenbanken? (2)
Einsatzbeispiele für Datenbanken
❏ Traditionell: Für kaufmännische informationsverarbeitende Aktivitäten in
Verwaltungsabteilungen großer Organisationen wie Versicherungen, Banken,
Telekommunikations- oder Versandunternehmen etc.
❏ Heute:
• Adreßdatenbank auf jedem PC
• Paper-Datenbank, Warburg Electronic Library
• Kinoprogramm, Telefonbuch, Kleinanzeigenmarkt, ...
• Stadtkarten
❏ Aber auch:
• Modulbibliotheken (Cross References), ...
• Repositories (StP/OMT, ABAP/4), ...
Datenbanken und Informationssysteme
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:
❏ Adäquate Repräsentation der Informationsstrukturen (betriebswirtschaftliche,
statistische, textuelle, multimediale, grafische etc.)
❏ Flexible Zugriffsmodalitäten auf Informationsbestände (Hintergrundverarbeitung,
interaktive Recherche, entfernter Zugriff etc.)
❏ Zugriff für verschiedene Benutzer und Anwendungsprogramme
❏ Konsistenz der Daten
• Synchronisation
• Fehlererholung
• "konzeptuelle" Integrität
❏ Zugriffskontrolle, Datenschutz
❏ Effizienz beim Element- und Massendatenzugriff
❏ Unterstützung für Evolution der Daten und Programme
Datenbanken und Informationssysteme
Einführung 1.3
Informationssysteme
Wandel der Softwaresysteme:
❏ Früher: Computer zur Lösung numerischer Berechnungsaufgaben
❏ Später Informationssysteme: Systeme zur Repräsentation und Verarbeitung von
Informationen
zentralisierte
dezentralisierte
kooperative Informationssysteme
Zeit
Host
Client/Server
Internet-"Nirvana"
Charakteristika von Informationssystemen:
❏ Persistenz (Langlebigkeit) des Informationsbestands
❏ Quantität des regulär strukturierten Informationsbestands
❏ Reaktivität auf die Aktivitäten seiner Umgebung
❏ Integrität des Informationsbestands und der ein- und ausgehenden Informationen
Datenbanken und Informationssysteme
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
Datenbanken und Informationssysteme
Einführung 1.5
Beispiel: Ein Firmeninformationssystem
Beratungsprojekt
durchführen
Schnittstelle des Informationssystems
Budgetberechnung,
Gehaltsabrechnung,
Ressourcenberechnung etc.
Mitarbeiter,
Projekt,
Abteilung
Mitarbeiterdaten
Projektdaten
Abteilungsdaten
Informationssystem
Datenbanken und Informationssysteme
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
Datenbanken und Informationssysteme
Einführung 1.7
Dienstgestützte Informationssystem-Realisierung
Schnittstelle Informationssystem B
Schnittstelle Informationssystem A
Datenbankschema B
Datenbankschema A
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Spezialisierung und Anpassung
durch Ausdrücke der Datenbanksprache
Datenbankmodell
Datenbanksystem
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.8
4
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Datenbankdienste (1)
Anforderungen an Datenbanksysteme:
❏ Verpflichtende Datenbankdienste: Persistente Datenspeicherung, Verwaltung
einer Speicherhierarchie mit effizienter Datenselektion, dynamische
Massendatenstrukturen, Synchronisationsprimitive, Dienstschnittstellen für den
Datenbankzugriff aus Programmiersprachen.
❏ 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.
❏ 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).
Datenbanken und Informationssysteme
Einführung 1.9
Datenbankdienste (2)
Vorteile ihrer Nutzung:
❏ Ausnutzung der Wiederverwendbarkeit
❏ Erhöhung der Portabilität
❏ Verbesserung der Systemskalierbarkeit (Migration eines Informationssystems von
einem Einbenutzerdatenbanksystem über ein Mehrbenutzerdatenbanksystem zu
einem verteilten Datenbanksystem)
❏ Qualitätsteigerung der auf ihnen basierenden Informationssysteme durch:
• Datenabstraktion
• Gemeinsame Informationsnutzung (Information Sharing)
• Integrierte Datenbeschreibung (Information Integration)
Mögliche Nachteile ihrer Nutzung:
❏ Redundanz, Inkonsistenz, ineffizienter Datenzugriff
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.10
5
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Datenbanksysteme als Middleware
Applikationen
4GL-Sprachen
Natural,
PowerBuilder
OLE, DCE,
CORBA, Entire, ...
Broker
Netzwerke
DBMS
Middleware
TCP/IP, SNA, ...
Oracle, Adabas D, ...
Betriebssysteme
UNIX, Windows NT, OS/2, ...
Datenbanken und Informationssysteme
Einführung 1.11
Analogie: Datenbanken ↔Programmiersprachen
Datenbankschema
Datenbankschema
(Datenstrukturen,
(Datenstrukturen,Tabellenstrukturen)
Tabellenstrukturen)
Datenbank
Datenbank
(Datenwerte,
Tabelleninhalte)
(Datenwerte, Tabelleninhalte)
Datenbankmodell
Datenbankmodell
(Relationales
(RelationalesModell)
Modell)
Datenbanksprache
Datenbanksprache
(SQL)
(SQL)
Datenbanksystem
Datenbanksystem
(Oracle
(Oracle7.3)
7.3)
Datenbanken und Informationssysteme
1. Einführung
Modulschnittstelle
Modulschnittstelle
(Klassen,
(Klassen,Typen)
Typen)
Modulimplementierung
Modulimplementierung
(Objekte,
(Objekte,Methoden)
Methoden)
Programmiersprachen
Programmiersprachen
(C++,
(C++,ANSI
ANSIC)
C)
Konkrete
KonkreteProgrammiersprache
Programmiersprache
(GNU
C++)
(GNU C++)
Konkreter
KonkreterCompiler
Compiler
(GNU
(GNUC++
C++2.7.2
2.7.2für
fürSolaris)
Solaris)
Einführung 1.12
6
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Anforderungen an Datenbankmodelle
PQRI-Anforderungen:
Persistenz
Quantität
Datenbankmodell
Integrität
Reaktivität
Beachte: Synergieeffekt bei Diensterbringung
Datenbanken und Informationssysteme
Einführung 1.13
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
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.14
7
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Persistenz (2)
Beispiele:
❏ Transienter Zustand einer langandauernden Aktivität an einem Sicherungspunkt
(Minuten)
❏ Informationsanfragen (Stunden)
❏ Zustand eines Systemdialogs über mehrere Sitzungen (Tage)
❏ Versionen von Datenbeständen (Wochen, Monate)
❏ Protokollinformation (Jahre)
❏ Historische Datenbankzustände (Jahrzehnte)
❏ Datenbankzustand (unendlich)
Datenbanken und Informationssysteme
Einführung 1.15
Unterstützung der Persistenz (3)
❏ Speicherhierarchie: Datenspeicherung auf Sekundär- (Festplatte) und
Tertiärspeichern (Band, Wechselplatte) ↔Datenmanipulation im Primärspeicher
(RAM)
❏ Persistenzabstraktion: Manipulation von Daten unabhängig von ihrer
Lebensdauer
❏ Meta- und Schemadaten müssen zusammen mit den Nutzdaten abgelegt werden
❏ Schemaevolution: Umstrukturierung ohne Datenverlust
❏ Inkrementelle und dynamische Bindungsmechanismen: Bindung zwischen
Variablennamen und persistenten Objekten →Datenunabhängigkeit
❏ Fehlererholung: Persistenz über Ausfälle hinweg
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.16
8
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Persistenz (4)
Umfang
Lebensdauer
begrenzt
flüchtig
5 MB/s
begrenzt
persistent
500 KB/s
"unendlich" persistent
Durchsatz
Kosten
Zugriffszeit
sehr teuer
Nanosekunden 50 MB/s
teuer
Millisekunden
billig
> Sekunden
Datenbanken und Informationssysteme
Einführung 1.17
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).
❏ Iterationsabstraktion: stereotype imperative Programmuster ersetzt durch
deklarative Beschreibungen
❏ Effizienz der Datenselektion zur Vermeidung teurer Sekundär- und
Tertiärspeicherzugriffe
Beispiel:
firstPerson()
firstPerson()
result:=
result:= true
true
while
while dbstatus
dbstatus == 00 do
do
person
person == getPerson()
getPerson()
result:=
result:= result
result and
and person.salary
person.salary >> 100
100
nextPerson()
nextPerson()
end
end
∀∀pp in
in Person:
Person: p.salary
p.salary >> 100
100
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.18
9
Vorlesung "Datenbanken und Informationssysteme“ WS 98/99
© F. Matthes, J.W. Schmidt
Unterstützung der Reaktivität
Ein Informationssystem reagiert auf eingehende Daten, antwortet auf Anfragen und löst
selbständig Aktionen aus (Benutzeroberflächen, Dienstschnittstellen).
❏ Synchronisation nebenläufiger Aktivitäten auf dem gleichen Informationsbestand
❏ Transaktionen: zusammengehörige Aktionen müssen atomar,
konsistenzerhaltend, isoliert und mit dauerhaftem Effekt ausgeführt werden
(→Integritätssicherung, Synchronisation, Fehlererholung)
❏ Verhaltensmodellierung erfolgt mit algorithmisch vollständigen Sprachen
(→Programmierspracheneinbettung)
Datenbanken und Informationssysteme
Einführung 1.19
Unterstützung der Integrität (1)
Aspekte der Integritätssicherung:
❏ Binnenwirkung: Konsistenz eines gekapselten langlebigen Systemzustandes
❏ Außenwirkung: Informationsstrukturen und Geschäftsanforderungen für alle
Aktivitäten der Umgebung
Klassifizierung von Integritätsbedingungen:
❏ Modellinhärente Integritätsbedingungen werden implizit durch das
Datenbankmodell erzwungen (z.B. Typisierung: das Alter einer Person ist ein
Integer).
❏ 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).
Datenbanken und Informationssysteme
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 (2)
Klassifizierung nach der zeitlichen Ausdehnung:
❏ Statische Integritätsbedingungen müssen in jedem Zustand erfüllt sein
(quantifizierte Prädikate, z.B. jeder Mitarbeiter arbeitet in genau einer Abteilung).
❏ 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:
❏ Deklarative Integritätssicherung: Klauseln oder quantifizierte boolesche
Prädikate im Datenbankschema (z.B. zu jedem Student s gehört genau eine
Universität u)
❏ Prozedurale Integritätssicherung: explizit programmierte Tests
(z.B. if person.age < 18 then abort else insertStudent(person) )
Datenbanken und Informationssysteme
Einführung 1.21
Deklarative Integritätssicherung
Vorteile:
❏ Verbesserte Systemwartbarkeit
❏ Verbesserte Verstehbarkeit
❏ Optimierbarkeit
Probleme:
❏ Synchronisation verschiedener Integritätsbedingungen kann zu nichtdeterministischem Verhalten führen.
❏ Terminierung und Konsistenz von Ausnahmebehandlungen ist nicht garantiert.
❏ Lokalisierung von Integritätsbedingungen
❏ Inadäquate Sprachmittel für die Ausnahmebehandlung
Datenbanken und Informationssysteme
1. Einführung
Einführung 1.22
11
Herunterladen