Relazioni Relazione Associazione o legame logico esistente tra

  • Slides: 68
Download presentation
Relazioni • Relazione: Associazione o legame logico esistente tra due o più entità Socio

Relazioni • Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo

Grado di una relazione • Grado di una relazione: numero di entità partecipanti Socio

Grado di una relazione • Grado di una relazione: numero di entità partecipanti Socio Fornitore Prenota Fornitura Beneficiario Campo Prodotto Grado=2 Grado=3

Relazioni ricorsive • Una entità può essere in relazione con se stessa. In tal

Relazioni ricorsive • Una entità può essere in relazione con se stessa. In tal caso si utilizzano esplicitamente nomi di ruolo per chiarire la partecipazione » » » L’entità impiegato partecipa alla relazione sovrintende sia nel ruolo di responsabile che in quello di subordinato. Impiegato sovrintende responsabile subordinato

Un esempio di progetto • • 1. 2. 3. 4. Vogliamo progettare il modello

Un esempio di progetto • • 1. 2. 3. 4. Vogliamo progettare il modello E-R per un database di una azienda. Supponiamo di aver raccolto ed analizzato i requisiti in una fase precedente. I principali requisiti sono qui elencati: L’azienda è organizzata in dipartimenti. Ogni dipartimento ha un identificativo e un nome univoco; un impiegato gestisce il dipartimento. Il dipartimento può avere più sedi dislocate sul territorio. Un dipartimento gestisce un numero variabile di attività identificabili univocamente; ciascuna attività ha inoltre un nome e si svolge in un unico luogo. Per ciascun impiegato si desidera tenere traccia di varie informazioni anagrafiche. Si desidera tenere traccia dei rapporti gerarchici del personale. Da un punto di vista organizzativo ciascun impiegato è assegnato ad un dip. Può lavorare su vari progetti, non necessariamente gestiti dal suo dipartimento E’ necessario inoltre tenere traccia dei famigliari di ciascun dipendente per motivi fiscali.

Lo schema E-R del database aziendale N Ndip Lavora_in Nome Cognome Stip Impiegato Data_n

Lo schema E-R del database aziendale N Ndip Lavora_in Nome Cognome Stip Impiegato Data_n 1 1 CF Sedi Resp. Sovrintende 1 Subord. N Dipartimento 1 Dirige Indirizzo età Data_ini N 1 Lavora_su 1 Controlla M N imparentato N Nome_Dip Ore_lav Progetto Famigliare Sede Nprog Nome_Prog Nome Sesso N_data Grado_p

Vincoli strutturali sulle relazioni • • Le relazioni possono avere vincoli che limitano le

Vincoli strutturali sulle relazioni • • Le relazioni possono avere vincoli che limitano le combinazioni delle entità partecipanti. I vincoli dipendono dal contesto, cioè dalla realtà che la relazione rappresenta. 1. Cardinalità: specifica il numero di istanze di relazione cui le istanze di entità possono partecipare. 2. Partecipazione: specifica se l’esistenza di una istanze di entità dipende dal suo essere in relazione con un’altra istanze di entità.

Cardinalità E 1 E 1 Le cardinalità vengono espresse normalmente come 1: 1, 1:

Cardinalità E 1 E 1 Le cardinalità vengono espresse normalmente come 1: 1, 1: N, M: N. • 1: 1(uno a uno), alla relazione partecipa una singola istanze di entità per ciascuna delle 2 E 2 entità partecipanti • 1: N(uno a molti), alla relazione possono partecipare, per una singola istanze di entità di una delle entità partecipanti, svariate istanze dell’altra entità. E 2 • M: N(molti a molti), vale anche il viceversa della precedente definizione E 2

In un Dipartimento Cardinalità: possono lavorare svariati impiegati N 1 Ndip Lavora_in Nome 1

