Kapitel 1: Datenbankdienste

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Datenbanken Einführung.
Vorteile der Online-Produkte
Kritische Betrachtung
CPCP Institute of Clinical Pharmacology AGAH Annual Meeting, 29. Februar 2004, Berlin, Praktischer Umgang mit den Genehmigungsanträgen gemäß 12. AMG Novelle.
Finale Semantik und beobachtbares Verhalten
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Kapitel 4 Datenstrukturen
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
Hier ist die automatische Flugauskunft des Flughafens München. Wie kann ich Ihnen helfen?Eine Auskunft bitte. Ist der Flug LH 225 pünktlich?Ist der Flug.
SS 2004B. König-Ries: Datenbanksysteme2-1 Kapitel 2: Referenzarchitektur für Datenbanksysteme Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme.
Java: Objektorientierte Programmierung
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Imperative Programmierung
Datentyp  Zusammenfassung von Mengen von "Werten" mit auf
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Christian Schindelhauer
Access 2000 Datenbanken.
DVG Klassen und Objekte
ausdrucksschwächeres
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
Polymorphe Konsistenzbedingungen (1)
Aufgabe Aufgabe: Einflussfaktoren: ?
Rechneraufbau & Rechnerstrukturen, Folie 12.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 12.
Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Dienstfunktionalität und Dienstmerkmale
20:00.
Nachtragsfall 1: Leistungsänderung
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
NEU! 1 2. Wo kommt diese Art von Rezeptor im Körper vor?
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
Analyse von Ablaufdiagrammen
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Zustandsübergangsdiagramme (1)
Großer Altersunterschied bei Paaren fällt nicht auf!
Zahlentheorie und Zahlenspiele Hartmut Menzer, Ingo Althöfer ISBN: © 2014 Oldenbourg Wissenschaftsverlag GmbH Abbildungsübersicht / List.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
SiLeBAT Sicherstellung der Futter- und Lebensmittelwarenkette bei bio- und agro-terroristischen (BAT)-Schadenslagen.
Es war einmal ein Haus
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Wie.
Objekte und Literale ODMG-Objektmodell kennt zwei Arten von Datenelementen: Literale: Identität ist ausschließlich durch Wert gegeben. Nur maximal eine.
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
1 Einordnung (1) Elementare Zustandsräume Konstruktoren für Zustandsräume Operatoren Datenmodell Konkreter Zustandsraum Konkrete Konsistenz- bedingungen.
Vordefinierte Datentypen (1)
Referenzarchitektur Externes Datenmodell Anfragebearbeitung Internes Datenmodell Satz- u. Satzmengenverwaltung Physische Datenstrukturen Zugriffsschicht.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
1 Relationale Datenbasisschemata (1) Substitution der Variablen zu Tupel- und Relationstypen. Für das Beispiel: Typ tupel EineArtikelArt ( ANr:Zeichen(8),
UML-Klassendiagramm: Klassen
 Präsentation transkript:

Kapitel 1: Datenbankdienste Einführung: Dienste Dienstfunktionalität Dienstmerkmale Datenbanksysteme viele Folien: © Prof. Lockemann, IPD, Uni Karlsruhe SS 2004 B. König-Ries: Datenbanksysteme

Kapitel 1: Datenbankdienste Einführung: Dienste Dienstfunktionalität Dienstmerkmale Datenbanksysteme SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Leistungsprozesse und Ressourcen (1) Leistungs-prozess SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Leistungsprozesse und Ressourcen (1) Leistungs-prozess Informatik-prozess 1 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Prozessschritt 5 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Informatik-prozess 2 Dienstnehmer SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Leistungsprozesse und Ressourcen (1) Leistungs-prozess Informatik-prozess 1 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Prozessschritt 5 Dienst Dienst- geber Ressourcen-Verwalter 1 Ressourcen-Verwalter 2 Ressourcen-Verwalter 3 Ressourcen-Verwalter 4 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Informatik-prozess 2 Dienstnehmer SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Leistungsprozesse und Ressourcen (1) Leistungs-prozess Informatik-prozess 1 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Prozessschritt 5 Dienst Dienst- geber Ressourcen-Verwalter 1 Ressourcen-Verwalter 2 Ressourcen-Verwalter 3 Ressourcen-Verwalter 4 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Informatik-prozess 2 Dienstnehmer Dienst: Nach Form und Inhalt wohl definiertes Leistungsangebot eines Ressourcen-Verwalters, das Gegenstand einer Dienstleistungsvereinbarung ist. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Beispiel Finden Sie konkrete Beispiele aus unserem Bibliotheksszenario! Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Prozessschritt 5 Dienst Dienst- geber Ressourcen-Verwalter 1 Ressourcen-Verwalter 2 Ressourcen-Verwalter 3 Ressourcen-Verwalter 4 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Dienstnehmer SS 2004 B. König-Ries: Datenbanksysteme

Dienstfunktionalität und Dienstmerkmale (1) Ressourcen-Verwalter Sammlung von Funktionen, die in einem erkennbaren Zusammenhang stehen, aber einzeln abgerufen werden können Von der Dienstfunktionalität in ihrer Gesamtheit zu beachtende Randbedingungen Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen SS 2004 B. König-Ries: Datenbanksysteme

Dienstfunktionalität und Dienstmerkmale (2) Ressourcen-Verwalter Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Gemeinsames Verständnis der Daten bei allen am Austausch beteiligten Partnern Dienstfunktionalität Zugriff auf Daten nach ihrer Entstehung zu jeder Zeit in der Zukunft X Dienst Datenzugriff zu jeder Zeit von jedem Ort Algorithmen und Datenstrukturen Effizienz: Minimaler Verbrauch innerer Ressourcen Verfügbarkeit: Rechtzeitiger Zugang zu den Ressourcen Stetes Wachstum ohne Einbußen bei Funktionalität und Leistung Zuverlässiges Erbringen der Dienste unter Störungen und Fehlern X Keine Verluste, Störungen, Ausfälle durch unbedachte oder böswillige Eingriffe SS 2004 B. König-Ries: Datenbanksysteme

Datenverwaltungssystem Dienstnehmer definiert Dienstfunktionalität Datenverwaltungs-Schnittstelle sichert Dienstmerkmale Datenbasis-Verwaltungssystem (Ressourcen-Verwalter) Diensterbringer Datenbasis (Ressource) SS 2004 B. König-Ries: Datenbanksysteme

Dienstfunktionalität der Datenverwaltung Dienstfunktionen für das Entgegennehmen, Abspeichern, Ändern, Löschen, Auswählen, Bereitstellen von Daten. Dienstfunktionalität Dienst Algorithmen und Datenstrukturen Dienstfunktionen besitzen allgemeingültigen Charakter, Wirtschaftlichkeitsgründe diktieren „breitbandige“ Einsatzfähigkeit  Generisches Vorgehen. SS 2004 B. König-Ries: Datenbanksysteme

Kapitel 1: Datenbankdienste Einführung: Dienste Dienstfunktionalität Dienstmerkmale Datenbanksysteme SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Datenmodell Aspekte der Dienstfunktionalität Beschreibung der zulässigen Datenbasiszustände  Generisch: Mittel zur inhaltsneutralen Strukturierung der Datenbasis Beschreibung der zulässigen Zustandsübergänge, im wesentlichen in Form der anwendbaren Operatoren  Generische Operatoren =: Datenmodell SS 2004 B. König-Ries: Datenbanksysteme

Zustände einer Datenbasis (1) Grundgedanke: Datentyp = Menge zulässiger Zustände Typ: Universum von Objekten gleicher mathematischer Struktur. Ausprägung (Instanz): Element eines Typs. Polymorphes Typsystem: Universum von Typen, i.d.R. beschrieben durch: die Festlegung gewisser atomarer Typen, z.B. int = Menge der ganzen Zahlen, bool = {true, false}, date = Menge der Daten des Gregorianischen Kalenders; die Angabe von Typkonstruktoren, mit denen Typen zu neuen Typen kombiniert werden können, z.B. record(t1,t2,...,tn): Menge der Tupel mit Komponenten aus t1,t2,...,tn, set(t) = Menge der Mengen mit Elementen aus t, list(t) = Menge der Listen mit Elementen aus t. SS 2004 B. König-Ries: Datenbanksysteme

Zustände einer Datenbasis (2) Beispiel für ein einfaches polymorphes Typsystem: Atomare Typen int, float, string, time Typkonstruktoren datensatz ::= [sel:atomarerTyp, ..., sel:atomarerTyp] menge ::= {datensatz} Selektor (Feldname) record-Konstruktor set-Konstruktor Typvariable SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Zustandsbeschränkungen Typkonstruktoren geben an, wie Zustände zu neuen Zuständen zusammengestellt werden können. Konsistenzbedingungen: Einschränkungen auf den konstruierbaren Zustandsmengen. Polymorphe Konsistenzbedingung: Generische Vorschrift für Konsistenzbedingungen als Teil des Datenmodells. Beispiel: Jeder Datensatz in einer Menge besitzt einen Schlüssel, d.h. einen Wert, der ihn eindeutig unter allen Datensätzen der Menge identifiziert. Formal: Es existiert Funktion key: menge  atomarerTyp  datensatz SS 2004 B. König-Ries: Datenbanksysteme

Zustandsübergänge mittels Operatoren Operatoren: mathematische Funktionen, die auf Elemente von Typen angewendet werden können, z.B. Gleichheitstest (x  y): anwendbar auf beliebige Typen Anordnung (x  y): anwendbar auf Zahlen, Daten, Zeichenketten,... arithmetische Operationen (, , , ): anwendbar auf Zahlen logische Operationen (and, or, not): anwendbar auf boolesche Werte Mengenoperationen (, , ): anwendbar auf Typen, die durch Anwendung des set-Typkonstruktors entstanden sind Monomorphe Operatoren können nur auf Elemente bestimmter Typen angewendet werden (z.B. not). Polymorphe Operatoren können auf Elemente unterschiedlicher (wenn auch nicht aller) Typen angewendet werden (z.B. ,  oder ). SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Zustandsübergänge einer Datenbasis Ein polymorphes Typsystem hat zwingend polymorphe Operatoren, erfüllt also die Forderung nach generischen Operatoren. Beispiele : Abspeichern, Löschen von Ausprägungen von Typen in Ausprägungen von Mengentypen. Auswählen und Bereitstellen von Elementen der Datenbasis lässt sich als der identische Zustandsübergang erfassen. Erweiterung unseres Beispiels: Polymorphe Operatoren union: menge  menge  menge intersect: menge  menge  menge insert: menge  datensatz  menge deleteByKey: menge  atomarerTyp  menge findByKey: menge  atomarerTyp  datensatz SS 2004 B. König-Ries: Datenbanksysteme

Zusammenfassung Datenmodell Pragmatische Definition Datenmodell: System aus atomaren Typen, Typkonstruktoren, polymorphen Konsistenzbedingungen und polymorphen Operatoren. SS 2004 B. König-Ries: Datenbanksysteme

Kapitel 1: Datenbankdienste Einführung: Dienste Dienstfunktionalität Dienstmerkmale Datenbanksysteme SS 2004 B. König-Ries: Datenbanksysteme

Bedeutungstreue in der Datenverwaltung Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen Daten müssen interpretierbar sein (Information) Daten müssen bei allen am Austausch beteiligten Partnern dieselbe Information besitzen Interpretation muss über die Zeit dieselbe bleiben Konventionen zur Interpretation begleiten die Daten  Aufgabe des Datenverwaltungssystems SS 2004 B. König-Ries: Datenbanksysteme

Gewinnung der Konventionen Interpretation durch Bindung an eine auf bestimmte Aspekte beschränkte Anwendungswelt, die Miniwelt. Informationen sind somit gedankliche Abstraktionen (Modelle) der Miniwelt. Daten sind daher Repräsentationen von Modellen. Eine Datenbasis ist bedeutungstreu, wenn ihre Elemente Modelle einer gegebenen Miniwelt repräsentieren. (Datenbasiskonsistenz) Datenbasis beschreibt Zustand der Miniwelt durch mathematische Strukturen (Mengen, Tupel, Funktionen, ...).  Datenbasis ist damit formales Modell der Miniwelt. SS 2004 B. König-Ries: Datenbanksysteme

Beispiel Realwelt: Flugwesen Reale, anfassbare Gegenstände: Flugzeuge mit Flugzeugtyp, Besatzung, Sitzplätzen, Laderäumen, Farbanstrichen; Flughäfen mit Bezeichnung, Flugsteigen, Passagieraufkommen, Rollbahnen; Passagiere mit Namen, Anschriften, Telefonnummern, Größe, Gewicht, Haarfarbe, Religionszugehörigkeit; Flugscheine mit Vordrucken und Aufdrucken. Gedankliche, in ihren Auswirkungen beobachtbare Phänomene: Flüge mit Abflugs- und Ankunftszeiten, Flugzeugtyp, Startgeschwindigkeit, Fluggeschwindigkeit, -höhe und -route; Reservierungen mit Flugnummer und -datum, Sitzplatz, Passagier. SS 2004 B. König-Ries: Datenbanksysteme

Miniwelt Platzbuchung Reale, anfassbare Gegenstände: Flugzeuge mit Flugzeugtyp, Besatzung, Sitzplätzen, Laderäumen, Farbanstrichen; Flughäfen mit Bezeichnung, Flugsteigen, Passagieraufkommen, Rollbahnen; Passagiere mit Namen, Anschriften, Telefonnummern, Größe, Gewicht, Haarfarbe, Religionszugehörigkeit; Flugscheine mit Vordrucken und Aufdrucken. Gedankliche, in ihren Auswirkungen beobachtbare Phänomene: Flüge mit Abflugs- und Ankunftszeiten, Flugzeugtyp, Startgeschwindigkeit, Fluggeschwindigkeit, -höhe und -route; Reservierungen mit Flugnummer und -datum, Sitzplatz, Passagier. SS 2004 B. König-Ries: Datenbanksysteme

Datenbasisschemata (1) Vorgehen: Einsetzen konkreter (aus dem Modell der Miniwelt gewonnener) Typen und Bezeichner für die Typvariablen bzw. Selektoren in den Typkonstruktoren und polymorphen Konsistenzbedingungen. Das polymorphe Typsystem wird zu einem monomorphen Typsystem instantiiert. Erst jetzt ist die Datenbasis definierbar. Erst jetzt liegt ein formales Modell der Miniwelt vor. Datenbasistyp: Ergebnis der Konkretisierung. Datenbasisschema (kurz: Schema): Beschreibung eines Datenbasistyps. SS 2004 B. König-Ries: Datenbanksysteme

Beispiel Datenbasistyp Buchungsdatenbasis Zugrundeliegender polymorpher Typ (Schablone für monomorphe Typen) Datenbasistyp Buchungsdatenbasis Typ Flughafen ::= datensatz [ FlughCode: string, Stadt: string, Land: string, Name: string, Zeitzone: int ] Typ Flugzeugtyp ::= datensatz [ FtypId: string, Name: string, First: int, Business: int, Economy: int ] Typ Flug ::= datensatz [ FlugNr: string, von: string, nach: string, FtypId: string, Wochentag: string, Abflugszeit: time, Ankunftszeit: time, Entfernung: int ] Typ Flughäfen ::= menge {Flughafen} key FlughCode Typ Flugzeugtypen ::= menge {Flugzeugtyp} key FtypId Typ Flüge ::= menge {Flug} key FlugNr monomorphe Konsistenzbedingung SS 2004 B. König-Ries: Datenbanksysteme

Weitere denkbare Konsistenzbedingungen Datenbasistyp Buchungsdatenbasis Typ Flughafen ::= datensatz [ FlughCode: string, Stadt: string, Land: string, Name: string, Zeitzone: int ] Typ Flugzeugtyp ::= datensatz [ FtypId: string, Name: string, First: int, Business: int, Economy: int ] Typ Flug ::= datensatz [ FlugNr: string, von: string, nach: string, FtypId: string, Wochentag: string, Abflugszeit: time, Ankunftszeit: time, Entfernung: int ] Typ Flughäfen ::= menge {Flughafen} key FlughCode Typ Flugzeugtypen ::= menge {Flugzeugtyp} key FtypId Typ Flüge ::= menge {Flug} key FlugNr Land  Zeitzone Wert unter von kommt als Wert unter FlughCode vor (von,nach)  Entfernung SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Beispiel Wie könnten Schema und Konsistenzbedingungen im Bibliotheksbeispiel aussehen? SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Zustandsübergänge (1) Ein Datenverwaltungssystem gewährleistet (Schema-) Konsistenz, wenn seine Dienstfunktionen stets einen (schema-)konsistenten Zustand seiner Datenbasis wieder in einen (schema-)konsistenten Zustand überführen. Gehorcht die Datenbasis einer wie immer gearteten Schemakonsistenz vor Ausführen einer Dienstfunktion, so gehorcht sie ihr auch zum Abschluss der Ausführung. SS 2004 B. König-Ries: Datenbanksysteme

Konsistente Zustände (1) min 100% Bedeutungstreue Monomorphe Konsistenzbedingungen Legitime Zustände durch Ausführen der Operatoren mit Interpretation des Schemas Schemakonsistenz Idealfall: volle, aktuelle Übereinstimmung von Datenbasis und Miniwelt Datenbasiskonsistenz Datenmodell legt Regeln fest, nach denen Zustandsräume konstruiert werden können. Schema legt bestimmten Zustandsraum fest. SS 2004 B. König-Ries: Datenbanksysteme

Konsistente Zustände (2) min 100% Bedeutungstreue Legitime Zustände durch Ausführen der Operatoren mit Interpretation des Schemas Schemakonsistenz Idealfall: volle, aktuelle Übereinstimmung von Datenbasis und Miniwelt Datenbasiskonsistenz Ausführung von Transaktionsprozeduren Konsistenz: Grad an Bedeutungstreue einer Datenbasis SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Zustandsübergänge (2) Schemakonsistenz Datenbasiskonsistenz Bedeutungstreue Monomorphe Konsistenzbedingungen Transaktionsprozedur: Dienstprozedur als frei definierte Abfolge von Operationen, die Zustandsübergänge einschränkt: Prozedurale Kontrolle der Konsistenz Will man also Konsistenz durchsetzen: Als Dienstfunktionen sind ausschließlich Transaktionsprozeduren zulässig. Die Bedeutungstreue ist an das Ende der Prozedur gebunden, während der Ausführung, also am Ende einzelner Operationen, muss sie nicht zutreffen. Daher dürfen Konsistenzbedingungen erst am Ende durchgesetzt werden. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Beispiel Mustert eine Fluggesellschaft einen Flugzeugtyp aus, so ist dessen Datensatz mit der entsprechenden FtypId aus der Menge der Flugzeugtypen zu entfernen, gleichzeitig sind alle Flug-Datensätze, die sich auf diese FtypId beziehen, auf den neuen Flugzeugtyp umzustellen. SS 2004 B. König-Ries: Datenbanksysteme

Zusammenfassung Bedeutungstreue Schema definiert Menge der im Betrieb zulässigen Zustände und Zustandsübergänge. Charakterisierung des Zustandsraumes durch: Auswahl konkreter Typen aus dem Typsystem des Datenmodells, weitere Eingrenzung durch Konsistenzbedingungen und (implizit) durch Transaktionsprozeduren. Charakterisierung der Zustandsübergänge durch: Spezialisierung der polymorphen Operatoren des Datenmodells auf die im Schema auftretenden Typen, weitere Eingrenzung durch Transaktionsprozeduren. Datendefinitionssprache (DDL) dient zur Formulierung des Schemas. Datenmanipulationssprache (DML) dient zum nachfolgenden Umgang mit der Datenbasis. SS 2004 B. König-Ries: Datenbanksysteme

Durchsetzen von Konsistenz (2) Datenbasistransaktion (auch kurz: Transaktion): Ausführung einer Transaktionsprozedur. Folgerung: Konsistenz ist erst am Ende einer Transaktion definiert. Somit wird auch das Durchsetzen von Konsistenzbedingungen einer Transaktionsverwaltung übertragen. Eine Transaktion überprüft also am Ende, ob sich eine Konsistenzbedingung erfüllen lässt bzw. erfüllt ist. Trifft dies nicht zu, so wird eine Korrekturaktion ausgelöst oder ein Fehler signalisiert. Beispiel: In einer Transaktion wird ein insert-Operator gezwungen, gegen die Schlüsselbedingung zu verstoßen. Anwendungstransaktion: Konsistente Ausführung eines Leistungsprozesses. SS 2004 B. König-Ries: Datenbanksysteme

Dauerhaftigkeit in der Datenverwaltung Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen Verbringen der Daten auf nichtflüchtiges Speichermedium genügt nicht. Dauerhafte Daten müssen zudem konsistent sein. Das sind sie, wenn sie von abgeschlossenen Transaktionen stammen. Dauerhaftigkeit ist die andauernde Nichtflüchtigkeit gewisser, in jedem Fall konsistenter Datenbasiszustände (Unverletzlichkeit der Datenbasis). SS 2004 B. König-Ries: Datenbanksysteme

Robustheit 1: Persistenz Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen Erreichen eines konsistenten nichtflüchtigen Zustands: Persistenz Folgerung 1: Dauerhaftigkeit ist potenziell unbegrenzte Lebensdauer eines persistenten Zustandes. Folgerung 2: Transaktionsabschluss ist ein Persistenz-Ereignis. SS 2004 B. König-Ries: Datenbanksysteme

Robustheit 2: Resistenz Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen Wahrung von Persistenz (und damit auch Konsistenz) auch unter dem Einfluss von Störungen: Resistenz Störung des Dienstnehmer-Dienstgeber-Verhältnisses: Fehler-Resistenz. Störung des Dienstnehmer-Dienstnehmer-Verhältnisses: Konflikt-Resistenz. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Transaktionen (1) Präzisierung von Robustheit: Datenbasis führt — ungeachtet möglicher Störungen — nur solche Zustandsübergänge aus, die explizit durch Aufruf von Transaktionsprozeduren angefordert wurden. Impliziert zwei Garantien: Persistenz: Effekte von abgeschlossenen Zustandsübergängen gehen nicht durch Störungen verloren, d.h., Datenbasiszustand ändert sich nicht „einfach so“. Resistenz: Angeforderte Zustandsübergange werden entweder wie verlangt durchgeführt, oder wenn Zustandsübergang wegen Störung nicht abgeschlossen werden kann, strebt Datenbasis definierten konsistenten Zustand, z.B. Ausgangszustand, an. SS 2004 B. König-Ries: Datenbanksysteme

Beispiel-Transaktion Gewünschter Zustandsübergang: Ausmusterung eines Flugzeugtyps. Transaktionsprozedur: Entferne zugehörigen Datensatz aus Tabelle Flugzeugtypen. Ersetze in Tabelle Flüge alle Vorkommen der alten FtypId durch FtypId des Ersatzmodells. Beachte: Datenbasis-Zustand ist zwischen Schritt 1 und 2 inkonsistent, davor und danach konsistent. Resistenz garantiert, dass bei Störung entweder Zustand vor Schritt 1 oder nach Schritt 2 erreicht wird. Persistenz garantiert, dass nach Abschluss von Schritt 2 Ergebnis nicht mehr verloren gehen kann. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Transaktionen (2) Transaktionsbegriff fasst Konsistenz, Persistenz und Resistenz zusammen: Transaktion: resistente Ausführung eines konsistenten Zustandsübergangs (Operator oder Transaktionsprozedur) mit Persistenz des Endzustands. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Fehler-Resistenz (1) Beispiele für Störungen: Fehlerhafte Eingaben; Programmierfehler; unbeabsichtigte Wechselwirkung von Dienstleistungen für unterschiedliche Dienstnehmer; Programmfehler in der Datenverwaltungssoftware; Ausfall von Hintergrundspeichern, Datenträgern oder dem Rechner. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Fehler-Resistenz (2) So lange es zu keinen Störungen kommt, wird die Datenbasis einfach fortentwickelt. Tritt eine Störung auf, so wird ein früherer persistenter Zustand angestrebt. Wann ein persistenter Zustand vorliegt, muss dazu ausdrücklich dem Datenverwaltungssystem bekannt gemacht werden. Verbreitet: Da eine Transaktion ein persistentes Ergebnis bewirkt, ist der Abschluss einer Transaktion ein Persistenz-Ereignis. Die Transaktionsprozedur ist so zu entwerfen, dass man sie für beendet erklärt genau dann, wenn ihre Ergebnisse nicht mehr verloren gehen dürfen. Kommt die Transaktion nicht zum Abschluss, so ist der jüngste persistente Zustand der Zustand unmittelbar vor Ausführung der Transaktion. Man wird daher diesen Zustand wieder herstellen. SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Konflikt-Resistenz (1) Leistungs-prozess 1 Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Prozessschritt 5 Dienst- geber Ressourcen-Verwalter 1 Ressourcen-Verwalter 2 Ressourcen-Verwalter 3 Ressourcen-Verwalter 4 Dienst Prozessschritt 1 Prozessschritt 2 Prozessschritt 3 Prozessschritt 4 Leistungs-prozess 2 Dienstnehmer Störfaktor für die Konsistenz: Bemühen sich mehrere Dienstnehmer-Transaktionen zur selben Zeit um dieselbe Ressource, so kann es zu einer unerwünschten Wechselwirkung zwischen ihnen kommen (Konflikt). SS 2004 B. König-Ries: Datenbanksysteme

Konflikt-Resistenz (2) Konkurrenz um gemeinsame Daten (engl.: concurrency für Nebenläufigkeit): Konfliktverhalten von Transaktionen. Benötigt: Protokoll, das Konflikte zwischen nebenläufigen Dienstnehmer-Transaktionen eines Datenverwaltungssystems unterbindet (Synchronisations-Protokoll). Korrektheitskriterium: Wahrung der Konsistenz durch: Konkurrierende Datenbasistransaktionen sind dann korrekt synchronisiert, wenn jede so abläuft als ob sie ohne Konkurrenz wäre, insbesondere also dem Dienstnehmer keinen inkonsistenten Datenbasiszustand präsentiert und bei Abschluss einen persistenten Datenbasiszustand erreicht. SS 2004 B. König-Ries: Datenbanksysteme

Persistenz und Dauerhaftigkeit Persistenz schafft die Voraussetzungen für Dauerhaftigkeit. Unbegrenzt lange Speicherung der Daten verschärft die Forderung nach Konsistenz, denn es steigt die Wahrscheinlichkeit, dass durch Störungen oder Fehler die Daten in ihrem Inhaltsbezug korrumpiert werden. Beispiele: Ausfall von Hintergrundspeichern, Datenträgern oder dem Rechner; externe Ereignisse wie Feuer, Wasser, Klima, Alterung mit physischer Vernichtung der Datenbasis. SS 2004 B. König-Ries: Datenbanksysteme

Skalierbarkeit/Leistung in der Datenverwaltung Dienstfunktionalität Dienstmerkmale Bedeutungstreue Dauerhaftigkeit Allgegenwart Leistung Skalierbarkeit Robustheit Sicherheit Dienst Algorithmen und Datenstrukturen Enge Wechselwirkung zwischen Skalierbarkeit und Leistung Daher gemeinsame Betrachtung: Performanz SS 2004 B. König-Ries: Datenbanksysteme

Wechselwirkung Skalierbarkeit/Leistung Aspekte der Leistung: Effizienz: Möglichst geringer Ressourcenverbrauch durch die Dienste. Verfügbarkeit: Bedarfsaktueller Zugang zu den Ressourcen. Aspekte der Skalierbarkeit: Wachstum der Datenbasis  Wachstum der Transaktionslast Effizienz Verfügbarkeit Skalierbarkeit SS 2004 B. König-Ries: Datenbanksysteme

B. König-Ries: Datenbanksysteme Skalierbarkeit Forderung: Leistung des DBMS darf mit wachsender DB-Größe und wachsender Nutzungsintensität (Anzahl und Komplexität der angeforderten Transaktionen) nicht kollabieren. Maßzahlen für Leistung: Durchsatz = Anzahl abgeschlossener Transaktionen pro Sekunde, Antwortzeit = Zeitspanne zwischen Beginn und Ende einer Transaktion. Realisierung durch: effiziente Datenstrukturen für Datenbasis-Zustand, effiziente Algorithmen für Operatoren, Verteilung des DBMS auf mehrere Rechner. SS 2004 B. König-Ries: Datenbanksysteme

Kapitel 1: Datenbankdienste Einführung: Dienste Dienstfunktionalität Dienstmerkmale Datenbanksysteme SS 2004 B. König-Ries: Datenbanksysteme

Dienstfunktionalität und Dienstmerkmale Schema = konkrete Typen + Konsistenzbedingungen, Datenbasis = konkrete Typausprägungen durch Transaktionen Typsystem + polymorphe Operatoren Dauerhaftigkeit erfolgreicher Zustandsübergänge Dienstfunktionalität Datenmodell Dienstmerkmale Bedeutungstreue Konsistenz Dauerhaftigkeit Leistung |Performanz Skalierbarkeit | Robustheit Persistenz/Resistenz Dienst Algorithmen und Datenstrukturen Wechselwirkungsfreie Ganz-oder-gar-nicht-Abwicklung von Zustandsübergängen Mengenkonstrukt im Typsystem, effiziente Datenstrukturen und Operator-Algorithmen, Verteilung SS 2004 B. König-Ries: Datenbanksysteme