Related
Definizione di Dipendenza Funzionale
Dato uno schema di relazione , una dipendenza funzionale su è una coppia ordinata di sottoinsiemi non vuoti di .
Notazione
Si legge: determina funzionalmente oppure dipende funzionalmente da
Dove:
- = Determinante
- = Dipendente
Soddisfare una Dipendenza Funzionale
Dati uno schema e una dipendenza funzionale su ,
Un’istanza di soddisfa la dipendenza funzionale se:
oss: Se allora la dipendenza è comunque soddisfatta qualsiasi siano i valori di e .
Istanza Legale
Dati uno schema di relazione e un insieme di dipendenze funzionali, un’istanza di è legale se soddisfa tutte le dipendenze in .
Esempio Legale
Dipendenza Funzionale:
L’istanza soddisfa la tutte dipendenze funzionali e quindi è un istanza legale.
Esempio Non Legale
Dipendenza Funzionale:
L’istanza soddisfa la tutte dipendenze funzionali ma non tutte le quindi NON è un istanza legale.
Chiusura di un Insieme di Dipendenze Funzionali
Dato uno schema di relazione e un insieme di dipendenze funzionali su La chiusura di è l’insieme delle dipendenze funzionali che sono soddisfatte da ogni istanza legale di .
In altre parole la chiusura di un insieme di dipendenze funzionali è l’insieme di tutte le dipendenze funzionali che possono essere derivate dalle dipendenze funzionali dell’insieme originale
- Notazione: scriviamo .
- oss:
Esempio
Se un istanza è legale sull’insieme di dipendenze funzionali
Allora la chiusura di è:
Vedi: Calcolare chiusura di un insiemi di dipendenze funzionali
Chiave
Dati uno schema di relazione e un insieme di dipendenze funzionali , un sottoinsieme di uno schema di relazione è una chiave se rispetta due condizioni:
- Condizione 1:
- Condizione 2: Non esiste un sottoinsieme proprio di tale che
Dove:
- Condizione 1 intende che è un insieme di attributi che identifica univocamente ogni tupla della relazione.
- Condizione 2 intende che è minimale, cioè non esiste un sottoinsieme proprio che determini funzionalmente tutte le altre attributi di R ( non deve essere una chiave).
Super Chiave
Se il sottoinsieme di rispetta soltanto la 1° condizione allora è detto super chiave, ovvero è una chiave non minimale.
Quindi una chiava i cui sottoinsiemi sono a loro volta chiavi è detta super chiave.
oss: Una chiave è sempre super chiave, dato che contiene se stessa, ma una super chiave non è detto che sia sempre chiave, ma ne contiene sempre una.
Chiave Primaria (SQL)
Dati uno schema e un insieme di dipendenze funzionali, possono esistere più chiavi, in SQL una di esse verrà scelta come chiave primaria.
- Una chiave primaria in SQL non può avere valore nullo.
- Di solito si sceglie quella con meno attributi questo perché migliora la velocità di ricerca nella base di dati.
Dipendenze Funzionali Banali
Dati uno schema di relazione e due sottoinsiemi di non vuoti . Se allora ogni istanza di soddisfa la dipendenza funzionale .
Definizione
Pertante se allora:
Una tale dipendenza funzionale è detta banale
Esempio , i sottoinsiemi e è banale che:
Quindi ad esempio se abbiamo due tuple uguali su allora saranno uguali anche su .
Prop
Dati uno schema di relazione e un insieme di dipendenze funzionali si ha:
Quindi se allora anche e .