3.1. Corso di Elementi di Basi di dati Il modello Entita
Transcript
3.1. Corso di Elementi di Basi di dati Il modello Entita
Costrutti fondamentali del modello Entità-Relazione 3.1. Corso di Elementi di Basi di dati Il modello Entita’ Relazione (72) • Entità • Attributi di entità • Relazioni • Attributi di relazione • IS-A e Generalizzazioni Maurizio Lenzerini Basi di Dati Progettazione concettuale - 1 Maurizio Lenzerini Una entità è una classe di oggetti (fatti, persone, cose) che: •sono di interesse per l’applicazione, •hanno esistenza autonoma, e che •hanno proprietà comuni 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: Esempi: impiegato vendita dipartimento ordine città studente Basi di Dati Progettazione concettuale - 2 Rappresentazione grafica di entità La nozione di entità Maurizio Lenzerini Basi di Dati Progettazione concettuale - 3 Impiegato Dipartimento Città Acquisto Maurizio Lenzerini 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à Basi di Dati Progettazione concettuale - 4 Entità, commenti • Una entita’ puo’ essere vista come astrazione di classificazione delle sue istanze. • Ogni entità ha un nome che la identifica univocamente nello schema: – nomi espressivi (es. Impiegato e non Imp o I05) – opportune convenzioni Nota: nello schema concettuale rappresentiamo le entità, non le singole istanze (“astrazione”) Maurizio Lenzerini Basi di Dati Progettazione concettuale - 5 • singolare Maurizio Lenzerini Basi di Dati Progettazione concettuale - 6 1 Esempio Esempio • 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? • Non dobbiamo anche rappresentare una entita’ chiamata Universita’? Studente Laurea breve Studente Laurea spec. Professore associato Amministrativo Maurizio Lenzerini Professore ordinario Tecnico Basi di Dati Progettazione concettuale - 7 La nozione 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 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 8 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. Esempi: Cognome Età Stipendio Impiegato Maurizio Lenzerini Basi di Dati Progettazione concettuale - 9 Maurizio Lenzerini Entita’ e attributi Basi di Dati Progettazione concettuale - 10 Esempio • Ogni entita’ puo esser vista come astrazione di aggregazione dei suoi attributi Cognome Età Stipendio • Se nel nostro schema universita’ vogliamo rappresentare per gli studenti il nome, cognome, matricola, data di nascita e comune di residenza, come facciamo? Studente Laurea breve Nome Cognome Data nascita Comune residenza Impiegato Studente Laurea spec. Nome Cognome Data nascita Comune residenza Maurizio Lenzerini Basi di Dati Progettazione concettuale - 11 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 12 2 Esempio La nozione di relazione • Potremmo rappresentare la stessa realta’ con una sola entita’? Se si, come? Nome Cognome Data nascita Studente Laurea breve Comune residenza Nome Cognome Data nascita Studente Laurea spec. Esempi Comune residenza Maurizio Lenzerini Residenza (tra Persona e Città) Nome Cognome Data nascita Studente universitario Una relazione (o associazione) si definisce su due o più entità, e rappresenta un legame fra tali entità. Il numero di entità coinvolte in una relazione determina il suo grado Afferenza (tra Impiegato e Dipartimento) Comune residenza Tipo laurea Basi di Dati Progettazione concettuale - 13 Maurizio Lenzerini 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 Progettazione concettuale - 14 Notazione • Nel libro di Atzeni et al. le relazioni sono chiamate relationship (per non confonderle con le relazioni nel modello relazionale) Esempio di relazione di grado 2 (relazione binaria): Cognome Nome Età Studente Maurizio Lenzerini Crediti Corso EsameSuperato Basi di Dati Progettazione concettuale - 15 Maurizio Lenzerini Basi di Dati Relazione a livello di istanze (S1,C1) C4 Progettazione concettuale - 16 Relazione, commenti • Una relazione puo’ essere vista come astrazione di aggregazione delle entita’ su cui e’ definita. (S2,C2) S1 C1 S2 Cognome (S2,C3) S3 S4 (S3,C3) Nome Età Crediti C2 C3 Studente EsameSuperato Corso EsameSuperato Corso Studente Maurizio Lenzerini Basi di Dati Progettazione concettuale - 17 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 18 3 Due entità possono essere coinvolte in più relazioni Relazione, commenti Esempio: • Ogni relationship ha un nome che la identifica univocamente nello schema: – nomi espressivi – opportune convenzioni • singolare • sostantivi invece che verbi (se possibile) Sede di lavoro Impiegato Residenza Città “Sede di Lavoro” e “Residenza” rappresentano due legami diversi tra le stesse entità “Impiegato” e “Città” Maurizio Lenzerini Basi di Dati Progettazione concettuale - 19 Esercizio Maurizio Lenzerini Basi di Dati Corso Progettazione concettuale - 21 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 cerchio collegato alla relazione a cui appartiene. Esempio Cognome Età Studente Maurizio Lenzerini Voto EsameSuperato Basi di Dati Progettazione concettuale - 20 • 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 modella una proprietà non di E1, non di E2,…, non di En, ma del legame tra E1,E2,…,En rappresentato da R Frequentato In passato Frequenta Basi di Dati La nozione di attributo di relazione Come possiamo rappresentare, tra studenti e corsi, i due legami logici di corso che frequenta quest’anno e corso frequentato negli anni scorsi ? Studente Maurizio Lenzerini Nome Crediti Corso Progettazione concettuale - 23 • Un attributo e’ una funzione che associa ad ogni istanza di relazione un valore appartenente ad un insieme detto dominio dell’attributo Maurizio Lenzerini Basi di Dati Progettazione concettuale - 22 Esercizio 1: 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. Maurizio Lenzerini Basi di Dati Progettazione concettuale - 24 4 Esercizio 1: soluzione Scelta delle entita’ Nome CodiceFiscale Età 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. Docente Codice CorsoDiLaurea Nome Facoltà Preside Maurizio Lenzerini Basi di Dati Progettazione concettuale - 25 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 26 Esercizio 1: soluzione Scelta delle relazioni CodiceFiscale Età 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 Docente 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. Nome Data Afferenza Basi di Dati Progettazione concettuale - 27 CorsoDiLaurea Appartenenza Nome Preside Maurizio Lenzerini Codice Maurizio Lenzerini Esercizio 2: schema concettuale Basi di Dati Facoltà Progettazione concettuale - 28 Troviamo le entita’ Descrivere lo schema concettuale della seguente realtà: Descrivere lo schema concettuale della seguente realtà: Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dei dipartimenti interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Delle città interessa il nome e la regione. Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Dei dipartimenti interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Delle città interessa il nome e la regione. Maurizio Lenzerini Maurizio Lenzerini Basi di Dati Progettazione concettuale - 29 Basi di Dati Progettazione concettuale - 30 5 Esercizio 2: soluzione Esercizio 2: schema concettuale Impiegati - Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Progetti - Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Nome Cognome Impiegato Basi di Dati Progettazione concettuale - 31 Dipartimento CodiceFiscale Dipartimenti - Dei dipartimenti interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Citta’ - Delle città interessa il nome e la regione. Maurizio Lenzerini Nome Tel Progetto Progetto Budget Città Nome Maurizio Lenzerini Progettazione concettuale - 32 Esercizio 2: soluzione Troviamo le relazioni Impiegati - Degli impiegati interessa il codice fiscale, il nome, il cognome, i dipartimenti ai quali afferiscono (con la data di afferenza), ed i progetti ai quali partecipano. Progetti - Dei progetti interessa il nome, il budget, e la città in cui hanno luogo le corrispondenti attività. Nome Cognome Nome Tel Direzione Impiegato Dipartimento Afferenza CodiceFiscale Sede Partecipazione Dipartimenti - Dei dipartimenti interessa il nome, il numero di telefono, gli impiegati che li dirigono, e la città dove è localizzata la sede. Citta’ - Delle città interessa il nome e la regione. Maurizio Lenzerini Basi di Dati Nome Regione Basi di Dati Progettazione concettuale - 33 Progetto Progetto Budget Data Luogo Nome Maurizio Lenzerini Città Regione Basi di Dati Nome Progettazione concettuale - 34 Scelta tra entità e attributo Scelta tra entità e attributo Un concetto verrà modellato come • una entità – se le sue istanze sono concettualmente significative indipendentemente da altre istanze – se ha o potrà avere in futuro delle proprietà indipendenti dagli altri concetti – se il concetto è importante nell’applicazione • un attributo di una entità o relazione – se le sue istanze non sono concettualmente significative – se non ha senso considerare una sua istanza indipendentemente da altre istanze (Eta’ = 25 ha esistenza indipendente?) – se serve solo a rappresentare una proprietà locale di un altro concetto Le scelte possono cambiare durante l’analisi. Esempio: Maurizio Lenzerini Basi di Dati Progettazione concettuale - 35 Nome Codice CittàNascita Persona Interessa anche la regione: Città diventa una entità Persona Nome Maurizio Lenzerini Nascita Città Nome Codice Basi di Dati Regione Progettazione concettuale - 36 6 Scelta tra entità e attributo Scelta tra entità e relazione Le scelte possono cambiare durante l’analisi. Esempio: Cognome Codice CittàNascita Nome Persona Budget Dipartimento Interessa anche la città in cui ha sede un dipartimento Persona Nascita Cognome Codice Maurizio Lenzerini Città Nome Basi di Dati Sede Dipartimento Nome Budget Progettazione concettuale - 37 Un concetto verrà modellato come • una entità – se le sue istanze sono concettualmente significative indipendentemente da altre istanze – se ha o potrà avere delle proprietà indipendenti dagli altri concetti – se ha o potrà avere relazioni con altri concetti • una relazione – se le sue istanze non sono concettualmente significative indipendentemente da altre istanze, cioè se le sue istanze rappresentano insiemi di altre istanze – se non ha senso pensare alla partecipazione delle sue instanze ad altre relazioni Maurizio Lenzerini Basi di Dati Progettazione concettuale - 38 Relazione ISA tra entità • Fino ad ora non abbiamo detto nulla sul fatto se due entità possano o no avere istanze in comune Relazione (o legame) Is-A (o ISA) tra entita’ • E’ facile verificare che, in molti contesti, può accadere che tra due classi rappresentate da due entità nello schema concettuale sussista la relazione ISA (o relazione di sottoinsieme), e cioè che ogni istanza di una sia anche istanza dell’altra. (Es. Studente, Studente della laurea breve) • La relazione ISA nel modello ER si può definire tra due entità, che si dicono “entità padre” ed “entità figlia” (o sottoentità, cioè quella che rappresenta un sottoinsieme della entità padre) (Es Studente e’ entita’ padre di Studente della laurea breve) Maurizio Lenzerini Basi di Dati Progettazione concettuale - 39 Sintassi: rappresentazione grafica della relazione ISA tra entità Maurizio Lenzerini Basi di Dati Progettazione concettuale - 40 Sintassi: regole sulla relazione ISA tra entità La relazione ISA si rappresenta nel diagramma dello schema concettuale mediante una freccia dalla sottoentità alla entità padre ATTENZIONE: vige la regola che una entità può avere al massimo una entità padre. In altre parole, il modello ER non ammette ereditarietà multipla Esempio Esempio Persona Si dice che Studente è in relazione ISA con Persona, o, in alternativa, che Studente ISA Persona Studente StudenteLavoratore Studente Maurizio Lenzerini Basi di Dati Lavoratore Progettazione concettuale - 41 Maurizio Lenzerini Basi di Dati Questo schema è scorretto! Progettazione concettuale - 42 7 Ereditarietà su entità nel modello ER Principio di ereditarietà: ogni proprietà dell’entità padre (attributo, relazione, ecc.) è anche una proprietà della sottoentità, e non si riporta esplicitamente nel diagramma. L’entità figlia può avere ovviamente ulteriori proprietà Dal fatto che 1. Ogni istanza di Persona ha una Età 2. Ogni istanza di Studente è istanza di Persona segue logicamente che 3. Ogni istanza di Studente ha una Età Cognome Età Cognome, Età ereditati da Persona, Matricola ulteriore proprietà Persona Studente Ereditarietà della relazione ISA: transitività Principio di ereditarietà: anche la relazione ISA si eredita. Questo conferma che la relazione ISA è transitiva (oltre a essere rieflessiva) Cognome Dal fatto che 1. Ogni istanza di Studente è una istanza di Persona 2. Ogni istanza diFuoriCorso è una istanza di Studente segue logicamente che 3. Ogni istanza di FuoriCorso è una istanza di Persona Età Persona Matricola Studente AnnoFC FuoriCorso Matricola Maurizio Lenzerini Basi di Dati Progettazione concettuale - 43 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 44 Generalizzazione tra entità Generalizzazione tra entita’ Maurizio Lenzerini Basi di Dati Progettazione concettuale - 45 Rappresentazione della generalizzazione La generalizzazione si indica collegando mediante un arco le sottoentità, e collegando con una freccia tale arco alla entità padre. Esempio Entità padre Finora, abbiamo considerato la relazione ISA che stabilisce che l’entità padre è più generale della sottoentità. Talvolta, però, l’entità padre può generalizzare diverse sottoentità rispetto ad un unico criterio. In questo caso si parla di generalizzazione. Maurizio Lenzerini Basi di Dati Progettazione concettuale - 46 Tipi di eneralizzazione tra entità Una generalizzazione può essere di due tipi: • Completa: l’unione delle istanze delle sottoentità è uguale all’insieme delle istanze dell’entità padre • Non completa Persona Sottoentità Sottoentità Uomo Maurizio Lenzerini Donna Basi di Dati Progettazione concettuale - 47 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 48 8 Esempio di generalizzazione completa La generalizzazione si indica collegando mediante un arco le sottoentità, e collegando con una freccia tale arco alla entità padre. La freccia è annerita se la generalizzazione è completa. Esempio Generalizzazione completa Entità padre Sottoentità Uomo Maurizio Lenzerini Progettazione concettuale - 49 Nome Sede Persona Sottoentità Sottoentità Maurizio Lenzerini Docente Basi di Dati Progettazione concettuale - 50 Esercizio 3: relazione ISA e generalizzazioni Il principio di ereditarietà vale anche per le generalizzazioni: ogni proprietà dell’entità padre è anche una proprietà della sottoentità, e non si riporta esplicitamente nel diagramma. L’entità figlia può avere ovviamente ulteriori proprietà. Età Entità padre Studente Generalizzazioni ed ereditarietà Persona Esempio Donna Basi di Dati Cognome La freccia è non è annerita se la generalizzazione non è completa. Generalizzazione non completa Persona Sottoentità Esempio di generalizzazione non completa Regione CodFisc CodFisc Studente Salario Matricola Esenzione Città Lavoratore StudenteLavoratore Questo schema è scorretto Codice Studente Docente Insegna Corso Si può ristrutturare lo schema in modo che lo schema risultante sia corretto, e colga sostanzialmente lo stesso significato? Matricola Maurizio Lenzerini Basi di Dati Progettazione concettuale - 51 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 52 Esercizio 3: soluzione 2 Esercizio 3: soluzione 1 CodFisc CodFisc StudenteOLavoratore StudenteOLavoratore StudenteNonLav Matricola StudenteLavoratore Matricola Esenzione Salario LavoratoreNonSt Basi di Dati Progettazione concettuale - 53 Salario Matricola Salario Ogni eventuale sottoentità di Studente si spezzerà in una sottoentità di StudenteNonLav ed una sottoentità di StudenteLavoratore. Analogamente, ogni sottoentità di Lavoratore si spezzerà in una sottoentità di LavoratoreNonSt ed una sottoentità di StudenteLavoratore Maurizio Lenzerini Studente Esenzione StudenteLavoratore Salario Maurizio Lenzerini Basi di Dati LavoratoreNonSt Ogni eventuale sottoentità di Lavoratore si spezzerà in una sottoentità di LavoratoreNonSt ed una sottoentità di StudenteLavoratore Progettazione concettuale - 54 9 Diverse generalizzazioni della stessa classe Esercizio 3: soluzione 3 CodFisc StudenteOLavoratore La stessa entità può essere padre in diverse generalizzazioni Persona Lavoratore Matricola Salario Ogni eventuale sottoentità di Studente si spezzerà in una sottoentità di StudenteNonLav ed una sottoentità di LavoratoreStudente Esenzione LavoratoreStudente Matricola Maurizio Lenzerini StudenteNonLav Basi di Dati Progettazione concettuale - 55 Uomo Donna Studente Impiegato Concettualmente, non c’è alcuna correlazione tra due generalizzazioni diverse, perchè rispondono a due criteri diversi di classificare le istanze della entità padre Maurizio Lenzerini Basi di Dati Progettazione concettuale - 56 Differenza tra due isa e una generalizzazione Persona Uomo Donna Impiegato Le due sottoclassi derivano da uno stesso criterio di classificazione delle istanze della superclasse Maurizio Lenzerini Cardinalita’ delle entita’ nelle relazioni Sportivo Le due sottoentità sono indipendenti, nel senso che il loro significato non deriva dallo stesso criterio di classificazione delle istanze della entità padre Basi di Dati Progettazione concettuale - 57 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 58 Esempio di vincolo di cardinalità Cardinalità Un vincolo di cardinalità tra una entita’ E e una relazione R impone un limite minimo (cardinalita’ minima) ed un limite massimo (cardinalita’ massima) di istanze della relazione R a cui può partecipare ogni istanza dell’entità E. Serve a caratterizzare meglio il significato di una relazione. • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato ad al più 50 impiegati (1,5) Impiegato (0,50) Assegnazione Incarico Istanza: istanze(Impiegato) = { a,b,c } istanze(Incarico) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } Maurizio Lenzerini Basi di Dati Progettazione concettuale - 59 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 60 10 Esempio di vincolo di cardinalità: cardinalita’ minima Esempio di vincolo di cardinalità: cardinalita’ minima • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato ad al più 50 impiegati • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato ad al più 50 impiegati (1,5) Impiegato (0,50) (1,5) Incarico Assegnazione Istanza: Impiegato (0,50) Incarico Assegnazione Istanza: istanze(Impiegato) = { a,b,c } a,b,c compaionono in almeno una istanza di Assegnazione istanze(Impiegato) = { a,b,c } X non compare nelle istanze di assegnazione istanze(Incarico) = { x,y,v,w,z } istanze(Incarico) = { x,y,v,w,z } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } istanze(Assegnazione) = { (a,w), (b,v), (b,w), (c,y), (c,w), (c,z) } Maurizio Lenzerini Basi di Dati Progettazione concettuale - 61 Maurizio Lenzerini Basi di Dati Progettazione concettuale - 62 Esempio di vincolo di cardinalità: cardinalita’ massima Esempio di vincolo di cardinalità: cardinalita’ massima • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato ad al più 50 impiegati • Ad ogni impiegato sono assegnati da 1 a 5 incarichi • Ogni incarico è assegnato ad al più 50 impiegati (1,5) Impiegato (0,50) Assegnazione Maurizio Lenzerini Basi di Dati (1,5) Incarico Progettazione concettuale - 63 Cardinalità maggiormente utilizzate • Le cardinalità di interesse sono tipicamente tre: 0, 1, n. • Per la cardinalità minima: • 0 significa “partecipazione opzionale” • 1 significa “partecipazione obbligatoria” (1,5) Impiegato Impiegato Assegnazione Maurizio Lenzerini Basi di Dati Incarico Progettazione concettuale - 64 Cardinalità maggiormente utilizzate • Le cardinalità di interesse sono tipicamente tre: 0, 1, n. • Per la cardinalità massima: • 1 significa: “l’entità partecipa al più una volta sola alla relazione” • n significa: “l’entità partecipa un numero qualsiasi di volte alla relazione” Nuovo esempio (diverso dal precedente) (0,50) Assegnazione Incarico (1,1) Impiegato Maurizio Lenzerini (0,50) Basi di Dati Progettazione concettuale - 65 Maurizio Lenzerini (0,n) Assegnazione Basi di Dati Incarico Progettazione concettuale - 66 11 Cardinalità maggiormente utilizzate • La non presenza del vincolo di cardinalità è equivalente alla coppia (0,n) Esempi di vincolo di cardinalità Studente (0,1) (0,n) (1,1) Impiegato Assegnazione Incarico Studente Studente Basi di Dati Progettazione concettuale - 67 (0,n) Basi di Dati (0,1) Ordine • 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 Æ cardinalita’ massime <1 e 1> – uno a molti Æ cardinalita’ massime <1 e n> – molti a molti Æ cardinalita’ massime <n e n> Professore (1,1) (0,1) Maurizio Lenzerini (1,1) Persona Studente Città Montagna Maurizio Lenzerini (1,n) Ubicazione Basi di Dati Direzione Progetto Basi di Dati Progettazione concettuale - 70 Provincia Macchinista (0,n) Corso Esame (0,n) (1,n) Scalata Alpinista (1,n) (1,1) Comune Corso (1,1) (0,n) Azienda (0,n) Nascita (0,1) Relazioni binarie “molti a molti” (1,n) Impiego Fattura Docenza (0,1) Relazioni binarie “uno a molti” Persona (1,1) Vendita Impiegato Progettazione concettuale - 69 Progettazione concettuale - 68 Relazioni binarie “uno a uno” • Discutiamo la cardinalità massime sulle relazioni binarie Basi di Dati Città Residenza Maurizio Lenzerini Classificazione di relazioni binarie Maurizio Lenzerini Città Residenza (1,1) Maurizio Lenzerini Città Residenza Progettazione concettuale - 71 Maurizio Lenzerini (1,n) Abilitazione Basi di Dati Locomotore Progettazione concettuale - 72 12
Documenti analoghi
Basi di dati - Materiale Didattico Informatica
CORSI(Corso, Docente, Aula)
AULE(Nome, Edificio, Piano)
– l’istanza, costituita dai valori attuali, che possono cambiare molto e
rapidamente (aspetto estensionale); nell’esempio, il “corpo” di
cias...
Basi di dati - Classe dei corsi di laurea in Fisica
• A livello estensionale una relazione R tra le entità E ed F è
costituita da un insieme di coppie (x,y), tali che x è una
istanza di E, ed y è una istanza di F. Ogni coppia è detta
istanza della r...