In un Dipartimento Cardinalità: possono lavorare svariati impiegati N 1 Ndip Lavora_in Nome 1 impiegato dirige 1 dip. Cognome Stip Impiegato Data_n 1 Impiegato Lavora in 1 solo Dipartimento 1 CF Resp. Sovrintende 1 Subord. N 1 Dipartimento 1 Dirige Indirizzo età Data_ini N Lavora_su 1 Controlla M N imparentato Ad 1 progetto possono lavorare svariati impiegati N Nome_Dip Ore_lav Progetto Famigliare Nprog Nome_Prog 1 impiegato può Nome Sesso N_data Grado_p lavorare su vari progetti Sede

Partecipazione • Si considerano due tipi di partecipazione: totale e parziale. – Partecipazione totale

Partecipazione • Si considerano due tipi di partecipazione: totale e parziale. – Partecipazione totale -> dipendenza esistenziale. Ogni occorrenza di entità partecipa alla relazione Es. : I requisiti dichiarano che un progetto (una Dipartimento occorrenza della entità Progetto) deve essere gestito da un dipartimento, altrimenti non ha senso che 1 Controlla esista. – Partecipazione parziale -> Una occorrenza di entità N può partecipare alla relazione. Progetto Es. : Un impiegato può essere direttore di un dipartimento, ma non necessariamente. Linea spessa: partecipazione totale

Osservazioni sulla notazione • Esistono notazioni alternative per la rappresentazione dei vincoli. • Si

Osservazioni sulla notazione • Esistono notazioni alternative per la rappresentazione dei vincoli. • Si possono rappresentare per ogni entità il numero minimo e massimo di entità partecipanti. N. b. (min=0 partecipazione parziale, min >0 Dipartimento partecipazione totale). (0, N) Controlla (1, 1) Progetto

Relazioni con grado > 2 • Possono esistere relazioni ternarie (>3 molto improbabili). •

Relazioni con grado > 2 • Possono esistere relazioni ternarie (>3 molto improbabili). • Molti sistemi reali non consentono di “mappare” relazioni con grado > 2. E’ pertanto necessario rappresentare la relazione ternaria utilizzando relazioni binarie. • Questa operazione però può causare perdita di informazione se non condotta con attenzione.

Relazioni con grado > 2 F_nome Quantità Fornitore Fornitura Beneficiario B_nome Id_prod Prodotto Id_prod

Relazioni con grado > 2 F_nome Quantità Fornitore Fornitura Beneficiario B_nome Id_prod Prodotto Id_prod F_nome Fornitore Quantità N 1 FF N SP Fornitura N 1 1 FB Beneficiario B_nome Prodotto

Gerarchie ISA • Rappresentano legami logici tra una entità E (padre) e una o

Gerarchie ISA • Rappresentano legami logici tra una entità E (padre) e una o più entità E 1, E 2, . . , EN (figli). Il padre è più generale dei figli che sono considerabili specializzazioni. ISA : IS-A -> “è un” Es. : Un liceale è uno studente; un universitario è uno studente. Impiegato Costo_orario Contrattista ISA Stip_annuo Dipendente

Gerarchie ISA • Generalizzazione totale ogni occorrenza della classe padre è una occorrenza di

Gerarchie ISA • Generalizzazione totale ogni occorrenza della classe padre è una occorrenza di almeno una delle figlie • Generalizzazione esclusiva ogni occorrenza della classe padre è al più una sola occorrenza di una classe figlia Persona Parziale e Persona Totale ed sovrapposta esclusiva ISA Lavoratore Studente Uomo Studente lavoratore Donna

Considerazioni sul modello E-R • Va costruito dopo una adeguata attività di raccolta di

Considerazioni sul modello E-R • Va costruito dopo una adeguata attività di raccolta di requisiti. • Consente una descrizione ad alto livello dei dati. • Aiuta a chiarire ulteriormente i requisiti • Consente di esplicitare numerosi vincoli • E’ soggettivo: numerose scelte sono possibili e vanno adeguatamente ponderate. • Se costruito in modo adeguato consente la mappatura immediata nel modello logico relazionale. N. b. E’ comunque necessario procedere a raffinamenti e verifiche (normalizzazione).

