Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Slides:



Advertisements
Presentazioni simili
LA PROGETTAZIONE LOGICA Seconda parte
Advertisements

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, 1999
Partizionamento/accorpamento di concetti
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Il modello logico Il modello logico.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Secondo Compito: PROGETTAZIONE DI UN DATABASE Claudia Angione
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercitazione Modello ER 1
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
FAQ.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione concettuale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
OGGETTO E TIPO DI OGGETTO
Una azienda tipo Amazon vuole realizzare una base di dati per il proprio business, che consiste nella vendita di libri cartacei e eBook. Ogni libro (cartaceo.
ER Primo esonero Basi DATI 2015
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Selezione e Proiezione
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Il questionario: progettazione e redazione II Modulo
Transcript della presentazione:

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 8. Progettazione logica 8.5 Fase 1.3 – Partizionamenti, Accorpamenti, Scelta Identificatori

Attività della fase 1 di ristrutturazione 1.1. Analisi delle ridondanze 1.2. Eliminazione delle generalizzazioni 1.3. Partizionamento/accorpamento di entità e relazioni 1.4. Scelta degli identificatori primari adattato da Atzeni et al., Basi di dati, McGrawHill

Partizionamenti e accorpamenti: cosa sono? Sono ristrutturazioni effettuate per rendere più efficienti le operazioni, dove la efficienza e’ valutata, in questo caso, in base a semplici principi qualitativi. Gli accessi si riducono: separando gli attributi di un concetto che vengono acceduti separatamente da molte operazioni raggruppando gli attributi di concetti diversi acceduti insieme da molte operazioni Anche qui, dunque, applichiamo un criterio qualitativo e non i criteri quantitativi presentati in precedenza, che, pure, possono essere applicati per una analisi piu’ precisa. adattato da Atzeni et al., Basi di dati, McGrawHill

Ristrutturazioni, casi principali 1. partizionamento verticale di entità 2. eliminazione di attributi multivalore 3. accorpamento di entità/ relationship 4. partizionamento orizzontale di relationship adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Caso 1. partizionamento verticale di entità Impiegato Livello Stipendio Ritenute Cognome Indirizzo Data nascita Codice Gli attributi anagrafici sono stabili nel tempo: nell’esempio cognome e data nascita non variano mai, e indirizzo varia piuttosto raramente Attributi su retribuzione Attributi anagrafici adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Caso 1. partizionamento verticale di entità Impiegato Livello Stipendio Ritenute Cognome Indirizzo Data nascita Codice Gli attributi di retribuzione variano piu’ frequentemente. Conviene partizionare la entita’ Impiegato in due entita’ distinte Attributi su retribuzione Attributi anagrafici adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Soluzione Livello Stipendio Ritenute Cognome Indirizzo Data nascita Codice R Dati anagrafici lavorativi (1,1) Qui scegliamo di mantenere l’identificatore nella entita’ a sinistra, e di identificare esternamente la entita’ Dati lavorativi adattato da Atzeni et al., Basi di dati, McGrawHill

2. Eliminazione di attributi multivalore Questa ristrutturazione deriva dal fatto che nel modello relazionale non sono accettati attributi multivalore e percio’ essi vengono eliminati per semplificare la successiva traduzione. Non e’ realizzata percio’ a fini di ottimizzazione, ma per rendere piu’ semplice la successiva traduzione. L’abbiamo mantenuta in questa fase per coerenza con la scelta del libro di riferimento. adattato da Atzeni et al., Basi di dati, McGrawHill

2. Eliminazione di attributi multivalore Esempio Agenzia Indirizzo Città Telefono Nome (1,N) adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Soluzione Indirizzo Nome Agenzia Città Numero (1,N) (1,1) Utenza Telefono adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Domanda 8.5.1 Perche’ nel precedente esempio le cardinalita’ sono (1,N) e (1,1) ed e’ stato incluso un identificatore esterno per la entita’ Telefono? Risposta Perche’ ora le istanze della entita’ Telefono sono tutti i possibili numeri di telefono, e quindi esistono nella base di dati solo in quanto associati in modo univoco con le istanze di Agenzia. Cio’ e’ ottenuto inserendo l’identificatore esterno. Come conseguenza le cardinalita’ sono (1,N), una Agenzia ha in genere n numeri di telefono, e (1,1), un Telefono e’ associato univocamente a una agenzia. adattato da Atzeni et al., Basi di dati, McGrawHill

3. Accorpamento di entità/relationship Indirizzo Interno Cognome Data nascita Codice fiscale Intestazione Persona Appartamento (0,1) (1,1) Supponiamo che gli attributi delle due entita’ siano acceduti tutti insieme dalla maggioranza delle operazioni adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Soluzione Codice fiscale Cognome Interno Indirizzo- persona (0,1) Persona Data nascita Indirizzo- appartamento (0,1) Le cardinalita’ minime sono 0 perche’ nello schema di partenza la cardinalita’ minima di Persona e’ 0 adattato da Atzeni et al., Basi di dati, McGrawHill

4. Partizionamento orizzontale di relationship Cognome Composizione Giocatore Squadra (1,N) Ruolo Nome Città Data acquisto cessione (0,1) Supponiamo che la relationship Composizione rappresenti la composizione in giocatori di una squadra di calcio a. attuale e b.negli anni passati La composizione nel passato evidentemente non cambia, mentre nel tempo presente possono essere ceduti e acquistati diversi giocatori adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Cognome Comp. passata Giocatore Squadra (1,N) Ruolo Nome Città Data acquisto cessione attuale (1,1) Soluzione adattato da Atzeni et al., Basi di dati, McGrawHill

Attività della fase 1 di ristrutturazione 1.1. Analisi delle ridondanze 1.2. Eliminazione delle generalizzazioni 1.3. Partizionamento/accorpamento di entità e relazioni 1.4 Scelta degli identificatori primari adattato da Atzeni et al., Basi di dati, McGrawHill

1.4 Scelta degli identificatori primari Anche questa azione e’ eseguita per poter effettuare poi la traduzione nel modello relazionale Vincolo assenza di opzionalità nelle cardinalita’ dell’attributo o degli attributi che costituiscono l’identificatore (perche’ la chiave primaria non puo’ essere null) Criteri da adottare nella scelta: Scelta di un identificatore strutturalmente semplice, per dar luogo ad una successiva chiave primaria formata da pochi attributi, che ottimizzi le ricerche. Utilizzo nelle operazioni più frequenti o importanti, per fare in modo che nella esecuzione delle operazioni siano ulteriormente ottimizzati gli accessi ai dati. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Cosa accade se nessuno degli identificatori soddisfa i requisiti visti? Se ad esempio una Entita’ Impiegato ha come identificatori NOME, COGNOME, DATA NASCITA NOME, COGNOME, REPARTO, UFFICIO nessuno dei due rispetta il criterio di semplicita’ strutturale. In questi casi si introducono nuovi attributi (codici) contenenti valori speciali generati appositamente per questo scopo. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esempi di codici Per le persone fisiche: CODICE FISCALE, adottato in italia per identificare le persone NUMERO PROGRESSIVO o MATRICOLA, adottato spesso ad esempio nelle Universita’ Per le persone giuridiche (es, le imprese) PARTITA IVA, da preferire NUMERO PROGRESSIVO adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Approfondimento Approfondisci nella sezione 9.2.4 del libro di riferimento la problematica della scelta degli indetificatori. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Concetti introdotti Partizionamento verticale/orizzontale di concetti Accorpamento di concetti Identificatore primario adattato da Atzeni et al., Basi di dati, McGrawHill