IDB stinkt nach scheisse

This commit is contained in:
Sheppy 2017-01-28 19:49:00 +01:00
parent 32e2151aeb
commit b1137cdf72

View File

@ -20,8 +20,7 @@ Antworte mit richtig oder falsch und Begruendung. [4P pro Aufgabe, es wurden abe
\item \textbf{n)} Das C in den ACID-Eigenschaften von Transaktionen steht fuer Concurrency. \item \textbf{n)} Das C in den ACID-Eigenschaften von Transaktionen steht fuer Concurrency.
\item \textbf{o)} Bei reiner Forward-Recovery duerfen Aenderungen einer Transaktion erst nach deren erfolgreichem Commit in den Datenbestand eingebracht werden. \item \textbf{o)} Bei reiner Forward-Recovery duerfen Aenderungen einer Transaktion erst nach deren erfolgreichem Commit in den Datenbestand eingebracht werden.
\end{itemize} \end{itemize}
\vspace{5cm}
\newpage
\section{Aufgabe 2 Datenbankpuffer} \section{Aufgabe 2 Datenbankpuffer}
\subsection{a) - 12 Punkte} \subsection{a) - 12 Punkte}
Fuer einen Puffer stehen drei Kacheln im Hauptspeicher zur Verfuegung. Die unten angegebene Referenzreihenfolge stellt einen Auszug aus dem Protokoll der Seitenzugriffe des Datenbanksystems dar. Vervollstaendigen Sie die Tablle: Geben Sie an, welche Seiten zu welchem Zeitpunkten in den Kacheln des Prozesses eingelagert sind, wenn das Datenbanksystem \textbf{Clock} als Seitenersetzungsstrategie verwendet. Notieren Sie auch die Kontrollzustaende fuer jede Belegung. \\ Fuer einen Puffer stehen drei Kacheln im Hauptspeicher zur Verfuegung. Die unten angegebene Referenzreihenfolge stellt einen Auszug aus dem Protokoll der Seitenzugriffe des Datenbanksystems dar. Vervollstaendigen Sie die Tablle: Geben Sie an, welche Seiten zu welchem Zeitpunkten in den Kacheln des Prozesses eingelagert sind, wenn das Datenbanksystem \textbf{Clock} als Seitenersetzungsstrategie verwendet. Notieren Sie auch die Kontrollzustaende fuer jede Belegung. \\
@ -57,13 +56,14 @@ Ergaenzen sie die folgende Tabelle um alle Funktionen mit ihren Parametern und i
\end{tabular} \end{tabular}
\newpage \newpage
\section{Aufgabe 3 TID-Adressierung} \section{Aufgabe 3 TID-Adressierung - 14 Punkte}
Ergaenzen sie in den folgenden Teilaufgaben die Skizzen so, dass sie den Zustand nach der jeweils angegebenen Operation darstellen. Geben sie ausserdem die TIDs der Saetze mit den angegebenen Laengen nach der Ausfuerung der Operation an.\\ \\ Ergaenzen sie in den folgenden Teilaufgaben die Skizzen so, dass sie den Zustand nach der jeweils angegebenen Operation darstellen. Geben sie ausserdem die TIDs der Saetze mit den angegebenen Laengen nach der Ausfuerung der Operation an.\\ \\
Die Saetze werden ueber TIDs adressiert. Eine TID benoetigt 2 Beyte und ein Indexeintrag 1 Byte Speicherplatz. Jeder Block hat eine Groesse von 16 Bytes. ein Byte ist jeweils durch ein Kaestchen repraesentiert. Die Frespeicherverwaltung durchsucht die Seiten in der Reihenfolge 0,1,2 nach freiem Platz. Freier Speicher innerhalb einer Seite befindet sich immer nur am Seitenende. \\ \\ Die Saetze werden ueber TIDs adressiert. Eine TID benoetigt 2 Beyte und ein Indexeintrag 1 Byte Speicherplatz. Jeder Block hat eine Groesse von 16 Bytes. ein Byte ist jeweils durch ein Kaestchen repraesentiert. Die Frespeicherverwaltung durchsucht die Seiten in der Reihenfolge 0,1,2 nach freiem Platz. Freier Speicher innerhalb einer Seite befindet sich immer nur am Seitenende. \\ \\
Es muss keine Laengen- oder Headerinformtion zu den Saetzen gespeichert werden. Diese sei dem System bekannt. Saetze werden nur fragmenteirt, wenn es notwendig ist. Verweise zwischen Fragmenten und bei Verschiebungen sind einzutragen, in der Form \textbf{TID(3,2)}. Die ersten Fragmente eines fragmentierten Satzes belegen immer ganze Bloecke. Nur das letze Fragment kann in einem schon teilwese belegten Block abgelegt werden. \\ \\ Es muss keine Laengen- oder Headerinformtion zu den Saetzen gespeichert werden. Diese sei dem System bekannt. Saetze werden nur fragmenteirt, wenn es notwendig ist. Verweise zwischen Fragmenten und bei Verschiebungen sind einzutragen, in der Form \textbf{TID(3,2)}. Die ersten Fragmente eines fragmentierten Satzes belegen immer ganze Bloecke. Nur das letze Fragment kann in einem schon teilwese belegten Block abgelegt werden. \\ \\
Die Teilaufgaben sind voneinander unabhaengig. Ein F steht fuer bereits voll. \\ Die Teilaufgaben sind voneinander unabhaengig. Ein F steht fuer bereits voll. \\
\begin{itemize} \begin{itemize}
% a ------------------------------------------------------------------------------------ a%
\item \textbf{a)} Die Seiten enthalten zum Ausgangszeitpunkt einen Satz der Laenge 5 mit TID(0,0). Fuegen sie einen Satz mit Laenge 10 ein.\\ \\ \item \textbf{a)} Die Seiten enthalten zum Ausgangszeitpunkt einen Satz der Laenge 5 mit TID(0,0). Fuegen sie einen Satz mit Laenge 10 ein.\\ \\
\begin{tabular}{c|c|c|c} \begin{tabular}{c|c|c|c}
F & F & F & F \\\hline F & F & F & F \\\hline
@ -88,6 +88,9 @@ F & & & \\\hline
& & & 0 & & & 0
\end{tabular}\\\\ \end{tabular}\\\\
-\hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\\\ -\hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\\\
\textbf{Laenge 10: TID(\hspace{5mm},\hspace{5mm})}
% b ------------------------------------------------------------------------------------ b%
\item \textbf{b)} Die Seiten enthalten zum Ausgangszeitpunkt zwei Saetze mit TID(0,0), Laenge 12 und TID(1,0), Laenge 6. Fuegen sie einen Satz mit Laenge 20 ein.\\ \\ \item \textbf{b)} Die Seiten enthalten zum Ausgangszeitpunkt zwei Saetze mit TID(0,0), Laenge 12 und TID(1,0), Laenge 6. Fuegen sie einen Satz mit Laenge 20 ein.\\ \\
\begin{tabular}{c|c|c|c} \begin{tabular}{c|c|c|c}
F & F & F & F \\\hline F & F & F & F \\\hline
@ -101,7 +104,7 @@ F & F & F & F \\\hline
F & F & F & F \\\hline F & F & F & F \\\hline
F & F & & \\\hline F & F & & \\\hline
& & & \\\hline & & & \\\hline
& & & 0 & & &
\end{tabular} \end{tabular}
%\textbf{Seite 2} %\textbf{Seite 2}
\hspace{10mm} \hspace{10mm}
@ -109,9 +112,124 @@ F & F & & \\\hline
& & & \\\hline & & & \\\hline
& & & \\\hline & & & \\\hline
& & & \\\hline & & & \\\hline
& & & 0 & & &
\end{tabular}\\\\ \end{tabular}\\\\
- \hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\\\ %dont ask and dont try yo remove the - - \hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\\\ %dont ask and dont try yo remove the -
\textbf{Laenge 20: TID(\hspace{5mm},\hspace{5mm})}
% c ------------------------------------------------------------------------------------ c%
\newpage
\item \textbf{c)} Die Seiten enthalten zum Ausgangszeitpunkt zwei Saetze mit TID(0,0), Laenge 4 und TID(0,1), Laenge 8.\\ \\
\textbf{Ausganszustand (Loesung nicht hier sondern unten eintragen)}\\\\
\begin{tabular}{c|c|c|c}
F & F & F & F \\\hline
F & F & F & F \\\hline
F & F & F & F \\\hline
& & & 0
\end{tabular}
\hspace{10mm}
%\textbf{Seite 1}
\begin{tabular}{c|c|c|c}
F & F & F & F \\\hline
F & F & & \\\hline
& & & \\\hline
& & &
\end{tabular}
%\textbf{Seite 2}
\hspace{10mm}
\begin{tabular}{c|c|c|c}
& & & \\\hline
& & & \\\hline
& & & \\\hline
& & &
\end{tabular}\\\\
- \hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\\\ %dont ask and dont try yo remove the -
Vergroessern sie den Satz TID(0,1) auf Laenge 12.\\\\
\begin{tabular}{c|c|c|c}
F & F & F & F \\\hline
F & F & F & F \\\hline
F & F & F & F \\\hline
& & 4 & 0
\end{tabular}
\hspace{10mm}
%\textbf{Seite 1}
\begin{tabular}{c|c|c|c}
& & & \\\hline
& & & \\\hline
& & & \\\hline
& & &
\end{tabular}
%\textbf{Seite 2}
\hspace{10mm}
\begin{tabular}{c|c|c|c}
& & & \\\hline
& & & \\\hline
& & & \\\hline
& & &
\end{tabular}\\\\
- \hspace{8mm} Seite 0 \hspace{2cm} Seite 1 \hspace{2cm} Seite 2 \hspace{2cm} -\\ %dont ask and dont try yo remove the -
\textbf{Laenge 4: TID(\hspace{5mm},\hspace{5mm}), Laenge 12: TID(\hspace{5mm},\hspace{5mm})}
\end{itemize}
\newpage
\section{Aufgabe 4 Indexstrukturen - 26 Punkte}
\subsection{Ankreuzerino}
\subsubsection*{Kreuzen sie an wie viele Primaerorganisationen es fuer eine Satzmenge ohne Redundanz maximal geben kann}
\begin{itemize}
\item keine
\item eine
\item zwei
\item beliebig viele
\end{itemize} \end{itemize}
\subsubsection*{Kreuzen sie an wie viele Sekundaerorganisationen es fuer eine Satzmenge ohne Redundanz maximal geben kann}
\begin{itemize}
\item keine
\item eine
\item zwei
\item beliebig viele
\end{itemize}
\subsection{Baumabfuck}
\textbf{a)} Fuegen sie in einen anfangs leeren \textbf{B*-Baum} mit $k_{inner}=2$ und $k_{leaf}=1$ die Tupel
\textbf{\hspace{1cm}(7,B)\hspace{1cm}(42,A)\hspace{1cm}(2,X) \hspace{1cm}} in dieser Reihenfolge ein. Die gegebenen Tupel sind nach dem Schema \textbf{(Schluessel,Wert)} aufgebaut. Zeichnen sie den entstandenen Baum nach dem Einfuegen aller Tupel. \\\\
\textbf{b)} Loeschen sie aus dem gegebenen B-Baum den Schluessel 36. Zeichnen sie den entstandenen Baum nach dem komplett ausgefuehrten Loesungsweg.\\\\
TODO BILD\\
\textbf{c)} Nennen sie drei gruende, warum der folgende Baum kein korrekter \textbf{B-Baum} ist.\\\\
TODO BILD\\
\textbf{d)} Gegeben ist eine Tabelle mit dem folgendem Schema, mit der Studentenwohnheimszimmer verwaltet werden:\\\\
\textbf{Zimmer(Zimmernummer, Etage, MitKueche, MitBad, GehirngeschaedigteVollspassten)}\\\\
Um die Suche nach Zimmern mit bestimmten Eigenschaften (z.B. Zimmer im Erdgeschoss mit Kueche und Bad) zu beschleunigen sollen ueber die Attribute \textbf{Etage, MitKueche, MitBad und GehirngeschaedigteVollspassten} Indizies angelegt werden. Kreuzen sie an, welche der folgenden Indexarten sich hierfuer am Besten eignet.
\begin{itemize}
\item B-Baum-Index
\item B*-Baum-Index
\item Hash-Index
\item Bitmap-Index
\end{itemize}
\newpage
\section{Aufgabe 5 Transaktionen - Punkte 32}
\subsubsection{Nennen sie die Eigenschaft, die eine Real World Action erfuellen muss, damit sie als solche bezeichnet wird.}
\vspace{1cm}
\subsubsection{Real World Actions muessen mindestens eine von zwei Eigenschaften erfuellen, damit sie im Rahmen einer Transaktion ausgefuehrt werden koennen. Nennen sie diese beiden Eigenschaften.}
\vspace{1cm}
\subsubsection{Gegeben ist der folgende Ablauf dreier Transaktionen T1, T2, T3:}
rN(x) bedeutet, Transaktion N liest Element x. wN(x) bedeutet, Transaktion N schreiben Element x.
\begin{itemize}
\item r2(a)
\item r3(b)
\item r3(c)
\item r1(a)
\item r3(a)
\item w2(a)
\item w3(b)
\item r1(b)
\item w1(c)
\item w2(b)
\end{itemize}
Zeichnen sie den vollstaendigen Abhaengigkeitsgraphen und notieren sie an den kanten alle Datenobjekte, aufgrund derer die jeweiligen Abhaengigkeit besteht.\\\vspace{1cm}
\subsubsection{Begruenden sie in einem Satz warum der in teilaufgabe c) gegebene Ablauf serialisierbar oder nicht serialisierbar ist.}
\newpage
\end{document} \end{document}