Progettazione concettuale per le basi di dati - Introduzione e il modello ER

7,362 views

Published on

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

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,362
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
119
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Progettazione concettuale per le basi di dati - Introduzione e il modello ER

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

×