230 likes | 405 Views
Informations-systeme. Fragestunde. How-to InSy. auswendig wissen: 3-Schichten-Modell ACID Daten in einem IS Speicherstrategien (FIFO, LRU, write-back, write through) Typen von Schedules + Definition (ACA, RC, ST…) Mehrbenutzeranomalien Beispielschedules überlegen…. How-to InSy.
E N D
Informations-systeme Fragestunde
How-to InSy • auswendig wissen: • 3-Schichten-Modell • ACID • Daten in einem IS • Speicherstrategien (FIFO, LRU, write-back, write through) • Typen von Schedules + Definition (ACA, RC, ST…) • Mehrbenutzeranomalien • Beispielschedules überlegen…
How-to InSy • Vefahren üben und beherrschen • Speicherhierarchie (Memory-Cache mit verschiedenen Strategien) • B- und B*-Bäume • Text => ER-Modell • Mappings • ERM Relationenmodell • ERM SQL (create table…) • ERM XML DTD • Relationen modell SQL • usw…
How-to InSy • Vefahren üben und beherrschen • Anfragen in relationaler Algebra • Tool: http://gr.polythematik.de • Anfrageoptimierung in relationaler Algebra • SQL Queries • Tool 1: http://wwwlgis.informatik.uni-kl.de/extra/game/ • Tool 2: http://insy.mensa-kl.de/insysql/ • Xpath • Tool 1: http://insy.mensa-kl.de/xpath/?aufgabe=2 • Tool 2: http://insy.mensa-kl.de/xpath/?aufgabe=3 • Serialisierbarkeit und Typen von Schedules • 2-Phasen-Commit Protokoll (vollständiger Ablauf)
ACID • Atomicity • TA ist kleinste, nicht mehr weiter zerlegbare Einheit • Entweder werden alle Änderungen der TA festgeschrieben oder gar keine • Consistency • TA hinterlässt einen konsistenten DB-Zustand, sonst wird sie komplett zurückgesetzt • Isolation • Nebenläufig (parallel, gleichzeitig) ausgeführte TA dürfen sich nicht gegenseitig beeinflussen • Durability • Wirkung einer erfolgreich abgeschlossenen TA bleibt dauerhaft in der DB erhalten
Daten in einem IS • strukturierte Daten • fest vorgegebene Satz-/Tabellenstruktur • Bedeutung durch Metadaten weitgehend vorgegeben • unstrukturierte Daten • „lange“ Werte bilden Dokumente (typischerweise in IRS) • Bedeutung nur schwach vorgegeben: Interpretation durch benutzerdefinierte Funkionen • semistrukturierte Daten • HTML: Vermischung von Strukturierung und Präsentation • Verbesserung durch XML: Datenaustausch, Interoperabilität, Datenintegration • Multimedia-Daten • Beschreibung durch Roh-, Registrierungs-, Beschreibungsdaten • Verarbeitung durch medienspezifische Operationen
Speicherhierarchie Inklusionsstrategien beim Schreiben Cache-Strategien FIFO was zuerst im Cache (Memory) stand, wird zuerst wieder entfernt Zeitpunkt des Einbringens merken! LRU was am längsten unbenutzt im Speicher liegt, wird ersetzt Zeitpunkt des letzten Zugriffs merken • Write-through • Sofort nach der Änderung wird das Datum auch in der nächsttieferen Schicht geändert (FORCE) • write-back • Erst bei einer Ersetzung werden die geänderten Daten schichtweise „nach unten“ geschoben (NOFORCE) • modified-Bit
B-Bäume: τ(k,h) • Datensätze werden im Blatt einem Index gemäße gespeichert • werden als sekundäre Indizes benutzt • Beispiel: τ(1,h) • einfügen: • 1,5,8,3,7,12,6,2 • löschen: • 12,6 • https://www.youtube.com/watch?v=vQPNf4pcNNE • https://www.youtube.com/watch?v=in_JgH-XUhY
B*-Bäume: τ(k,k*,h) • B-Baum mit Wegweisern + doppelt verkettete Liste • Beispiel:τ(2,1,h) • einfügen: • 23, 12, 67, 24, 87, 1, 3, 5, 6, 62, 45, 42 • löschen: • 42, 45, 67 • https://www.youtube.com/watch?v=4A4j4kRmNo4
Schlüsselkomprimierung Schlüssel V = Position im Schlüssel, in der sich der zu komprimierende Schlüssel vom Vorgänger unterscheidet N = Position im Schlüssel, in der sich der zu komprimierende Schlüssel vom Nachfolger unterscheidet F = V – 1 (Anzahl der Zeichen des komprimierten Schlüssels, die mit dem Vorgänger übereinstimmen) L = MAX (N–F, 0) Länge des komprimierten Schlüssels
Das Entity-Relationship-Modell Entities & Attribute Relationships 1:1 1:n n:m n:m:…:p min-max-Notation: [a,b]:[c,d] Entity 1 #Attribut Attribut1 Relationship Entity Attribut Primärschlüssel Entity 2
Das Entity-Relationship-Modell Vererbung Existensabhängigkeit Primärschlüssel Entity1 Entity 1 Entity1.1 Relationship Entity1.2 Entity 2 Entity1.2.1 partieller PS
Das war jetzt vielleicht ein bisschen schnell… Deshalb ein Beispiel…
Der Schokoladenhersteller Mjølka… …möchte seine Verwaltung endlich über ein neues Datenbanksystem organisieren. Darin soll sowohl die Produkte als auch die Mitarbeiter- und Kundendaten gespeichert sein. Mjølka vertreibt alle seine Produkte über einen Onlineshop. Ehe ein Kunde ein Produkt kaufen kann, muss er zunächst einen Account erstellen. Dazu muss er seine E-Mail-Adresse, die als eindeutige Kennung dient, sowie ein Passwort, Name, bestehend aus Vor- und Nachname, Adresse (Straße, Hausnummer, PLZ, Ort) hinterlegen. Anschließend kann der Kunde Produkte zu seiner Bestellung hinzufügen. Eine Bestellung ist genau einem Kunden zugeordnet und wird über eine laufende Nummer identifiziert. Außerdem werden das Bestelldatum und die -uhrzeit mitgespeichert, damit die die Auslieferung in der richtigen Reihenfolge erfolgt. Produkte sollen mit Namen und eindeutiger Produktnummer im System gespeichert werden.
Des weiteren sollen auch die Zutaten eingetragen sein. Führt ein Kunde eine Bestellung durch, so muss er beim Bezahlvorgang außerdem seine BLZ und seine Kontonummer hinterlassen. Außerdem wird im letzten Schritt des Bestellvorgangs die Spedition ausgewählt, mit welcher die Bestellung versandt werden soll. Zu jeder Spedition sollen, um Lieferprobleme schnell handeln zu können, Name, Adresse und Telefonnummer gespeichert werden. Jedes Produkt wird an genau einem Standort in Deutschland hergestellt. Standorte haben eine eindeutige Nummer und eine Adresse, bestehend aus Straße, PLZ und Ort. An den verschiedenen Standorten sind verschiedene Abteilungen angesiedelt. Es gibt auch Abteilungen, die auf mehrere Standorte verteilt sind, z.B. das Marketing. Jede Abteilung hat einen Chef. Ein Chef ist ein Mitarbeiter, der ein eigenes Büro hat und jährlich zusätzlich zum Gehalt einen festgelegten Bonus erhält. Mitarbeiter sind genau einer Abteilung zugeordnet und werden mit einer global eindeutigen Personalnummer Namen (Vor- und Nachname), Adresse (Straße, Hausnummer, PLZ, Ort), Telefonnummern und Gehalt im DB-System geführt…