G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale...

34
G. Mecca – [email protected] – Università della G. Mecca – [email protected] – Università della Basilicata Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Transcript of G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale...

Page 1: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

G. Mecca – [email protected] – Università della BasilicataG. Mecca – [email protected] – Università della Basilicata

Basi di Dati

Modello ConcettualeDettagli e Approfondimenti

versione 2.0

Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Page 2: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

2G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Dettagli e Approfondimenti

Classi e identificatoriIdentificatori Esterni

Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione

Sintassi grafica

Mod. Concettuale >> Sommario

Page 3: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

3G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Introduzione

Schema concettualediagramma delle classi di UMLalto livello di astrazione (fase di analisi)

Costrutticlassi e attributiassociazionicardinalitàgeneralizzazioni

Modellazione Concettuale >> Dettagli e Approfondimenti >> Introduzione

Page 4: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

4G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

In questo contesto“concetti” della realtà di interesse con

esistenza autonoma Successivamente

classi dell’applicazionetabelle della base di dati

Attributiproprietà rilevanti per l’applicazione

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Page 5: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

5G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Identificatorinon tutte le classi hanno identificatori esplicitima gli oggetti della classe sono comunque

distinti (es: due mele nella classe “Mele”)nell’applicazione, tutti gli oggetti hanno un

identificatore implicito (nascosto): OIDgli identificatori espliciti (es: matricola, codice

fiscale, targa) esistono per la catalogazionesono rilevanti per la base di dati

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Page 6: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

6G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Identificatori esternialcuni oggetti sono identificabili sulla base

degli oggetti a cui sono associatiesempio: un tirocinio può essere identificato

con lo studente che lo ha sostenutoper identificarlo è necessario attraversare un

arco di una associazionela cardinalità all’altro estremo deve essere 1

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Page 7: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

7G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Identificatore esternoindicato con un’annotazione in cui viene

indicata l’associazione da attraversare Esempio: tirocinio universitario

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Tirocinio

luogo

dataInizio

durata

ha svolto > 0..11..1

identificatoreesterno “ha svolto”

Page 8: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

8G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Tirocinio

sede

dataInizio

durata

ha svolto > 0..11..1

identificatoreesterno

“ha svolto”

{77777,BrunoPasquale,1}{444,

Pinco,Palla,3}

{88888,Pinco,Pietro,1}

Studenti

{111,Rossi,Mario1}

i due tirocini sonodistinguibili usando lamatricola dello studente {Microsoft,

25/06/2002,3 mesi}

Tirocini

{Microsoft,25/06/2002,3 mesi}

{SOGEI1/7/2002,4 mesi}

Page 9: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

9G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Identificatore esterno complessouna o più associazioni, uno o più attributi int.

Esempio: esame universitario

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Esame

voto

lode

data ha sostenuto >

0..*1..1

identificatore esterno “ha sostenuto”, “relativo a”

Corso

<<id>> codice

titolo

ciclorelativo a >

1..10..*

Page 10: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

10G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Classi

Nel caso volessimo tenere traccia anche degli esami non andati a buon finelo studente può sostenere più volte l’esame

Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi

Studente

<<id>> matricola

cognome

nome

annoDiCorso

ProvaDiEsame

voto

lode

data ha sostenuto >

0..*1..1

identificatore esterno “ha sostenuto”, “relativo a”, data

Corso

<<id>> codice

titolo

ciclorelativo a >

1..10..*

in questo caso l’identificatore esterno deve contenere la data

Page 11: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

11G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Generalizzazioni

Relazioni di ereditarietà tra i concetticonsentono di descrivere gerarchie

Possono essere di vario tipocompleta o incompleta: tutte le istanze della

superclasse sono classificate o meno nelle sottoclassi

disgiunte o non disgiunte: le sottoclassi hanno intersezione vuota o meno

sottoinsiemi: un’unica sottoclasse

Modellazione Concettuale >> Dettagli e Approfondimenti >> Generalizzazioni

Page 12: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

12G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Modellazione Concettuale >> Dettagli e Approfondimenti >> Generalizzazioni

Persona

Generalizzazioni

Dipendente StudenteUomo Donna

Segretario

completadisgiunta

