Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoMarilena Milani Modificato 6 anni fa
1
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
2
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
3
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
4
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
5
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
6
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
7
Cardinalita’ delle entita’ nelle relazioni
Rielaborato da M. Lenzerini – Corso di Basi di dati
8
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
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.