Progettazione concettuale • Riorganizzare tutti gli elementi per definire un modello astratto della base

Progettazione concettuale • Riorganizzare tutti gli elementi per definire un modello astratto della base di dati. • Il modello è un documento ufficiale – di riferimento per i committenti – di comunicazione verso i progettisti della fase successiva di progettazione logica.

Astrazione • Procedimento mentale che permette di – evidenziare alcune proprietà (significative) – escluderne

Astrazione • Procedimento mentale che permette di – evidenziare alcune proprietà (significative) – escluderne altre (non rilevanti) • Astrazione per – classificazione – aggregazione – generalizzazione

Astrazione per classificazione • Vengono individuate proprietà comuni in un insieme di oggetti, esistenti

Astrazione per classificazione • Vengono individuate proprietà comuni in un insieme di oggetti, esistenti nella realtà. • Il risultato è una classe di oggetti; ciascun oggetto è detto istanza o esemplare.

Astrazione per aggregazione • A partire da una o più classi si genera una

Astrazione per aggregazione • A partire da una o più classi si genera una nuova classe. • Le classi di partenza diventano componenti o proprietà della nuova classe. • Differenze: – Classificazione: si parte da un elenco di oggetti – Aggregazione: si parte da un elenco di classi – In entrambi i casi si arriva a produrre una nuova classe.

Aggregazione debole/stretta • Debole: gli elementi costitutivi e l’entità principale hanno vita propria ed

Aggregazione debole/stretta • Debole: gli elementi costitutivi e l’entità principale hanno vita propria ed esistono individualmente. Esempio: gli elementi di un computer come il processore, la memoria e il disco fisso possono esistere indipendentemente dalla loro presenza all’interno di un computer. In questo caso la relazione tra questi elementi è lasca. • Stretta: gli oggetti costitutivi non hanno vita propria, ma solo come elementi dell’entità contenitore. Esempio: l’entità Persona e l’entità Carta. Di. Identità. Una carta di identità svincolata da una persona fisica non ha senso, quindi l’aggregazione tra questi due elementi è di tipo stretto.

Aggregazione per generalizzazione • Una classe è definita come unione di un insieme di

Aggregazione per generalizzazione • Una classe è definita come unione di un insieme di classi. • Le generalizzazioni possono essere di due tipi: – Totale/Parziale. Quando ogni occorrenza dell’entità padre è un’occorrenza di almeno una delle entità figlie, la generalizzazione è considerata totale, altrimenti è parziale. – Esclusiva/Sovrapposta. Quando ogni occorrenza dell’entità padre è al massimo un’occorrenza di una delle entità figlie, altrimenti è sovrapposta.

Generalizzazioni • Per esempio: l’entità Persona è una generalizzazione delle entità Uomo e Donna

Generalizzazioni • Per esempio: l’entità Persona è una generalizzazione delle entità Uomo e Donna • Per esempio: Professionista è una generalizzazione delle entità Ingegnere, Medico e Avvocato • Vice versa: Uomo e Donna sono specializzazioni dell’entità Persone, … 22

Generalizzazione: un esempio Persone generalizzazione uomini donne

Generalizzazione: un esempio Persone generalizzazione uomini donne

Generalizzazioni • Generalizzazioni: rappresentano legami logici tra una entità E e una o più

Generalizzazioni • Generalizzazioni: rappresentano legami logici tra una entità E e una o più entità E 1, …, En – E: padre – E 1, …, En: figli – E è più generale rispetto a E 1, …, En, nel senso che le comprende come caso particolare – E è generalizzazione di E 1, …, En – E 1, …, En sono specializzazioni dell’entità E 24

Generalizzazioni • Ogni istanza di una entità figlia è anche un’ istanza dell’entità padre

Generalizzazioni • Ogni istanza di una entità figlia è anche un’ istanza dell’entità padre – Per esempio: un’ istanza dell’entità Avvocato è anche un’ istanza dell’entità Professionista 25

