Persistenz -1-
Einführung Konventionelle Dateiverwaltung Datenbanksystem() Xindice als Datenbankbeispiel Zusammenfassung -2-
Einführung Definition I Persistence ist the property of an object through which its existence trancends time. -3-
Definition II ACID-Prinzip ACID-Prinzip Isolation Durability/Persistenz Atomacity/Atomarität Consistence/Konsistenz Einführung -4-
Wie realisiert man ein Persistenzobjekt? Erzeugen Schreiben Einlesen Einführung -5-
Konventionelle Dateiverwaltung Dateisysteme mit separater Dateiverwaltung Dateisysteme mit gemeinsamer Dateiverwaltung -6-
Dateisysteme mit separater Dateiverwaltung Merkmale Keine physische Datenunabhängigkeit Keine logische Datenunabhängigkeit Konventionelle Dateiverwaltung -7-
Architektur Benutzer1 Benutzer2 Benutzer3 Benutzer programme1 programme2 programme3 programme4 Programme Datei 1 Datei 2 Datei 3 Datei 4 Datei: Gespeicherte Daten Konventionelle Dateiverwaltung -8-
Konsequenzen Redundante Datenhaltung Dateninkonsistenz Inflexibilität gegenüber Auswertung und Verknüpfungen Gleichzeitige Verwendung der Dateien Konventionelle Dateiverwaltung -9-
Dateisysteme mit gemeinsamer Dateiverwaltung Merkmale Physische Datenunanhängigkeit Keine logische Datenunabhängigkeit Redundante Datenhaltung Dateninkonsistenz Konventionelle Dateiverwaltung -10-
Architektur Benutzer1 Benutzer2 Benutzer3 Benutzer programme1 programme2 programme3 programme4 Programme Dateiverwaltungssystem Datei 1 Datei 2 Datei 3 Datei 4 Datei: Gespeicherte Daten Konventionelle Dateiverwaltung -11-
Datenbankmanagement system () Ziele Zentrale Verwaltung aller der Daten -12-
Datei 1 Datei 4 Datei 2 Datei 4 Zentralisierung (gleichzeitige Elimination der Redundanzen) Datenpool Datei 2 Datei 3 Datei 1 Datei 3-13-
Grundidee Benutzer1 Benutzer2 Benutzer3 Benutzer4 Benutzer Programme1 Programme2 Programme3 Programme4 Logische dat1 Logische dat2 Logische dat3 Logische dat4 Programme Logische Dateien Datenbankmanagementsystem () Datei Datei Datei Datei Datei Datei Datei Datei DB Datei Datei Datei Datei Datei Datei Datei Datei Datenpool -14-
Vorteile physische Datenunabhängigkeit logische Datenunabhängigkeit redundanzfreie Datenhaltung DatenkonsistenzFlexibilität Vielfachzugriff -15-
ANSI-Modellarchitektur eines Datenbanksystems Benutzer/ Programm1 Benutzer/ Programm1 Benutzer/ Programm1 Benutzer/ Programm1 Logische Schnittstelle Externes Modell 1 Externes Modell 2 Externes Modell 3 Externe Ebene Konzeptionelles Model Konzeptionelle Ebene Internes Modell Datenbank Interne Ebene Physische Schnittstelle -16-
Relationale Datenbanken Informationsmodellierung Basiskonzept Graphische Darstellung Entity e Entity-Typ Relationship E r Relationship-Typ R -17-
E/R-Diagramm Instanz-Ebene Typ-Ebene e1 r1 e2 r3 r2 e3 E1 R1 E2 R2 E3 r7 e4 r5 e6 r4 r6 e5 e7 R7 R3 E4 R4 E R5 E6 R6 E7-18-
Tabellarische Darstellung E1 a1 a2 a3 a4 E2 b1 b2 b3 b4 R E1 a1 a2 a3 a4 E2 b1 b2 b3 b4 a1 a2 r r... b1 b2-19-
Attribute E1 R E2 A1 A2 A3 A4 A6 A5 A7 Attribute bei Entity-Typ E A1 A2 A3 e1 e2 e3 w1 w2 w3 w5 w6 w1 v3 v1 v2... e4 w4 w2 v1-20-
Attribute bei Relationship-Typ E1 R E2 A1 A2 R E1 E2 R-A1 R-A2 e11 e21 w11 w21 e12 e22 w12 w22 e13 e23 w13 w23 e14 e24 w14 w24-21-
Integritätsbedingungen Invariante Eigenschaft Kardinalität von Relationship-Typ Kardinalität 1:1 E1 1 1 R E2 e1 r e2 e1 r e2-22-
Kardinalität von Relationship-Typ Kardinalität 1:n (bzw. n:1) E1 1 n R E2 e1 r r... r e21 e22 e2n -23-
Kardinalität von Relationship-Typ Kardinalität n:m E1 n R m E2 e11 r e21 r e12 r e22 e13 r e2n -24-
Spezielle Relationship-Typ Partieller Relationship-Typ E1 R E2 Beispiel Angestellter Arbeitet_an Projekt Arbeitet_an Angestellter martina mathias malte Projekt a b c -25-
Spezielle Relationship-Typ Totaler Relationship-Typ E1. R E2 Beispiel Schulpflichtiges Kind. Besucht Schule Besucht Schulpflichtiges Kind Schule martina schule_x mathias schule_x malte schule_x schule_y -26-
Spezielle Relationship-Typ Schwacher Relationship-Typ E1. R E2 Beispiel Firmenausweis. Gestattet_zugang_für Angestellter Gestattet_zugang_für Firmenausweis A713-9401 A713-9404 A713-9405 Angestellter Marie Meier Paul Meyers Peter Adam -27-
Einige Operatoren der Relationenalgebra Projektion II R w x y z w x y a1 b1 c3 d1 a1 b1 c3 a1 b1 c2 d2 a1 b1 c2 II w,x,y a1 a2 b1 b2 c1 c2 d3 d1 = a1 a2 b1 b2 c1 c2 a2 b2 c3 d2 a2 b2 c3 a3 b2 c1 d3 a3 b2 c1 a3 b3 c2 d2 a3 b3 c2 a3 b3 c3 d1 a3 b3 c3-28-
Selektion s c R s b=b2 w a1 a1 a1 a2 a2 a3 a3 a3 x b1 b1 b1 b2 b2 b2 b3 b3 y c3 c2 c1 c2 c3 c1 c2 c3 z d1 d2 d3 d1 d2 d3 d2 d1 = w a2 a2 a3 x b2 b2 b2 y c2 c3 c1 z d1 d2 d3-29-
XML-Datenbanken Informationsmodellierung Anhang von einer DTD -30-
Speicherstrukturen SchemaunabhänigigeVerfahren SchemaabhängigeVerfahren -31-
SchemaunabhänigigeVerfahren Graphendarstellung des XML-Dokuments XML-Element Knoten + Objektindikator Subelement_Beziehung Kante + Name des Kindelements Wert (PCDATA Attribute ) Blatt -32-
Graphendarstellung des XML-Dokuments Beispiel Unternehmens Holzbau repräsentiert <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE unternehmen SYSTEM "C:\unternehmen.dtd"> <unternehmen> <unname>holzbau </unname> <sparte>holzkonstruktionen</sparte> <orgaeinheit> <organame>management</organame> <gruppe> <gruppenname>unternehmensleitung</gruppenname> <mitglied> <person personalnr="001"> <vorname>hans</vorname> <nachname>rubner</nachname> </person> </mitglied> </gruppe> </orgaeinheit> </unternehmen> Unternehmen 01 unname 02 orgaeinheit 04 sparte 03 Holzbau organame 07 gruppe 08 Holzkonstruktion Management gruppenname 09 Unternehmensleitung mitglied 10 person 11 personalnr 001 vorname 12 nachname 13 Hans Rubner -33-
Abbildung der Kante auf Relationale Datenbank Kanten Ansatz Kante[QuellenId, Ordnungsnummer, Name, Flag, ZielId]. Unternehmen 01 3 1 2 unname 02 orgaeinheit 04 sparte 03 Holzbau organame 07 gruppe 08 gruppenname 09 Management mitglied 10 Unternehmensleitung person 11 personalnr quellenid Ordnungsnr Name Flag ZielId 01 01. 1 2 unname orgaeinheit string ref v1 04 001 vorname 12 nachname 13 Hans Rubner -34-
Abbildung der Kante auf Relationale Datenbank Binary-Ansatz Bname[QuellenId, Ordnungsnummer, Name, Flag, ZielId]. Unternehmen 01 3 1 2 unname 02 orgaeinheit 04 sparte 03 Holzbau Management organame 07 gruppe 08 gruppenname 09 Unternehmensleitung personalnr mitglied 10 person 11 001 vorname 12 nachname 13 Hans Rubner -35-
Abbildung der Werte Separate Wertetabellen Vtype[ vid, value] Vid Value Unternehmen 01 unname 02 orgaeinheit 04 sparte 03 Holzbau organame 07 gruppe 08 Holzkonstruktion v1 v2 v3 v4 v6 v7 Holzbau Holzkonstruktion Management Unternehmensleitung Hans Rubner Management gruppenname 09 Separate Wertetabelle Vstring Unternehmensleitung mitglied 10 person 11 personalnr 001 vorname 12 nachname 13 Hans Rubner Vid Value v5 001 Separate Wertetabelle Vint -36-
Abbildung der Werte Inlining Wertetabellen Bname[QuellenId, Ordnungsnummer, Name, Vstring,Vint, ZielId]. -37-
Schemaabhängige Verfahren Idee Datenbank.dtd.xml Tabellen <?Xml version= 1.0...> <element1>:..</elemnent 1>.... >elenentn>...</elementn > -38-
Xindice Architektur User Application XML:DB Xupdate XML Objects XML:DB API XPath Query Engine XML Indexing Cobra Network API Database -39-
Speicherstruktur Collection 1 Collection 2 doc1 doc2 Collection 3 doc3 doc4 doc5 Xindice -40-
Anfragebeispiel mit XML:API http://xml.apache.org/xindice/guide-developer.html#introducing+the+xml%3adb+xml+database+api Xindice -41-
Resumée -42-
Danke fürs Zuhören -43-