diff --git a/zusammenfassung.pdf b/zusammenfassung.pdf index b253d94..cd13aa9 100644 Binary files a/zusammenfassung.pdf and b/zusammenfassung.pdf differ diff --git a/zusammenfassung.tex b/zusammenfassung.tex index eaa76df..64d8862 100644 --- a/zusammenfassung.tex +++ b/zusammenfassung.tex @@ -187,7 +187,7 @@ \item \textbf{TODO:} Muss immer weitergegangen werden? \end{itemize} \end{itemize} - \item Zustand im Fehlerfall hängt unter anderem von \begriff{Einbringstrategie} (siehe \textbf{TODO} Recovery) und \begriff{Seitenzuordnung} ab + \item Zustand im Fehlerfall hängt unter anderem von \begriff{Einbringstrategie} (siehe \hyperref[recovery]{Recovery}) und \begriff{Seitenzuordnung} ab \item Seitenzuordnung: \enquote{Welche Blöcke (in einer Datei) gehören zu einer Seite (im Puffer)?} \begin{itemize} \item \begriff{direkt}: aufeinander folgende Seiten werden auf aufeinander folgende Blöcke einer Datei abgebildet \item \begriff{indirekt}: \begriff{Page Table} enthält zu jeder Seite eine Blocknummer @@ -214,7 +214,7 @@ \item Fehlermeldungen und ähnliches werden über die sogenannte \begriff{SQL communication area} verwaltet (\texttt{INCLUDE SQLCA} am Anfang) \item Mengen-orientes Paradigma des DBVS oft nicht mit Programmiersprache vereinbar $\Rightarrow$ Einrichtung eines \begriff{Cursors} zum tupelweisen Durchlaufen der Ergebnismenge \item Beispielablauf: \texttt{DECLARE CURSOR} $\rightarrow$ \texttt{OPEN} $\rightarrow$ (mehrfach) \texttt{FETCH} bis Fehlercode $== 100$ $\rightarrow$ \texttt{CLOSE} - \item kann durch Präprozessort direkt als \begriff{stored procedure} \textbf{TODO: Verlinkung} angelegt werden + \item kann durch Präprozessort direkt als \hyperref[stored-procedure]{\begriff{stored procedure}} angelegt werden \end{itemize} \item \begriff{Unterprogrammaufruf} (\begriff{Call-Level-Interface}): \begin{itemize} \item Übergabe der SQL-Anweisungen zur \wichtig{Laufzeit} @@ -236,7 +236,7 @@ \item Ausführung mit \texttt{prep.executeUpdate()} \end{itemize} \end{itemize} - \item bei stored-procedures nur noch einmaliges Analysieren, etc. zur Compile-Zeit erforderlich: \begin{itemize} + \item bei stored-procedures nur noch einmaliges Analysieren, etc. zur Compile-Zeit erforderlich: \label{stored-procedure} \begin{itemize} \item Prozedur in DBVS bekommt \enquote{Namen}, über den sie mit Werten als Parametern aufrufbar ist \item JDBC:\begin{itemize} \item \texttt{CallableStatement call = con.prepareCall("\{ call PROZEDUR \}");} @@ -251,7 +251,7 @@ \section{Transaktionen} \begin{itemize} \item sinnvoll für \wichtig{nebenläufigen} Zugriff - \item erleichtern Umgang mit \begriff{Fehlern} und Ausfällen (siehe \textbf{TODO}: Link Recovery) + \item erleichtern Umgang mit \begriff{Fehlern} und Ausfällen (siehe \hyperref[recovery]{Recovery} \item \begriff{Transaktion} als \begriff{logische Einheit} einer Folge von DB-Operationen (von einem logisch konsistenten Zustand zum nächsten): \begin{itemize} \item bei Fehler vor Ende: Rückgängigmachen der bisher durchgeführten Änderungen \item bei Fehler nach Ende: kein Problem @@ -381,6 +381,7 @@ \end{itemize} \section{Recovery} +\label{recovery} \begin{itemize} \item \begriff{Programmfehler}: Absturz des Datenbank-Anwendungsprogramms $\Rightarrow$ Daten im Puffer und auf Festplatte in undefiniertem Zustand \item \begriff{Systemfehler}: DBVS oder BS fällt aus, Hardware-Fehler, \textellipsis $\Rightarrow$ Daten im Puffer verloren, auf Festplatte in undefiniertem Zustand