Generalizzazioni • Ogni proprietà dell’entità padre (attributi, identificatori, relazioni e altre generalizzazioni) è anche

Generalizzazioni • Ogni proprietà dell’entità padre (attributi, identificatori, relazioni e altre generalizzazioni) è anche una proprietà delle entità figlie – Per esempio: se l’entità Persona ha attributi Cognome ed Età, anche le entità Uomo e Donna possiedono questi attributi – Per esempio: l’identificatore di Persona è un identificatore valido anche per le entità Uomo e Donna (ereditarietà) 26

Generalizzazioni • Per entità figlie, le proprietà ereditate non vanno rappresentate esplicitamente Codice fiscale

Generalizzazioni • Per entità figlie, le proprietà ereditate non vanno rappresentate esplicitamente Codice fiscale Cognome Persona Età Uomo Donna Situazione militare 27

Generalizzazioni • classificazioni per le generalizzazioni: – – – Una generalizzazione è totale se

Generalizzazioni • classificazioni per le generalizzazioni: – – – Una generalizzazione è totale se ogni occorrenza della classe padre è una occorrenza di almeno una delle entità figlie, altrimenti è parziale La generalizzazione tra Persona e le entità Uomo e Donna è totale La generalizzazione tra Veicolo e le entità Automobile e Bicicletta e parziale Veicolo Automobile Bicicletta 28

Generalizzazioni • classificazioni per le generalizzazioni: – Una generalizzazione è esclusiva se ogni occorrenza

Generalizzazioni • classificazioni per le generalizzazioni: – Una generalizzazione è esclusiva se ogni occorrenza della classe padre è al più una occorrenza di una delle entità figlie, altrimenti è sovrapposta – La generalizzazione tra Veicolo e le entità Automobile e Bicicletta è esclusiva – La generalizzazione tra persona e le entità Studente e Lavoratore è sovrapposta 29

Generalizzazioni • Le generalizzazioni sovrapposte possono essere trasformate in generalizzazioni esclusive – Aggiungere una

Generalizzazioni • Le generalizzazioni sovrapposte possono essere trasformate in generalizzazioni esclusive – Aggiungere una o più entità figlie, per rappresentare i concetti che costituiscono le “intersezioni” delle entità che si sovrappongono – Per esempio: aggiungere l’entità Studente. Lavoratore 30

Generalizzazioni • Una stessa entità può essere coinvolta in più generalizzazione diverse • Posso

Generalizzazioni • Una stessa entità può essere coinvolta in più generalizzazione diverse • Posso esserci generalizzazioni su più livelli (una gerarchia) 31

Gerarchie ISA • Astrazioni per generalizzazione • Gerarchie ISA (is a) (è un)

Gerarchie ISA • Astrazioni per generalizzazione • Gerarchie ISA (is a) (è un)

Un esempio

Un esempio

Modello Entità-Relazione Costrutto Numero Nome Generalizzazione Costrutto base Nome (0, N) (1, 1) Appartenenza

Modello Entità-Relazione Costrutto Numero Nome Generalizzazione Costrutto base Nome (0, N) (1, 1) Appartenenza (0, 1) Composizione (1, 1) (1, N) Figlia Padre (0, N) (1, N) Entità Cardinalità minima Attributo Cardinalità massima Attributo composto Relazione (0, N) Cardinalità massima Partecipazione (2, N) Cardinalità minima 34

Lo schema E-R del database aziendale N Ndip Lavora_in Nome Cognome Stip Impiegato Data_n

Lo schema E-R del database aziendale N Ndip Lavora_in Nome Cognome Stip Impiegato Data_n 1 1 CF Sedi Resp. Sovrintende 1 Subord. N Dipartimento 1 Dirige Indirizzo età Data_ini N 1 Lavora_su 1 Controlla M N imparentato N Nome_Dip Ore_lav Progetto Famigliare Sede Nprog Nome_Prog Nome Sesso N_data Grado_p

