Rileaborato da M. Lenzerini - Basi di dati Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C. Batini 2. Il modello Entita’ Relazione 2.6 Relazioni n-arie e Identificatori Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Attenzione! Le cardinalita’ minime (e massime) nei class diagram di UML hanno significati “opposti” alle cardinalita’ minime (e massime) nel modello ER, nel senso che sono riferite alla seconda entita’ coinvolta nella relazione binaria, e non alla prima. Assegnazione Impiegato Progetto (1,1) (0,n) Entita’ Relazione (1,1) (0,n) Impiegato Progetto Assegnazione Class Diagram Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Attributi composti Un attributo può anche essere definito su un dominio complesso. Di particolare interesse è il caso di dominio di tipo “record”, cioe’ composto di domini (anche detti coampi) elementari. Un attributo il cui dominio è di tipo record si dice composto. Notazione: Via Impiegato Indirizzo Numero CAP “Indirizzo” è un attributo composto, e il suo dominio è un tipo record con campi “Via”, “Numero” e “CAP”. Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Relazioni n-arie Rileaborato da M. Lenzerini - Basi di dati
Relazioni n-arie (grado maggiore di 2) Una relazione di grado maggiore di 2 si dice n-aria Rappresenta fatti costituiti da fornitori, prodotto forniti e dipartimenti per cui li forniscono Fornitura Fornitore Prodotto Dipartimento Una istanza e’ ad esempio <De Santis, matite, dipartimento Disco> Rileaborato da M. Lenzerini - Basi di dati
Relazioni n-arie con attributi Esempio di relazione n-aria con attributo Rappresenta le quantita’ fornite dai fornitori dei prodotti forniti ai singoli dipartimenti Quantità Fornitura Fornitore Prodotto Dipartimento Una istanza e’ ad esempio <De Santis, matite, dipartimento Disco, 100> Rileaborato da M. Lenzerini - Basi di dati
Relazioni definite sulla stessa Entita’ esempio Le etichette, dette ruoli, servono a identificare i diversi significati delle due istanze di entita’ Successore Succede a Precedessore Sovrano Rileaborato da M. Lenzerini - Basi di dati
Cardinalita’ nelle Relazioni n-arie Valgono le stesse definizioni fornite per le relazioni binarie. Ogni fornitore fornisce almeno un prodotto ad almeno un dipartimento. Vi sono prodotti (nuovi) che non sono ancora stati forniti a nessun dipartimento Quantità (1,n) (0,n) Fornitura Fornitore Prodotto Dipartimento (1,n) I dipartimenti acquistano diversi prodotti da diversi fornitori Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Domanda 2.6.1 Come modifichi lo schema se devi aggiungere le seguenti proprieta’: l’indirizzo del fornitore, una descrizione dei prodotti, il direttore del Dipartimento, costo totale delle forniture fornite? Quantità Costo totale (1,n) (0,n) Fornitura Fornitore Prodotto Dipartimento Indirizzo (1,n) Descrizione Direttore Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Domanda 2.6.2 e soluzione Come modifichi lo schema se devi aggiungere quanto ogni dipartimento ha speso con ogni fornitore? Quantità Costo totale (1,n) (0,n) Fornitura Fornitore Prodotto Dipartimento Indirizzo (1,n) Descrizione Spesa Totale Direttore Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Identificatori Rileaborato da M. Lenzerini - Basi di dati
Identificatori di entità Un identificatore di una entità è un insieme di proprietà (attributi o relazioni) che permettono di identificare univocamente le istanze di un’entità. In altre parole, non possono esistere due istanze di una data entità che assumono lo stesso valore per tutte le proprietà che formano l’identificatore. (Esempio: Codice fiscale per Persona) Su ogni entità si può definire un numero qualunque di identificatori (ma almeno uno) Es. in una Universita’, Matricola identifica univocamente uno Studente. Rileaborato da M. Lenzerini - Basi di dati
Tipi di identificatori - 1 Un identificatore di una entità E può essere Interno, ossia formato solo da attributi di E Notazione grafica per gli identificatori interni: Se l’identificatore è formato da un solo attributo, si annerisce il corrispondente pallino. Se l’identificatore è formato da più attributi, si uniscono gli attributi con una linea che termina con pallino annerito. Rileaborato da M. Lenzerini - Basi di dati
Esempi di identificatori interni La targa identifica ogni automobile Targa Automobile Modello Colore Data Nascita Persona Cognome Le persone sono Identificate da Data Nascita, Cognome e Nome Nome Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Domanda 2.6.3 Per le due entita’ qui sotto, che rappresentano persone e imprese in Italia, definire gli identificatori interni. Se si hanno dei dubbi consultare testi su internet che permettano di determinare le risposte. Risposte Codice fiscale Nome Cognome Persona Codice fiscale Persona Nome Cognome Partita IVA Partita IVA Nome Sede Sociale Impresa Impresa Nome Sede Sociale Rileaborato da M. Lenzerini - Basi di dati
Tipi di identificatori - 2 Un identificatore di una entità E può essere Esterno, ossia formato da attributi di E e da relazioni che coinvolgono E, oppure solo da relazioni che coinvolgono E In questo caso, per identificare ogni istanza della entita’ e’ necessario specificare le istanze degli attributi e la istanza (le istanze) delle relazioni. Ad esempio, la matricola di uno studente e’ univoca all’interno di una Universita’. Ma se vogliamo rappresentare tutti gli studenti delle Universita’ italiane, per identificare uno studente devo dare Matricola e Universita’. Rileaborato da M. Lenzerini - Basi di dati
Tipi di identificatori - 2 Notazione per gli identificatori esterni: Si indica unendo gli attributi e le relazioni con una linea che termina con pallino annerito. Iscrizione Cognome Matricola Nome (1,1) (0,n) Studente Università Lo schema rappresenta tutti gli studenti di tutte le universita’, quindi Matricola da sola non e’ identificatore Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Domanda 2.6.4 Considera lo schema qui sotto. Definisci l’identificatore della entita’ Appartamento Locato Proprietario Interno Indirizzo (1,1) (0,n) Appartamento Stabile Comune Risposta Locato Proprietario Interno Indirizzo (1,1) (0,n) Appartamento Stabile Comune Rileaborato da M. Lenzerini - Basi di dati
Rileaborato da M. Lenzerini - Basi di dati Concetti introdotti Attributo composto Relazione n-aria Relazione definita sulla stessa entita’ Identificatore Identificatore interno Identificatore esterno Rileaborato da M. Lenzerini - Basi di dati