From 44463094f7d57a7e27cc3a5395f003ade94c3e0c Mon Sep 17 00:00:00 2001 From: Davte Date: Wed, 20 May 2020 14:33:05 +0200 Subject: [PATCH] Getting ready for seconds assignment --- compitino/main.tex | 4 +- compitino/secondo_compitino/dominio.tex | 5 ++ .../secondo_compitino/piani_di_accesso.tex | 51 ++++++++++++++++++ compitino/secondo_compitino/queries.tex | 14 +++++ .../secondo_compitino/schema_concettuale.pdf | Bin 0 -> 24238 bytes .../secondo_compitino/schema_concettuale.tex | 3 ++ compitino/secondo_compitino/schema_logico.pdf | Bin 0 -> 20666 bytes compitino/secondo_compitino/schema_logico.tex | 21 ++++++++ compitino/secondo_compitino/testo.tex | 3 ++ 9 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 compitino/secondo_compitino/dominio.tex create mode 100644 compitino/secondo_compitino/piani_di_accesso.tex create mode 100644 compitino/secondo_compitino/queries.tex create mode 100644 compitino/secondo_compitino/schema_concettuale.pdf create mode 100644 compitino/secondo_compitino/schema_concettuale.tex create mode 100644 compitino/secondo_compitino/schema_logico.pdf create mode 100644 compitino/secondo_compitino/schema_logico.tex create mode 100644 compitino/secondo_compitino/testo.tex diff --git a/compitino/main.tex b/compitino/main.tex index 06e1768..4ca9dd3 100644 --- a/compitino/main.tex +++ b/compitino/main.tex @@ -29,8 +29,8 @@ top=30mm, \selectlanguage{italian} \setcounter{section}{-1} -\newcommand{\folder}{primo_compitino} -%\newcommand{\folder}{secondo_compitino} +%\newcommand{\folder}{primo_compitino} +\newcommand{\folder}{secondo_compitino} % First page information diff --git a/compitino/secondo_compitino/dominio.tex b/compitino/secondo_compitino/dominio.tex new file mode 100644 index 0000000..17aef8d --- /dev/null +++ b/compitino/secondo_compitino/dominio.tex @@ -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. \ No newline at end of file diff --git a/compitino/secondo_compitino/piani_di_accesso.tex b/compitino/secondo_compitino/piani_di_accesso.tex new file mode 100644 index 0000000..3ae00b9 --- /dev/null +++ b/compitino/secondo_compitino/piani_di_accesso.tex @@ -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). \ No newline at end of file diff --git a/compitino/secondo_compitino/queries.tex b/compitino/secondo_compitino/queries.tex new file mode 100644 index 0000000..6a98470 --- /dev/null +++ b/compitino/secondo_compitino/queries.tex @@ -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 \ No newline at end of file diff --git a/compitino/secondo_compitino/schema_concettuale.pdf b/compitino/secondo_compitino/schema_concettuale.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9ddd060602b579a26b2eb0a328dbbe57fa5cf168 GIT binary patch literal 24238 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 tr|5~2wKX!8%XP*UWGN!z-a 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 è +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. diff --git a/compitino/secondo_compitino/testo.tex b/compitino/secondo_compitino/testo.tex new file mode 100644 index 0000000..d1fbd69 --- /dev/null +++ b/compitino/secondo_compitino/testo.tex @@ -0,0 +1,3 @@ +% !TEX root = ../main.tex + +Il testo viene assegnato dal Professore. \ No newline at end of file