Cardinalità e identificatori (0, 1) Codice (1, 1) Direzione Cognome Stipendio (1, N) Impiegato

Cardinalità e identificatori (0, 1) Codice (1, 1) Direzione Cognome Stipendio (1, N) Impiegato (0, 1) (0, N) Età Afferenza Data afferenza Partecipazione Nome Budget (0, 1) Data consegna (1, N) Telefono Dipartimento (1, 1) Nome Composizione Data inizio (1, N) Città Progetto Sede Indirizzo Numero civico Via CAP 36

Fine

Fine

Informatica Introduzione alle basi di dati

Informatica Introduzione alle basi di dati

Modello Entità-Relazione • Attributi: – Descrivono le proprietà elementari di entità o relazioni che

Modello Entità-Relazione • Attributi: – Descrivono le proprietà elementari di entità o relazioni che sono di interesse ai fini dell’applicazione – Per esempio: • Cognome, Stipendio e Età sono possibili attributi dell’entità Impiegato • Data e Voto sono possibili attributi della relazione Esame tra Studente e Corso 39

Modello Entità-Relazione • Attributi: – Un attributo associa a ciascuna occorrenza di entità o

Modello Entità-Relazione • Attributi: – Un attributo associa a ciascuna occorrenza di entità o di relazione un valore appartenente a il dominio del attributo • Dominio: i valori ammissibili per l’attributo 40

Modello Entità-Relazione • Attributi: Voto Data esame Matricola Studente Anno di iscrizione Nome Esame

Modello Entità-Relazione • Attributi: Voto Data esame Matricola Studente Anno di iscrizione Nome Esame Corso Anno di corso 41

Modello Entità-Relazione • Attributi composti: – Può risulta comodo raggruppare attributi che presentano affinità

Modello Entità-Relazione • Attributi composti: – Può risulta comodo raggruppare attributi che presentano affinità nel loro significato e uso – L’insieme di attributi che si ottiene in questa maniera viene detto attributo composto 42

Modello Entità-Relazione • Attributi composti: – Per esempio: raggruppare Via, Numero civico e CAP

Modello Entità-Relazione • Attributi composti: – Per esempio: raggruppare Via, Numero civico e CAP per formare l’attributo composto Indirizzo Nome Età Persona Sesso Via Indirizzo Numero civico CAP 43

Modello Entità-Relazione Direzione Codice Cognome Stipendio Telefono Impiegato Afferenza Dipartimento Nome Data afferenza Età

Modello Entità-Relazione Direzione Codice Cognome Stipendio Telefono Impiegato Afferenza Dipartimento Nome Data afferenza Età Partecipazione Nome Budget Composizione Data inizio Città Progetto Sede Indirizzo Data consegna Numero civico Via CAP 44

Altri costrutti: cardinalità • Cardinalità: – Vengono specificate per ciascuna partecipazione di entità a

Altri costrutti: cardinalità • Cardinalità: – Vengono specificate per ciascuna partecipazione di entità a una relazione – Descrivono il numero minimo e massimo di occorrenze di relazione cui una occorrenza dell’entità può partecipare • Cioè: quante volte, in una relazione tra entità, un’occorrenza di una di queste entità può essere legata a occorrenze delle altre entità coinvolte 45

Altri costrutti: cardinalità • Cardinalità: – Per esempio: relazione Assegnamento tra le entità Impiegato

Altri costrutti: cardinalità • Cardinalità: – Per esempio: relazione Assegnamento tra le entità Impiegato e Incarico – Impiegato (nel contesto della relazione Assegnamento): cardinalità minima=1, massima=5 • Un impiegato può partecipare a un minimo di una occorrenza e a un massimo di cinque occorrenze della relazione Assegnamento Impiegato (1, 5) Assegnamento (0, 50) Incarico 46

Altri costrutti: cardinalità • Cardinalità: – Incarico (nel contesto della relazione Assegnamento): cardinalità minima=0,

