NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Il raffinamento dello schema e la normalizzazione nei database relazionali Eugenio Di Sciascio.
DB - Modello relazionale dei dati
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE LOGICA Seconda parte
Normalizzazione Forme Normali.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
1 Progettazione logica: Il modello relazionale Eugenio Di Sciascio.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
La Normalizzazione. 27 January, slide 2 Le nuove tecnologie Software Tabelle, unicità e chiavi Ciascuna riga di una tabella deve esere unica Ci.
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Forme normali.
Implementare un modello di dati
TECNOLOGIE DELLINFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica.
MODELLO LOGICO DEI DATI
Progettare un database
Introduzione a Oracle 9i
Sistemi di Elaborazione delle Informazioni Mod.I.
La Normalizzazione. 2 May, slide 2 Le nuove tecnologie Software Normalizzazione Normalizzazione è il processo di semplificazione di un data base.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
DATABASE Introduzione
DB- Sistemi Informativi
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Data Base ACCESS EM 09.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione di una base di dati relazionale Vincoli.
Progettazione di una base di dati relazionale Terza forma normale.
Vincoli interrelazionali
Database Progettazione Logica
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Eprogram informatica V anno.
Cloud informatica V anno.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Dai diagrammi ER alle basi di dati.. Entita  tabelle Persona Nome e cognome Codice fiscale Indirizzo completo Codice fiscaleNome e CognomeIndirizzo completo.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Normalizzazione. Forme normali Evitare la ripetizione e la ridondanza Evitare alcuni problemi in modifiche/cancellazioni Obiettivo: Normalizzazione =>
LA NORMALIZZAZIONE. ESEMPIO DI NORMALIZZAZIONE(1FN) IDAziendaRagioneSocialePIVANomeSocioQuotaSocio 1F.lli Damatino spa Roberto Damatino 20%
Transcript della presentazione:

NORMALIZZAZIONE ESERCIZI

INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione è stato finora “la ragionevolezza” Esistono però metodi formali (  NORMALIZZAZIONE ) per assicurare la scelta di “buoni” schemi relazionali.

3 Linee guida informali Ridurre la ridondanza:  Ha un duplice scopo: ridurre la “storage area” e evitare le anomalie da aggiornamento  Anomalie da aggiornamento: 1. Anomalie da inserimento 2. Anomalie da modifica 3. Anomalie da cancellazione

4 Linee guida informali Ridurre il numero di valori null nelle tuple: Valori null possono essere variamente interpretati: non applicabile, sconosciuto, non inserito In molti casi conviene creare nuove relazioni per ridurre i null. Esempio: Se solo il 5% degli impiegati ha un fax personale avremo il 95% di null. NomeCognomeSuperio_idId_dipData_nindirizzoCFStip_annuo Impiegato_fax Tel.Fax. NomeCognomeSuperio_idId_dipData_nindirizzoCFStip_annuo Impiegato Tel. Fax.Id_dip Fax_imp

5 Normalizzazione Procedura che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale (i.e., normalizzati) La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati Non costituisce una metodologia di progettazione

DIPENDENZA FUNZIONALE (DF) o... (…) Un concetto importante per applicare le regole della normalizzazione è la

Definizione generale Dato uno schema R(T) e due sottoinsiemi di attributi non vuoti X e Y di T, diremo che esiste sullo schema R(T) una DIPENDENZA FUNZIONALE (df) (o in Inglese FD cioè FUNCTIONAL DEPENDENCY) tra X e Y se, in ogni istanza di R per ogni coppia di tuple t1 e t2 aventi gli stessi valori sugli attributi in X, risulta che t1 e t2 hanno gli stessi valori anche sugli attributi in Y

Cioè… X  Y X determina funzionalmente Y Y dipende funzionalmente da X se non è possibile che esistano due tuple con valori uguali in corrispondenza degli attributi di X e uno o più valori diversi in corrispondenza degli attributi di Y. Quindi per ogni coppia di tuple u e v tali che u[X]=v[X], deve essere u[Y]=v[Y]

