PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .
-
Upload
nevio-innocenti -
Category
Documents
-
view
247 -
download
0
Transcript of PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .
![Page 1: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/1.jpg)
PROGETTAZIONE CONCETTUALE DI BASI DI DATI:
INTRODUZIONE E MODELLO ER
Marco Brambilla
http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi
http://www.slideshare.net/mbrambil
![Page 2: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/2.jpg)
Sommario della lezione
Introduzione Astrazione e modelli Il modello Entità-Relazione
Entità Associazioni( Relazioni!) Attributi Gerarchie
Strategie di progetto Top down Bottom up
Limiti e trasformazione verso il progetto logico
![Page 3: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/3.jpg)
Il contesto: progettazione sw
Raccolta requisiti
Modellazione
concettualeAnalisi
funzionale
Specifica requisiti
non funzionali
Progettazione
SW applicativo
Progettazione
logica
Progettazione
fisica
![Page 4: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/4.jpg)
Fasi della progettazione
la progettazione concettuale (CIM) tradurre il risultato dell’analisi dei requisiti in un modello
espresso tramite uno SCHEMA CONCETTUALE indipendente dalla struttura dei dati
la progettazione logica (PIM) tradurre lo SCHEMA CONCETTUALE in uno SCHEMA LOGICO dipende dal tipo di struttura dei dati scelto tra: Gerarchico, Reticolare, Relazionale, ad oggetti, XML, ...
la progettazione fisica (PSM) progetto che ottenga prestazioni ottimali tramite scelta e
dimensionamento di strutture fisiche di accesso. Dipende dal sistema (DBMS) in uso
* CIM = computation independent model PIM = platform independent model PSM = platform specific model
![Page 5: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/5.jpg)
Ingredienti dei modelli concettuali
MODELLO: rappresentazione semplificata o parziale della realtà atta a uno specifico scopo Esempio? Mai realtà completa
CONCETTO/ ISTANZA: dicotomia tra la classe e l’oggetto concreto
ASTRAZIONE: capacità di evidenziare caratteristiche comuni ad insiemi di oggetti
Tre astrazioni base per la rappresentazione della conoscenza: Classificazione: classi e test di appartenenza delle istanze Aggregazione: composizione di oggetti complessi Generalizzazione/specializzazione: raffinamento
di classi in sottoclassi Esempio... dall’asilo
![Page 6: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/6.jpg)
Il modello ER
modello Entity-Relationship (ER) [P.P.Chen 1976] standard industriale de facto di buona parte delle metodologie
e degli strumenti per il progetto concettuale di basi di dati
Attenzione! Relationship = Associazione Da non confondere con relazioni del modello RELAZIONALE Pero’ poi la si chiama anche informalmente “relazione”
![Page 7: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/7.jpg)
Caso di studio Gestione delle prenotazioni dei posti di un laboratorio didattico di una
università. Ogni studente è caratterizzato dalla propria matricola, nome, cognome, data
e luogo di nascita, residenza, recapito telefonico. Gli studenti frequentano alcuni laboratori didattici. I laboratori didattici
contengono un insieme di posti di lavoro ed un insieme di risorse. Ad ogni posto di lavoro sono assegnate alcune risorse (unità di calcolo, stampanti, applicazioni).
Alcune delle risorse sono rese disponibili a tutti gli studenti senza controlli, altre vengono assegnate agli studenti che frequentano determinati laboratori, previa autorizzazione.
Lo studente può utilizzare un posto di lavoro solo se effettua una prenotazione. Si deve tenere traccia di tutte le prenotazioni e di tutte le volte che lo studente utilizza un posto di lavoro.
Ogni laboratorio ha un solo responsabile, il quale si può occupare di un solo laboratorio.
![Page 8: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/8.jpg)
Entità
Rappresenta una classe di oggetti (es., automobili, impiegati, studenti) o di fatti (es., conti correnti, corsi universitari) Non un insieme ma una categoria /prototipo
Usa nomi singolari per le entità
Devono essere oggetti rilevanti per la applicazione Ogni entità è caratterizzata da un nome e da attributi Notazione:
nome dell’entità
studente
esempio:
![Page 9: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/9.jpg)
Associazione (o Relazione)
Rappresenta un collegamento semantico tra entità di interesse per l’applicazione
Ogni istanza di una associazione è una ennupla tra istanze di entità (es., legame tra un automobile e il suo proprietario)
Ogni associazione è caratterizzata da un nome Usa nomi indipendenti dalla direzione di lettura dell’associazione
(es. verbi all’infinito o nomi)
Notazione:Nom
e
studente
esempio:
esameSostenere
![Page 10: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/10.jpg)
Studente Esame
Rappresentazione grafica delle istanze: relazione matematica! Dominio Codominio Immagine
![Page 11: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/11.jpg)
Attributi
Rappresentano caratteristiche delle entità e delle associazioni di interesse per l’applicazione
Ogni attributo è caratterizzata da un nome (e da un tipo/dominio)
Notazione:
codice
cognome
voto
![Page 12: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/12.jpg)
Come progettare?
Se il concetto è significativo per il contesto applicativo entità
Se il concetto è una proprietà/caratteristica di un concetto descrivibile tramite un dato elementare:
attributo
Se il concetto definisce un legame tra entità: associazione
![Page 13: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/13.jpg)
Corrispondenza tra concetti ed elementi ER
La corrispondenza tra oggetti e fatti del mondo reale e entità, associazioni e attributi non è assoluta ma dipende dal contesto:
Esempio: Colore = attributo o entità?
il trattore BOF34675 è di colore rosso il colore rosso ha lunghezza d’onda = ~700 nm
![Page 14: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/14.jpg)
guidatore autobus
percorso
guidare
servizio
Esempio: gestione viaggi autobus
![Page 15: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/15.jpg)
dipartimento docente
corsostudente
afferenza
insegnamento
frequenza
Esempio: università
![Page 16: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/16.jpg)
Ruoli e Cardinalità
Ruolo: verso di percorrenza di una associazione Autobus presta servizio su Percorso Percorso servito da Autobus
Cardinalità: vincolo sul numero di istanze di associazione cui ciascuna istanza di entità deve partecipare.
È una coppia (MIN-CARD, MAX-CARD). Valori significativi: MIN-CARD = 0 (opzionale)
= 1 (obbligatoria)
MAX-CARD = 1 (uno)
= N (molti)
In base alla sola cardinalità massima si hanno associazioni
uno-uno, uno-molti, molti-molti
![Page 17: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/17.jpg)
Associazione 1:1 con opzionalità
direttorereparto direzione(0,1) (1,1)
• un reparto puo’ essere diretto da uno solo direttore (0,1) un direttore deve dirigere uno ed un solo reparto (1,1)
![Page 18: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/18.jpg)
Reparto Direttore
Associazione 1:1 con opzionalità
![Page 19: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/19.jpg)
impiegato
controllato
controllore
controllo
(0,n)
(0,1)
Auto-associazioni
associazioni aventi come partecipantiistanze provenienti dalla stessa entità (chiamate anche “ad anello”):
![Page 20: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/20.jpg)
guidatore(1,n)
(0,n)
autobus(0,n)
percorso
guida
Associazioni ternarie
Pensaci N volte prima di introdurre una associazione di grado N
Attenzione alle cardinalità
![Page 21: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/21.jpg)
Autobus Percorso
Guidatore
Associazioni ternarie
![Page 22: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/22.jpg)
Cardinalità degli attributi
una prima classificazione:
attributo scalare (semplice, ad un solo valore) es.: matricola, cognome, voto
attributo multiplo (sono ammessi n valori)
es.: qualifica, titolo, specialità(1,n)
il simbolo (n,m) esprime la cardinalità dell’attributo.
attributo opzionale (è ammessa la “non esistenza del valore”)
(0,n)es.: tel., qualifica, targa
(0,1)
![Page 23: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/23.jpg)
attributo composto
attributo multiplo composto
es.: data (gg,mm,aaaa),indirizzo (via, numero civico,città, provincia, cap)
(1,n) es.: telefono (stato,città, numero)
(1,1)
Attributi composti
![Page 24: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/24.jpg)
Un identificatore caratterizza in modo univoco ciascuna istanza di entità
simbolo
non è modificabile (in generale…)
c.f.
dipendente macchina
mat.
libro
c.inv.
Identificatore
![Page 25: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/25.jpg)
L’identificatore di un’entità può essere composto
localitàalbergonome
stabilimento
nome
localitàsocietà
Identificatori composti
AUTO
targa
modello
n. telaio
n. produzione
![Page 26: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/26.jpg)
DIPENDENTE
c.f.
nome
cognome
data_nascita
data_assunzionelivello
stipendio indirizzo
n_tel.
qualifica
(0,1)(1,2)(1,n)
recapito
Attributi – esempio completo
![Page 27: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/27.jpg)
Entità deboli
Le entità deboli possono esistere se e solo se sono presenti entità “forti” da cui queste dipendono Non hanno identificatore proprio In caso di eliminazione dell’istanza “forte” di
riferimento le istanze deboli collegate devono essere eliminate
le entità con identificatore esterno sono deboli poiché a tutti i livelli la cancellazione di una entità provoca la cancellazione delle entità deboli collegate
Es. eliminazione di vettura
![Page 28: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/28.jpg)
(0,n)
parenteCF
dipendente
(1,1)
(0,n)
parenteCF
dipendente
(1,1)Ass. Ass.
matr matr
Simboli usati
![Page 29: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/29.jpg)
Gerarchie di generalizzazioneEreditarietà
Una gerarchia di generalizzazione è un legame logico tra un’entità padre E ed alcune entità figlie E1 E2 .. En dove: E è la generalizzazione di E1 E2 .. En
E1 E2 .. En sono specializzazioni di E
tale per cui: ogni istanza di Ek è anche istanza di E
una istanza di E può essere una istanza di Ek
Le entità figlio ereditano le proprietà (attributi, relazioni, identificatori) dell’entità padre
![Page 30: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/30.jpg)
Proprietà delle gerarchie: t vs. p , e vs. o
t sta per totale: ogni istanza dell’entità padre deve far parte di una delle entità figlie
p sta per parziale: le istanze dell’entità padre possono far parte di una delle entità figlie
e sta per esclusiva: ogni istanza dell’entità padre non può far parte di più di una delle entità figlie
o sta per overlpping: ogni istanza dell’entità padre può far parte di più entità figlie
![Page 31: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/31.jpg)
Esempio: personale d’azienda
personale
c_f
cognomeindirizzo
impiegato dirigente
consulentedipendentestipendiosindacato
p_iva
compenso
mansione classe
Contr.Dip.(1,1)
(0,n)
(0,n)
(1,1)
![Page 32: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/32.jpg)
Qualità di schemi concettuali
Completezza Correttezza Leggibilità (concettuale e grafica) Minimalità Auto-Esplicatività
![Page 33: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/33.jpg)
Leggibilità concettuale
Doc
Ric
Lez
Eser
Doc Ric
Ins
Lez Eser
ModI
I
I
I
I
![Page 34: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/34.jpg)
Leggibilità grafica
A
C
D
B
A BABBC
CD
AB
DA
D CCD
BCDA
![Page 35: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/35.jpg)
Caso di studio - soluzione
![Page 36: PROGETTAZIONE CONCETTUALE DI BASI DI DATI: INTRODUZIONE E MODELLO ER Marco Brambilla .](https://reader033.fdocument.pub/reader033/viewer/2022061519/5542eb75497959361e8ddeb3/html5/thumbnails/36.jpg)
Grazie per l’attenzione!
Ulteriori esempi e spiegazioni su:
Braga Brambilla Campi - Eserciziario di basi di dati – Edizioni Esculapio, Progetto Leonardo.Euro 12,00.
http://www.editrice-esculapio.it/shop/product/129/Braga-Brambilla-Campi-Eserciziario-di-basi-di-dati.asp
Mi trovi su LinkedIn, Twitter, Facebook, e sulla mia home page:
http://home.dei.polimi.it/mbrambil
http://home.dei.polimi.it/mbrambil http://twitter.com/MarcoBrambi
http://www.slideshare.net/mbrambil