La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>

Presentazioni simili


Presentazione sul tema: "Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>"— Transcript della presentazione:

1 Normalizzazione

2 Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione => 1 Relazione Rel’ Rel’’

3 Forme normali Una relazione è in 1 NF  tutti i suoi attributi sono valori atomici 1 Forma Normale (NF 1) Fornitori(Nome, indirizzo) => Fornitori (Nome, via, num_civico, cap, città) ES.:

4 Forme normali 1 Forma Normale (NF 1) Dipendenti(matricola, nome, indirizzo, familiari_a_carico) ES.: Dipendenti(matricola, nome, cognome,via, cap, num_civico, citta) Familiari(id_familiare, nome, cognome, parentela, matricola) N.B. è + facile aggiungere altri attributi

5 Forme normali Dipendenza Funzionale: Si ha dipendenza funzionale tra un attributo X e una chiave K1 =ABC…Z  I valori di X dipendono dalla n-pla di valori assunti dalla chiave 2 Forma Normale (NF 2) Es.: k1=ABC a1,b1,c1=> x1 a2,b2,c2=> x2 etc.

6 Forme normali Una relazione R è in 2 NF  R è in 1 NF e Ciascun X € K dipendente funzionalmente da una qualunque chiave candidata (dipende dall’intera chiave) 2 Forma Normale (NF 2)

7 Forme normali 2 Forma Normale (NF 2) Clinica(cod_esame, descr_esame, medico_specialista, cod_paziente, nome_paziente, medico_curante, recapito_curante, data, esito) ES.: Difficoltà di trattamento: Descrizione dipende solo da cod_esame => è ripetuta!!! Medico_curante dipende solo dal paziente per ogni esame Difficoltà di aggiornamento + di inserimento: non posso mettere il medico_specialista se il paziente non ha fatto almeno 1 analisi ….. %

8 Forme normali 3 Forma Normale (NF 3) Osservazione: Recapito_curante è ripetuto con il medico curante (per ogni paziente che ha quel medico) Causa: Recapito(non chiave) dipende da Medico_curante(non chiave) e non direttamente da cod_paziente Cioè Cod_paziente=> Medico_curante => Recapito_curante %

9 Forme normali 3 Forma Normale (NF 3) Se il medico cambia recapito… Se non esitono esami x i pazienti di un medico => non posso inserire il recapito Se cancello l’unico paziente di un medico=> posso perdere info su un medico Osservazione

10 Forme normali 3 Forma Normale (NF 3) Dipendenza Transitiva: A2 dipende da A1 e A3 dip. da A2 => A3 dip. da A1 (A3 =>A2 e A2 => A1) => (A3 =>A1)

11 Forme normali 3 Forma Normale (NF 3) Una relazione R è in 3 NF  R è in 2 NF e Ciascun X non appartenente a K NON è transitivamente dipendente da Attributi non in chiave K (né a chiavi candidate) Paziente si divide in: PAZIENTE(cod_paziente, nome_paziente, medico_curante) MEDICI(medico_curante, recapito)


Scaricare ppt "Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>"

Presentazioni simili


Annunci Google