Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAntonietta Rossi Modificato 6 anni fa
1
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Carlo Batini 2 Il modello Entita’ Relazione 2.5 Relazioni Is-A e Generalizzazioni Rielaborato da M. Lenzerini – Corso di Basi di dati
2
Relazione (o legame) IS-A tra entita’
Rielaborato da M. Lenzerini – Corso di Basi di dati
3
Relazione IS-A (o IS-A) tra entità
Fino ad ora non abbiamo detto nulla sul fatto se due entità possano o no avere istanze in comune E’ facile verificare che, in molti contesti, può accadere che tra due classi rappresentate da due entità nello schema concettuale sussista la relazione IS-A (o relazione di sottoinsieme), e cioè che ogni istanza di una sia anche istanza dell’altra. (Es. Studente, Studente della laurea breve) La relazione IS-A 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) Rielaborato da M. Lenzerini – Corso di Basi di dati
4
Sintassi: rappresentazione grafica della relazione IS-A tra entità
La relazione ISA si rappresenta nel diagramma dello schema concettuale mediante una freccia dalla sottoentità alla entità padre Esempio Persona Si dice che Studente è in relazione IS-A con Persona, o, in alternativa, che Studente IS-A Persona Studente Rielaborato da M. Lenzerini – Corso di Basi di dati
5
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à Cognome Età Dal fatto che Ogni istanza di Persona ha una Età Ogni istanza di Studente è istanza di Persona segue logicamente che Ogni istanza di Studente ha una Età Cognome, Età ereditati da Persona, Matricola ulteriore proprietà Persona Studente Matricola Rielaborato da M. Lenzerini – Corso di Basi di dati
6
Rielaborato da M. Lenzerini – Corso di Basi di dati
Domanda 2.5.1 Considera lo schema sotto. Secondo te e’ corretto, rispetta cioe’ tutte le definizioni e proprieta’ definite in precedenza? Risposta Nome Cognome Codice Fiscale Persona No, perche’ sulla base della proprieta’ di ereditarieta’ l’attributo Codice Fiscale e’ gia’ associato anche a Pescatore Pescatore Codice Fiscale Numero Licenza pesca Rielaborato da M. Lenzerini – Corso di Basi di dati
7
Generalizzazione tra entita’
Rielaborato da M. Lenzerini – Corso di Basi di dati
8
Generalizzazione tra entità
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. Rielaborato da M. Lenzerini – Corso di Basi di dati
9
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 Persona Sottoentità Sottoentità Uomo Donna Rielaborato da M. Lenzerini – Corso di Basi di dati
10
Tipi di generalizzazione 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 Rielaborato da M. Lenzerini – Corso di Basi di dati
11
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 Entità padre Generalizzazione completa Persona Sottoentità Sottoentità Uomo Donna Rielaborato da M. Lenzerini – Corso di Basi di dati
12
Esempio di generalizzazione non completa
La freccia non è annerita se la generalizzazione non è completa. Facciamo l’esempio delle persone che operano alla universita’. Esempio Entità padre Generalizzazione non completa, perche’ ci sono anche i non docenti Persona Sottoentità Sottoentità Studente Docente Rielaborato da M. Lenzerini – Corso di Basi di dati
13
Rielaborato da M. Lenzerini – Corso di Basi di dati
Domanda 2.5.2 La generalizzazione qui sotto e’ completa o non completa? Risposta Persona Persona Minorenne (sotto i 18 anni) Sposato Minorenne (sotto i 18 anni) Sposato Rielaborato da M. Lenzerini – Corso di Basi di dati
14
Generalizzazioni ed ereditarietà
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à. Cognome Età Nome Regione Sede Persona Città Codice Insegna Studente Docente Corso Matricola Rielaborato da M. Lenzerini – Corso di Basi di dati
15
Diverse generalizzazioni della stessa classe
La stessa entità può essere padre in diverse generalizzazioni Persona Uomo Donna Impiegato Studente Concettualmente, non c’è alcuna correlazione tra due generalizzazioni diverse, perchè rispondono a due criteri diversi di classificare le istanze della entità padre Rielaborato da M. Lenzerini – Corso di Basi di dati
16
Differenza tra due is-a e una generalizzazione
Persona Uomo Donna Impiegato Sportivo Le due sottoclassi derivano da uno stesso criterio di classificazione delle istanze della superclasse Le due sottoentità sono indipendenti, nel senso che il loro significato non deriva dallo stesso criterio di classificazione delle istanze della entità padre Rielaborato da M. Lenzerini – Corso di Basi di dati
17
Rielaborato da M. Lenzerini – Corso di Basi di dati
Esercizio 2.5.1 Svolgi l’esercizio 7.1 del libro di riferimento per il corso (P.Atzeni et al – Basi di Dati McGrawHill, 2006 Rielaborato da M. Lenzerini – Corso di Basi di dati
18
Rielaborato da M. Lenzerini – Corso di Basi di dati
Esercizio 2.5.2 Svolgi l’esercizio 7.10 del libro di riferimento per il corso (P.Atzeni et al – Basi di Dati McGrawHill, 2006 Rielaborato da M. Lenzerini – Corso di Basi di dati
19
Rielaborato da M. Lenzerini – Corso di Basi di dati
Approfondimenti Vi sono molte similitudini tra gli schemi Entita’ Relazione e i diagrammi delle classi in UML. Leggi e studia a tale proposito la sezione 7.4 del libro di riferimento. Ti dara’ delle regole precise per mettere in corrispondenza il modello Entita’ Relazione con i concetti UML utilizzati nei diagrammi delle classi, cosi’ potrai usare idue formalismi in modo intercambiabile. Rielaborato da M. Lenzerini – Corso di Basi di dati
20
Rielaborato da M. Lenzerini – Corso di Basi di dati
Concetti introdotti Relazione IS-A Generalizzazione Generalizzazione completa Generalizzazione incompleta Rielaborato da M. Lenzerini – Corso di Basi di dati
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.