La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Corso di Informatica (Basi di Dati) Lezione 3 (19 dicembre 2008) Modello Entità-Relazione: cardinalità delle relazioni, identificatori e generalizzazioni.

Presentazioni simili


Presentazione sul tema: "1 Corso di Informatica (Basi di Dati) Lezione 3 (19 dicembre 2008) Modello Entità-Relazione: cardinalità delle relazioni, identificatori e generalizzazioni."— Transcript della presentazione:

1 1 Corso di Informatica (Basi di Dati) Lezione 3 (19 dicembre 2008) Modello Entità-Relazione: cardinalità delle relazioni, identificatori e generalizzazioni Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA

2 2 Il modello Entità-Relazione Il modello Entità-Relazione (modello E- R) è un modello concettuale che fornisce una serie di costrutti per descrivere lo schema della realtà di interesse in maniera indipendente da come poi i relativi dati saranno organizzati sullelaboratore, cioè indipendentemente dal modello logico e dal modello fisico.

3 3 I costrutti del modello E-R I costrutti del modello E-R sono: Entità Attributi di Entità Relazione Attributi di Relazione Cardinalità di Relazione Identificatori Generalizzazioni

4 4 La cardinalità delle relazioni Data unentità E coinvolta in una relazione R (di grado qualsiasi), il vincolo di cardinalità esprime il numero minimo m (cardinalità minima) e il numero massimo M (cardinalità massima) di occorrenze (istanze) di R a cui unoccorrenza (istanza) di E può partecipare. Graficamente si ha: E R... (m,M)

5 5 La cardinalità delle relazioni Nel seguito si farà riferimento a relazioni di grado 2 (relazioni binarie) che coinvolgono quindi due sole entità. Un esempio che meglio chiarisce il concetto in questione è il seguente. Si consideri lo schema: Assegnazione Le entità Impiegato e Progetto sono legate dalla relazione Assegnazione. Si vuole infatti modellare, per la realtà azienda, il fatto che ogni impiegato sia... ImpiegatoProgetto (1,5)(0,50)

6 6 La cardinalità delle relazioni …coinvolto in progetti. Unoccorrenza della relazione Assegnazione è una coppia (I, P), dove I è unoccorrenza dellentità Impiegato e P unoccorrenza dellentità Progetto. Cioè allimpiegato I è stato assegnato il progetto P. Il fatto che il vincolo di cardinalità per Impiegato in Assegnazione sia (1,5), significa che unoccorrenza di Impiegato può partecipare da un minimo di 1 volta ad un massimo di 5 volte ad una occorrenza di Assegnazione. In altre parole nella realtà modellata dallo schema precedente, ad un impiegato deve obbligatoriamente essere assegnato almeno un progetto ma non gli possono essere assegnati più...

7 7 La cardinalità delle relazioni …di 5 progetti. Allo stesso modo possiamo dire che unoccorrenza dellentità Progetto può partecipare da un minimo di 0 volte ad un massimo di 50 volte ad una occorrenza di Assegnazione. Quindi un progetto può anche non essere assegnato a nessun impiegato (ad esempio un progetto lanciato da poco tempo) e non può essere assegnato a più di 50 impiegati. Si considerino le seguenti istanze di Impiegato, Progetto e Assegnazione: Impiegato -> {I 1, I 2, I 3 } Progetto -> {P 1, P 2, P 3, P 4, P 5 } Assegnazione -> {(I 1, P 1 ),(I 2, P 4 ),(I 3, P 2 ),(I 1, P 4 ),(I 1, P 5 ),(I 3, P 5 )}

8 8 La cardinalità delle relazioni …Si può notare che: a tutti gli impiegati è assegnato almeno un progetto e non più di 5 progetti tutti i progetti sono assegnati a non più di 50 impiegati (il progetto P 3 non è assegnato a nessuno) In definitiva linsieme delle occorenze della relazione Assegnazione della slide precedente rispetta il vincolo di cardinalità evidenziato nello schema.

9 9 La cardinalità delle relazioni I valori maggiormente utilizzati per la cardinalità minima sono: 0, significa che la partecipazione è opzionale 1, significa che la partecipazione è obbligatoria Nello schema: Assegnazione ImpiegatoProgetto (1,5)(0,50)

