Corso di Informatica (Basi di Dati) Lezione 2 (17 dicembre 2008) Modello Entità-Relazione: entità, relazione e attributi 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 1 Il modello Entità-Relazione Il modello Entità-Relazione (modello ER) è un modello concettuale che fornisce una serie di costrutti per descrivere lo schema della realtà di interesse in maniera indipendente da come poi i relativi dati saranno organizzati sull’elaboratore, cioè indipendentemente dal modello logico e dal modello fisico. 2 I costrutti del modello E-R I costrutti del modello E-R sono: Entità Attributi di Entità Relazione Attributi di Relazione Cardinalità di Relazione Identificatori Generalizzazioni 3 Il costrutto di Entità Un’entità rappresenta una classe di oggetti (fatti, persone, cose, etc.) che: hanno proprietà comuni hanno esistenza autonoma sono di interesse per l’applicazione Ad esempio le entità di interesse per - un’azienda possono essere: Impiegato, Dipartimento, Vendita, Ordine, Città, etc. - un’università possono essere: Studente, Corso, etc. 4 Il costrutto di Entità Un’occorrenza di entità (istanza di entità) è un oggetto appartenente alla classe che l’entità rappresenta Ad esempio un’occorrenza dell’entità Impiegato è l’impiegato Mario Rossi, una dell’entità Studente è lo studente Luca Bianchi e una dell’entità Corso è il corso di Informatica per corso di Laurea di Biotecnologie 5 Il costrutto di Entità La rappresentazione grafica di un’entità, in uno schema di descrizione della realtà di interesse, è un rettangolo con al centro il nome che la identifica univocamente. Ad esempio: Impiegato Città Studente Corso 6 Un esempio... Schematizzare tramite il modello E-R le seguenti 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 Studente Laurea Breve Studente Laurea Specialistica Amministrativo Professore Associato Professore Ordinario Tecnico 7 L’attributo di Entità Un attributo di entità descrive una proprietà elementare di un’entità, il cui valore, in una istanza, dipende solo dall’istanza stessa. L’insieme dei valori ammissibili per un attributo costituiscono il cosiddetto dominio. Ad esempio l’entità Impiegato può avere come possibili attributi Cognome, Nome, Stipendio, Età. L’entità Studente può avere come possibili attributi Matricola, Cognome, Nome, Data di nascita, Comune di Residenza. Il dominio dell’attributo Cognome di Inpiegato e Studente può essere l’insieme delle stringhe di 20 caratteri. Il dominio dell’attributo Età di Impiegato può essere l’insieme dei numeri interi compresi tra 18 e 65. 8 L’attributo di Entità La rappresentazione grafica di un attributo di entità, in uno schema di descrizione della realtà di interesse, è un cerchio collegato all’entità e identificato univocamente da un nome. Ad esempio: Cognome Nome Età Stipendio Impiegato 9 L’esempio precedente... Nell’esempio precedente gli studenti di laurea breve e specialistica venivano schematizzati tramite due entità. Ora vengono aggiunti gli attributi Matricola, Cognome, Nome, Data di nascita, Comune di Residenza. Studente Laurea Breve Matricola Cognome Nome Data di nascita Comune di Residenza Studente Laurea Specialistica Matricola Cognome Nome Data di nascita Comune di Residenza 10 L’esempio precedente... …e se si volessero rappresentare tutti gli studenti tramite l’unica entità Studente? Basterebbe aggiungere un nuovo attributo che specifica il tipo di laurea Studente Matricola Cognome Nome Data di nascita Comune di Residenza Tipo di laurea 11 Il costrutto di Relazione Una relazione rappresenta un legame logico (associazione) tra n entità E1, E2,…, En. Se n=2 si parla di relazione binaria. Ad esempio Esame è una relazione che sussiste tra le due entità Studente e Corso. Residenza è una relazione tra Impiegato e Città, oppure Sede di Lavoro è una seconda relazione tra Impiegato e Città. Il grado di una relazione è dato dal numero di entità coinvolte. 12 Il costrutto di Relazione Un’occorrenza di relazione (istanza di relazione) è una n-pla (coppia se n=2) costituita da n occorrenze di entità, una per ciascuna delle entità coinvolte. Ad esempio si considerino le tre entità E1=Fornitore, E2=Prodotto, E3=Dipartimento di una realtà aziendale. Si supponga che esista la relazione Fornitura tra E1, E2 ed E3. Una possibile occorrenza della relazione Fornitura è la tripletta (“ditta Sami”, “Stampante”, “Ricerca”), dove “ditta Sami” è un’occorrenza dell’entità Fornitore, “Stampante” è un’occorrenza... 13 Il costrutto di Relazione ...dell’entità Prodotto, e “Ricerca” è un’occorrenza dell’entità Dipartimento. Significa cioè che la ditta Sami ha venduto una stampante al Dipartimento di Ricerca. Si consideri ora l’entità Studente e 5 sue occorrenze, ovvero gli studenti S1, S2, S3, S4, S5. Allo stesso modo si consideri l’entità Corso e 4 sue occorrenze, ovvero i corsi C1, C2, C3, C4. Si immagini che: - S1 abbia sostenuto l’esame del corso C3 - S2 abbia sostenuto gli esami dei corsi C2 e C4 - S3 abbia sostenuto gli esami dei corsi C1 e C2 - S4 abbia sostenuto l’esame del corso C1 14 - S5 abbia sostenuto l’esame del corso C2 Il costrutto di Relazione …quanto scritto nella slide precedente può essere schematizzato come segue: S1 Studente S2 S3 C1 S5 S4 C2 C3 C4 Corso La relazione binaria tra l’entità Studente e l’entità Corso è dunque Esame (uno studente sostiene un esame alla fine di un corso). 15 Il costrutto di Relazione …Le occorrenze della relazione Esame, tra Studente e Corso, sono dunque le coppie: - (S1, C3) - (S2, C2) - (S2, C4) - (S3, C1) - (S3, C2) - (S4, C1) - (S5, C2) 16 Il costrutto di Relazione La rappresentazione grafica di una relazione, in uno schema di descrizione della realtà di interesse, è un rombo, con al centro il nome che la identifica univocamente, e collegato alle entità che coinvolge. Ad esempio: Studente Esame Corso 17 L’attributo di Relazione Un attributo di relazione descrive una proprietà elementare di una relazione, il cui valore, in una istanza, dipende solo dall’istanza stessa. L’insieme dei valori ammissibili per un attributo costituiscono il cosiddetto dominio. Ad esempio la relazione Esame può avere come possibili attributi Data e Voto. Il dominio dell’attributo Voto può essere l’insieme degli interi tra 18 e 30. Attenzione! L’attributo di una relazione NON è una proprietà delle entità coinvolte, ma è una proprietà del legame logico tra le entità 18 Un esempio... …che schematizza le due entità Studente e Corso legate dalla relazione Esame avente attributi Data e Voto Data Studente Voto Esame Corso Ad esempio l’istanza di Esame (“Luca Bianchi”, “Informatica”) ha 30 come valore dell’attributo Voto e “25/02/2008” 19 come valore dell’attributo Data.