Date post: | 01-May-2015 |
Category: |
Documents |
Upload: | eleonora-costantino |
View: | 212 times |
Download: | 0 times |
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
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.
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
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.
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
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
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
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”.
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
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
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
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.
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
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.
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
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
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.
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)
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)
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.
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.
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.
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
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.
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à.
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.
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.
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.
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
30
Classificazione delle relazioni binarie
Esempi di relazioni binarie “uno a uno”
DirezioneImpiegato Progetto(0,1) (1,1)
DocenzaProfessore Corso(1,1) (1,1)
31
Classificazione delle relazioni binarie
Esempi di relazioni binarie “uno a molti”
NascitaStudente Città(1,1) (0,N)
UbicazioneComune Provincia(1,1) (1,N)
32
Classificazione delle relazioni binarie
Esempi di relazioni binarie “molti a molti”
EsameStudente Corso(0,N) (0,N)
ScalataMontagna Alpinista(0,N) (1,N)
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.
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)
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
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)
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.
38
Gli identificatori di entità
La rapresentazione grafica di unidentificatore composto da un solo attributoè l’annerimento del corrispondente pallino
Persona
CodiceFiscaleCognome Nome
Residenza
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