Altri costrutti: cardinalità • Cardinalità: – Incarico (nel contesto della relazione Assegnamento): cardinalità minima=0, massima=50 • Un certo incarico può partecipare o a nessuna occorrenza oppure a 50 occorrenza al massimo della relazione Assegnamento • Cioè: un certo incarico può non essere assegnato a nessun impiegato oppure può essere assegnato a un numero di impiegati <=50 Impiegato (1, 5) Assegnamento (0, 50) Incarico 47

Altri costrutti: cardinalità • Nella maggiore parte dei casi, è sufficiente utilizzare solo tre

Altri costrutti: cardinalità • Nella maggiore parte dei casi, è sufficiente utilizzare solo tre valore: – Zero – Uno – Il simbolo N: indica genericamente un intero maggiore di uno 48

Altri costrutti: cardinalità • Cardinalità massima - esempio 3: Turista (1, N) Prenotazione (0,

Altri costrutti: cardinalità • Cardinalità massima - esempio 3: Turista (1, N) Prenotazione (0, N) Viaggio – Cardinalità massima pari a N per entrambe le entità coinvolte – Relazione molti a molti 49

Altri costrutti: cardinalità • Cardinalità minima: – Zero: la partecipazione dell’entità relativa è opzionale

Altri costrutti: cardinalità • Cardinalità minima: – Zero: la partecipazione dell’entità relativa è opzionale – Uno: la partecipazione dell’entità relativa è obbligatoria 50

Altri costrutti: cardinalità • Cardinalità massima: – Uno: la partecipazione dell’entità relativa associa a

Altri costrutti: cardinalità • Cardinalità massima: – Uno: la partecipazione dell’entità relativa associa a una occorrenza dell’entità una sola occorrenza (o nessuna) dell’altra entità che partecipa alla relazione – Molti: c’è una associazione con un numero arbitrario di occorrenze dell’altra entità 51

Altri costrutti: cardinalità • Cardinalità massima - esempio 1: Persona (1, 1) Residenza (0,

Altri costrutti: cardinalità • Cardinalità massima - esempio 1: Persona (1, 1) Residenza (0, N) Città – Ogni persona può essere residente in una e una sola città – Ogni città può non avere residente oppure ha molti residenti – Relazione uno a molti 52

Altri costrutti: cardinalità • Cardinalità massima - esempio 2: Ordine (0, 1) Vendita (1,

Altri costrutti: cardinalità • Cardinalità massima - esempio 2: Ordine (0, 1) Vendita (1, 1) Fattura – Cardinalità massima pari a uno per entrambe le entità coinvolte: definisce una corrispondenza uno tra le occorrenze di tali entità – Relazione uno a uno 53

Altri costrutti: cardinalità • Cardinalità minime: partecipazione obbligatoria per tutte le entità coinvolte è

Altri costrutti: cardinalità • Cardinalità minime: partecipazione obbligatoria per tutte le entità coinvolte è raro – Perché quando si aggiunge una nuova occorrenza di entità, spesso non sono note (o non esistono) le corrispondenti occorrenze delle entità a essa collegate 54

Altri costrutti: cardinalità • Cardinalità degli attributi: – Possono essere specificate per gli attributi

Altri costrutti: cardinalità • Cardinalità degli attributi: – Possono essere specificate per gli attributi di entità o relazioni – Descrivono il numero minimo e massimo di valori dell’attributo associati a ogni occorrenza di entità o relazione – Nella maggior parte dei casi, la cardinalità di un attributo è (1, 1) (e viene omessa) 55

Altri costrutti: cardinalità • Cardinalità degli attributi: – Il valore per un certo attributo

Altri costrutti: cardinalità • Cardinalità degli attributi: – Il valore per un certo attributo può essere nullo: minimo della cardinalità=0 – Possono esistere diversi valori di un certo attributo per una occorrenza: massimo della cardinalità=N (0, N) Targa automobile Persona Cognome (0, 1) Numero patente 56

Altri costrutti: cardinalità • Cardinalità degli attributi: – Cardinalità minima=0: l’attributo è opzionale (l’informazione

Altri costrutti: cardinalità • Cardinalità degli attributi: – Cardinalità minima=0: l’attributo è opzionale (l’informazione potrebbe essere non disponibile) – Cardinalità minima=1: l’attributo è obbligatorio – Cardinalità massima=N: l’attributo è multivalore 57

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Descrivono i concetti (attributi

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Descrivono i concetti (attributi e/o entità) che permettono di identificare univocamente le occorrenza delle entità – In molti casi, uno o più attributi di una entità sono sufficienti a individuare un identificatore • Un identificatore interno (o chiave) 58

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Per esempio: non possono

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Per esempio: non possono esistere due automobili con la stessa targa – Targa può essere un identificatore interno per l’entità Automobile Targa Automobile Modello Colore 59

Altri costrutti: identificatori delle entità • Identificatori delle entità: – L’entità Persona con gli

Altri costrutti: identificatori delle entità • Identificatori delle entità: – L’entità Persona con gli attributi Nome, Cognome, Indirizzo e Data di nascita – Un identificatore interno per Persona può essere Nome, Cognome e Data di nascita Persona Cognome Nome Indirizzo 60

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Alcune volte gli attributi

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Alcune volte gli attributi di una entità non sono sufficienti a identificare univocamente le sue occorrenze Matricola Anno iscrizione Cognome Nome Studente Università Iscrizione (1, 1) (1, N) Città Indirizzo 61

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Due studenti iscritti a

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Due studenti iscritti a università diverse possono avere lo stesso numero di matricola – Per identificare univocamente uno studente serve, oltre al numero di matricola, anche la relativa università Matricola Anno iscrizione Cognome Nome Studente Università Iscrizione (1, 1) (1, N) Città Indirizzo 62

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Un identificatore corretto per

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Un identificatore corretto per l’entità studente è costituito dall’attributo Matricola e dall’entità Università – Questa identificazione è resa possibile dalla relazione Iscrizione tra Studente e Università Matricola Anno iscrizione Cognome Nome Studente Università Iscrizione (1, 1) (1, N) Città Indirizzo 63

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Una entità E può

Altri costrutti: identificatori delle entità • Identificatori delle entità: – Una entità E può essere identificata da altre entità solo se tali entità sono coinvolte in una relazione cui E partecipa con cardinalità (1, 1) – Identificatore esterno: quando l’identificazione di una entità è ottenuta utlizzando altre entità 64

Altri costrutti: identificatori delle entità • Identificatori delle entità: considerazione generali – Un identificatore

Altri costrutti: identificatori delle entità • Identificatori delle entità: considerazione generali – Un identificatore può coinvolgere uno o più attributi, ognuno dei quali deve avere cardinalità (1, 1) – Una identificazione esterna può coinvolgere una o più entita, ognuna delle quali deve essere membro di una relazione alla quale l’entità da identificare partecipa con cardinalità (1, 1) 65

Altri costrutti: identificatori delle entità • Identificatori delle entità: considerazione generali – Una identificazione

Altri costrutti: identificatori delle entità • Identificatori delle entità: considerazione generali – Una identificazione esterna può coinvolgere una entità che è a sua volta identificata esternamente, purché non vengano generati cicli di identificazione esterne – Ogni entità deve avere almeno un identificatore, ma ne avere in generale più di uno 66

Cardinalità e identificatori (0, 1) Codice (1, 1) Direzione Cognome Stipendio (1, N) Impiegato

Cardinalità e identificatori (0, 1) Codice (1, 1) Direzione Cognome Stipendio (1, N) Impiegato (0, 1) (0, N) Età Afferenza Data afferenza Partecipazione Nome Budget (0, 1) Data consegna (1, N) Telefono Dipartimento (1, 1) Nome Composizione Data inizio (1, N) Città Progetto Sede Indirizzo Numero civico Via CAP 67

Fine

Fine