1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno...

39
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: • Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati • Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008

Transcript of 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno...

Page 1: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

1

Corso di Laurea in Biotecnologie

Informatica(Basi di Dati)

Modello Entità-Relazione

Anno Accademico 2009/2010

Da:• Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati• Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008

Page 2: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

2

Il modello Entità-RelazioneIl modello Entità-Relazione (modello E-R) è un modello concettuale che fornisce i costrutti per descrivere la realtà di interesse in maniera indipendente da come poi i relativi dati saranno organizzati logicamente e fisicamente nella Base di Dati, cioè indipendentemente dal modello logico e dal modello fisico.

Page 3: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

3

I costrutti del modello E-R

I costrutti del modello E-R (che vedremo)sono:

Entità Attributo di Entità Relazione Attributo di Relazione Cardinalità di Relazione Identificatori

Page 4: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

4

L’entitàIl costrutto di entità permette di rappresentareuna classe di oggetti (cioè fatti, persone,cose, etc.) che appartengono ad una realtà e che: hanno proprietà comuni hanno esistenza autonoma sono di interesse per l’applicazione

Ad esempio si può scegliere di descrivere: un’azienda tramite le seguenti entità: Impiegato, Dipartimento, Città, etc. un’università tramite le seguenti entità:Studente, Corso, Docente, etc.

Page 5: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

5

L’entitàUn’istanza di entità (od occorrenza di entità)è un oggetto appartenente alla classe chel’entità rappresenta

Ad esempio un’istanza dell’entità Impiegato èl’impiegato Mario Rossi, un’istanza dell’entitàStudente è lo studente Luca Bianchi e una dell’entitàCorso è il corso di Informatica per il corso diLaurea in Biotecnologie

Page 6: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

6

L’entitàLa rappresentazione grafica di un’entità,in uno schema di descrizione della realtà diinteresse, è un rettangolo con al centro ilnome che la identifica univocamente l’entità.Ad esempio:

Impiegato Città

Studente Corso

Page 7: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

7

Un esempioVogliamo schematizzare tramite il modello E-R leseguenti entità coinvolte in una realtà universitaria: gli studenti della laurea breve e quelli della specialistica i professori (associati e ordinari) il personale tecnico e amministrativo

StudenteLaurea Breve

Studente LaureaSpecialistica

ProfessoreAssociato

ProfessoreOrdinario

Tecnico

Amministrativo

Page 8: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

8

L’attributo di EntitàL’attributo di entità permette di descrivereuna proprietà elementare di un’entità, il cuivalore varia da istanza a istanza dell’entità.L’insieme dei valori ammissibili per un datoattributo prende il nome di dominio dell’attributo.Ad esempio, l’entità Impiegato può avere i seguenti attributi:Cognome, Nome, Stipendio, Età. L’entità Studente può avere iseguenti attributi: Matricola, Cognome, Nome, Data di nascita,Comune di Residenza. Il dominio dell’attributo Cognome delle entitàImpiegato e Studente può essere l’insieme delle stringhe di 20caratteri a-z e A-Z. Il dominio dell’attributo Età di Impiegato può esserel’insieme dei numeri interi compresi tra 18 e 65. Un particolare studente(un’istanza dell’entità Studente) può avere i seguenti valori dei suoiattributi: “1111”, “Rossi”, “Luca”, “13/06/1990”, “Milano”.

Page 9: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

9

L’attributo di EntitàLa rappresentazione grafica di un attributodi entità, in uno schema di descrizione dellarealtà di interesse, è un cerchio collegatoall’entità e identificato univocamente tramiteun nome. Ad esempio:

Impiegato

CognomeNomeEtà Stipendio

Page 10: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

10

Un esempioLe due entità Studente Laurea Breve eStudente Laurea Specialistica, dell’esempioPrecedente, possiedono gli attributi Matricola,Cognome, Nome, Data di nascita, Comune diResidenza.

StudenteLaurea Breve

MatricolaCognomeNomeData di nascita

Comune di Residenza

Studente LaureaSpecialistica

MatricolaCognomeNomeData di nascita

Comune di Residenza

Page 11: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

11

L’esempio precedente...

E se si volessero rappresentare tutti glistudenti tramite l’unica entità Studente,mantenendo però la distinzione tra i due tipidi laurea? Basta aggiungere un nuovo attributoche specifica il tipo di laurea

Studente

MatricolaCognomeNomeData di nascita

Comune di ResidenzaTipo di laurea

Page 12: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

12

Il costrutto di RelazioneIl costrutto di relazione permette dievidenziare un’associazione (o legame) tra nentità E1, E2,…, En. Se n=2, la relazione èbinaria.Ad esempio, tra le due entità Studente e CorsoSi può evidenziare una relazione di esame.La residenza è una relazione tra Impiegato e Città,e la sede di lavoro è una seconda relazione traImpiegato e Città.

Il grado di una relazione è definito come ilnumero di entità coinvolte.

Page 13: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

13

