Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning Carlo Batini 2. Il modello Entita’ Relazione 2.4 Tipi di relazioni Rielaborato da M. Lenzerini – Corso di Basi di dati
Cardinalità maggiormente utilizzate per la cardinalita’ minima Le cardinalità di interesse sono tipicamente due: 0, 1. Per la cardinalità minima: 0 significa “partecipazione opzionale” 1 significa “partecipazione obbligatoria” Assegnazione Impiegato Progetto (1,5) (0,50) C’e’ qualche progetto senza impiegati Tutti gli impiegati sono in almeno un progetto Rielaborato da M. Lenzerini – Corso di Basi di dati
Cardinalità maggiormente utilizzate per la cardinalita’ massima Le cardinalità di interesse sono tipicamente due: 1, n. Per la cardinalità massima: 1 significa: “le istanze della entità partecipano al più una volta sola alla relazione” n significa: “le istanze della entità partecipano un numero qualsiasi di volte alla relazione, numero che non si vuole fissare ad un valore costante” Assegnazione Impiegato Progetto (1,1) (1,n) A ogni progetto partecipa un numero arbitrario di impiegati Ogni impiegato lavora al massimo a un progetto Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Esempio Nuovo esempio Gli impiegati sono sempre assegnati a uno ed un solo Progetto, vi sono impiegati non assegnati, i progetti hanno tanti impiegati assegnati, ve ne possono essere senza nessun impiegato assegnato Assegnazione Impiegato Progetto (1,1) (0,n) Rielaborato da M. Lenzerini – Corso di Basi di dati
Cardinalità maggiormente utilizzate La non presenza del vincolo di cardinalità è equivalente alla coppia (0,n) Assegnazione Impiegato Progetto (1,1) E’ equivalente a Assegnazione Impiegato Progetto (1,1) (0,n) Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.4.1 Quali o quale dei vincoli sono compatibili con la realta’ amministrativa italiana? Residenza Studente Città (0,1) (0,n) Residenza Studente Città (1,1) (0,n) Residenza Studente Città Rielaborato da M. Lenzerini – Corso di Basi di dati
Residenza Studente Città (0,1) (0,n) Residenza Studente Città (1,1) Risposta Quali o quale dei vincoli sono compatibili con la realta’ amministrativa italiana? Residenza Studente Città (0,1) (0,n) Residenza Studente Città Si, se dalle specifiche si evince che di alcuni studenti non interessa la residenza (1,1) (0,n) Residenza Studente Città Si, se non abbiamo altre informazioni Rielaborato da M. Lenzerini – Corso di Basi di dati
Classificazione delle relazioni binarie Discutiamo la cardinalità massime nelle relazioni binarie (le uniche che conosciamo fino a questo momento) Con riferimento alle cardinalità massime, si dice anche, a seconda dei valori possibili delle cardinalita’ massime, che le relazioni binarie possono essere di tipo: uno a uno quando le cardinalita’ massime delle due entita’ coinvolte sono <1 e 1> uno a molti quando le cardinalita’ massime delle due entita’ coinvolte sono <1 e n> molti a molti quando le cardinalita’ massime delle due entita’ coinvolte sono <n e n> Rielaborato da M. Lenzerini – Corso di Basi di dati
Esempi di relazioni binarie “uno a uno” Vendita Ordine Fattura (0,1) (1,1) Quando vi possono essere ordini senza ancora una fattura associata Rielaborato da M. Lenzerini – Corso di Basi di dati
Esempi di relazioni binarie “uno a uno” Vendita Ordine Fattura (0,1) (1,1) Docenza Professore Corso (1,1) (0,1) Questo e’ un caso abbastanza inusuale, di universita’ Dove i professori insegnano uno e un solo corso, e dove I corsi sono insegnati da un solo professore Rielaborato da M. Lenzerini – Corso di Basi di dati
Esempi di relazioni binarie “uno a uno” Vendita Ordine Fattura (0,1) (1,1) Docenza Professore Corso (1,1) (0,1) Direzione Impiegato Progetto (0,1) (1,1) Rielaborato da M. Lenzerini – Corso di Basi di dati
Relazioni binarie “uno a molti” Impiego Persona Azienda (0,1) (1,n) Qui vi possono essere persone che non lavorano, come accade per i disoccupati, ma se una persona ha un lavoro non ne ha o non ne puo’ avere altri. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.4.2 Assegna le cardinalita’ alle seguenti relazioni che rappresentano una ipotetica anagrafe nazionale e le province dove sono ubicati i comuni (1,1) (1,n) Nascita Persona Città (1,1) (1,n) Ubicazione Comune Provincia Rielaborato da M. Lenzerini – Corso di Basi di dati
Relazioni binarie “molti a molti” Esame Studente Corso (0,n) Si assume che esistano studenti che non hanno ancora superato un esame (tipicamente gli studenti che frequentano I corsi del primo anno), e che vi siano corsi ancora non sostenuti Come esame da nessuno studente (i corsi di nuova istitutizione) Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Domanda 2.4.3 Assegna le cardinalita’ alle seguenti relazioni che rappresentano montagne e alpinisti che le hanno scalate e locomotori di una compagnia di treni e macchinisti abilitati a guidarle (0,n) (1,n) Scalata Montagna Alpinista (1,n) (1,n) Abilitazione Macchinista Locomotore Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Esercizio 2.4.1 Trova nella vita di tutti i giorni casi di relazioni 1 a 1, 1 a molti, molti a molti. Pensa anche a una relazione che in alcuni stati sia uno a uno e in altri uno a molti o molti a molti. Rielaborato da M. Lenzerini – Corso di Basi di dati
Rielaborato da M. Lenzerini – Corso di Basi di dati Concetti introdotti Relazione uno a uno Relazione uno a molti Relazione molti a molti Rielaborato da M. Lenzerini – Corso di Basi di dati