diff --git a/compitino/modello_compitino/dominio.tex b/compitino/modello_compitino/dominio.tex
new file mode 100644
index 0000000..17aef8d
--- /dev/null
+++ b/compitino/modello_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/modello_compitino/piani_di_accesso.tex b/compitino/modello_compitino/piani_di_accesso.tex
new file mode 100644
index 0000000..3ae00b9
--- /dev/null
+++ b/compitino/modello_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/modello_compitino/queries.tex b/compitino/modello_compitino/queries.tex
new file mode 100644
index 0000000..6a98470
--- /dev/null
+++ b/compitino/modello_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/modello_compitino/schema.drawio b/compitino/modello_compitino/schema.drawio
new file mode 100644
index 0000000..4ff91ba
--- /dev/null
+++ b/compitino/modello_compitino/schema.drawio
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/compitino/modello_compitino/schema_concettuale.pdf b/compitino/modello_compitino/schema_concettuale.pdf
new file mode 100644
index 0000000..9ddd060
Binary files /dev/null and b/compitino/modello_compitino/schema_concettuale.pdf differ
diff --git a/compitino/modello_compitino/schema_concettuale.tex b/compitino/modello_compitino/schema_concettuale.tex
new file mode 100644
index 0000000..d4ee4dc
--- /dev/null
+++ b/compitino/modello_compitino/schema_concettuale.tex
@@ -0,0 +1,3 @@
+% !TEX root = ../main.tex
+
+Vincoli non catturato graficamente: \textellipsis
\ No newline at end of file
diff --git a/compitino/modello_compitino/schema_logico.pdf b/compitino/modello_compitino/schema_logico.pdf
new file mode 100644
index 0000000..8a0b33d
Binary files /dev/null and b/compitino/modello_compitino/schema_logico.pdf differ
diff --git a/compitino/modello_compitino/schema_logico.tex b/compitino/modello_compitino/schema_logico.tex
new file mode 100644
index 0000000..2325a36
--- /dev/null
+++ b/compitino/modello_compitino/schema_logico.tex
@@ -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}) è
+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/modello_compitino/testo.tex b/compitino/modello_compitino/testo.tex
new file mode 100644
index 0000000..d1fbd69
--- /dev/null
+++ b/compitino/modello_compitino/testo.tex
@@ -0,0 +1,3 @@
+% !TEX root = ../main.tex
+
+Il testo viene assegnato dal Professore.
\ No newline at end of file
diff --git a/compitino/secondo_compitino/schema.drawio b/compitino/secondo_compitino/schema.drawio
new file mode 100644
index 0000000..4ff91ba
--- /dev/null
+++ b/compitino/secondo_compitino/schema.drawio
@@ -0,0 +1 @@
+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
\ No newline at end of file