Getting ready for seconds assignment

This commit is contained in:
Davte
2020-05-20 14:33:53 +02:00
parent 7133c54b33
commit 44463094f7
9 changed files with 99 additions and 2 deletions
+2 -2
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
+5
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.
@@ -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
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.
@@ -0,0 +1,3 @@
% !TEX root = ../main.tex
Vincoli non catturato graficamente: \textellipsis
Binary file not shown.
@@ -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
View File
@@ -0,0 +1,3 @@
% !TEX root = ../main.tex
Il testo viene assegnato dal Professore.