Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoModesto Lupo Modificato 8 anni fa
1
LA NORMALIZZAZIONE
2
ESEMPIO DI NORMALIZZAZIONE(1FN) IDAziendaRagioneSocialePIVANomeSocioQuotaSocio 1F.lli Damatino spa45455555555 Roberto Damatino 20% Angela Damatino 34% Marcello Damatino 46% 2Pellicano Pelli spa373837383937 John Pelllicano 75% Kharim Pellicano 25% SOCI_AZIENDE 1.Verificare che la relazione sia in prima formale (1FN) ovvero che non ci siano attributi non atomici. La relazione SOCI_AZIENDE non è in 1FN perché NomeSocio e QuotaSocio sono attributi multivalore (non atomici). Se la relazione contiene attributi multivalore, si creano due relazioni: la prima contenente tutti i campi atomici e la seconda contenente tutti i campi multivalore raggruppati in base a legami logici ed aggiungendo la chiave esterna verso la prima relazione.
3
ESEMPIO DI NORMALIZZAZIONE(1FN) IDAziendaRagioneSocialePIVANomeSocioQuotaSocio 1F.lli Damatino spa45455555555 Roberto Damatino 20% Angela Damatino 34% Marcello Damatino 46% 2Pellicano Pelli spa373837383937 John Pelllicano 75% Kharim Pellicano 25% SOCI_AZIENDE Se la relazione contiene attributi multivalore, si creano due relazioni: la prima contenente tutti i campi atomici e la seconda contenente tutti i campi multivalore raggruppati in base a legami logici ed aggiungendo la chiave esterna verso la prima relazione. IDAziendaRagioneSocialePIVA 1F.lli Damatino spa45455555555 2Pellicano Pelli spa373837383937 AZIENDE IDSocioNomeSocioQuotaSocioIDAzienda 1Roberto Damatino 20%1 2Angela Damatino 34%1 3Marcello Damatino 46%1 4John Pelllicano 75%2 5Kharim Pellicano 25%2 SOCI
4
ESEMPIO DI NORMALIZZAZIONE(1FN) SOCI_AZIENDE(IDAzienda,RagioneSociale,PIVA,NomeSocio,QuotaSocio) AZIENDE(IDAzienda,RagioneSociale,PIVA) SOCI(IDSocio,NomeSocio,QuotaSocio,IDAzienda) RELAZIONE NON 1FN RELAZIONI IN 1FN
5
ESEMPIO DI NORMALIZZAZIONE(2FN) NUMCONTODATAMOVINTESTATARIOIMPORTO 0000567812/11/2014 17:01.01MARIO ROSSI-€ 56,16 0000690112/11/2014 09:11.56GIUSEPPE VERDI € 780,01 0000567813/11/2014 23:13.09MARIO ROSSI € 190,78 MOVIMENTI_CC 2. Se la relazione è in 1FN, individuare le dipendenze funzionali e le chiavi candidate: (NUMCONTO,DATAMOV)-> (INTESTATARIO,IMPORTO) (chiave primaria) NUMCONTO -> INTESTATARIO MOVIMENTI_CC(NUMCONTO,DATAMOV,INTESTATARIO,IMPORTO) La dipendenza NUMCONTO -> INTESTATARIO richiede una trasformazione dello schema della relazione perché INTESTATARIO (attributo non-chiave) non dipende dall’intera chiave ma solo da un attributo chiave NUMCONTO.
6
ESEMPIO DI NORMALIZZAZIONE(2FN) NUMCONTODATAMOVINTESTATARIOIMPORTO 0000567812/11/2014 17:01.01MARIO ROSSI-€ 56,16 0000690112/11/2014 09:11.56GIUSEPPE VERDI € 780,01 0000567813/11/2014 23:13.09MARIO ROSSI € 190,78 MOVIMENTI_CC 2.a Si deve costruire una nuova relazione con tutti gli attributi della dipendenza funzionale. La dipendenza NUMCONTO -> INTESTATARIO richiede una trasformazione dello schema della relazione perché INTESTATARIO non dipende dall’intera chiave. CONTICORRENTI(NUMCONTO,INTESTATARIO) 2.b Il determinante della dipendenza funzionale diventa chiave primaria della relazione. CONTICORRENTI(NUMCONTO,INTESTATARIO)
7
ESEMPIO DI NORMALIZZAZIONE(2FN) NUMCONTODATAMOVINTESTATARIOIMPORTO 0000567812/11/2014 17:01.01MARIO ROSSI-€ 56,16 0000690112/11/2014 09:11.56GIUSEPPE VERDI € 780,01 0000567813/11/2014 23:13.09MARIO ROSSI € 190,78 MOVIMENTI_CC 2.c Si deve creare una seconda relazione rimuovendo dalla relazione di partenza gli attributi determinati dalla dipendenza. Il determinante della dipendenza diventa chiave esterna verso la prima relazione. MOVIMENTI_CC(NUMCONTO,DATAMOV,IMPORTO) NUMCONTO diventa chiave esterna verso la relazione CONTICORRENTI.
8
ESEMPIO DI NORMALIZZAZIONE(2FN) NUMCONTODATAMOVINTESTATARIOIMPORTO 0000567812/11/2014 17:01.01MARIO ROSSI-€ 56,16 0000690112/11/2014 09:11.56GIUSEPPE VERDI € 780,01 0000567813/11/2014 23:13.09MARIO ROSSI € 190,78 MOVIMENTI_CC NUMCONTODATAMOVIMPORTO 0000567812/11/2014 17:01.01-€ 56,16 0000690112/11/2014 09:11.56 € 780,01 0000567813/11/2014 23:13.09 € 190,78 MOVIMENTI_CC NUMCONTOINTESTATARIO 00005678MARIO ROSSI 00006901GIUSEPPE VERDI CONTICORRENTI
9
ESEMPIO DI NORMALIZZAZIONE(2FN) Ogni relazione con chiave primaria composta da un solo attributo è già in 2FN. Ad es. STUDENTI(Matricola,Cognome,Nome,DataNascita,NumTelefono) La relazione è già in 2FN perché tutti i campi sono atomici (1FN) e tutti gli attributi non- chiave ovviamente dipendono dall’intera chiave primaria (formata da un solo attributo). VOCIFATTURE(IdProdotto,NumFattura,NomeProdotto,Quantità,Prezzo, TotaleParziale) La relazione è in 1FN ma non è in 2FN perché l’attributo NomeProdotto dipende dall’attributo IdProdotto.
10
ESEMPIO DI NORMALIZZAZIONE(3FN) La 3FN si ha se la relazione è in 2FN e tutti gli attributi non-chiave non dipendono da altri attributi non-chiave (dipendenza transitiva). Si applicano le stesse regole per la 2FN. Ad es. STUDENTI(Matricola,Cognome,Nome,DataNascita, LuogoNascita,NumAbitanti) La relazione è già in 2FN perché tutti i campi sono atomici (1FN), tutti gli attributi non- chiave dipendono dall’intera chiave primaria (formata da un solo attributo) ma NumAbitanti (attributo non-chiave) dipende da LuogoNascita (attributo non- chiave). Applicando le stesse regole per la 2FN, si ottengono le seguenti relazioni: STUDENTI(Matricola,Cognome,Nome,DataNascita,CodCittà) CITTA’(CodCittà,NomeCittà,NumAbitanti)
11
ESERCIZI NORMALIZZAZIONE IDContattoContattoNumTelefonoDataOraChiamataDurataSecondi 1Mario Rossi+39111-1111-11 15/01/2014 18.00 20 16/01/2014 17.00 34 17/01/2014 13.00 67 2Giuseppe Verdi+39222-2222-22 20/02/2015 9.56 35 28/02/2015 7.46 12 CONTATTI ESERCIZIO N.1: IDPRODOTTOPRODOTTOQUANTITA'PREZZODATACLIENTEINDIRIZZOCLIENTECITTACLIENTE SGFSAMSUNG GEAR FIT34€ 299,0007/02/2015Poviano srlVia delle Povie, 78Barletta SGASAMSUNG GALAXY A710€ 499,0008/02/2015Rizzuccio sncVia delle Rizze, 64Cerignola AI6APPLE IPHONE 523€ 599,0011/02/2015Poviano srlVia delle Povie, 78Barletta HA7HUAWEI ASCEND 710€ 159,0014/02/2015Rizzuccio sncVia delle Rizze, 64Cerignola AP7ALCATEL POP C76€ 139,0016/02/2015Maffiona sncViale delle Maffie, 12Trani VENDITE ESERCIZIO N.2:
12
ESERCIZI NORMALIZZAZIONE ESERCIZIO N.3: MOVIMENTI(IDPRODOTTO, CODMAGAZZINO, DATAMOVIMENTO, NOMEPRODOTTO,MAGAZZINO,QUANTITA’) ESERCIZIO N.4: CONCESSIONARIE(IDCONC,NOME,CASAAUTO,INDIRIZZO,MODELLI_IN_VENDITA) ESERCIZIO N.5: TABLET(ID,NOMEMODELLO,MARCA,NAZIONEMARCA,SITOWEB)
13
ESEMPIO SVOLGIMENTO ESERCIZIO Portare in 3FN (Terza Forma Normale) la relazione seguente: IDFATTURADATAFATTURAIDPRODOTTONOMEPRODOTTOQUANTITA’ PREZZO MAGAZZINOKMQ 5613/02/2015789KONDER DELIS34 € 0,50 CEDI 1900 8714/02/2015900KONDER BUEN70 € 0,90 CEDI 2750 8714/02/2015789KONDER DELIS90 € 1,50 CEDI 1900 VOCIFATTURE(IdFattura,DataFattura,IdProdotto,NomeProdotto,Quantità,Prezzo, Magazzino,Kmq)
14
ESEMPIO SVOLGIMENTO ESERCIZIO La relazione FATTURE è in 1FN perché tutti gli attributi sono atomici. Verificare che la relazione sia in Prima Forma Normale (1FN) individuando l’eventuale presenza di attributi multivalore (non atomici). VOCIFATTURE(IdFattura,DataFattura,IdProdotto,NomeProdotto,Quantità,Prezzo, Magazzino,Kmq) IDFATTURADATAFATTURAIDPRODOTTONOMEPRODOTTOQUANTITA’ PREZZO MAGAZZINOKMQ 5613/02/2015789KONDER DELIS34 € 0,50 CEDI 1900 8714/02/2015900KONDER BUEN70 € 0,90 CEDI 2750 8714/02/2015789KONDER DELIS90 € 1,50 CEDI 1900
15
2FN: DIPENDENZE PARZIALI Verificare che la relazione sia in Seconda Forma Normale (2FN) individuando l’eventuale presenza di dipendenze parziali. La relazione FATTURE non è in 2FN perché contiene le seguenti dipendenze parziali: IDFATTURA - > DATAFATTURA IDPRODOTTO -> (NOMEPRODOTTO,MAGAZZINO,KMQ) VOCIFATTURE(IdFattura,DataFattura,IdProdotto,NomeProdotto,Quantità,Prezzo, Magazzino,Kmq) IDFATTURADATAFATTURAIDPRODOTTONOMEPRODOTTOQUANTITA’ PREZZO MAGAZZINOKMQ 5613/02/2015789KONDER DELIS34 € 0,50 CEDI 1900 8714/02/2015900KONDER BUEN70 € 0,90 CEDI 2750 8714/02/2015789KONDER DELIS90 € 1,50 CEDI 1900
16
2FN: DIPENDENZE PARZIALI La dipendenza parziale IDFATTURA - > DATAFATTURA si risolve creando una nuova relazione FATTURE che contiene entrambi gli attributi della dipendenza IDFATTURA e DATAFATTURA e con chiave primaria l’attributo determinante (a sinistra) IDFATTURA: FATTURE(IDFATTURA,DATAFATTURA) Mentre dalla relazione di partenza VOCIFATTURE si devono togliere gli attributi determinati (a destra nella dipendenza) DATAFATTURA e IDFATTURA diventa chiave esterna verso FATTURE: VOCIFATTURE(IdFattura,IdProdotto,NomeProdotto,Quantità,Prezzo,Magazzino,Kmq)
17
2FN: DIPENDENZE PARZIALI La dipendenza parziale IDPRODOTTO -> (NOMEPRODOTTO,MAGAZZINO,KMQ) si risolve creando una nuova relazione PRODOTTI che contiene entrambi gli attributi della dipendenza IDPRODOTTO, NOMEPRODOTTO, MAGAZZINO e KMQ e con chiave primaria l’attributo determinante (a sinistra della dipendenza) IDPRODOTTO: PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO,KMQ) Mentre dalla relazione di partenza VOCIFATTURE si devono togliere gli attributi determinati (a destra nella dipendenza) NOMEPRODOTTO e IDPRODOTTO diventa chiave esterna verso PRODOTTI : VOCIFATTURE(IDFATTURA,IDPRODOTTO,QUANTITÀ,PREZZO)
18
2FN: DIPENDENZE PARZIALI Si può affermare che la relazione VOCIFATTURE(IDFATTURA,IDPRODOTTO,QUANTITÀ,PREZZO) è in 2FN perché è in 1FN e non contiene alcuna dipendenza parziale. Si può affermare che la relazione FATTURE(IDFATTURA,DATAFATTURA) è in 2FN perché è in 1FN e non contiene alcuna dipendenza parziale. Si può affermare che la relazione PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO,KMQ) è in 2FN perché è in 1FN e non contiene alcuna dipendenza parziale.
19
3FN: DIPENDENZE TRANSITIVE Verificare che le relazioni siano in Terza Forma Normale (3FN) individuando l’eventuale presenza di dipendenze transitive. La relazione VOCIFATTURE(IDFATTURA,IDPRODOTTO,QUANTITÀ,PREZZO) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive). La relazione FATTURE(IDFATTURA,DATAFATTURA) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive). La relazione PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO,KMQ) NON è in 3FN perché contiene la seguente dipendenza transitiva: MAGAZZINO -> KMQ
20
ESEMPIO SVOLGIMENTO ESERCIZIO La dipendenza parziale MAGAZZINO -> KMQ si risolve creando una nuova relazione MAGAZZINI che contiene entrambi gli attributi della dipendenza MAGAZZINO e KMQ e con chiave primaria l’attributo determinante (a sinistra) MAGAZZINO : MAGAZZINI(MAGAZZINO,KMQ) Mentre dalla relazione di partenza PRODOTTI si devono togliere gli attributi determinati (a destra nella dipendenza) KMQ: PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO) PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO,KMQ) PRODOTTI(IDPRODOTTO, NOMEPRODOTTO, MAGAZZINO) MAGAZZINI(MAGAZZINO,KMQ)
21
3FN: DIPENDENZE TRANSITIVE La relazione VOCIFATTURE(IDFATTURA,IDPRODOTTO,QUANTITÀ,PREZZO) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive). La relazione FATTURE(IDFATTURA,DATAFATTURA) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive). La relazione PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive). La relazione MAGAZZINI(MAGAZZINO,KMQ) è in 3FN perché è in 2FN e tutti gli attributi non-chiave dipendono direttamente dalla chiave primaria (non contiene dipendenze transitive).
22
CONCLUSIONE VOCIFATTURE(IDFATTURA,DATAFATTURA,IDPRODOTTO,NOMEPRODOTTO, QUANTITÀ,PREZZO,MAGAZZINO,KMQ) VOCIFATTURE(IDFATTURA,IDPRODOTTO,QUANTITÀ,PREZZO) FATTURE(IDFATTURA,DATAFATTURA) PRODOTTI(IDPRODOTTO,NOMEPRODOTTO,MAGAZZINO) MAGAZZINI(MAGAZZINO,KMQ)
23
PRIMA FORMA NORMALE (1FN) IDFATTURADATAFATTURAIDPRODOTTONOMEPRODOTTOQUANTITA’MAGAZZINOKMQRESPONSABILE 5613/02/2015789KONDER DELIS34CEDI 1900GORI CLAUDIO ROSSI GIANNI 8714/02/2015900KONDER BUEN70CEDI 2750FOTI UGO 8714/02/2015789KONDER DELIS90CEDI 1900GORI CLAUDIO ROSSI GIANNI IDRESPONSABILERESPONSABILEMAGAZZINO 1GORI CLAUDIOCEDI 1 2ROSSI GIANNICEDI 1 3FOTI UGOCEDI 2 IDFATTURADATAFATTURAIDPRODOTTONOMEPRODOTTOQUANTITA’MAGAZZINOKMQ 5613/02/2015789KONDER DELIS34CEDI 1900 8714/02/2015900KONDER BUEN70CEDI 2750 8714/02/2015789KONDER DELIS90CEDI 1900 FATTURE RESPONSABILI
24
PRIMA FORMA NORMALE (1FN) FATTURE(IDFATTURA,DATAFATTURA,IDPRODOTTO,NOMEPRODOTTO,QUANTITA’, MAGAZZINO,KMQ,RESPONSABILE) FATTURE(IDFATTURA,DATAFATTURA,IDPRODOTTO,NOMEPRODOTTO,QUANTITA’, MAGAZZINO,KMQ) RESPONSABILI(IDRESPONSABILE,RESPONSABILE,MAGAZZINO)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.