La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Progettazione di una base di dati relazionale Vincoli.

Presentazioni simili


Presentazione sul tema: "Progettazione di una base di dati relazionale Vincoli."— Transcript della presentazione:

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: 1.Un voto è un intero compreso tra 18 e 30 2.Il numero di matricola identifica univocamente uno studente 3.Il numero di matricola in un verbale di esame deve essere il numero di matricola di uno studente 4.Lo stipendio di un impiegato non può diminuire 5.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(A 1, A 2,…, A n ) e due sottoinsiemi non vuoti X ed Y di {A 1, A 2,…, A n }, un’istanza r di R soddisfa la dipendenza funzionale X  Y (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 RABCD a1b1c1d1 a1b1c1d2 a1b2c1d1

8 Dipendenze funzionali (esempio) non soddisfa la dipendenza funzionale AB  C RABCD a1b1c1d1 a1b1c2d2 a1b2c1d1

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 X  Y 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 X  Y se e solo se per ogni attributo A in Y r soddisfa la dipendenza funzionale X  A

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: 1.Ogni istanza legale di R soddisfa la dipendenza funzionale K  R 2.Non esiste un sottoinsieme proprio K di K tale che ogni istanza legale di R soddisfa la dipendenza funzionale K  R

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


Scaricare ppt "Progettazione di una base di dati relazionale Vincoli."

Presentazioni simili


Annunci Google