10 10 La cardinalità delle relazioni …la partecipazione dellentità Impiegato alla relazione Assegnazione è obbligatoria, ovvero un impiegato deve obbligatoriamente essere coinvolto in un progetto. La partecipazione dellentità Progetto alla relazione Assegnazione è invece opzionale, ovvero un progetto può anche non essere assegnato a nessun impiegato.

11 11 La cardinalità delle relazioni I valori maggiormente utilizzati per la cardinalità massima sono: 1, significa che le occorrenze dellentità partecipano al più 1 volta alle occorrenze della relazione N, significa che le occorrenze dellentità partecipano un qualsivoglia numero di volte alle occorrenze della relazione

12 12 La cardinalità delle relazioni Si consideri ad esempio il nuovo schema: Assegnazione ImpiegatoProgetto (1,5)(0,N) La differenza con lo schema precedente (in cui la cardinalità massima di Progetto era 50) è che ora unoccorrenza di Progetto può partecipare ad un numero qualsiasi di occorrenze di Assegnazione (non più limitato a 50).

13 13 La cardinalità delle relazioni Si consideri ora il nuovo schema: Assegnazione ImpiegatoProgetto (1,1)(0,N) In questo caso, rispetto allo schema precedente, si è portata a 1 la cardinalità massima di Impiegato in quanto si vuole modellare il fatto che unoccorrenza di Impiegato può partecipare ad una sola occorrenza della relazione Assegnazione. In altre parole un impiegato deve essere coinvolto obbligatoriamente in un solo progetto.

14 14 La cardinalità delle relazioni...Si noti che la coppia (0, N) per le cardinalità minima e massima di unentità in una relazione è equivalente allassenza del vincolo di cardinalità. Nello schema precedente, infatti un progetto può essere assegnato a 0 o ad un qualsivoglia numero di impiegati.

15 15 Esempi di vincolo cardinalità Si consideri il seguente schema: Residenza PersonaCittà (0,N) Potrebbe essere compatibile con la realtà amministrativa italiana? NO, perché non è ammesso che una persona in Italia abbia più città di residenza.

16 16 Esempi di vincolo cardinalità Si consideri questaltro schema: Residenza PersonaCittà (0,1)(0,N) Potrebbe essere compatibile con la realtà amministrativa italiana? SI, se ammettiamo che non è necessario che la residenza di un impiegato sia nota (se però è nota questa è unica)

17 17 Esempi di vincolo cardinalità Si consideri questaltro schema: Residenza PersonaCittà (1,1)(0,N) Potrebbe essere compatibile con la realtà amministrativa italiana? SI, se ammettiamo che è necessario che la residenza di un impiegato sia nota è unica

18 18 Classificazione delle relazioni binarie Una relazione R tra due entità E 1 ed E 2 (grado 2) R E1E1 E2E2 (m 1,M 1 )(m 2,M 2 ) Viene classificata, sulla base dei valori delle cardinalità massime M 1 e M 2, in: relazione uno a uno se M 1 = M 2 =1 relazione uno a molti se M 1 =1 e M 2 =N relazione molti a molti se M 1 =N e M 2 =N

19 19 Classificazione delle relazioni binarie Esempi di relazioni binarie uno a uno Direzione ImpiegatoProgetto (0,1)(1,1) Docenza ProfessoreCorso (1,1)

20 20 Classificazione delle relazioni binarie Esempi di relazioni binarie uno a molti Nascita StudenteCittà (1,1)(0,N) Ubicazione ComuneProvincia (1,1)(1,N)

21 21 Classificazione delle relazioni binarie Esempi di relazioni binarie molti a molti Esame StudenteCorso (0,N) Scalata MontagnaAlpinista (0,N)(1,N)

22 22 Gli identificatori di entità Un identificatore di entità è un insieme di proprietà che identificano univocamente le istanze dellentità. Cioè non possono esistere due istanze dellentità che assumono lo stesso valore per tutte le proprietà che formano lidentificatore. Nel seguito ci occuperemo solo di identificatori interni (composti solo da attributi di entità). Su ogni entità deve essere definito almeno un identificatore.

