Hash-Verbund Aufgabenstellung anpassen

Für Herleitung der Veränderungen siehe eingefügtem Kommentar. Relation S
etwas angepasst damit es beim Join über x auch Treffer gibt.
This commit is contained in:
Luis Gerhorst 2018-02-11 17:53:43 +01:00
parent feb5fb2cda
commit b448cf9056

View File

@ -429,7 +429,7 @@ static char *read(char* segment_identifier, struct tid tid) {
\hline
4 & G\\
\hline
14 & A\\
13 & A\\
\hline
8 & F\\
\hline
@ -445,17 +445,17 @@ static char *read(char* segment_identifier, struct tid tid) {
\hline
x & y\\
\hline
14 & C\\
13 & C\\
\hline
3 & U\\
2 & U\\
\hline
6 & Z\\
\hline
9 & D\\
8 & D\\
\hline
11 & A\\
4 & A\\
\hline
14 & B\\
0 & B\\
\hline
29 & W\\
\hline
@ -466,7 +466,23 @@ static char *read(char* segment_identifier, struct tid tid) {
Mache einen Hash-Verbund Inner Join mit S.x = R.x, die
Zwischenergebnisse der einzelnen Schritte (also das Ergebnis
\textbf{nach} einem Schritt) muessen angegeben werden. Hashfunktion
ist $h(k) = k mod 2$.\\\hrule \vspace{1cm}
ist $h(k) = k mod 2$. Ein Bucket fasst maximal 2 Tupel, verwenden
Sie keine Überlaufbuckets. Ist die Hash-Tabelle gefüllt kann die
verbleibende Relation in einem Schritt sequentiell durchlaufen
werden.\\\hrule \vspace{1cm}
% Beim Lesen: So lange Tupel aus R (der kleineren Relation) in die Hashtabelle
% eintragen bis wir deren Limit erreicht haben (aka wir bräuchten ein
% Überlaufbucket, das ist ja aber nicht erlaubt). Beim ersten Lesen kommen wir
% also bis einschließlich (13, A), stände hier eine 14 kämen wir nur bis (4, G)
% und hätten somit mehr als 2 Abschnitte.
% Beim Probing: Die komplette Relation S durchlaufen (die Frage ob das mit
% mehreren oder einem Blockzugriff geht bleibt offen). Jeden Treffer in die
% Ergebnisrelation eintragen.
% Da beim Lesen nur die Hashtabelle und beim Probing nur die Ergebnisrelation
% geändert werden kann man die andere Vorlage jeweils weglassen.
\textbf{1. Lesen}\\
@ -480,30 +496,9 @@ static char *read(char* segment_identifier, struct tid tid) {
\end{tabularx}
\vspace{1cm}
Ergebnisrelation:\\
\begin{tabularx}{10cm}{|X|X|X|X|}
\hline
S.x & S.y & R.x & R.y\\
\hline
\rule{0cm}{25mm} & & & \\
\hline
\end{tabularx}
\vspace{1cm}
\newpage
\textbf{2. Probing}\\
Hashtabelle:\\
\begin{tabularx}{5cm}{|X|X|}
\hline
0 & 1\\
\hline
\rule{0pt}{2cm} & \\
\hline
\end{tabularx}
\vspace{1cm}
Ergebnisrelation:\\
\begin{tabularx}{10cm}{|X|X|X|X|}
\hline
@ -526,35 +521,14 @@ static char *read(char* segment_identifier, struct tid tid) {
\vspace{1cm}
Ergebnisrelation:\\
\begin{tabularx}{10cm}{|X|X|X|X|}
\hline
S.x & S.y & R.x & R.y\\
\hline
\rule{0cm}{25mm} & & & \\
\hline
\end{tabularx}
\vspace{1cm}
\newpage
\textbf{4. Probing}\\
Hashtabelle:\\
\begin{tabularx}{5cm}{|X|X|}
\hline
0 & 1\\
\hline
\rule{0pt}{2cm} & \\
\hline
\end{tabularx}
\vspace{1cm}
Ergebnisrelation:\\
\begin{tabularx}{10cm}{|X|X|X|X|}
\hline
S.x & S.y & R.x & R.y\\
\hline
\rule{0cm}{25mm} & & & \\
\rule{0cm}{50mm} & & & \\
\hline
\end{tabularx}
\vspace{1cm}