Il costrutto di RelazioneUn’occorrenza di relazione (o istanza direlazione) è una n-pla (coppia se n=2)costituita da n occorrenze di entità, una perciascuna delle entità coinvolte.Ad esempio, si consideri un modello E-R di un’aziendacomposto dalle tre entità E1=Fornitore, E2=Prodotto,E3=Dipartimento. Tra di esse esiste la relazioneFornitura. Una possibile occorrenza della relazioneFornitura è la tripletta (“Rossi”, “Stampante”,“Ricerca”), dove “Rossi” è un’occorrenzadell’entità Fornitore, “Stampante” è un’occorrenza

Page 14: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

14

Il costrutto di Relazione dell’entità Prodotto, e “Ricerca” è un’occorrenzadell’entità Dipartimento. In altre parole,il fornitoreRossi ha venduto una stampante al Dipartimentodi Ricerca.Un secondo esempio: si consideri il modello E-R diun’università. Tra le entità Studente e Corso sussistela relazione Esame. Quindi una possibile occorrenzadella relazione Esame è data dalla coppia (“LucaBianchi”, “Informatica”) dove “Luca Bianchi” è unaoccorrenza dell’entità Studente e “Informatica” èun’occorrenza dell’entità Corso. In altre parole loStudente Luca Bianchi ha sostenuto l’esamedi Informatica.

Page 15: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

15

Il costrutto di RelazioneLa rappresentazione grafica di una relazione,in uno schema di descrizione della realtà diinteresse, è un rombo contenente il nomeche identifica univocamente la relazione, ecollegato alle entità coinvolte.Ad esempio:

Studente CorsoEsame

Page 16: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

16

L’attributo di RelazioneL’attributo di relazione permette di descrivere una proprietà elementare di unarelazione, il cui valore varia da istanza aistanza. L’insieme dei valori ammissibili per unattributo prende il nome di dominiodell’attributo.Ad esempio la relazione Esame può avere come possibili attributiData e Voto. Il dominio dell’attributo Voto può esserel’insieme degli interi tra 18 e 30.

Attenzione! L’attributo di una relazione NON è una proprietàdelle entità coinvolte, ma è una proprietà del loro legame

Page 17: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

17

Un esempioLe due entità Studente e Corso sono legatedalla relazione Esame che ha Data e Votocome attributi.

Studente CorsoEsame

Data Voto

Ad esempio l’istanza (“Luca Bianchi”, “Informatica”) di Esame,ha 30 come valore dell’attributo Voto e “25/02/2008”come valore dell’attributo Data.

Page 18: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

18

La cardinalità delle relazioni

Data un’entità E coinvolta in una relazione R(di grado n qualsiasi), la cardinalitàpermette di esprimere il numero minimo m(cardinalità minima) e il numero massimo M(cardinalità massima) di istanze di R a cuiun’istanza di E può partecipare (è un vincolo!).Graficamente si ha:

E R ...(m,M)

Page 19: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

19

La cardinalità delle relazioni

Ad esempio, nel seguente schema E-R di una certaazienda, l’entità Impiegato è legata all’entità Progettotramite la relazione Assegnazione. Questo schemamodellizza il fatto che in un’azienda ogni impiegato ècoinvolto in qualche progetto. Un’istanza dellarelazione Assegnazione è una coppia (I, P), dove I èun’istanza dell’entità Impiegato e P un’istanzadell’entità Progetto.

AssegnazioneImpiegato Progetto(1,5) (0,50)

Page 20: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

20

La cardinalità delle relazioniIn altre parole, all’impiegato I è stato assegnato

il progetto P. Il fatto che il vincolo di cardinalità perl’entità Impiegato coinvolto nella relazioneAssegnazione sia (1,5), significa che un’istanza diImpiegato può partecipare da un minimo di 1 volta adun massimo di 5 volte ad un’istanza diAssegnazione. Con tale schema si vuole cioèmodellizzare il fatto che, nell’azienda in questione,ad un certo impiegato deve obbligatoriamenteessere assegnato almeno un progetto ma non glipossono essere assegnati più di 5 progetti.

Page 21: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

21

La cardinalità delle relazioni

Allo stesso modo possiamo dire che un’istanzadell’entità Progetto può partecipare da un minimo di0 volte ad un massimo di 50 volte ad un’istanzadi Assegnazione. Quindi un progetto può anche nonessere assegnato a nessun impiegato (ad esempio unprogetto lanciato da poco tempo) e non può essereassegnato a più di 50 impiegati.

Page 22: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

22

La cardinalità delle relazioni

Valori interessanti di cardinalità minima m: 0, significa che la partecipazione è opzionale 1, significa che la partecipazione è obbligatoria

Nello schema

AssegnazioneImpiegato Progetto(1,5) (0,50)

la partecipazione dell’entità Impiegato alla relazione Assegnazione èperciò obbligatoria, cioè un impiegato deve obbligatoriamente esserecoinvolto in un progetto. La partecipazione dell’entità Progetto allarelazione Assegnazione è invece opzionale, cioè un progetto può anchenon essere assegnato a nessun impiegato.

Page 23: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

23

La cardinalità delle relazioni

