Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning Carlo Batini 2 Il modello Entita’ Relazione 2.1. Entita’ e Attributi di entita’ Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Schema e modello Ricordiamo che uno schema concettuale e’ un insieme di concetti descritti per mezzo di strutture di rappresentazione di un modello concettuale. Un modello concettuale adotta strutture di rappresentazione piu’ astratte di quelle comunemente adottate nei modelli logici Rielaborato da M. Lenzerini – Corso di Basi di dati
Strutture di rappresentazione nel modello Entità-Relazione Attributi di entità Relazioni Attributi di relazione Relazioni IS-A Generalizzazioni Identificatori Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Il concetto di entità Una entità è una classe di oggetti (fatti, persone, cose) che: sono di interesse per l’applicazione, hanno esistenza autonoma, e che hanno proprietà comuni Esempi: Impiegato Dipartimento Città Fattura Ordine Studente Rielaborato da M. Lenzerini – Corso di Basi di dati
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 Rielaborato da M. Lenzerini – Corso di Basi di dati
Definizione di entita’ E’ sempre bene associare ad ogni entita’ una definizione. Ad esempio: Impiegato e’ l’insieme delle persone che lavorano in una azienda e con i quali e’ stato stipulato un rapporto contrattuale di lavoro Rielaborato da M. Lenzerini – Corso di Basi di dati
Entità e istanze d’entità Una entità (nello schema concettuale S) denota un insieme (o classe) di oggetti “simili” Una istanza dell’entità (in una istanza di S) denota un oggetto dell’insieme rappresentato dall’entità Impiegato Entita’ Verdi Istanza Rossi Neri Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Entità, commenti Ogni entità ha un nome che la identifica univocamente nello schema: Nomi espressivi (es. Impiegato e non Imp o I05) Nomi singolari Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.1.1 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 laurea specialistica. 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 Professore ordinario Amministrativo Tecnico Rielaborato da M. Lenzerini – Corso di Basi di dati
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’ 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 professore. Il valore dell’ attributo appartiene a un dominio, detto dominio dell’attributo (es. intero, enumerato, ecc.). Es. per Eta’ il dominio [0,120] Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Dominio di attributo Si possono utilizzare come domini quelli tipicamente definiti nei linguaggi programmativi (non approfondiremo il tema per il modello Entita’ Relazione, mentre lo affronteremo in maniera piu’ precisa per il modello relazionale) Rielaborato da M. Lenzerini – Corso di Basi di dati
Rappresentazione grafica di attributo Ogni attributo di entità ha nome che lo identifica in modo univoco nell’ambito della entità, ed è rappresentato da un cerchio collegato alla entità a cui appartiene. Esempio: Cognome Impiegato Età Stipendio Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.1.2 Se nel nostro schema della universita’ vogliamo rappresentare per gli studenti della laurea breve e della laurea specialistica il nome, cognome, matricola, data di nascita e comune di residenza, come facciamo? Studente Laurea breve Studente Laurea spec. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Risposta Se nel nostro schema della universita’ vogliamo rappresentare per gli studenti della laurea breve e della laurea specialistica il nome, cognome, matricola, data di nascita e comune di residenza, come facciamo? Studente Laurea breve Nome Cognome Data nascita Comune residenza Nome Studente Laurea spec. Cognome Data nascita Comune residenza Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.1.3 Potremmo rappresentare la stessa realta’ con una sola entita’? Se si, come? Studente Laurea breve Nome Cognome Data nascita Comune residenza Nome Cognome Data nascita Comune residenza Studente Laurea spec. Studente universitario Nome Cognome Data nascita Comune residenza Tipo laurea Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.1.4 E se vogliamo rappresentare tutti gli studenti di tutte le universita’ italiane Studente universitario Nome Cognome Data nascita Comune residenza Tipo laurea Studente universitario Nome Cognome Data nascita Comune residenza Tipo laurea Universita’ Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Esercizio 2.1.1 Pensa a una realta’ che conosci bene (ad esempio l’Universita’ in cui studi, i libri della tua biblioteca o della biblioteca della Universita’, i negozi del tuo quartiere), ed elenca un insieme di entita’ che descrivono tale realta’. Definisci anche per ogni entita’ un insieme di attributi significativi. Fornisci anche le definizioni delle entita’ e i domini degli attributi. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Concetti introdotti Entita’ Attributo di entita’ Dominio di attributo Rielaborato da M. Lenzerini – Corso di Basi di dati