Università Magna Graecia di Catanzaro Informatica Modello Entità-Relazione (E-R) Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730
Lucidi tratti da: Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 6: Progettazione di basi di dati: Metodologie e modelli
Modello Entity-Relationship (Entità-Relazione) Il più diffuso modello concettuale Ne esistono molte versioni, (più o meno) diverse l una dall altra 3
I costrutti del modello E-R Entità Relationship Attributo Identificatore Generalizzazione. 4
Entità Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Esempi: impiegato, città, conto corrente, ordine, fattura 5
Relationship Legame logico fra due o più entità, rilevante nell applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) 6
Uno schema E-R, graficamente Studente Esame Corso 7
Entità Classe di oggetti (fatti, persone, cose) della applicazione di interesse con proprietà comuni e con esistenza autonoma Esempi: impiegato, città, conto corrente, ordine, fattura 8
Entità: schema e istanza Entità: classe di oggetti, persone, "omogenei" Occorrenza (o istanza) di entità: elemento della classe (l'oggetto, la persona,, non i dati) nello schema concettuale rappresentiamo le entità, non le singole istanze ( astrazione ) 9
Rappresentazione grafica di entità Impiegato Dipartimento Città Vendita 10
Entità, commenti Ogni entità ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare 11
Relationship Legame logico fra due o più entità, rilevante nell applicazione di interesse Esempi: Residenza (fra persona e città) Esame (fra studente e corso) Chiamata anche: relazione, correlazione, associazione 12
Rappresentazione grafica di relationship Studente Esame Corso Impiegato Residenza Città 13
Relationship, commenti Ogni relationship ha un nome che la identifica univocamente nello schema: nomi espressivi opportune convenzioni singolare sostantivi invece che verbi (se possibile) 14
Relationship corrette? Studente Esame Corso Paziente Visita Medico 15
Due relationship sulle stesse entità Sede di lavoro Impiegato Residenza Città 16
Relationship ricorsiva: coinvolge due volte la stessa entità Conoscenza Persona 17
Relationship ricorsiva con ruoli Successione Successore Sovrano Predecessore 18
Attributo Proprietà elementare di un entità o di una relationship, di interesse ai fini dell applicazione Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio dell attributo 19
Attributi, rappresentazione grafica Cognome Nome Data Voto Titolo Studente Esame Corso Matricola Codice 20
Attributi composti Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro significato o uso Esempio: Via, Numero civico e CAP formano un Indirizzo 21
Rappresentazione grafica Cognome Impiegato Età Indirizzo Via Numero CAP 22
Cognome Impiegato Codice Partecipazione Direzione Afferenza Data Telefono Dipartimento Nome Composizione Budget Progetto Nome Via CAP Indirizzo Sede Città 23
Altri costrutti del modello E-R Cardinalità di relationship di attributo Identificatore interno esterno Generalizzazione 24
Cardinalità di relationship Coppia di valori associati a ogni entità che partecipa a una relationship specificano il numero minimo e massimo di occorrenze delle relationship cui ciascuna occorrenza di una entità può partecipare 25
Esempi di occorrenze E1 S3 S1 S2 E2 E3 C1 C2 S4 E4 C3 Studente Corso 26
Relationship, occorrenze Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute 27
Esempio di cardinalità (1,5) (0,50) Impiegato Assegnamento Incarico 28
per semplicità usiamo solo tre simboli: 0 e 1 per la cardinalità minima: 0 = partecipazione opzionale 1 = partecipazione obbligatoria 1 e N per la massima: N non pone alcun limite 29
Occorrenze di Residenza S1 R1 C1 S3 S2 R2 C2 S4 Studente R3 R4 C4 C3 Città 30
Cardinalità di Residenza Studente (1,1) (0,N) Residenza Città 31
Tipi di relationship Con riferimento alle cardinalità massime, abbiamo relationship: uno a uno uno a molti molti a molti 32
Relationship molti a molti Studente (0,N) Esame (0,N) Corso Montagna (0,N) Scalata (1,N) Alpinista Macchinista (1,N) Abilitazione (1,N) Locomotore 33
Relationship uno a molti (0,1) (0,N) Persona Impiego Azienda Cinema (1,1) (0,N) Ubicazione Località Comune (1,1) (1,N) Ubicazione Provincia 34
Relationship uno a uno (0,1) (0,1) Professore Titolarità Cattedra Professore di ruolo (1,1) (0,1) Titolarità Cattedra Professore di ruolo (1,1) (1,1) Titolarità Cattedra coperta 35
Identificatore di una entità strumento per l identificazione univoca delle occorrenze di un entità costituito da: attributi dell entità identificatore interno (attributi +) entità esterne attraverso relationship identificatore esterno 36
Identificatori interni Targa Automobile Modello Data Nascita Persona Cognome Indirizzo Nome 37
Identificatore esterno Cognome Matricola Nome Studente (1,1) (0,N) Iscrizione Università Anno di corso Indirizzo 38
Alcune osservazioni ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno una identificazione esterna è possibile solo attraverso una relationship a cui l entità da identificare partecipa con cardinalità (1,1) perché non parliamo degli identificatori delle relationship? 39
Cognome (0,1) Direzione (1,1) Telefono (1,N) Codice Impiegato (0,N) Partecipazione (1,N) (0,1) (0,N) Afferenza (0,1) Data Dipartimento (1,1) Composizione (1,N) Nome Budget Progetto Nome Via CAP Indirizzo Sede Città 40