incompletanon disgiunta

incompletadisgiunta

sottoinsieme

Professore Amministrativo Tecnico

Page 13: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

13G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Cardinalitàvincoli sulle istanze degli attributi e delle

associazioni Cardinalità degli attributi

vincoli sul numero di valori dell’attributo Cardinalità delle associazioni

vincoli sul numero di istanze (archi) dell’associazione

Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità

Page 14: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

14G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Cardinalità minimanormalmente 0 oppure 1le cardinalità minime 1 vengono usate raramente

Cardinalità massimanormalmente 1 oppure *

Possono esserci altri numeries: associazione tra Partita e Squadra 2..2

Forme Compatte1 sta per 1..1; * sta per 0..*

Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità

Page 15: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

15G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Cardinalità

Per gli attributicardinalità standard 1..1cardinalità minima 0: attributo opzionalecardinalità massima *: attributo multivalore

Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità

Docente

cognome

nome

qualifica

numTelefono [0..*]

Supplente

universitaDiappartenenza [0..1]

Page 16: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

16G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni

Relazioni logiche tra le classi Istanza dell’associazione

arco che collega due oggetti delle classi Cardinalità

vincoli sul numero di archi per un oggetto Classificazione rispetto alle cardinalità

uno a uno: cardinalità massime pari a 1uno a molti: cardinalità massime 1 e *molti a molti: cardinalità massime * e *

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Page 17: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

17G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni

Ruolodescrizione della funzione di una classe

nell’associazione

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Dipartimento

nome

telefono

indirizzo

Docente

cognome

nome

qualifica

numTelefono [0..*]

GruppoDiRicerca

nome

temiDiRicerca [1..*]

1 1..*< afferisce

1 1< dirige

1..*1..*

partecipa >direttore

ricercatore

membro

ruoli

Page 18: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

18G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni

Normalmenteassociazioni binarie

Ma ci sono altre formeassociazioni ricorsive: associazione tra

oggetti della stessa classeassociazioni n-arie (poco usate):

associazioni che coinvolgono oggetti di n classi (3 o più)

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Page 19: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

19G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ricorsive

Esempio

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

ciclo

<<id>> codice

titolo

Corso

propedeuticità

0..*

0..*

prerequisito

{a01,Analisi 1,laurea tr.}

Corsi

{a02,Analisi 2,laurea tr.}

{p01,Prog. 1,laurea tr.}

{p02,Prog. 2,laurea tr.}

prerequisito

prerequisito

Page 20: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

20G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ternarie

Si utilizza il simbolo del romboassociano elementi di tre classi

Esempio: forniture di vini ai ristoranti

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Cantina Tipo di Vino

Ristorante

rapporto di fornitura

1 *

*

Page 21: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

21G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ternarie

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Cantina Tipo di Vino

Ristorante

rapporto di fornitura

1 *

*

{Aglianicodel Vulture}

{CantinaMartino}

{LaTavernaOraziana}

{CantinaSociale}

{Brachetto}

Cantina

Tipo di Vino

Ristorante

Page 22: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

22G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ternarie

Sono di difficile gestionesarebbe opportuno sostituirle con più binarie

Attenzione agli errori. Esempio: Ristorante si rifornisce da CantinaRistorante serve Tipo di Vino

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Cantina Tipo di Vino

Ristorante

*

**

*

si rifornisce serve

Page 23: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

23G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ternarie

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

{Aglianicodel Vulture}

{CantinaMartino}

{LaTavernaOraziana}

{CantinaSociale}

{Brachetto}

Tipo di Vino

Cantina Ristorante

Cantina Tipo di Vino

Ristorante

*

**

*

si rifornisce serve

le due istanze nonsono equivalenti (chifornisce l’Aglianico ?)

Page 24: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

24G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Associazioni Ternarie

Possono essere sostituite da una classe aggiuntivatre associazioni binarie

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Cantina Tipo di Vino

Ristorante

fornisce > Rapporto di Fornitura

riguarda >

utilizza >

1 * * 1

1

*

identificatore esterno fornisce, riguarda

utilizza

Page 25: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

25G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Attributi di un’Associazione

Le associazioni possono avere attributi Esempio: corsi tenuti nel passato

