Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Modello Concettuale Dettagli e Approfondimenti
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) G. Mecca – – Università della Basilicata
2
Dettagli e Approfondimenti
Mod. Concettuale >> Sommario Dettagli e Approfondimenti Classi e identificatori Identificatori Esterni Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione Sintassi grafica G. Mecca - - Basi di Dati
3
Introduzione Schema concettuale Costrutti
Modellazione Concettuale >> Dettagli e Approfondimenti >> Introduzione Introduzione Schema concettuale diagramma delle classi di UML alto livello di astrazione (fase di analisi) Costrutti classi e attributi associazioni cardinalità generalizzazioni G. Mecca - - Basi di Dati
4
Classi In questo contesto Successivamente Attributi
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Classi In questo contesto “concetti” della realtà di interesse con esistenza autonoma Successivamente classi dell’applicazione tabelle della base di dati Attributi proprietà rilevanti per l’applicazione G. Mecca - - Basi di Dati
5
Classi Identificatori
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Classi Identificatori non tutte le classi hanno identificatori espliciti ma gli oggetti della classe sono comunque distinti (es: due mele nella classe “Mele”) nell’applicazione, tutti gli oggetti hanno un identificatore implicito (nascosto): OID gli identificatori espliciti (es: matricola, codice fiscale, targa) esistono per la catalogazione sono rilevanti per la base di dati G. Mecca - - Basi di Dati
6
Classi Identificatori esterni
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Classi Identificatori esterni alcuni oggetti sono identificabili sulla base degli oggetti a cui sono associati esempio: un tirocinio può essere identificato con lo studente che lo ha sostenuto per identificarlo è necessario attraversare un arco di una associazione la cardinalità all’altro estremo deve essere 1 G. Mecca - - Basi di Dati
7
Classi Identificatore esterno Esempio: tirocinio universitario
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Classi Identificatore esterno indicato con un’annotazione in cui viene indicata l’associazione da attraversare Esempio: tirocinio universitario Studente <<id>> matricola cognome nome annoDiCorso Tirocinio luogo dataInizio durata ha svolto > 0..1 1..1 identificatore esterno “ha svolto” G. Mecca - - Basi di Dati
8
Classi 1..1 0..1 {77777, Bruno Pasquale, 1} {444, Pinco, Palla, 3}
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Studente <<id>> matricola cognome nome annoDiCorso Tirocinio sede dataInizio durata Classi 1..1 ha svolto > 0..1 identificatore esterno “ha svolto” {77777, Bruno Pasquale, 1} {444, Pinco, Palla, 3} {88888, Pietro, Studenti {111, Rossi, Mario i due tirocini sono distinguibili usando la matricola dello studente {Microsoft, 25/06/2002, 3 mesi} Tirocini {SOGEI 1/7/2002, 4 mesi} G. Mecca - - Basi di Dati
9
Classi Identificatore esterno complesso Esempio: esame universitario
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi Classi Identificatore esterno complesso una o più associazioni, uno o più attributi int. Esempio: esame universitario Studente <<id>> matricola cognome nome annoDiCorso Esame voto lode data Corso <<id>> codice titolo ciclo ha sostenuto > 0..* 1..1 relativo a > 1..1 0..* identificatore esterno “ha sostenuto”, “relativo a” G. Mecca - - Basi di Dati
10
Modellazione Concettuale >> Dettagli e Approfondimenti >> Classi
Nel caso volessimo tenere traccia anche degli esami non andati a buon fine lo studente può sostenere più volte l’esame Studente <<id>> matricola cognome nome annoDiCorso ProvaDiEsame voto lode data Corso <<id>> codice titolo ciclo ha sostenuto > 0..* 1..1 relativo a > 1..1 0..* identificatore esterno “ha sostenuto”, “relativo a”, data in questo caso l’identificatore esterno deve contenere la data G. Mecca - - Basi di Dati
11
Generalizzazioni Relazioni di ereditarietà tra i concetti
Modellazione Concettuale >> Dettagli e Approfondimenti >> Generalizzazioni Generalizzazioni Relazioni di ereditarietà tra i concetti consentono di descrivere gerarchie Possono essere di vario tipo completa 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 G. Mecca - - Basi di Dati
12
Generalizzazioni Persona Uomo Donna Dipendente Studente Professore
Modellazione Concettuale >> Dettagli e Approfondimenti >> Generalizzazioni Generalizzazioni Persona incompleta non disgiunta completa disgiunta Uomo Donna Dipendente Studente Professore Amministrativo Tecnico incompleta disgiunta Segretario sottoinsieme G. Mecca - - Basi di Dati
13
Cardinalità Cardinalità Cardinalità degli attributi
Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità 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 G. Mecca - - Basi di Dati
14
Cardinalità Cardinalità minima Cardinalità massima
Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità Cardinalità Cardinalità minima normalmente 0 oppure 1 le cardinalità minime 1 vengono usate raramente Cardinalità massima normalmente 1 oppure * Possono esserci altri numeri es: associazione tra Partita e Squadra 2..2 Forme Compatte 1 sta per 1..1; * sta per 0..* G. Mecca - - Basi di Dati
15
Cardinalità Per gli attributi cardinalità standard 1..1
Modellazione Concettuale >> Dettagli e Approfondimenti >> Cardinalità Cardinalità Per gli attributi cardinalità standard 1..1 cardinalità minima 0: attributo opzionale cardinalità massima *: attributo multivalore Docente cognome nome qualifica numTelefono [0..*] Supplente universitaDiappartenenza [0..1] G. Mecca - - Basi di Dati
16
Associazioni Relazioni logiche tra le classi Istanza dell’associazione
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni 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 1 uno a molti: cardinalità massime 1 e * molti a molti: cardinalità massime * e * G. Mecca - - Basi di Dati
17
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni
Ruolo descrizione della funzione di una classe nell’associazione 1 1..* < afferisce Dipartimento nome telefono indirizzo Docente cognome nome qualifica numTelefono [0..*] GruppoDiRicerca nome temiDiRicerca [1..*] membro ruoli 1 < dirige 1..* partecipa > direttore ricercatore G. Mecca - - Basi di Dati
18
Associazioni Normalmente Ma ci sono altre forme associazioni binarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Associazioni Normalmente associazioni binarie Ma ci sono altre forme associazioni ricorsive: associazione tra oggetti della stessa classe associazioni n-arie (poco usate): associazioni che coinvolgono oggetti di n classi (3 o più) G. Mecca - - Basi di Dati
19
Associazioni Ricorsive
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Associazioni Ricorsive Esempio {a01, Analisi 1, laurea tr.} Corsi {a02, Analisi 2, {p01, Prog. 1, {p02, Prog. 2, prerequisito ciclo <<id>> codice titolo Corso propedeuticità 0..* prerequisito G. Mecca - - Basi di Dati
20
Associazioni Ternarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Associazioni Ternarie Si utilizza il simbolo del rombo associano elementi di tre classi Esempio: forniture di vini ai ristoranti Cantina Tipo di Vino Ristorante rapporto di fornitura 1 * G. Mecca - - Basi di Dati
21
Associazioni Ternarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Tipo di Vino Associazioni Ternarie {Aglianico del Vulture} Cantina Tipo di Vino Ristorante rapporto di fornitura 1 * {Brachetto} Ristorante Cantina {Cantina Martino} {La Taverna Oraziana} {Cantina Sociale} G. Mecca - - Basi di Dati
22
Associazioni Ternarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Associazioni Ternarie Sono di difficile gestione sarebbe opportuno sostituirle con più binarie Attenzione agli errori. Esempio: Ristorante si rifornisce da Cantina Ristorante serve Tipo di Vino Cantina Tipo di Vino Ristorante * si rifornisce serve G. Mecca - - Basi di Dati
23
Associazioni Ternarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Tipo di Vino Associazioni Ternarie {Aglianico del Vulture} Cantina Tipo di Vino Ristorante * si rifornisce serve {Brachetto} le due istanze non sono equivalenti (chi fornisce l’Aglianico ?) Ristorante Cantina {Cantina Martino} {La Taverna Oraziana} {Cantina Sociale} G. Mecca - - Basi di Dati
24
Associazioni Ternarie
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Associazioni Ternarie Possono essere sostituite da una classe aggiuntiva tre associazioni binarie Cantina Tipo di Vino Ristorante fornisce > Rapporto di Fornitura riguarda > utilizza > 1 * identificatore esterno fornisce, riguarda utilizza G. Mecca - - Basi di Dati
25
Attributi di un’Associazione
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Attributi di un’Associazione Le associazioni possono avere attributi Esempio: corsi tenuti nel passato tengo traccia del primo anno di titolarità 0..1 1..* titolarità attuale Docente cognome nome qualifica numTelefono [0..*] Corso <<id>> codice titolo ciclo titolarità passate 1..* primoAnnoDiTitolarita attributo dell’associazione (surrogato della “classe di associazione”) G. Mecca - - Basi di Dati
26
Attributi di un’Associazione
27/03/2017 Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Attributi di un’Associazione Identificazione dell’associazione gli attributi possono essere identificatori per le istanze dell’associazione tra gli stessi nodi possono esserci più archi è consentito solo per associazioni molti a m. Aggiungere un esempio !!!!! StudenteLaurea Specialistica tutor attuale 0..1 0..* Triennale tutor passati * <<id>> dataInizio dataFine G. Mecca - - Basi di Dati
27
Altre forme di Associazione – Cenni
Modellazione Concettuale >> Dettagli e Approfondimenti >> Associazioni Altre forme di Associazione – Cenni Esistono altre forme di associazione aggregazione e composizione Aggregazione associazione tra un tutto e le sue parti simbolo rombo vuoto dalla parte del tutto esempio: dipartimento e impiegati Composizione aggregazione e le parti non esistono senza il tutto simbolo rombo pieno dalla parte del tutto esempio: libro e capitoli Tutto Parte Tutto Parte G. Mecca - - Basi di Dati
28
Modello Entità-Relazione
Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER Modello Entità-Relazione Sintassi grafica alternativa per il modello concettuale precedente ad UML tradizionalmente usato per l’analisi e la modellazione concettuale delle basi di dati UML è in parte ispirato all’ER meno generale del diagramma delle classi non include funzionalità dinamiche G. Mecca - - Basi di Dati
29
Modello Entità-Relazione
Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER Modello Entità-Relazione Per la modellazione concettuale sostanzialmente la semantica è equivalente Costrutti dei due modelli Diagramma delle classi Modello ER classe entità attributo associazione relazione cardinalità generalizzazione G. Mecca - - Basi di Dati
30
Modello Entità-Relazione: Sintassi
Modellazione Concettuale >> Dettagli e Approfondimenti >> Modello ER Modello Entità-Relazione: Sintassi Esame voto lode data Entità: rettangolo Attributi: due sintassi linee esterne all’entità sintassi equiv. a quella UML Relazione: rombo Cardinalità: posizione invertita Generalizzazione: freccia Esame voto lode data (1,1) (0,n) relativo a Corso Esame Docente DocInt Suppl G. Mecca - - Basi di Dati
31
Progettazione della BD >> Dettagli e Approfondimenti >> Modello ER
Corso <<id>> codice titolo ciclo Esame voto lode data < relativo a 0..* 1 0..* relatore solo se al 3 anno 0..* titolarità 1 ha sostenuto > Docente cognome nome qualifica numTelefono [0..*] Studente <<id>> matricola cognome nome annoDiCorso Tirocinio luogo dataInizio durata relatore > 1 0..* 0..1 0..* 0..1 ha svolto > DocenteInterno facolta Supplente Studente Laurea Triennale Studente Laurea Specialistica tutor > 0..* 0..1 G. Mecca - - Basi di Dati
32
(0,n) (0,n) (1,1) (1,1) (0,n) (0,1) (0,n) (0,n) (0,1) (1,1) (0,1)
Progettazione della BD >> Dettagli e Approfondiementi >> Modello ER Corso codice titolo ciclo Esame voto lode data (0,n) relativo a (0,n) (1,1) ha sostenuto titolarità (1,1) (0,n) Tirocinio luogo dataInizio durata Docente cognome nome qualifica numTelefono (0,n) Studente matricola cognome nome annoDiCorso relatore (0,1) (0,n) (0,n) (0,1) ha svolto (1,1) Studente Laurea Triennale Studente Laurea Specialistica DocenteInterno facolta Supplente tutor (0,1) (0,n) G. Mecca - - Basi di Dati
33
Dettagli e Approfondimenti
Modellazione Concettuale >> Sommario Dettagli e Approfondimenti Classi e identificatori Identificatori Esterni Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione Sintassi grafica G. Mecca - - Basi di Dati
34
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 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 oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - - Basi di Dati
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.