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

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercitazione Modello ER 1
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Definizione e caratteristiche
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Il modello relazionale
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Gli schemi concettuali
Progettazione concettuale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
OGGETTO E TIPO DI OGGETTO
ER Primo esonero Basi DATI 2015
Il modello relazionale
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Selezione e Proiezione
UML Diagramma statico di una classe
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Linguaggio di Modellazione Unificato
Il questionario: progettazione e redazione II Modulo
Definizione e caratteristiche
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

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

Relazione (o legame) IS-A tra entita’ Rielaborato da M. Lenzerini – Corso di Basi di dati

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

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

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

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

Generalizzazione tra entita’ Rielaborato da M. Lenzerini – Corso di Basi di dati

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

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

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

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

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

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

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

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

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

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

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

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

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