23 23 Gli identificatori di entità Si consideri il seguente schema in cui lentità Persona ha i seguenti attributi: Codice fiscale, Cognome, Nome, Residenza. Persona Cod.Fis.CognomeNome Residenza Lidentificatore per Persona può essere Codice Fiscale (unico attributo)

24 24 Gli identificatori di entità Oppure il seguente schema in cui lentità Persona ha i seguenti attributi: Cognome, Nome, Data di nascita, Residenza Lidentificatore per Persona può essere (Cognome,Nome,Data di Nascita) (tre attributi) Persona CognomeNomeData di nascita Residenza

25 25 Gli identificatori di entità Oppure il seguente schema in cui lentità Automobile ha i seguenti attributi: Targa, Modello, Colore. Automobile TargaModelloColore Lidentificatore per Automobile può essere Targa (unico attributo)

26 26 Gli identificatori di entità Oppure il seguente schema in cui lentità Persona ha i seguenti attributi: Cognome, Nome, Data di nascita, Residenza Lidentificatore per Persona può essere (Cognome,Nome,Data di Nascita) (tre attributi) Persona CognomeNomeData di nascita Residenza

27 27 Gli identificatori di entità Per unentità, linsieme di tutti i suoi attributi costituisce banalmente un identificatore in quanto si suppone che non possano esistere due occorrenze completamente coincidenti.

28 28 Gli identificatori di entità La rapresentazione grafica di un identificatore composto da un solo attributo è lannerimento del corrispondente pallino Persona Cod.Fis.CognomeNome Residenza

29 29 Gli identificatori di entità La rapresentazione grafica di un identificatore composto da più attributi è una linea che unisce gli attributi e che termina con un pallino annerito Persona CognomeNomeData di nascita Residenza

30 30 Le generalizzazioni Unentità E più generale, rispetto ad un unico criterio, di n entità E 1, E 2, …, E n, è detta generalizzazione di E 1, E 2, …, E n. Le n entità sono dunque specializzazioni di E. E è detta entità padre ed E 1, E 2, …, E n sono dette entità figlie (o sottoentità). Ad esempio le entità Uomo e Donna sono specializzazioni dellentità Persona che è a quindi una generalizzazione di Uomo e Donna.

31 31 Le generalizzazioni La rappresentazione grafica di una generalizzazione è un arco che collega le entità figlie tra di loro e una freccia che collega larco allentità padre Persona UomoDonna

32 32 Le generalizzazioni Valgono le seguenti proprietà: ogni occorrenza di unentità figlia e anche occorrenza dellentità padre ogni proprietà dellentità padre (attributi, identificatori, relazioni e altre generalizzazioni) è anche proprietà delle entità figlie -> ereditarietà

33 33 Le generalizzazioni Persona StudenteDocente CognomeNomeData di nascita Matricola Ogni attributo di Persona è ereditato da Studente e in più Studente ha lattributo Matricola

34 34 Le generalizzazioni Una generalizzazione è: totale se ogni occorrenza dellentità padre è unoccorrenza di almeno una delle entità figlie, altrimenti è parziale esclusiva se ogni occorrenza dellentità padre è al più unoccorrenza di una delle entità figlie, altrimenti è sovrapposta

35 35 Le generalizzazioni Esempio di generalizzazione totale ed esclusiva: Persona UomoDonna

36 36 Le generalizzazioni Esempio di generalizzazione parziale ed esclusiva: Persona StudenteDocente

37 37 Le generalizzazioni Esempio di generalizzazione parziale e sovrapposta: Persona StudenteImpiegato

38 38 Le generalizzazioni La stessa entità può essere padre in distinte generalizzazioni Persona UomoDonnaStudenteDocente Le due generalizzazioni corrispondono a due criteri diversi di classificazione delloccorrenze dellentità padre Persona


Scaricare ppt "1 Corso di Informatica (Basi di Dati) Lezione 3 (19 dicembre 2008) Modello Entità-Relazione: cardinalità delle relazioni, identificatori e generalizzazioni."

Presentazioni simili


Annunci Google