Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning Carlo Batini 2 Il modello Entita’ Relazione 2.2 Relazioni Rielaborato da M. Lenzerini – Corso di Basi di dati
Il concetto di relazione Una relazione si definisce su due o più entità, e rappresenta un legame logico fra tali entità. Il numero di entità coinvolte in una relazione determina il suo grado (2,3,4, …) Esempi Residenza (tra Persona e Città), con grado 2 Afferenza (tra Professore e Dipartimento), con grado 2 Rielaborato da M. Lenzerini – Corso di Basi di dati
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 Età Nome Crediti EsameSuperato Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Notazione Nel libro di Atzeni et al. le relazioni sono chiamate relationship (per non confonderle con le relazioni nel modello relazionale). Nel seguito, quando non ambiguo, ueseremo l’una o l’altra delle dizioni. Quando parleremo di progettazione logica, torneremo a distinguerle, con due significati differenti. Rielaborato da M. Lenzerini – Corso di Basi di dati
Relazione a livello di istanze (S1,C1) S1 S2 S4 S3 Studente C4 (S2,C2) C1 (S2,C3) C2 (S3,C3) C3 EsameSuperato Corso Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati 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 Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Ad esempio Una frase in linguaggio naturale Gli studenti universitari scelgono un piano di studi, il piano e’ un insieme di corsi … Definisce due relazioni 1. Associato a (Studente, Piano di Studi) 2. Struttura (Piano di Studio, Corso) Rielaborato da M. Lenzerini – Corso di Basi di dati
Due entità possono essere coinvolte in più relazioni Esempio: Sede di lavoro Nascita Impiegato Città “Sede di Lavoro” e “Nascita” rappresentano due legami diversi tra le stesse entità “Impiegato” e “Città” Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.2.1 Come possiamo rappresentare tra studenti e corsi, i due legami logici di: Corso che frequenta quest’anno, e Corso frequentato negli anni scorsi ? Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Risposta Come possiamo rappresentare tra studenti e corsi, i due legami logici di: corso che frequenta quest’anno, e Corso frequentato negli anni scorsi ? Frequentato In passato Frequenta Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati
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 descrive una proprietà che non e’ di E1, non e’ di E2,…, non e’ 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 Rielaborato da M. Lenzerini – Corso di Basi di dati
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 da un simbolo come nel diagramma seguente Esempio Cognome Età Voto Nome Crediti EsameSuperato Studente Corso Rielaborato da M. Lenzerini – Corso di Basi di dati
Domanda 2.2.2: 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 e un preside. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati 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 facoltà ha un nome e un preside. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.2.1: soluzione CodiceFiscale Età Nome Codice Docente CorsoDiLaurea Nome Preside Facoltà Rielaborato da M. Lenzerini – Corso di Basi di dati
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. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.2.1: soluzione CodiceFiscale Età Nome Codice Afferenza Docente CorsoDiLaurea Appartenenza Nome Preside Facoltà Rielaborato da M. Lenzerini – Corso di Basi di dati
Scelta degli attributi 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. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.2.1: soluzione CodiceFiscale Età Data Nome Codice Afferenza Docente CorsoDiLaurea Appartenenza Nome Facoltà Preside Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.2.2 Come cambia il precedente schema se voglio rappresentare per i docenti anche il sesso, e la citta’ di nascita, con nome e provincia? CodiceFiscale Età Nome Afferenza Docente CorsoDiLaurea Codice Data Appartenenza Facoltà Preside Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Soluzione Come cambia il precedente schema se voglio rappresentare per i docenti anche il sesso, e la citta’ di nascita, con nome e provincia? CodiceFiscale Età Data Nome Codice Sesso Afferenza Docente CorsoDiLaurea Nato a Appartenenza Nome Nome Citta’ Facoltà Provincia Preside Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Nota bene Nel seguito per praticita’ di disegno, rappresenteremo gli attributi anche con la seguente notazione auto-esplicativa Nome Codice Data Codice fiscale Eta’ Sesso Afferenza Docente CorsoDiLaurea Nato a Appartenenza Nome Provincia Citta’ Nome Preside Facoltà Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Concetti introdotti Relazione Grado di relazione Attributo di relazione Rielaborato da M. Lenzerini – Corso di Basi di dati