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

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

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
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
Le Basi di dati: progettazione concettuale.
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
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
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
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
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
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
Progettazione di una base di dati relazionale
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
Basi di Dati e Sistemi Informativi
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
Progettazione di una base di dati relazionale
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
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 logica: Il modello relazionale
Gli schemi concettuali
Progettazione concettuale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Le basi di dati: progettazione concettuale.
I due schemi sono equivalenti (descrivono la stessa
OGGETTO E TIPO DI OGGETTO
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
ER Primo esonero Basi DATI 2015
Il modello relazionale
Progettazione di una base di dati
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 Carlo Batini Il modello Entita’ Relazione 2.3 Vincoli di cardinalita’ Rielaborato da M. Lenzerini – Corso di Basi di dati

Criteri per scegliere le strutture giuste L’attivita’ di modellazione, cioe’ di rappresentazione di una realta’a osservata per mezzo di un modello, nel nostro caso il modello Entita’ Relazione, e’ molto creativa, e non sempre intuitiva. Le scelte possono essere aiutate se pensiamo alle definizioni che abbiamo dato dei concetti. Rielaborato da M. Lenzerini – Corso di Basi di dati

Scelta tra entità e attributo Un concetto verrà modellato come una entità se le sue istanze sono concettualmente significative indipendentemente da altre istanze se ha o potrà avere in futuro delle proprietà indipendenti dagli altri concetti se il concetto è importante nell’applicazione un attributo di una entità o relazione se le sue istanze non sono concettualmente significative se non ha senso considerare una sua istanza indipendentemente da altre istanze (Eta’ = 25 ha esistenza indipendente?) se serve solo a rappresentare una proprietà locale di un altro concetto Rielaborato da M. Lenzerini – Corso di Basi di dati

Scelta tra entità e attributo Le scelte possono cambiare durante l’analisi. Esempio: Nome Codice CittàNascita Persona Interessa anche la regione: Città diventa una entità Nome Persona Codice Città Nascita Regione Rielaborato da M. Lenzerini – Corso di Basi di dati

Scelta tra entità e attributo Le scelte possono cambiare durante l’analisi. Esempio: Cognome Codice CittàNascita Nome Budget Persona Dipartimento Interessa anche la città in cui ha sede un dipartimento Nome Città Nascita Sede Cognome Persona Codice Dipartimento Nome Budget Rielaborato da M. Lenzerini – Corso di Basi di dati

Scelta tra entità e relazione Un concetto verrà modellato come una entità se le sue istanze sono concettualmente significative indipendentemente da altre istanze se ha o potrà avere delle proprietà indipendenti dagli altri concetti se ha o potrà avere relazioni con altri concetti una relazione se le sue istanze non sono concettualmente significative indipendentemente da altre istanze, cioè se le sue istanze rappresentano insiemi di altre istanze se non ha senso pensare alla partecipazione delle sue instanze ad altre relazioni Rielaborato da M. Lenzerini – Corso di Basi di dati

Cardinalita’ delle entita’ nelle relazioni Rielaborato da M. Lenzerini – Corso di Basi di dati

Cardinalita’ nella vita di tutti i giorni Prendiamo uno qualunque di voi. Quanti indirizzi di residenza avete (come minimo e come massimo, analogamente per le altre domande)? Quanti libri avete nella vostra biblioteca? Quanti giornali comprati alla edicola leggete al giorno? Quanti piedi avete? Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Risposte possibili Quanti indirizzi di residenza avete (come minimo e come massimo, analogamente per le altre domande)? Minimo = 1, Massimo = 1 Quanti libri avete nella vostra biblioteca? Minimo = 0, Massimo = tanti, non li so contare Quanti giornali comprati alla edicola leggete al giorno? Minimo = 0, Massimo = 3 (ad esempio, la domenica) Quanti piedi avete? Minimo = 2, Massimo = 2 Rielaborato da M. Lenzerini – Corso di Basi di dati

Cardinalità (minima e massima): definizione Un vincolo di cardinalità tra una entita’ E e una relazione R esprime un limite minimo (cardinalita’ minima) ed un limite massimo (cardinalita’ massima) di istanze della relazione R a cui può partecipare ogni istanza dell’entità E. Serve a caratterizzare meglio il significato di una relazione. Vincolo di cardinalita’ E R e1 2 e2 1 Rielaborato da M. Lenzerini – Corso di Basi di dati

Esempio di vincolo di cardinalità Ad ogni impiegato sono assegnati da 1 a 5 progetti Ogni progetto è assegnato ad al più 50 impiegati Assegnazione Impiegato Progetto (1,5) (0,50) Istanza dello schema: Istanze(Impiegato) = { a,b,c } istanze(Progetto) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Esempio di vincolo di cardinalità: cardinalita’ minima di Impiegato in Assegnazione Ad ogni impiegato sono assegnati da 1 a 5 progetti Ogni progetto è assegnato ad al più 50 impiegati Assegnazione Impiegato Progetto (1,5) (0,50) Istanza: istanze(Impiegato) = { a,b,c } istanze(Progetto) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } a,b,c compaionono in almeno una istanza di Assegnazione Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Esempio di vincolo di cardinalità: cardinalita’ minima di Progetto in Assegnazione Ad ogni impiegato sono assegnati da 1 a 5 progetti Ogni progetto è assegnato ad al più 50 impiegati Assegnazione Impiegato Progetto (1,5) (0,50) Istanza: istanze(Impiegato) = { a,b,c } istanze(Progetto) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } X non compare nelle istanze di Assegnazione Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Esempio di vincolo di cardinalità: cardinalita’ massima di Impiegato in Assegnazione Ad ogni impiegato sono assegnati da 1 a 5 progetti Ogni progetto è assegnato ad al più 50 impiegati Assegnazione Impiegato Progetto (1,5) (0,50) Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Esempio di vincolo di cardinalità: cardinalita’ massima di Progetto in Assegnazione Ad ogni impiegato sono assegnati da 1 a 5 incarichi Ogni incarico è assegnato al più a 50 impiegati Assegnazione Impiegato Progetto (1,5) (0,50) Inoltre, ci sono progetti (ad esempio lanciati da poco tempo) che possono non essere assegnati a nessun impiegato Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.3.1 Considera lo schema disegnato sotto. Esprimi le Cardinalita’ mimine e massime per la generalita’ degli Studenti, considerando tutti i casi possibili Cognome Età Nome Crediti EsameSuperato Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Soluzione Gli studenti in alcuni casi non hanno ancora superato Nessun esame, in genere ne superano fino d esaurirli, Diciamo 25 (dipende dal corso di laurea) Cognome Età Nome Crediti EsameSuperato (0,25) Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Soluzione I corsi nuovi potrebbero ancora non aver fatto nessun Appello, e quindi potrebbero non essere stati superati da nessuno studente, gli altri sono stati superati da un numero di studenti che puo’ essere anche molto grande, diciamo 300. Cognome Età Nome Crediti (0,300) EsameSuperato (0,25) Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati

Rielaborato da M. Lenzerini – Corso di Basi di dati Concetti introdotti Vincolo di cardinalita’ Cardinalita’ minima di entita’ in una relazione Cardinalita’ massima di entita’ in una relazione Rielaborato da M. Lenzerini – Corso di Basi di dati