DAB2
Datenbank 2 - ZHAW
Datenbank 2 - ZHAW
-
- 1 / 81
-
Cartes-fiches
Datenbanksysteme haben verschiedene Vorgehensweisen für den Umgang mit Dateien. Welche gibt es?
- Pro Relation eine Datei. Speichern wird vom BS übernommen (MySQL
- Eine Datei pro Datenbank (SQL Server)
- RDBMS steuert Magnetplatten selbst and und arbeitet direkt mit den Blöcken.
Wie viele logische Dateien gibt es pro Relation?
eine oder mehrere?
Wie viele logische Dateien können sich in einer physischen Datei befinden?
Beliebig viele
Was ist der Unterschied zwischen einer Seite und einem Block?
Daten werden Blockweise gelesen. Eine Seite besteht aus 2^n Blöcken.
Wie werden Daten bei Nichtspannsatz gespeichert?
Jeder Datensatz ist maximal ein Block
Wie werden Daten bei Spannsatz gespeichert?
Ein Datensatz kann auch mehrere Blöcke einnehmen (z.B. grosser Blob).
Ineffizient, da mehrere Seiten für einen Datensatz gelesen werden müssen.
Welche Elemente enthält die Seite einer DB?
- Header mit Informationen über Vorgänger- und Nachfolger-Seite
- Evt. Nummer der Seite selbst
- Informationen über freien Platz
- Datensätze
- Unbelegte Bytes/Freier Platz
Aus was besteht eine Satzadresse?
Seitennummer + Offset
Nennen Sie ein Beispiel eines Datentyps mit fester Satzlänge
z.B. char(n)
Nennen Sie ein Beispiel für ein Datentyp mit variabler Satzlänge
z.B. varchar(n)
Wie wird ein fixierter Datensatz adressiert?
Über die Seitennummer und ein Offset auf der Seite
Problematisch bei Änderungen
Wie wird ein unfixierter/unpinned Datensatz adressiert?
Über eine TID/Record-ID/Row-ID/RID/etc.
Was ist alles in einer TID enthalten?
- Seitennummer
- Index in das Seitenverzeichnis (Seitenverzeichnis = Liste von Tupelzeigern am Anfang oder Ende der Seite)
Verändern sich TIDs beim Verschieben auf der Seite?
Welches sind die Aufgaben der Pufferverwaltung?
Beschreiben Sie grob die Aufgabe des Speichersystems
- Fordert Seiten an von der Systempufferschnittstelle und extrahiert interne Datensätze
- Realisierte die internen Datensätze mit Zeigern/speziellen Indexeinträgen und weiteren Hilfsstrukturen
Um was für eine Art von Konflikt handelt es sich bei w1(x) r2(x)?
Schreib-/Lese-Konflikt
Um was für einen Konflikt handelt es sich bei r1(x) w2(x)?
Lese-/Schreib-Konfolikt
Um was für eine Art von Konflikt handelt es sich bei w1(x) w2(x)?
Schreib-/Schreib-Konflikt
Wie viele Tupel liefert ein Zugriff über einen Primärindex zurück?
Maximal ein Tupel
Wie viele Resultate liefert ein Zugriff über einen Sekundärindex zurück?
0 bis n
Welche zwei Varianten unterstützt SQL Server für die Speicherung der sogenannten "Hauptdatei"?
- Clustered Index
- Heap
Wie wird eine Tabelle ohne Clustered Index auch genannt?
Heap
Beschreiben Sie die Funktionsweise eines Sekundärindexes
Jeder Zugriffspfad, welcher nicht die Dateiorganisation nutzt ist ein Sekundärindex.
-> Die Tabelle ist nicht nach dem Sekundärindex sortiert
Wie viele Primärindexe sind möglich pro Tabelle?
Einer
Wie viele Sekundärindexe sind möglich pro Tabelle?
Beliebig viele
Wie wird eine sortierte Datei ohne Index genannt?
Sequenzielle Datei
Wo befinden isch im B+-Baum die Daten?
Was zeichnet einen Dünn besetzten Index aus?
Es gibt nur einen Indexeintrag pro Seite.
-> Die interne Relation muss nach dem Zugriffsattribut sortiert sein.
(Beim Dicht besetzten Index gibt es für jedes Tupel einen Indexeintrag)
Dünnbesetzte Indexe müssen immer geclustert sein
Können Primärindexe dichtbesetzt sein?
Ja, z.B. bei einer Heap-Datei mit Index.
-> Ist nicht geclustert und nicht sortiert.
-> Suche über Index braucht für jedes Tupel einen Indexeintrag
Welches Transaktionsproblem tritt hier auf?
r1(x)w1(x)r2(x)a1w2(x)c1
Weshalb?
Dirty read.
Der mit r2(x) gelesene Wert von x wird mit a1 wieder Rückgängig gemacht.
Formen Sie die folgende Abfrage zu einer möglichst kostengünstigen Version um:
R(a,b,c) und S(c,d,e)
σb=3 AND e = 4 (R >< σc > 10 (S))
Welche Regeln kommen zum Einsatz?
σc > 10 AND b = 3 (R) >< σe = 4 AND c >10 (S)
Regel 1 & 6
Formen Sie die folgende Abfrage zu einer möglichst kostengünstigen Version um:
R(a,b,c) und S(c,d,e)
πa,d (R >< S)
Welche Regeln kommen zum Einsatz?
πa,d (πa,c (R) >< πd,c (S) )
Regel 7
Nennen Sie die drei Fehlerarten, welche ein Recovery verursachen können
Transaktionsfehler
Systemfehler
Mediafehler
Nennen Sie ein ein Beispiel für einen Transaktionsfehler
Fehler im Anwendungsprogramm/der stored procedure (z.B. Division durch 0)
Oder
Transaktionsabbruch durch Benutzer oder System
Beschreiben Sie ein REDO in der Fehlerrecovery
Änderungen von abgeschlossene Transaktionen, die verloren gingen, werden mithilfe des Logfiles wieder in die DB eingefügt.
Beschreiben Sie ein REDO in der Fehlerrecovery
Änderungen, welche zwar in die Datenbank eingefügt wurden, deren Transaktionen jedoch nicht beendet wurden, werden wieder aus der Datenbank entfernt.
Wie werden Mediafehler behoben?
Es muss ein Backup der Datenbank aufgespielt werden
Was ist ein operatives System?
Systeme, welche Daten generiert werden. Z.B. Buchhaltungssystem, Abbrechnungssystem, etc.
Wofür steht OLTP? Was ist damit gemeint?
Online Transaction Processing - Ein operatives System fürs Tagesgeschäft mit dem Ziel, möglichst viele Transaktionen in kuzer Zeit verarbeiten