G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale...
-
Upload
anastasio-melis -
Category
Documents
-
view
222 -
download
1
Transcript of G. Mecca – [email protected] – Università della Basilicata Basi di Dati Modello Concettuale...
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)
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
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
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
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
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
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”
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}
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..*
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
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
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
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à
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à
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]
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
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
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
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
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 *
*
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
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
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 ?)
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
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”)
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
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
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
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
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
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
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
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
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.