Esempio : Una dipendenza funzionale è un vincolo che descrive legami di tipo funzionale tra gli attributi di una relazione. Il valore dell’attributo Impiegato determina il valore dell’attributo stipendio: esiste una funzione che associa ad ogni elemento del dominio dell’attributo Impiegato un solo elemento del dominio dell’attributo Stipendio. (Vale lo stesso per Progetto e Bilancio).

Quali dipendenze funzionali riuscite ad individuare nel seguente esempio? ORDINE (num, fornitore, indirizzo, articolo, quantità, data)  num  fornitore un certo ordine si riferisce sempre allo stesso fornitore  fornitore  indirizzo un fornitore ha sempre lo stesso indirizzo  num  data un ordine viene inviato in una certa data  num  fornitore, indirizzo, data  num, articolo  quantità in un certo ordine, un certo articolo viene ordinato in una determinata quantità (non ci possono essere due righe con la stessa coppia di valori per num e articolo e valori diversi per quantità)

Altro esempio IMPIEGATO (codimp, nome, stipendio, progetto, data_finale)

DIPENDENZA FUNZIONALE TRANSITIVA Si verifica una dipendenza funzionale transitiva quando un attributo J appartenente alla relazione r dipende da un attributo K della relazione che non è chiave candidata e che a sua volta dipende da un attributo A, che è chiave candidata o primaria. Data la relazione: r (A, B, K, J) con A chiave primaria o candidata e avendo che: A  K e K  J si verifica una dipendenza transitiva tra A e J, in quanto J dipende da A tramite K.

Esempio: Nella seguente relazione possiamo renderci conto come il valore di Collocazione dipenda da Genere e come il valore di Genere dipenda da Identificativo_videocassetta: VIDEOCASSETTE (Identificativo_videocassetta, Genere, Collocazione) Identificativo_videocassetta è la chiave primaria, essa identificando la videocassetta determina il Genere: le videocassette vengono collocate raggruppandole per genere.

N.B: La chiave K di una relazione ha sicuramente una relazione funzionale con qualsiasi altro attributo della relazione: il vincolo di dipendenza funzionale generalizza il vincolo di chiave.

Riepilogo sulle prime tre forme normali 1.UNA RELAZIONE SI DICE CHE È IN PRIMA FORMA NORMALE - 1ST NORMAL FORM (1NF) – SE OGNI SUO DOMINIO È SEMPLICE (ATOMICO). Ricorda: Un campo non atomico può essere composto (o strutturato) o multiplo (multivalore): (Se una tabella si trova nella prima forma normale, non c’è alcuna possibilità di suddividere ulteriormente i campi della tabella) 1 Forma Normale

Esempio 1 NON È IN 1FN  DEVO MODIFICARLA. UN PRIMO TENTATIVO POTREBBE ESSERE:

18 2 Forma Normale Uno schema R è in questa forma se è in 1NF e ogni attributo non primo ha una FD piena dalla PK di R …cioè?? Una relazione è in seconda forma normale se e solo se soddisfa la 1NF e inoltre ciascun attributo che non fa parte della chiave primaria ha una dipendenza funzionale da tutta la chiave primaria (e non solo da una parte di essa  bisogna esaminare le relazioni in cui la chiave primaria è composta)

Riprendiamo l’esempio precedente I campi “nome”, “cognome”, “via”, “cap”, “città” dipendono solo da una parte della chiave (#MATRICOLA). Quindi creo due relazioni:

relazione in 3ª f.n.: se è in 2ª f.n. e se ogni suo attributo non chiave primaria non dipende transitivamente dalla chiave… cioè… 3 Forma Normale

Esempio: Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città, #isee, tassa)  Con #isee si intende il codice dello scaglione di reddito che determina la tassa scolastica. Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città, #isee) Tabella TASSA: (#ISEE, tassa) Non è in terza forma normale perché…. Per portarla in 3FN devo…