Getting ready for seconds assignment

This commit is contained in:
Davte 2020-05-20 14:33:05 +02:00
parent 7133c54b33
commit 44463094f7
9 changed files with 99 additions and 2 deletions

View File

@ -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

View 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.

View 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 sullattributo C) e \texttt{IndSF} (indice della tabella S sull'attributo F).

View 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

Binary file not shown.

View File

@ -0,0 +1,3 @@
% !TEX root = ../main.tex
Vincoli non catturato graficamente: \textellipsis

Binary file not shown.

View 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 lintera chiusura di F.

View File

@ -0,0 +1,3 @@
% !TEX root = ../main.tex
Il testo viene assegnato dal Professore.