La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning

Presentazioni simili


Presentazione sul tema: "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning"— Transcript della presentazione:

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


Scaricare ppt "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning"

Presentazioni simili


Annunci Google