Vorteile von Datenbanken
1. Redundanz wird gesenkt
2. Inkonsistenz wird vermieden
3. Daten sind teilbar
4. Förderung von Standarts
5. Verbesserter Datenschutz
6. Daten Integrität
7. Zuschnitt der Daten auf Anforderungen des Unternehmens
2. Inkonsistenz wird vermieden
3. Daten sind teilbar
4. Förderung von Standarts
5. Verbesserter Datenschutz
6. Daten Integrität
7. Zuschnitt der Daten auf Anforderungen des Unternehmens
Was ist ein lokales Attribut?
Attribut, dass:
- nur in einer Tabelle vorkommt
- und dort nicht Schlüsselattribut ist
- nur in einer Tabelle vorkommt
- und dort nicht Schlüsselattribut ist
Nenne die 3 Abstraktionsebenen (Sichten) eines Datenbanksystems und deren Ziele!
1. Konzeptionelle Datensicht:
- logische Gesamtsicht aller Daten
- Ankerpunkt des DB-Entwurfs
- Ziel: stabiler Bezugspunkt
2. interne Datensicht:
- pysische Datenorganisation, tatsächliche Speicherung der Daten
- Zugriffspfade
- Ziel: Festlegung für Benutzergemeinschaft, Zugriffshäufigkeiten
3. externe Datensicht:
- Benutzerschnittstelle
- logische Sichten einzelner Benutzergruppen auf Teile der DB
- Zugriffsschutz
- logische Gesamtsicht aller Daten
- Ankerpunkt des DB-Entwurfs
- Ziel: stabiler Bezugspunkt
2. interne Datensicht:
- pysische Datenorganisation, tatsächliche Speicherung der Daten
- Zugriffspfade
- Ziel: Festlegung für Benutzergemeinschaft, Zugriffshäufigkeiten
3. externe Datensicht:
- Benutzerschnittstelle
- logische Sichten einzelner Benutzergruppen auf Teile der DB
- Zugriffsschutz
Wie lautet die 1. Normalform?
Jedes Attribut ist elementar
Tabelle hat eine feste Breite
Tabelle hat eine feste Breite
Nennen Sie die Probleme bei redundanten Tabellen! (Mutationsanomalien)
1. Änderungsanomalie:
Ändert Lieferant seinen Name, muss er in allen Tupeln verändert werden
2. Löschanomalie:
Werden alle Zeilen mit Bestellungen eines Lieferanten gelöscht, geht auch Info über Lieferanten verloren
3. Einfügeanomalie
Solange ein Lieferant keine Bestellung gemacht hat, ist er nicht in Tabelle
Ändert Lieferant seinen Name, muss er in allen Tupeln verändert werden
2. Löschanomalie:
Werden alle Zeilen mit Bestellungen eines Lieferanten gelöscht, geht auch Info über Lieferanten verloren
3. Einfügeanomalie
Solange ein Lieferant keine Bestellung gemacht hat, ist er nicht in Tabelle
Erklären Sie funktionale Abhängigkeit!
Wo ist der Unterschied zu voll-funktional?
Wo ist der Unterschied zu voll-funktional?
B heißt funktional abhängig wenn in jedem Tupel in dem A vorkommt der selbe Wert für B existiert.
(A>B)
Voll-funktional:
B hängt von allen Elementen von A ab, nicht nur von einem Teil.
> bei Verbundsschlüsseln
(A>B)
Voll-funktional:
B hängt von allen Elementen von A ab, nicht nur von einem Teil.
> bei Verbundsschlüsseln
Wie heißt die 2. Normalform?
- ist in 1. NF
- jedes Nicht-Schlüssel Attribut hängt vom gesamten Schlüssel ab
-->volle funktionale Abhängigkeit
- jedes Nicht-Schlüssel Attribut hängt vom gesamten Schlüssel ab
-->volle funktionale Abhängigkeit
Wie heißt die 3. NF?
- ist in 2. NF
- keine Abhängigkeit zwischen Nicht-Schlüssel Attributen
- keine Abhängigkeit zwischen Nicht-Schlüssel Attributen
Wie geht man beim Normalisieren vor?
1. funktionale Abhängigkeiten
2. voll funktionale Abhängigkeiten
3. transitive Abhängigkeiten
4. nur noch lokale und globale Attribute
--> alle Probleme beim Löschen und Entfernen entfernen
2. voll funktionale Abhängigkeiten
3. transitive Abhängigkeiten
4. nur noch lokale und globale Attribute
--> alle Probleme beim Löschen und Entfernen entfernen
Wie ist der Primärschlüssel definiert?
- jedes nicht-Schlüssel Attribut ist vom Schlüssel funktional abhängig
- bei Verbundschlüssel ist kein Schlüsselattribut von den anderen Schlüsselattributen abhängig
- bei Verbundschlüssel ist kein Schlüsselattribut von den anderen Schlüsselattributen abhängig
Nenne 3 unteschiedliche DB-Modelle und deren Eigenschaften!
1. Hierarchisches Modell: 1:N, sequentiell
2. Netzwerk Modell: N:N, Adressverweise
3. Relationales Modell: N:N, gemeinsame Attribute (Primär/Fremdschlüssel)
2. Netzwerk Modell: N:N, Adressverweise
3. Relationales Modell: N:N, gemeinsame Attribute (Primär/Fremdschlüssel)
Was bedeutet ACID und warum brauch eine Transaktion dieses Prinzip?
Atomicity: ganz oder gar nicht
Consistency: nach Beendigung wird ein konsistenter Datenzustand hinterlassen, falls die Datenbank davor auch konsistent war
Isolation: Verhindert, dass sich nebenläufig in Ausführung befindliche Daten-Operationen gegenseitig beeinflussen
Durability: Daten werden nur nach dem erfolgreichen Abschluss einer Transaktion garantiert dauerhaft in der Datenbank gespeichert
--> garantiert jedem Anwender konsistente Datenbestände; bei zwischenzeitlicher Inkonsistenz ist diese nach außenhin unsichtbar und wird bei einem Fehler rückgängig gemacht.
Consistency: nach Beendigung wird ein konsistenter Datenzustand hinterlassen, falls die Datenbank davor auch konsistent war
Isolation: Verhindert, dass sich nebenläufig in Ausführung befindliche Daten-Operationen gegenseitig beeinflussen
Durability: Daten werden nur nach dem erfolgreichen Abschluss einer Transaktion garantiert dauerhaft in der Datenbank gespeichert
--> garantiert jedem Anwender konsistente Datenbestände; bei zwischenzeitlicher Inkonsistenz ist diese nach außenhin unsichtbar und wird bei einem Fehler rückgängig gemacht.
Wie läuft eine Transaktion ab?
Before-Image-Zustand BOT
bei Abbruch: Rollback to BOT
-
After-Image-Zustand EOT
bei Abbruch: Rollback to BOT
-
After-Image-Zustand EOT
Was ist ein serieller Ablauf?
Ein Ablauf heißt seriell, wenn alle Schritte einer Transaktion
vollständig ausgeführt werden, ehe die der nächsten Transaktion
beginnen
vollständig ausgeführt werden, ehe die der nächsten Transaktion
beginnen
Wann stehen Transaktionen im Konflikt?
Zwei Aktionen in einem Ablauf stehen in Konflikt, wenn die folgenden 3 Punkte zutreffen:
(1) sie gehören zu unterschiedlichen Transaktionen
(2) sie greifen auf dasselbe Datenobjekt zu
(3) mindestens einer der Aktionen ist write
Was ist der Präzedenzgraph?
Kriterium für Serialisierbarkeit
Der Präzedenzgraph zu einem Ablauf S ist ein gerichteter Graph
GS mit
(1) den Knoten T1,T2, . . . für jede Transaktion Ti
in S
(2) den Kanten Ti --> Tj falls Ti und Tj konfligierende Aktionen
haben, bei denen die Aktion in Ti vor der in Tj
in S vorkommt.
Der Präzedenzgraph zu einem Ablauf S ist ein gerichteter Graph
GS mit
(1) den Knoten T1,T2, . . . für jede Transaktion Ti
in S
(2) den Kanten Ti --> Tj falls Ti und Tj konfligierende Aktionen
haben, bei denen die Aktion in Ti vor der in Tj
in S vorkommt.
Wozu dient der Präzedenzgraph?
Hat der Präzedenzgraph keinen Zyklus, ist ein Ablauf S serialisierbar,
Was ist 2PL ?
Eine Transaktion folgt dem 2-Phasen-Sperrprotokoll (2PL), wenn
alle Sperraktionen in der Transaktion vor der ersten Freigabeaktion
ausgeführt werden
alle Sperraktionen in der Transaktion vor der ersten Freigabeaktion
ausgeführt werden
Was ist S2PL, und welche Vorteile/Nachteile gibt es?
S2PL: Strict-2-Phase-Locking
Eine Transaktion folgt dem strikten 2PL, wenn sie dem 2PL folgt
und alle Sperren en bloc am Ende der Transaktion freigibt.
-dynamischer Ablauf
- weniger Wartezeiten
ABER Gefahr von Verklemmung (Deadlock)
Eine Transaktion folgt dem strikten 2PL, wenn sie dem 2PL folgt
und alle Sperren en bloc am Ende der Transaktion freigibt.
-dynamischer Ablauf
- weniger Wartezeiten
ABER Gefahr von Verklemmung (Deadlock)
Was ist C2PL? Vor-Nachteile
Conservative 2-Phase-Locking
- vor der Transaktion werden alle Daten gesperrt, auf die in der Transaktion zugegriffen werden
- Vorteil: es wird gewartet bis alle Datensätze verfügbar sind, bis die Transaktion Beginnt, somit entstehen keine Deadlocks/Verklemmungen während der Transaktion
- Nachteil: höhere Wartezeit
- vor der Transaktion werden alle Daten gesperrt, auf die in der Transaktion zugegriffen werden
- Vorteil: es wird gewartet bis alle Datensätze verfügbar sind, bis die Transaktion Beginnt, somit entstehen keine Deadlocks/Verklemmungen während der Transaktion
- Nachteil: höhere Wartezeit
Was ist der WFG- Algorithmus (Wait-for-graph)?
Ein Algorithmus, der die Zyklen im Wartegraphen analysiert um gegenseitige Behinderung zu erfassen.
Eine Wartegraph, ist der Graph der zeigt wie Transaktionen auf andere warten. Entsteht ein Zyklus im Wartegraph spricht man von einem Deadlock.
Eine Wartegraph, ist der Graph der zeigt wie Transaktionen auf andere warten. Entsteht ein Zyklus im Wartegraph spricht man von einem Deadlock.
Was macht das optimistische Verfahren bei Verklemmungen?
Was sind Vor/Nachteile?
Was sind Vor/Nachteile?
- nimmt Konflikte in Kauf, setzt keine Sperren
- behebt diese durch zurücksetzen der Transaktion, die den Konflikt ausgelöst hat im nachhinein
-Vorteil: verkürzte Wartezeiten, hoher Grad an Parallelität
-Nachteil: nur solange "Gut" bis 10% Kollisionen, danach ist Rücksetzungszeit größer als die gesparte Wartezeit
- behebt diese durch zurücksetzen der Transaktion, die den Konflikt ausgelöst hat im nachhinein
-Vorteil: verkürzte Wartezeiten, hoher Grad an Parallelität
-Nachteil: nur solange "Gut" bis 10% Kollisionen, danach ist Rücksetzungszeit größer als die gesparte Wartezeit
Zusammenhang Dateiorganisation und Dateizugriff
Speicherung/Zugriff | physikalisch fortlaufen | Logisch fortlaufen | wahlfrei direkt |
Sequenziell | + + | +- | +- |
Indiziert/ indexsequentiell | - | + + | + |
relativ (direkte oder Indirekte Adressierung) | - | +- | ++ |
Nenne 5 Kriterien zur Beurteilung von Dateiorganisation- und zugriff
1. Speicherplatz
2. Zugriffszeit
3. Neue Datensätze
4. Re-Organisationsnotwendigkeit
5. Zusammenhang zwischen Ordnungsbegriff und logischer Adresse
2. Zugriffszeit
3. Neue Datensätze
4. Re-Organisationsnotwendigkeit
5. Zusammenhang zwischen Ordnungsbegriff und logischer Adresse
Was macht das pessimistische Verfahren bei Verklemmungen und was ist ein Beispiel?
- Verhindert im Vorfeld dass Konflikte bei parallel laufenden Transaktionen entstehen können
-> Gewährleistung der Serialisierbarkeit
-> 2PL (S2PL, C2PL)
-> Gewährleistung der Serialisierbarkeit
-> 2PL (S2PL, C2PL)
Wie heißen die 2 Phasen die beim 2PL ablaufen und was passiert in diesen?
Wachstumsphase: sperren aller notwendigen Datensätzen werden verhängt
Schrumpfungsphase: Sperren werden aufgehoben
Schrumpfungsphase: Sperren werden aufgehoben
Kartensatzinfo:
Autor: @destructive_influen...
Oberthema: Datenbanken, MySQL
Thema: Datenbank-Entwurf
Schule / Uni: DHBW Stuttgart
Ort: Stuttgart
Veröffentlicht: 27.04.2016
Tags: Weickert
Schlagwörter Karten:
Alle Karten (29)
keine Schlagwörter