Getting ready for seconds assignment
This commit is contained in:
parent
7133c54b33
commit
44463094f7
@ -29,8 +29,8 @@ top=30mm,
|
|||||||
\selectlanguage{italian}
|
\selectlanguage{italian}
|
||||||
|
|
||||||
\setcounter{section}{-1}
|
\setcounter{section}{-1}
|
||||||
\newcommand{\folder}{primo_compitino}
|
%\newcommand{\folder}{primo_compitino}
|
||||||
%\newcommand{\folder}{secondo_compitino}
|
\newcommand{\folder}{secondo_compitino}
|
||||||
|
|
||||||
|
|
||||||
% First page information
|
% First page information
|
||||||
|
5
compitino/secondo_compitino/dominio.tex
Normal file
5
compitino/secondo_compitino/dominio.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
|
||||||
|
Descrizione del dominio.
|
||||||
|
|
||||||
|
Nominare le classi di interesse, specificarne gli attributi e indicarne le relazioni con le altre classi.
|
51
compitino/secondo_compitino/piani_di_accesso.tex
Normal file
51
compitino/secondo_compitino/piani_di_accesso.tex
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
\subsection{Query a}
|
||||||
|
|
||||||
|
\paragraph{Piano di accesso logico della query a}
|
||||||
|
\begin{center}
|
||||||
|
\begin{forest}
|
||||||
|
[{$\pi^{b}$ R.C, S.D}
|
||||||
|
[{$\bowtie$ R.E = S.F}
|
||||||
|
[{$\sigma$ C $>=$ 10}
|
||||||
|
[Tabella1 R]
|
||||||
|
]
|
||||||
|
[Tabella2 S]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
\end{forest}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\paragraph{Piano di accesso fisico della query a senza indici}
|
||||||
|
\begin{center}
|
||||||
|
\begin{forest}
|
||||||
|
[{Project(\{C, D\})}
|
||||||
|
[{SortMerge(R.E = S.F)}
|
||||||
|
[{Sort(\{E\})}
|
||||||
|
[{Project(\{E, C\})}
|
||||||
|
[{Filter(C $>=$ 10)}
|
||||||
|
[{TableScan(Tabella R)}]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
[{Sort(\{F\})}
|
||||||
|
[{Project(\{C, F\})}
|
||||||
|
[{TableScan(Tabella S)}]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
\end{forest}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\paragraph{Piano di accesso fisico della query a con due indici}
|
||||||
|
\begin{center}
|
||||||
|
\begin{forest}, baseline, qtree
|
||||||
|
[{Project(\{C, D\})}
|
||||||
|
[{IndexNestedLoop(R.E = S.F)}
|
||||||
|
[{IndexFilter(Tabella R,\\ IndRC, C $>=$ 10)}]
|
||||||
|
[{IndexFilter(Tabella S,\\IndSF, S.F = R.E)}]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
\end{forest}
|
||||||
|
\end{center}
|
||||||
|
Indici necessari: \texttt{IndRC} (indice della tabella R sull’attributo C) e \texttt{IndSF} (indice della tabella S sull'attributo F).
|
14
compitino/secondo_compitino/queries.tex
Normal file
14
compitino/secondo_compitino/queries.tex
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
|
||||||
|
\begin{enumerate}[label=\alph*.]
|
||||||
|
\item Uso di proiezione, join e restrizione
|
||||||
|
|
||||||
|
Per ogni record di R con valore di C maggiore o uguale a 10 e che ha un valore di E uguale a un valore di F nella tabella S, riportare R.C e S.D.
|
||||||
|
\begin{lstlisting}[style=SQLu]
|
||||||
|
SELECT R.C, S.D
|
||||||
|
FROM Tabella1 R
|
||||||
|
JOIN Tabella2 S ON R.E = S.F
|
||||||
|
WHERE R.C >= 10
|
||||||
|
\end{lstlisting}
|
||||||
|
\end{enumerate}
|
||||||
|
\clearpage
|
BIN
compitino/secondo_compitino/schema_concettuale.pdf
Normal file
BIN
compitino/secondo_compitino/schema_concettuale.pdf
Normal file
Binary file not shown.
3
compitino/secondo_compitino/schema_concettuale.tex
Normal file
3
compitino/secondo_compitino/schema_concettuale.tex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
|
||||||
|
Vincoli non catturato graficamente: \textellipsis
|
BIN
compitino/secondo_compitino/schema_logico.pdf
Normal file
BIN
compitino/secondo_compitino/schema_logico.pdf
Normal file
Binary file not shown.
21
compitino/secondo_compitino/schema_logico.tex
Normal file
21
compitino/secondo_compitino/schema_logico.tex
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
|
||||||
|
\textbf{Schema logico relazionale in formato testuale}
|
||||||
|
\begin{lstlisting}[style=SQLu,escapechar=@]
|
||||||
|
Tabella(@\underline{ChiavePrimaria}@, B, C, D)
|
||||||
|
AltraTabella(@\underline{ChiavePrimariaEdEsterna*}@, E)
|
||||||
|
@\textellipsis@
|
||||||
|
\end{lstlisting}
|
||||||
|
|
||||||
|
\paragraph{Dipendenze funzionali}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Per ogni tabella la chiave primaria (sottolineata) determina ciascuno degli attributi della tabella
|
||||||
|
\item Altre eventuali dipendenze
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
|
||||||
|
Uno schema R, avente insieme di attributi T e insieme di dipendenze funzionali F, (\lstinline{R<T, F>}) è
|
||||||
|
in forma normale di Boyce-Codd (BCNF) se ogni dipendenza funzionale della chiusura di F o è
|
||||||
|
banale o ha come determinante una superchiave di T.
|
||||||
|
Esiste un teorema che semplifica il calcolo, asserendo che se la condizione di cui sopra vale per
|
||||||
|
una qualsiasi copertura di F allora vale per l’intera chiusura di F.
|
3
compitino/secondo_compitino/testo.tex
Normal file
3
compitino/secondo_compitino/testo.tex
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
% !TEX root = ../main.tex
|
||||||
|
|
||||||
|
Il testo viene assegnato dal Professore.
|
Loading…
x
Reference in New Issue
Block a user