Datenbanken Klausurvorbereitung Flashcards
2-Phasen-Sperrprotokoll
Sperrverfahren, bei dem Transaktionen nach bestimmten Regeln abgearbeitet werden.
- Phase Sperrphase, alle benötigen Objekte für die Transaktion werden gesperrt
- Phase, Sperren werden wieder freigegeben, Objekte können von anderen Transaktionen wieder genutzt werden.
Transaktionen sind
eine Gruppe von logisch zusammenhängenden Datebankoperationen (SQL-Anweisungen) die nur gemeinsam aufgeführt werden sollen.
ACID-EIgenschaften
A (Atomicity) - Transaktionen sind entweder vollständig oder gar nicht aufgeführt
C (Konsistenz)- nur serielle schedules, immer konsistent
I (Isolation)- Transaktionen laufen isoliert ab, mehrere gleichzeitig ablaufende Transaktionen beeinträchtigen sich nicht gegenseitig.
D (Dauerhaftigkeit)- sobald das Ergebnis einer Transaktion bestätig wurde, ist es dauerhaft (persistent).
Probleme bei Dateibasierten Anwendungen
- Mehrnutzerbetrieb schwierig
- Kostenintensive Formatwechsel
(für jede Änderung müssen alle Programme geändert werden) - häufige Formatwechsel, weil neue Programme das erfordern.
- nicht ausreichende Formatdokumentation
(was ist in welcher Datei?) - viele Kopien und Replikationen
(umorganisieren und beibehalten alter Dateien) - Aktualisierung mehrerer Kopien von Dateien ist Fehleranfällig, langsam und teuer
(eine Datei aktualisiert andere nicht) - hohe Kosten in der Anwendungsentwicklung
- Archivierung und Wiederherstellung im Fehlerfall von Person zu verantworten
- Kombination von Daten (mehrerer Dateien) mühsam.
(fehlende Sprachen, verschiedene Formate)
Vorteile von DBMS
- im DBS werden die Daten in einer Datenbank zusammengefasst, die ausschließlich von dem Datenbankmanagementsystem verwaltet wird.
- Anwendungsprogramme greifen nun nicht mehr direkt auf die Daten zu, sondern stellen ihre Anfragen nur noch an das DBMS
- DBMS liest Daten nur aus Datenbank aus und zeigt sie im Browser an.
- Daten können aber auch
während der Anzeige in
Datenbank geändert
werden. - Datenbanksystem wird
niemals angezeigt.
- Daten können aber auch
- Datenunabhängigkeit der Anwendungen
(Anwendungen müssen nicht wissen, welche Formate die Daten haben) - einfache Kombination und Verknüpfung von Daten
- Replikation von Daten stark reduziert
(höhere Konsistenz) - Mehrnutzerbetrieb möglich.
- Datenkonsistenz durch Transaktionsmanagement.
relationales Datenmodell
- Verhältnis zwischen Daten
- mathematisch exakt beschrieben
- Referenz zu tatsächlich in Datenbankprodukten realisierten Datenhaltungen.
- grafische Darstellung erfolgt im ER-Modell.
was ist eine Relation?
- eine Tabelle (Relation) hat eine Menge von Spalten (Attributen) und Zeilen (Datensätzen/Tupeln)
- Spalten und Zeilen können im Ganzen beliebig vertauscht werden ohne Veränderung der Relationen.
- je Spalte einen Kopfeintrag, Attributnamen und Einträge aus Wertebereich, welcher jeweils vorher zugeordnet wurde.
- eine Datenbank besteht aus einer Menge von Tabellen und Konsistenzregeln.
- wichtige Konsistenzregeln sind Schlüssel und Fremdschlüssel
was ist ein Schlüssel?
- eine minimal identifizierbare Attributkombination
(kein Attribut darf weggelassen werden, zu jeder Zeit unterscheiden sich Attributkombinationen) - es können ID´s vergeben werden (vereinfachter Schlüssel)
- es kann viele Schlüssel zu einer Relation geben
- Primärschlüssel = wichtigster (kleinster) Schlüssel.
- Fremdschlüssel = Attribut (zu R1), das auf Primärschlüssel einer anderen Relation (R2) verweist.
- in R1 können nur Werte
stehen, wenn es dazu
in R2 Einträge gibt.
- in R1 können nur Werte
- Anwendung einer Operation auf eine Relation ist wieder eine Relation
- Implementationsbedingungen
- Tabelle = Folge von
Zeilen und Spalten. - sortieren = Operator
- Duplikate können
auftreten
- Tabelle = Folge von
wozu können Views in einem Relationalen DBMS verwendet werden?
- Views erlauben es, eine Anfrage in der Datenbank abzuspeichern und ihr einen Namen zu geben (Wiederverwendbarkeit)
- Views sind abgeleitete, virtuelle Tabellen, die aus den Basistabellen berechnet werden.
- Views können nie Informationen enthalten, die nicht schon in den Basistabellen enthalten sind, dafür aber bereits enthaltene Informationen anders strukturiert anzeigen.
was ist das View-updateproblem?
- INSERT, DELETE, UPDATE nicht direkt auf View anwendbar, weil nur benannte Anfrage.
- Prozessor muss View-Operation auf Basistabelle anwenden.
- dafür viele Lösungen
- mathematisches Problem
- wird mit Triggern gelöst
was ist das View-Manipulationsproblem?
- View ist nur eine benannte Anfrage, deshalb ist das Einfügen von Daten nicht möglich.
was ist das 2-Phasen-Sperrprotokoll?
das 2-Phasen-Sperrprotokoll ist ein Sperrverfahren, bei dem Transaktionen nach bestimmten Regeln abgearbeitet werden. Die zwei Phasen bestehen aus einer Sperrphase, in der alle benötigten Objekte für die Transaktion gesperrt werden. In der zweiten Phase werden die Sperren wieder freigegeben, sodass die Objekte von anderen Transaktionen genutzt werden können. Mit einer Sperre werden Teile einer Datenbank für eine Transaktion reserviert, diese hat dann ein exklusives Schrei- und Leserecht.
was sind typische Probleme bei der Verwaltung von XML-Instanzen in einem Relationalen Datenbank-Managementsystem?
- Mixed Content ermöglicht fast beliebige Struktur
- Zerlegung der XML-Strukturen in Datenbanktabellen erfordert bei Rückbildung der XML-Instanz einen aufwendige JOIN über mehrere Tabellen notwendig.
Achsen für X-Path
ancestor, child, parent, self
4 Ziele eines Redaktionssystems, die mittels XML erreicht werden können.
- Single-Source-Publishing:
Eine Datensammlung, viele Ausgabeformate möglich - Datenkonsistenz:
Konsistenzregeln angeben und anwenden.
3.Terminologiemanagement:
Terminologieprüfung, Oxygen, DITA
- Teamarbeit:
XML-Teilkomponenten lassen sich gut splitten (Struktur, Inhalt, Layout)