tengo traccia del primo anno di titolarità

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Docente

cognome

nome

qualifica

numTelefono [0..*]

Corso

<<id>> codice

titolo

ciclo

0..1 1..*

titolarità attuale

titolarità passate

1..* 1..*

primoAnnoDiTitolarita attributo dell’associazione(surrogato della “classe diassociazione”)

Page 26: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

26G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Attributi di un’Associazione

Identificazione dell’associazionegli attributi possono essere identificatori per

le istanze dell’associazionetra gli stessi nodi possono esserci più archiè consentito solo per associazioni molti a m.

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

<<id>>dataIniziodataFine

tutor passati* *

StudenteLaurea

Specialistica

tutor attuale 0..10..*StudenteLaurea

Triennale

Page 27: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

27G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Altre forme di Associazione – Cenni Esistono altre forme di associazione

aggregazione e composizione Aggregazione

associazione tra un tutto e le sue partisimbolo rombo vuoto dalla parte del tuttoesempio: dipartimento e impiegati

Composizioneaggregazione e le parti non esistono senza il tuttosimbolo rombo pieno dalla parte del tuttoesempio: libro e capitoli

Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni

Tutto Parte

Tutto Parte

Page 28: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

28G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Modello Entità-Relazione

Sintassi grafica alternativa per il modello concettualeprecedente ad UMLtradizionalmente usato per l’analisi e la

modellazione concettuale delle basi di datiUML è in parte ispirato all’ERmeno generale del diagramma delle classinon include funzionalità dinamiche

Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER

Page 29: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

29G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Modello Entità-Relazione

Per la modellazione concettualesostanzialmente la semantica è equivalente

Costrutti dei due modelli

Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER

Diagramma delle classi Modello ER

classe entità

attributo attributo

associazione relazione

cardinalità cardinalità

generalizzazione generalizzazione

Page 30: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

30G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Modello Entità-Relazione: Sintassi

Entità: rettangolo Attributi: due sintassi

linee esterne all’entitàsintassi equiv. a quella UML

Relazione: rombo Cardinalità: posizione invertita Generalizzazione: freccia

Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER

Esamevoto

lode

data

Esame

voto

lode

data

Docente

DocInt Suppl

(1,1)(0,n)relativo a

Corso Esame

Page 31: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

31G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Progettazione della BD >> Dettagli e Approfondimenti >> Modello ER

Studente

<<id>> matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono [0..*]

DocenteInterno

facolta

Supplente Studente

Laurea

Triennale

Studente

Laurea

Specialistica

0..* 0..1tutor >

relatore >

0..*0..1

Corso

<<id>> codice

titolo

ciclo

titolarità

0..*

0..*

Esame

voto

lode

data

ha sostenuto >10..*

< relativo a

0..*1

Tirocinio

luogo

dataInizio

durata

ha svolto >

1

0..1

relatore solose al 3 anno

Page 32: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

32G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Progettazione della BD >> Dettagli e Approfondiementi >> Modello ER

Studente

matricola

cognome

nome

annoDiCorso

Docente

cognome

nome

qualifica

numTelefono (0,n)

DocenteInterno

facolta

SupplenteStudente

Laurea

Triennale

Studente

Laurea

Specialistica

(0,1) (0,n)

(0,1)(0,n)

Corso

codice

titolo

ciclo

(0,n)

(0,n)

(1,1)(0,n)

(1,1)(0,n)

Tirocinio

luogo

dataInizio

durata

(0,1)

(1,1)

titolarità

relativo a

relatore

ha sostenuto

ha svolto

tutor

Esame

voto

lode

data

Page 33: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

33G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Dettagli e Approfondimenti

Classi e identificatoriIdentificatori Esterni

Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione

Sintassi grafica

Modellazione Concettuale >> Sommario

Page 34: G. Mecca – mecca@unibas.it – Università della Basilicata Basi di Dati Modello Concettuale Dettagli e Approfondimenti versione 2.0 Questo lavoro è concesso.

34G. Mecca - [email protected] - Basi di DatiG. Mecca - [email protected] - Basi di Dati

Termini della Licenza

Termini della Licenza

This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.