C di B i di d ti 1 Corso di Basi di dati 1 2.1. Il modello Entita
Transcript
C di B i di d ti 1 Corso di Basi di dati 1 2.1. Il modello Entita
Corso di Basi C B i di dati d ti 1 2.1. Il modello Entita’ Relazione (72) Basics Basi di Dati Progettazione concettuale - 1 Costrutti fondamentali del modello Entità-Relazione 1. Entità 2. Attributi di entità 3. Relazioni 4. Attributi di relazione 5. IS-A e Generalizzazioni Basi di Dati Progettazione concettuale - 2 1 Il concetto di entità Una entità è una classe di oggetti (fatti, persone, cose) che: •sono di interesse p per l’applicazione, pp , •hanno esistenza autonoma, e che •hanno proprietà comuni Esempi: impiegato vendita dipartimento ordine città studente Basi di Dati Progettazione concettuale - 3 Rappresentazione grafica di entità Ogni entità ha nome che la identifica in modo univoco nello schema, ed è rappresentata graficamente da un rettangolo nel diagramma che descrive lo schema stesso Esempi: Impiegato Dipartimento Città Acquisto Basi di Dati Progettazione concettuale - 4 2 Entità e istanze d’entità • Una entità (nello schema concettuale S) denota un insieme (o classe) di oggetti gg “simili” • Una istanza dell’entità (in una istanza di S) denota un oggetto dell’insieme rappresentato dall’entità Nota: nello schema concettuale rappresentiamo le entità, non le singole istanze (“astrazione”) Basi di Dati Progettazione concettuale - 5 Entità, commenti • Ogni entità ha un nome che la identifica univocamente nello schema: – Nomi espressivi (es. Impiegato e non Imp o I05) – Nomi singolari Basi di Dati Progettazione concettuale - 6 3 Esempio • Vogliamo rappresentare in uno schema Entita’ Relazione diversi aspetti della vita universitaria: – Gli studenti, suddivisi in due gruppi, quelli della laurea breve e quelli della qu a laurea aur a specialistica. p c a t ca. – I professori, suddivisi in professori associati e professori ordinari – Il personale amministrativo ed il personale tecnico • Come rappresentiamo questi aspetti? Con quanti concetti? Studente Laurea breve Studente Laurea spec. Professore associato Amministrativo Basi di Dati Professore ordinario Tecnico Progettazione concettuale - 7 Il concetto di attributo di entità • Un attributo di entità è una proprietà locale di un’entità, di interesse ai fini dell’applicazione, cioe’ una proprieta cioe proprieta’ il cui valore in ogni istanza della entita’ dipende solamente dall’istanza della entita’, e non da altri elementi dello schema • Ad esempio Eta’ del professore dipende solo dal singolo g professore. p • Il valore dell’ attributo appartiene a un dominio, detto dominio dell’attributo (es. intero, enumerato, ecc.). Es. per Eta’ il dominio [0,120] Basi di Dati Progettazione concettuale - 8 4 Rappresentazione grafica di attributo Ogni attributo di entità ha nome che lo identifica in modo univoco nell’ambito della entità, ed è rappresentato d un cerchio da hi collegato ll t alla ll entità tità a cuii appartiene. ti Esempi: Cognome Età Stipendio Impiegato Basi di Dati Progettazione concettuale - 9 Esempio • Se nel nostro schema della universita’ vogliamo rappresentare per gli studenti della laurea breve e della p il nome,, cognome, g , matricola,, data di laurea specialistica nascita e comune di residenza, come facciamo? Studente Laurea breve Studente Laurea spec. Basi di Dati Progettazione concettuale - 10 5 Esempio • Se nel nostro schema della universita’ vogliamo rappresentare per gli studenti della laurea breve e della laurea specialistica p il nome,, cognome, g , matricola,, data di nascita e comune di residenza, come facciamo? Studente Laurea breve Nome Cognome Data nascita Comune residenza Studente Laurea spec. Nome Cognome Data nascita Comune residenza Basi di Dati Progettazione concettuale - 11 Esempio • Potremmo rappresentare la stessa realta’ con una sola entita’? Se si, come? Nome Cognome Data nascita Studente Laurea breve Comune residenza Nome Cognome Data nascita Studente Laurea spec. Comune residenza Studente universitario Basi di Dati Nome Cognome Data nascita Comune residenza Tipo laurea Progettazione concettuale - 12 6 Esercizio 1 • E se vogliamo rappresentare tutti gli studenti di tutte le universita’ italiane N Nome Cognome Studente universitario Data nascita Comune residenza Tipo laurea Nome Cognome Studente universitario Data nascita Comune residenza Tipo laurea Universita’ Basi di Dati Progettazione concettuale - 13 Il concetto di relazione Una relazione (o associazione) si definisce su due o più entità, e rappresenta un legame logico fra tali entità Il numero di entità coinvolte in una entità. relazione determina il suo grado (2,3,4, …) Esempi Residenza (tra Persona e Città), con grado 2 Afferenza (tra Impiegato e Dipartimento), con grado 2 Basi di Dati Progettazione concettuale - 14 7 Sintassi: rappresentazione grafica di relazione Ogni relazione ha un nome che la identifica in modo univoco nello schema, ed è rappresentata nel diagramma che descrive lo schema da un rombo collegato alle entità sulle quali è definita la relazione Esempio di relazione di grado 2 (relazione binaria): Cognome Nome Età Studente EsameSuperato Basi di Dati Crediti Corso Progettazione concettuale - 15 Notazione • Nel libro di Atzeni et al. le relazioni sono chiamate relationship (per non confonderle con le relazioni nel modello relazionale)) Basi di Dati Progettazione concettuale - 16 8 Relazione a livello di istanze (S1,C1) (S2,C2) S1 S3 S2 S4 (S2,C3) (S3 C3) (S3,C3) C4 C1 C2 C3 EsameSuperato Corso Studente Basi di Dati Progettazione concettuale - 17 Relazione, commenti • Ogni relationship ha un nome che la identifica univocamente nello schema: – nomi espressivi – opportune convenzioni • singolare • sostantivi invece che verbi (se possibile e naturale) • Es: Supera Æ Esame Superato Basi di Dati Progettazione concettuale - 18 9 Due entità possono essere coinvolte in più relazioni Esempio: Sede di lavoro Impiegato Residenza Città “Sede di Lavoro” e “Residenza” rappresentano due legami diversi tra le stesse entità “Impiegato” e “Città” Basi di Dati Progettazione concettuale - 19 Esercizio Come possiamo rappresentare, tra studenti e corsi, i due legami logici di: •corso corso che frequenta quest quest’anno anno •e corso frequentato negli anni scorsi ? Frequentato In passato Studente Frequenta Basi di Dati Corso Progettazione concettuale - 20 10 Il concetto di attributo di relazione • Un attributo di relazione è una proprietà locale di una relazione, di interesse ai fini dell’applicazione • Un attributo della relazione R tra le entita E1,E2,…,En modella una proprietà non di E1, non di E2,…, non di En, ma del legame logico tra E1,E2,…,En rappresentato da R • Un attributo di relazione e’ una funzione che associa ad ogni istanza di relazione un valore appartenente ad un insieme detto dominio dell’attributo Basi di Dati Progettazione concettuale - 21 Sintassi: rappresentazione grafica di attributo di relazione Ogni attributo di relazione ha un nome che lo identifica in modo univoco nell’ambito della relazione, ed è rappresentato t t d da un cerchio hi collegato ll t alla ll relazione l i a cuii appartiene. Esempio Cognome Età Studente Voto EsameSuperato Basi di Dati Nome Crediti Corso Progettazione concettuale - 22 11 Esercizio 1: un semplice schema concettuale Descrivere lo schema concettuale della seguente realtà: I docenti hanno un codice fiscale ed una età. I docenti operano nei corsi di laurea (si dice che afferiscono ai corsi di laurea). Interessa l’ afferenza dei docenti ai corsi di laurea, con la relativa data di inizio. I corsi di laurea hanno un codice ed un nome, ed appartengono alle facoltà. Ogni facoltà ha un nome. Basi di Dati Progettazione concettuale - 23 Scelta delle entita’ I docenti hanno un codice fiscale ed una età. I docenti operano nei corsi di laurea (si dice che afferiscono ai corsi di laurea). Interessa l’ afferenza dei docenti ai corsi di laurea, con la relativa data di inizio. I corsi di laurea hanno un codice ed un nome, ed appartengono alle facoltà. Ogni g facoltà ha un nome e un preside. p Basi di Dati Progettazione concettuale - 24 12 Esercizio 1: soluzione CodiceFiscale Nome Età Docente Codice CorsoDiLaurea Nome Preside Basi di Dati Facoltà Progettazione concettuale - 25 Scelta delle relazioni I docenti hanno un codice fiscale ed una età. I docenti operano nei corsi di laurea (si dice che afferiscono ai corsi di laurea). Interessa l’ afferenza dei docenti ai corsi di laurea, con la relativa data di inizio. I corsi di laurea hanno un codice ed un nome, ed appartengono alle facoltà. Ogni facoltà ha un nome e un preside. Basi di Dati Progettazione concettuale - 26 13 Esercizio 1: soluzione Nome CodiceFiscale Età Docente Afferenza Codice CorsoDiLaurea Appartenenza Nome Preside Basi di Dati Facoltà Progettazione concettuale - 27 Scelta degli attributi di relazioni I docenti hanno un codice fiscale ed una età. I docenti operano nei corsi di laurea (si dice che afferiscono ai corsi di laurea). Interessa l’ afferenza dei docenti ai corsi di laurea, con la relativa data di inizio. I corsi di laurea hanno un codice ed un nome, ed appartengono alle facoltà. Ogni facoltà ha un nome e un preside. Basi di Dati Progettazione concettuale - 28 14 Esercizio 1: soluzione CodiceFiscale Età Docente Nome Data Afferenza Codice CorsoDiLaurea Appartenenza Nome Facoltà Preside Basi di Dati Progettazione concettuale - 29 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 Basi di Dati Progettazione concettuale - 30 15 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à Nascita Persona Nome Città Nome Codice Basi di Dati Regione Progettazione concettuale - 31 Scelta tra entità e attributo Le scelte possono cambiare durante l’analisi. Esempio: Cognome Codice CittàNascita Nome Persona Budget Dipartimento Interessa anche la città in cui ha sede un dipartimento Persona Nascita Cognome Codice Città Nome Basi di Dati Sede Dipartimento Nome Budget Progettazione concettuale - 32 16 Scelta tra entità e relazione Un concetto verrà modellato come • una entità – se le sue istanze sono concettualmente significative g 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 Basi di Dati Progettazione concettuale - 33 Relazione (o legame) Is-A (o ISA) tra entita’ Basi di Dati Progettazione concettuale - 34 17 Relazione ISA tra entità • Fino ad ora non abbiamo detto nulla sul fatto se due entità possano o no avere istanze in comune • E’ E facile verificare che, che in molti contesti, contesti può accadere che tra due classi rappresentate da due entità nello schema concettuale sussista la relazione IS-A (o relazione di sottoinsieme), e cioè che ogni istanza di una sia anche istanza dell’altra. (Es. Studente, Studente della laurea breve) • La relazione IS-A nel modello ER si può definire tra due entità, che si dicono “entità padre” ed “entità figlia” (o sottoentità, cioè quella che rappresenta un sottoinsieme della entità padre) (Es Studente e’ entita’ padre di Studente della laurea breve) Basi di Dati Progettazione concettuale - 35 Sintassi: rappresentazione grafica della relazione IS-A tra entità La relazione ISA si rappresenta nel diagramma dello schema concettuale mediante una freccia dalla sottoentità alla entità padre Esempio Persona Si dice che Studente è in relazione IS-A con Persona o Persona, o, in alternativa, che Studente IS-A Persona Studente Basi di Dati Progettazione concettuale - 36 18 Ereditarietà su entità nel modello ER Principio di ereditarietà: ogni proprietà dell’entità padre (attributo, relazione, ecc.) è anche una proprietà della sottoentità, e non si riporta esplicitamente nel diagramma. L’entità L entità figlia può avere ovviamente ulteriori proprietà Dal fatto che 1. Ogni istanza di Persona ha una Età 2. Ogni istanza di Studente è istanza di Persona g logicamente g che segue 3. Ogni istanza di Studente ha una Età Cognome Età Persona Cognome, Età ereditati da Persona, Matricola ulteriore proprietà Studente Matricola Basi di Dati Progettazione concettuale - 37 Generalizzazione tra entita’ Basi di Dati Progettazione concettuale - 38 19 Generalizzazione tra entità Finora, abbiamo considerato la relazione ISA che stabilisce che l’entità padre è più generale della sottoentità. sottoentità Talvolta, Talvolta però, però ll’entità entità padre può generalizzare diverse sottoentità rispetto ad un unico criterio. In questo caso si parla di generalizzazione. Basi di Dati Progettazione concettuale - 39 Rappresentazione della generalizzazione La generalizzazione si indica collegando mediante un arco le sottoentità, e collegando con una freccia tale arco alla entità padre. Esempio Entità padre Persona Sottoentit à Sottoentit à Uomo Donna Basi di Dati Progettazione concettuale - 40 20 Tipi di generalizzazione tra entità Una generalizzazione può essere di due tipi: • Completa: l’unione delle istanze delle sottoentità tt tità è uguale l all’insieme ll’i i delle d ll istanze dell’entità padre • Non completa Basi di Dati Progettazione concettuale - 41 Esempio di generalizzazione completa La generalizzazione si indica collegando mediante un arco le sottoentità, e collegando con una freccia tale arco alla entità padre. La freccia è annerita se la generalizzazione è completa. Esempio Generalizzazion e completa Entità padre Persona Sottoentit à Sottoentit à Uomo Donna Basi di Dati Progettazione concettuale - 42 21 Esempio di generalizzazione non completa La freccia non è annerita se la generalizzazione non è completa. Facciamo l’esempio delle persone che operano alla universita’. E Esempio i Generalizzazione non completa, perche’ ci sono anche i non docenti Entità padre Persona Sottoentit à Sottoentit à Studente Docente Basi di Dati Progettazione concettuale - 43 Generalizzazioni ed ereditarietà Il principio di ereditarietà vale anche per le generalizzazioni: ogni proprietà dell’entità padre è anche una proprietà della sottoentità, e non si riporta esplicitamente nel diagramma. L’entità figlia può avere ovviamente ulteriori proprietà. Cognome Età Persona Nome Sede Regione Città Codice Studente Docente Insegna Corso Matricola Basi di Dati Progettazione concettuale - 44 22 Diverse generalizzazioni della stessa classe La stessa entità può essere padre in diverse generalizzazioni Persona Uomo Donna Impiegato Studente Concettualmente, non c’è alcuna correlazione tra due generalizzazioni diverse, perchè rispondono a due criteri diversi di classificare le istanze della entità padre Basi di Dati Progettazione concettuale - 45 Differenza tra due is-a e una generalizzazione Persona Uomo Donna Impiegato Le due sottoclassi derivano da uno stesso criterio di classificazione delle istanze della superclasse Sportivo Le due sottoentità sono indipendenti, nel senso che il loro significato non deriva dallo stesso criterio di classificazione delle istanze della entità padre Basi di Dati Progettazione concettuale - 46 23 Fine ora 2 sul modello ER Basi di Dati Progettazione concettuale - 47 Cardinalita’ C d l ’ delle d ll entita’’ nelle relazioni Basi di Dati Progettazione concettuale - 48 24 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 all giorno? i ? Quanti piedi avete? Basi di Dati Progettazione concettuale - 49 Cardinalità (minima e massima): definizione Un vincolo di cardinalità tra una entita’ E e una relazione R esprime un limite minimo (cardinalita’ minim ) ed minima) d un n limit limite m massimo ssim (cardinalita ( din lit ’ 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’ R E 2 e1 e2 Basi di Dati 1 Progettazione concettuale - 50 25 Esempio di vincolo di cardinalità • Ad ogni impiegato sono assegnati da 1 a 5 progetti • Ogni progetto è assegnato ad al più 50 impiegati (1,5) Impiegato (0,50) Progetto Assegnazione 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) } Basi di Dati Progettazione concettuale - 51 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 (1,5) Impiegato (0,50) Assegnazione Progetto Istanza: istanze(Impiegato) = { a,b,c } a,b,c compaionono in almeno una istanza di Assegnazione istanze(Progetto) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } Basi di Dati Progettazione concettuale - 52 26 Esempio di vincolo di cardinalità: cardinalita’ minima di Progetto in Assegnaz. • Ad ogni impiegato sono assegnati da 1 a 5 progetti • Ogni progetto è assegnato ad al più 50 impiegati (1,5) Impiegato (0,50) Progetto Assegnazione Istanza: istanze(Impiegato) = { a,b,c } X non compare nelle istanze di Assegnazione istanze(Progetto) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } Basi di Dati Progettazione concettuale - 53 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 (1,5) Impiegato (0,50) Assegnazione Basi di Dati Progetto Progettazione concettuale - 54 27 Esempio di vincolo di cardinalità: cardinalita’ massima di Progetto in Assegnaz. • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato al più a 50 impiegati (1,5) Impiegato (0,50) Assegnazione Progetto • Inoltre, ci sono progetti (ad esempio lanciati da poco t tempo) ) che h possono non essere assegnati ti a nessun impiegato Basi di Dati Progettazione concettuale - 55 Cardinalità maggiormente utilizzate per la cardinalita’ minima • Le cardinalità di interesse sono tipicamente due: 0, 1. • Per la cardinalità minima: • 0 significa “partecipazione opzionale” • 1 significa “partecipazione obbligatoria” (1,5) Impiegato (0,50) Assegnazione Progetto C’e’ qualche Progetto senza impiegati Tutti gli impiegati sono in almeno un progetto Basi di Dati Progettazione concettuale - 56 28 Cardinalità maggiormente utilizzate per la cardinalita’ massima • Le cardinalità di interesse sono tipicamente due: 1, n. • Per la cardinalità massima: • 1 significa: significa “le le istanze della entità partecipano al più una volta sola alla relazione” • n significa: “le istanze l’entità partecipa un numero qualsiasi di volte alla relazione” Basi di Dati Progettazione concettuale - 57 Cardinalità maggiormente utilizzate per la cardinalita’ massima Nuovo esempio (diverso dal precedente) Gli impiegati sono sempre assegnati a uno ed un solo Progetto, g i progetti p g hanno tanti impiegati p g assegnati, g ve ne possono essere senza nessun impiegato assegnato (1,1) Impiegato (0,n) Assegnazione Basi di Dati Progetto Progettazione concettuale - 58 29 Cardinalità maggiormente utilizzate • La non presenza del vincolo di cardinalità è equivalente alla coppia (0,n) (1,1) Impiegato (0,n) Assegnazione Progetto Basi di Dati Progettazione concettuale - 59 Esempi di vincolo di cardinalità, quali o quale dei vincoli sono compatibili con la realta’ amministrativa italiana? Studente (0,1) Studente (0,n) Residenza (1,1) Studente Città Residenza Si, se dalle specifiche Città si evince che di alcuni studenti non interessa la residenza (0,n) Residenza Basi di Dati Si, se non abbiamo Città altre informazioni Progettazione concettuale - 60 30 Classificazione di relazioni binarie • Discutiamo la cardinalità massime nelle relazioni binarie (le uniche che conosciamo fino a questo punto) • Con riferimento alle cardinalità massime, si dice anche, a seconda dei valori possibili delle cardinalita’ massime, che le relazioni binarie possono essere di tipo: – uno a uno Æ cardinalita’ massime delle due entita’ coinvolte <1 e 1> – uno a molti Æ cardinalita’ massime delle due entita’ coinvolte <1 e n> – molti a molti Æ cardinalita’ massime delle due entita’ coinvolte <n e n> Basi di Dati Progettazione concettuale - 61 Relazioni binarie “uno a uno” (0,1) Ordine (1,1) (1,1) Professore (0,1) Corso Docenza (0,1) Impiegato Fattura Vendita (1,1) Direzione Progetto Basi di Dati Progettazione concettuale - 62 31 Relazioni binarie “uno a molti” (0,1) Persona (1,n) Azienda Impiego (1,1) Persona (0,n) Città Nascita (1,1) Comune (1,n) Ubicazione Basi di Dati Provincia Progettazione concettuale - 63 Relazioni binarie “molti a molti” (0,n) Studente (0,n) Corso Esame (0,n) Montagna (1,n) Scalata Alpinista (1,n) Macchinista (1,n) Abilitazione Basi di Dati Locomotore Progettazione concettuale - 64 32 Approfondimenti Basi di Dati Progettazione concettuale - 65 Ereditarietà della relazione ISA: transitività Principio di ereditarietà: anche la relazione ISA si eredita. Questo conferma che la relazione ISA è transitiva (oltre a essere riflessiva) Cognome g Dal fatto che 1. Ogni istanza di Studente è una istanza di Persona 2. Ogni istanza diFuoriCorso è una istanza di Studente segue logicamente che 3. Ogni istanza di FuoriCorso è una istanza di Persona Età Persona Matricola Studente AnnoFC FuoriCorso Basi di Dati Progettazione concettuale - 66 33 Spostati nella parte esercitazioni Basi di Dati Progettazione concettuale - 67 Esercizio 2: schema concettuale Descrivere lo schema concettuale della seguente realtà: Degli impiegati interessa il codice fiscale fiscale, il nome nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dei dipartimenti p interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Delle città interessa il nome e la regione. Basi di Dati Progettazione concettuale - 68 34 Troviamo le entita’ Descrivere lo schema concettuale della seguente realtà: Degli impiegati interessa il codice fiscale fiscale, il nome nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dei dipartimenti p interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Delle città interessa il nome e la regione. Basi di Dati Progettazione concettuale - 69 Esercizio 2: schema concettuale Impiegati - Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Progetti - Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dipartimenti - Dei dipartimenti interessa il nome nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Citta’ - Delle città interessa il nome e la regione. Basi di Dati Progettazione concettuale - 70 35 Esercizio 2: soluzione Nome Cognome Nome Tel Impiegato Dipartimento p CodiceFiscale Progetto Progetto Budget Città Nome Regione Basi di Dati Nome Progettazione concettuale - 71 Troviamo le relazioni Impiegati - Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Progetti - Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dipartimenti Di ti ti - Dei D i di dipartimenti ti ti iinteressa t il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Citta’ - Delle città interessa il nome e la regione. Basi di Dati Progettazione concettuale - 72 36 Esercizio 2: soluzione Nome Cognome Nome Tel Direzione Impiegato Dipartimento p Afferenza CodiceFiscale Sede Partecipazione Data Progetto Progetto Budget Luogo Nome Città Regione Basi di Dati Nome Progettazione concettuale - 73 Esercizio 3: relazione ISA e generalizzazioni CodFisc CodFisc Studente Lavoratore Salario Matricola Esenzione StudenteLavoratore Questo schema è scorretto Si può ristrutturare lo schema in modo che lo schema risultante sia corretto, e colga sostanzialmente lo stesso significato? Basi di Dati Progettazione concettuale - 74 37 Esercizio 3: soluzione 1 CodFisc StudenteOLavoratore StudenteNonLav Matricola StudenteLavoratore Matricola LavoratoreNonSt Esenzione Salario Salario Ogni eventuale sottoentità di Studente si spezzerà in una sottoentità di StudenteNonLav ed una sottoentità di StudenteLavoratore. Analogamente, ogni sottoentità di Lavoratore si spezzerà in una sottoentità di LavoratoreNonSt ed una sottoentità di StudenteLavoratore Basi di Dati Progettazione concettuale - 75 Esercizio 3: soluzione 2 CodFisc StudenteOLavoratore Studente Salario Matricola Esenzione StudenteLavoratore Salario Basi di Dati LavoratoreNonSt Ogni eventuale sottoentità di Lavoratore si spezzerà in una sottoentità di LavoratoreNonSt ed una sottoentità di StudenteLavoratore Progettazione concettuale - 76 38 Esercizio 3: soluzione 3 CodFisc StudenteOLavoratore Lavoratore Matricola Salario Esenzione LavoratoreStudente Matricola Basi di Dati StudenteNonLav Ogni eventuale sottoentità di Studente si spezzerà in una sottoentità di StudenteNonLav ed una sottoentità di LavoratoreStudente Progettazione concettuale - 77 39