Def
- Chiave e superchiave di una relazione
- n \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- X \subseteq R(A_1, \ldots, A_n) è
detta superchiave di R
\iff \forall r istanza di R \quad \forall t_1, t_2 \in r \quad t_1[X] = t_2[X]
\implies t_1 = t_2
- X è detta chiave di R \iff
\nexists X' \subset X \mid X' chiave di R
Oss
- Hp
- n \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots,
A_n)
- Th
- K superchiave di R \iff K \rightarrow R \in F^+
- K chiave di R \iff K superchiave di R \land \nexists K' \subseteq K \mid K'
\rightarrow R \in F^+
Oss
- Hp
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- X \subseteq R(A_1, \ldots,
A_n)
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- Th
- X^+_F = R \iff X superchiave di
R
- Dim
- X^+_F := \{A \subseteq R(A_1, \ldots, A_n)
\mid X \rightarrow A \in F^A = F^+\}, allora X^+_F = R \iff \forall Y \subseteq R(A_1, \ldots,
A_n) \quad X \rightarrow Y \in F^A = F^+, ovvero X \rightarrow R \in F^+, e per osservazione
precedente X \rightarrow R \in F^+ \iff
X superchiave di R
Oss
- Hp
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- F_1, \ldots, F_k dipendenze
funzionali
- F = \{F_1, \ldots, F_k\}
- X = \displaystyle \bigcap_{F_i:= A
\rightarrow B \in F}{R - (B - A)}
- Th
- X^+_F=R \iff X chiave unica in
R
Def
- n \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- A \in R(A_1, \ldots, A_n)
- A è detto primo
\iff \exists K \subseteq R(A_1, \ldots,
A_n) chiave di R \mid A \in
K
Def
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots, A_n)
chiave di R
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- R si dice essere in terza
forma normale \iff \forall A \in
R(A_1, \ldots, A_n), X \subseteq R(A_1, \ldots, A_n) \mid X \rightarrow
A \in F^+, A \notin X \quad A \in K \lor K \subseteq X
- in particolare, per ogni dipendenza funzionale non banale in F^+, o il determinante è superchiave, o il
determinato è primo
- la terza forma normale garantisce una riduzione dei problemi di
ridondanza, di inserimento, di aggiornamento e di eliminazione
Oss
- Hp
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots, A_n)
chiave di R
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- Th
- R in terza forma normale \iff \forall X, Y \subseteq R(A_1, \ldots, A_n) \mid
Y:= A_i \ldots A_j, X \rightarrow Y \in F^+, Y \nsubseteq X \quad
\forall h \in [i, j] \quad A_h \in K \lor K \subseteq X, dunque
basta decomporre X \rightarrow Y \in
F^+ e controllare gli A_i \ldots
A_j
Def
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots, A_n)
chiave di R
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- A \in R(A_1, \ldots, A_n)
- X \subseteq R(A_1, \ldots, A_n) \mid X
\rightarrow A \in F^+, A \notin X
- X \rightarrow A \in F^+ è detta
dipendenza parziale su R \iff
A non primo e X \subset K
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- A \in R(A_1, \ldots, A_n)
- X \subseteq R(A_1, \ldots, A_n) \mid X
\rightarrow A \in F^+, A \notin X
- X \rightarrow A \in F^+ è detta
dipendenza transitiva su R \iff
A non primo e \forall K \subseteq
R(A_1, \ldots, A_n) chiave di R \quad K
- X \neq \varnothing \land X \not \subset K
- in particolare \forall K \subseteq R(A_1,
\ldots, A_n) chiave di R \quad X \neq
K
Oss
- Hp
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots, A_n)
chiave di R
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- Th
- R in terza forma normale \iff \nexists X, Y \subseteq R(A_1, \ldots, A_n)
\mid X \rightarrow Y \in F^+ dipendenza parziale o X \rightarrow Y \in F^+ dipendenza
transitiva
Def
- Forma Normale di Boyce-Codd
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale
- K \subseteq R(A_1, \ldots, A_n)
chiave di R
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- R si dice essere in forma
normale di Boyce-Codd \iff \forall X
\subseteq R(A_1, \ldots, A_n) \mid X determinante per qualche
F_i \in F \quad \exists K \subseteq R(A_1,
\ldots, A_n) superchiave di R \mid X
\subseteq K
Oss
- Hp
- n, k \in \mathbb{N}
- D_1, \ldots, D_n domini
- R \subseteq D_1 \times \ldots \times
D_n relazione
- R(A_1, \ldots, A_n) schema
relazionale \mid R in forma normale di
Boyce-Codd
- F_1, \ldots, F_k dipendenze
funzionali su R
- F = \{F_1, \ldots, F_k\}
- Th