mirror of
https://gitlab.cs.fau.de/ik15ydit/latexandmore.git
synced 2024-11-22 03:49:31 +01:00
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:
parent
feb5fb2cda
commit
b448cf9056
@ -429,7 +429,7 @@ static char *read(char* segment_identifier, struct tid tid) {
|
|||||||
\hline
|
\hline
|
||||||
4 & G\\
|
4 & G\\
|
||||||
\hline
|
\hline
|
||||||
14 & A\\
|
13 & A\\
|
||||||
\hline
|
\hline
|
||||||
8 & F\\
|
8 & F\\
|
||||||
\hline
|
\hline
|
||||||
@ -445,17 +445,17 @@ static char *read(char* segment_identifier, struct tid tid) {
|
|||||||
\hline
|
\hline
|
||||||
x & y\\
|
x & y\\
|
||||||
\hline
|
\hline
|
||||||
14 & C\\
|
13 & C\\
|
||||||
\hline
|
\hline
|
||||||
3 & U\\
|
2 & U\\
|
||||||
\hline
|
\hline
|
||||||
6 & Z\\
|
6 & Z\\
|
||||||
\hline
|
\hline
|
||||||
9 & D\\
|
8 & D\\
|
||||||
\hline
|
\hline
|
||||||
11 & A\\
|
4 & A\\
|
||||||
\hline
|
\hline
|
||||||
14 & B\\
|
0 & B\\
|
||||||
\hline
|
\hline
|
||||||
29 & W\\
|
29 & W\\
|
||||||
\hline
|
\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
|
Mache einen Hash-Verbund Inner Join mit S.x = R.x, die
|
||||||
Zwischenergebnisse der einzelnen Schritte (also das Ergebnis
|
Zwischenergebnisse der einzelnen Schritte (also das Ergebnis
|
||||||
\textbf{nach} einem Schritt) muessen angegeben werden. Hashfunktion
|
\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}\\
|
\textbf{1. Lesen}\\
|
||||||
|
|
||||||
@ -480,30 +496,9 @@ static char *read(char* segment_identifier, struct tid tid) {
|
|||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
|
|
||||||
\vspace{1cm}
|
\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
|
\newpage
|
||||||
\textbf{2. Probing}\\
|
\textbf{2. Probing}\\
|
||||||
|
|
||||||
Hashtabelle:\\
|
|
||||||
\begin{tabularx}{5cm}{|X|X|}
|
|
||||||
\hline
|
|
||||||
0 & 1\\
|
|
||||||
\hline
|
|
||||||
\rule{0pt}{2cm} & \\
|
|
||||||
\hline
|
|
||||||
\end{tabularx}
|
|
||||||
|
|
||||||
\vspace{1cm}
|
|
||||||
|
|
||||||
Ergebnisrelation:\\
|
Ergebnisrelation:\\
|
||||||
\begin{tabularx}{10cm}{|X|X|X|X|}
|
\begin{tabularx}{10cm}{|X|X|X|X|}
|
||||||
\hline
|
\hline
|
||||||
@ -523,38 +518,17 @@ static char *read(char* segment_identifier, struct tid tid) {
|
|||||||
\rule{0pt}{2cm} & \\
|
\rule{0pt}{2cm} & \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\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{4. Probing}\\
|
|
||||||
|
|
||||||
Hashtabelle:\\
|
|
||||||
\begin{tabularx}{5cm}{|X|X|}
|
|
||||||
\hline
|
|
||||||
0 & 1\\
|
|
||||||
\hline
|
|
||||||
\rule{0pt}{2cm} & \\
|
|
||||||
\hline
|
|
||||||
\end{tabularx}
|
|
||||||
|
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
|
|
||||||
|
\textbf{4. Probing}\\
|
||||||
|
|
||||||
Ergebnisrelation:\\
|
Ergebnisrelation:\\
|
||||||
\begin{tabularx}{10cm}{|X|X|X|X|}
|
\begin{tabularx}{10cm}{|X|X|X|X|}
|
||||||
\hline
|
\hline
|
||||||
S.x & S.y & R.x & R.y\\
|
S.x & S.y & R.x & R.y\\
|
||||||
\hline
|
\hline
|
||||||
\rule{0cm}{25mm} & & & \\
|
\rule{0cm}{50mm} & & & \\
|
||||||
\hline
|
\hline
|
||||||
\end{tabularx}
|
\end{tabularx}
|
||||||
\vspace{1cm}
|
\vspace{1cm}
|
||||||
|
Loading…
Reference in New Issue
Block a user