La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Normalizzazione di uno schema relazionale.

Presentazioni simili


Presentazione sul tema: "Normalizzazione di uno schema relazionale."— Transcript della presentazione:

1 Normalizzazione di uno schema relazionale

2 Ma se i prodotti venduti con un ordine fossero di più di 2 ?
Tabella che non rispetta alcuna delle forme normali (LA CHIAVE PRIMARIA E’ SOTTOLINEATA) N. ordine Data Codice Cliente Nome Cliente Città Cliente Codice Prod.1 Descriz Prod1 Q.tà Prod. 1 Prezzo Prod.1 Codice Prod.2 Descriz. Prod.2 Prezzo 82001 2/1/96 1001 Rossi CR 001 mele 100 1000 --- 82002 3/1/96 2239 Neri MI 002 uva 200 5000 40 82003 8/1/96 004 arance 30 500 Ma se i prodotti venduti con un ordine fossero di più  di 2 ? Aumentare il n. delle colonne non è una buona soluzione Ridondanza (Rossi) Cosa succede se Rossi cambia indirizzo ? (anomalia nella modifica) Un cliente non esiste finché non ordina almeno un prodotto (anomalia nell’inserimento) Cosa potrebbe succedere se elimino un ordine? (anomalia nella eliminazione

3 Prima forma normale Una tabella si dice in prima forma normale quando:
tutte le sue righe hanno lo stesso numero di attributi una colonna contiene valori tutti dello stesso tipo non esistono due righe uguali l’ordine di inserimento non conta non esistono attributi ripetuti o composti.

4 Tabella che non rispetta alcuna delle forme normali (LA CHIAVE PRIMARIA E’ SOTTOLINEATA)
N. ordine Data Codice Cliente Nome Cliente Città Cliente Codice Prod.1 Descriz Prod1 Q.tà Prod. 1 Prezzo Prod.1 Codice Prod.2 Descriz. Prod.2 Prezzo 82001 2/1/96 1001 Rossi CR 001 mele 100 1000 --- 82002 3/1/96 2239 Neri MI 002 uva 200 5000 40 82003 8/1/96 004 arance 30 500 1 2

5 Tabelle in prima forma normale
TABELLA ORDINI N. ordine Data Codice Cliente Nome Cliente Città Cliente 82001 2/1/96 1001 Rossi CR 82002 3/1/96 2239 Neri MI 82003 8/1/96 0112 Gialli TABELLA DETTAGLI ORDINI N. ordine Codice Prod. Descr. Q.tà Prod. Prezzo Prod. 82001 001 mele 100 1000 82002 002 uva 200 5000 40 82003 004 arance 30 500

6 Verso la seconda forma normale
TABELLA DETTAGLI ORDINI N. ordine Codice Prod. Descr. Q.tà Prod. Prezzo Prod. 82001 001 mele 100 1000 82002 002 uva 200 5000 40 82003 004 arance 30 500 chiave multicampo il prodotto esiste solo se c’è un ordine per esso e se cambia il prezzo delle mele? e se venisse eliminato l’ordine ?

7 2. Almeno un campo non dipende dall'intera chiave
Verso la seconda forma normale TABELLA DETTAGLI ORDINI N. ordine Codice Prod. Descr. Q.tà Prod. Prezzo Prod. 82001 001 mele 100 1000 82002 002 uva 200 5000 40 82003 004 arance 30 500 1. Chiave multi campo 2. Almeno un campo non dipende dall'intera chiave

8 Seconda forma normale Una tabella si dice in seconda forma normale quando: rispetta già la prima forma normale tutti gli attributi non appartenenti alla chiave dipendono dall’intera chiave

9 Seconda forma normale Codice Prod. Descr. Prezzo Prod. 001 002 004
ordine Data Codic Cliente Nome Città 82001 2/1/96 1001 Rossi CR 82002 3/1/96 2239 Neri MI 82003 8/1/96 0112 Gialli N. ordine Codice Prod. Q.tà Prod. 82001 001 100 82002 002 200 40 82003 004 30 Codice Prod. Descr. Prezzo Prod. 001 002 004 mele uva arance 1000 5000 500

10 Verso la terza forma normale
ordine Data Codic Cliente Nome Città 82001 2/1/96 1001 Rossi CR 82002 3/1/96 2239 Neri MI 82003 8/1/96 0112 Gialli cosa succede se un cliente non ha ancora fatto acquisti? e se il cliente si trasferisse in un’altra città ? e se l’unico ordine di un cliente venisse cancellato?

11 NomeCliente non dipende dalla chiave
Verso la terza forma normale N. ordine Data Codic Cliente Nome Città 82001 2/1/96 1001 Rossi CR 82002 3/1/96 2239 Neri MI 82003 8/1/96 0112 Gialli NomeCliente non dipende dalla chiave

12 Terza forma normale Una tabella si dice in terza forma normale quando:
rispetta già la seconda forma normale (e quindi anche la prima) tutti gli attributi non appartenenti alla chiave dipendono solo dalla chiave

13 Terza forma normale Codice Cliente Nome Cliente Città Cliente 1001
Rossi CR 2239 Neri MI 0112 Gialli Codice Prod. Descr. Prezzo Prod. 001 002 004 mele uva arance 1000 5000 500 N. ordine Codice cliente Prod. Q.tà 82001 1001 001 100 82002 2239 002 200 40 82003 0112 004 30 Codice Prod. Descr. Prezzo Prod. 001 002 004 mele uva arance 1000 5000 500

14 2a forma violata, perchè? la 3a no, perchè?
Quali forme normali non sono rispettate? CHIAVE CHIAVE 2a forma violata, perchè? la 3a no, perchè?

15 Quali forme normali non sono rispettate?

16 Quali forme normali non sono rispettate?

17 Quali forme normali non sono rispettate?

18

19

20

21

22 La relazione che segue non è in prima forma normale, perché??
Fonte:

23 Ora rispetta la prima (opinabile il discorso cap…) ma ne viola altre; quali??
Fonte:

24 CHIAVE Fonte:

25

26

27

28

29 Fonte: http://www-db.deis.unibo.it/courses/SIL-B/

30 Fonte: http://www-db.deis.unibo.it/courses/SIL-B/

31 La normalizzazine non è un obbligo.
Fonte:


Scaricare ppt "Normalizzazione di uno schema relazionale."

Presentazioni simili


Annunci Google