Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Progettazione di una base di dati relazionale
Vincoli
2
Condizioni nella realtà di interesse
Nella realtà che si vuole rappresentare in una base di dati sono soddisfatte certe condizioni. Ad esempio: Un voto è un intero compreso tra 18 e 30 Il numero di matricola identifica univocamente uno studente Il numero di matricola in un verbale di esame deve essere il numero di matricola di uno studente Lo stipendio di un impiegato non può diminuire Lo straordinario è dato dal numero di ore fatte per la paga oraria
3
Vincoli sulla base di dati
Quando si rappresenta una realtà di interesse in una base di dati deve essere possibile rappresentare anche tali condizioni. Un vincolo è la rappresentazione nello schema di una base di dati di una condizione valida nella realtà di interesse. Un’istanza della base di dati è legale se soddisfa tutti i vincoli (cioè se è una rappresentazione fedele della realtà).
4
Definizione e verifica dei vincoli nei DBMS
Un DBMS permette di definire insieme allo schema della base di dati i vincoli verificare che un’istanza della base di dati sia legale
5
Definizione e verifica dei vincoli nei DBMS
Un DBMS è dotato di procedure per la verifica dei vincoli che ricorrono più frequentemente: vincoli di dominio (un voto è un intero compreso tra 18 e 30) chiavi (il numero di matricola identifica univocamente uno studente) contenimento di domini (il numero di matricola in un verbale di esame deve essere il numero di matricola di uno studente) Per la verifica di altri tipi di vincoli (es: vincoli dinamici, vincoli che coinvolgono valori di più attributi in un’espressione matematica) può essere necessario definire opportune procedure.
6
Dipendenze funzionali (definizione)
Dati uno schema di relazione R(A1, A2,…, An) e due sottoinsiemi non vuoti X ed Y di {A1, A2,…, An}, un’istanza r di R soddisfa la dipendenza funzionale XY (X determina funzionalmente Y oppure Y dipende funzionalmente da X) se: se esistono due tuple in r i cui valori per X coincidono allora i valori per Y delle due tuple coincidono
7
Dipendenze funzionali (esempio)
soddisfa la dipendenza funzionale AB C R A B C D a1 b1 c1 d1 d2 b2
8
Dipendenze funzionali (esempio)
non soddisfa la dipendenza funzionale AB C R A B C D a1 b1 c1 d1 c2 d2 b2
9
Dipendenze funzionali banali
Dati uno schema di relazione R e un sottoinsieme non vuoto X di R, si ha: ogni istanza r di R soddisfa ogni dipendenza funzionale XY dove Y è un sottoinsieme di X. Una tale dipendenza funzionale è detta banale
10
Dipendenze funzionali (proprietà)
Dati uno schema di relazione R e due sottoinsiemi non vuoti X ed Y di R, si ha: un’istanza r di R soddisfa la dipendenza funzionale XY se e solo se per ogni attributo A in Y r soddisfa la dipendenza funzionale XA
11
Istanza legale Dati uno schema di relazione R e un insieme F di dipendenze funzionali, un’istanza di R è legale se soddisfa tutte le dipendenze in F
12
Chiave Dati uno schema di relazione R e un insieme F di dipendenze funzionali un sottoinsieme K di uno schema di relazione R è una chiave di R se: Ogni istanza legale di R soddisfa la dipendenza funzionale KR Non esiste un sottoinsieme proprio K di K tale che ogni istanza legale di R soddisfa la dipendenza funzionale KR
13
Chiave primaria Dati uno schema di relazione R e un insieme F di dipendenze funzionali, possono esistere più chiavi di R; una di esse viene scelta come chiave primaria
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.