Valori interessanti di cardinalità massima M: 1, significa che le occorrenze dell’entitàpartecipano al più 1 volta alle occorrenze dellarelazione N, significa che le occorrenze dell’entitàpartecipano un qualsivoglia numero di volte alleoccorrenze della relazione

Page 24: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

24

La cardinalità delle relazioni

Nello schema

AssegnazioneImpiegato Progetto(1,1) (0,N)

l’entità Progetto può partecipare ad un numero qualsiasidi istanze di Assegnazione (non più limitato a 50 comenello schema precedente), cioè un progetto può essereassegnato ad un qualsivoglia numero di impiegati. L’entitàImpiegato può partecipare invece ad una sola istanzadella relazione Assegnazione e quindi un impiegatodell’azienda deve essere coinvolto in un solo progetto.

Page 25: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

25

La cardinalità delle relazioni

NOTA BENE: la coppia (0, N) perla cardinalità minima e massima diun’entità in una relazione èequivalente all’assenza di vincolodi cardinalità.

Page 26: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

26

Qualche esempio Il seguente schema E-R

ResidenzaPersona Città(0,N) (0,N)

potrebbe rappresentare uno schema concettualecompatibile con la realtà amministrativa italiana?NO, perché non è ammesso che una persona in Italiaabbia più città di residenza.

Page 27: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

27

Qualche esempioIl seguente schema E-R

ResidenzaPersona Città(0,1) (0,N)

potrebbe rappresentare uno schema concettualecompatibile con la realtà amministrativa italiana?SI’, se ammettiamo che non è necessario che laresidenza di un impiegato sia nota.

Page 28: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

28

Qualche esempioIl seguente schema E-R

ResidenzaPersona Città(1,1) (0,N)

potrebbe rappresentare uno schema concettualecompatibile con la realtà amministrativa italiana?SI’, perché in Italia la residenza deve essere notae unica. Quindi questo schema modellizza meglio delPrecedente la realtà amministrativa italiana.

Page 29: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

29

Classificazione delle relazioni binarie

Una relazione R tra due entità E1 ed E2 ,cioè binaria

RE1 E2(m1,M1) (m2,M2)

viene classificata, sulla base dei valori dellecardinalità massime M1 e M2, in: relazione “uno a uno” se M1= M2=1 relazione “uno a molti” se M1=1 e M2=Nrelazione “molti a molti” se M1=N e M2=N

Page 30: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

30

Classificazione delle relazioni binarie

Esempi di relazioni binarie “uno a uno”

DirezioneImpiegato Progetto(0,1) (1,1)

DocenzaProfessore Corso(1,1) (1,1)

Page 31: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

31

Classificazione delle relazioni binarie

Esempi di relazioni binarie “uno a molti”

NascitaStudente Città(1,1) (0,N)

UbicazioneComune Provincia(1,1) (1,N)

Page 32: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

32

Classificazione delle relazioni binarie

Esempi di relazioni binarie “molti a molti”

EsameStudente Corso(0,N) (0,N)

ScalataMontagna Alpinista(0,N) (1,N)

Page 33: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

33

Gli identificatori di entità

Un identificatore di entità permette dispecificare un insieme di proprietà cheidentificano univocamente le istanze dell’entità,in maniera tale che non possano esistere dueistanze dell’entità che assumono lostesso valore per l’insieme di proprietà checompongono l’identificatore.Nel seguito ci occuperemo solo diidentificatori interni, cioè di identificatoricomposti da attributi di entità.Su ogni entità di uno schema E-R deve esseredefinito almeno un identificatore.

Page 34: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

34

Gli identificatori di entità

Si consideri il seguente schema in cui l’entitàPersona ha i seguenti attributi: CodiceFiscale,Cognome, Nome, Residenza.

Persona

CodiceFiscaleCognome Nome

Residenza

L’identificatore per Persona può essereCodiceFiscale (un solo attributo)

Page 35: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

35

Gli identificatori di entità

Si consideri il seguente schema in cui l’entitàPersona ha i seguenti attributi: Cognome,Nome, DataNascita, Residenza.

L’identificatore per Persona può essere(Cognome,Nome,Data di Nascita) (treattributi)

Persona

CognomeNome DataNascita

Residenza

Page 36: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

36

Gli identificatori di entità

Si consideri il seguente schema in cui l’entitàAutomobile ha i seguenti attributi: Targa,Modello, Colore.

Automobile

Targa Modello Colore

L’identificatore per Automobile può essereTarga (un solo attributo)

Page 37: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

37

Gli identificatori di entità

NOTA BENE: per un’entità, l’insieme di tuttii suoi attributi costituisce banalmente unidentificatore in quanto si suppone che nonpossano esistere due occorrenzecompletamente coincidenti.

Page 38: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

38

Gli identificatori di entità

La rapresentazione grafica di unidentificatore composto da un solo attributoè l’annerimento del corrispondente pallino

Persona

CodiceFiscaleCognome Nome

Residenza

Page 39: 1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone.

39

Gli identificatori di entità

La rapresentazione grafica di unidentificatore composto da più attributiè una linea che unisce gli attributi e chetermina con un pallino annerito

Persona

CognomeNome Data di nascita

Residenza