Progetto concettuale Il progetto concettuale 1 Obiettivo: produrre lo schema concettuale Strumenti: meccanismi di astrazione forniti dal modello Entità-Relazione Specifiche iniziali: descrizioni in linguaggio naturale, pagine video e stampe, formati record, ecc. Vantaggi: la scelta del DBMS può essere rimandata facilita le modifiche del progetto è parte integrante della documentazione finale del progetto 2 Meccanismo di astrazione Esempio di classificazione Il processo di astrazione permette di isolare le caratteristiche essenziali della porzione di realtà che si vuole modellare. Primitive di astrazione: classificazione: identifica classi di oggetti del mondo reale aventi proprietà comuni aggregazione: definisce una nuova classe a partire dalle sue classi componenti generalizzazione: definisce una relazione di sottoinsieme tra gli elementi di due o più classi 3 Rappresentazione dei mesi dell'anno. Mese Gennaio Febbraio... Dicembre Arco = is a member of 4 Esempi di aggregazione Esempi di generalizzazione BICICLETTA VEICOLO RUOTA PEDALE MANUBRIO Arco = is a part of Aggregazione SESSO POSIZIONE Classific. Giorgio Maria Luca Maschio Femmina Manager Impiegato BICICLETTA arco = is-a AUTOMOBILE In una generalizzazione tutte le astrazioni definite per la classe generale sono ereditate dalle classi sottoinsieme. 5 6 Il progetto concettuale ~1~
Tipi di corrispondenza Esempio di aggregazione n-aria LEZIONE C1 C2 C1 C2 CORSO GIORNO AULA C1 (a) Uno-a-uno C2 C1 (b) Uno-a-molti C2 Ogni lezione di un certo corso è tenuta in un determinato giorno in una specifica aula. Ogni corso è tenuto da una a tre volte alla settimana: min-card(corso,lezione)=1 max-card(corso,lezione)=3 (c) Molti-a-uno (d) Molti-a-molti 7 8 Generalizzazione Esempi di copertura Proprietà di copertura della generalizzazione: copertura totale o parziale: totale se ogni elemento di A corrisponde ad almeno un elemento delle sottoclassi parziale se esiste almeno un elemento di A privo di corrispon-denza copertura esclusiva o sovrapposta: esclusiva se ogni elemento di A si mappa al più su un elemento delle sottoclassi sovrapposta se ogni elemento di A si mappa su elementi di più sottoclassi (a) Totale, esclusiva (b) Totale, sovrapposta 9 10 Esempi di copertura Modello Entità-Relazione B I AUTO C I (c) Parziale, esclusiva CALCIA- TENNISTA TORE (d) Parziale, sovrapposta VEICOLO GIOCATORE Elementi di base: ENTITA`: classe di oggetti del mondo reale rappresentata con un rettangolo RELAZIONE: rappresenta l'aggregazione di due o più entità rappresentata con un rombo ANELLO: relazione binaria recursiva (di un'entità con se stessa); si usa una etichetta per distinguere i rami semanticamente diversi 11 12 Il progetto concettuale ~2~
Esempi Esempi VIVE_ IN (a) Relazione VIVE_IN SUPERIORE_DI DIRIGE (0,1) CORSO (1,3) (0,40) LEZIONE AULA SUBORDINATO_A (c) Relazione DIRIGE GIORNO (0,1) ORDINE SPEDIZIONE (d) Relazione SPEDIZIONE BOLLA_DI_ CONSEGNA (b) Relazione LEZIONE 13 14 Attributi Esempio Rappresentano le proprietà elementari delle entità o relazioni tutte le informazioni di tipo estensionale sono contenute negli attributi ad ogni attributo corrisponde un dominio di definizione Cardinalità è il numero di valori dell'attributo associati ad un'istanza dello schema: min-card (A,E) = 0 attributo opzionale min-card (A,E) = 1 attributo obbligatorio max-card (A,E) = n attributo multivalore SSN PROFESSIONE GRADO GIORNO_TRASFERIMENTO VIVE_ IN (0,1) NATO_A DATA_DI_NASCITA STATO NUMERO_ DI_ ABITANTI 15 16 Attributo composto 17 Gruppo di attributi con affinità in termini di significato ed impiego. Sono definite cardinalità minima e massima. Esempio (0,1) VIA STATO PAESE CAP (0,1) Identificatore 18 L'identificatore di un'entità E è un insieme di attributi (e/o di entità in relazione con E) che permette di definire in modo univoco tutte le istanze di E (chiave o chiave candidata). I è un identificatore di un'entità E se valgono le seguenti proprietà: non possono esistere due istanze di E con lo stesso valore per l'identificatore I (univocità) eliminando un attributo A (o un'entità) dall'identificatore la proprietà precedente decade (minimalità) Il progetto concettuale ~3~
Caratteristiche degli identificatori Esempi di identificatori Ogni entità può avere più di un identificatore Un identificatore è: semplice se è costituito da un solo elemento interno se è definito solo da attributi di E esterno se è definito solo da altre entità misto se è costituito da elementi interni ed esterni CODICE_FISCALE (a) Identificatore interno semplice DATA_DI_NASCITA _PADRE RESIDENZA IDENTIFICATORE_LE (b) Identificatore interno composto 19 20 Esempi di identificatori Esempi di Identificatori NUMERO NEL_DIPARTIMENTO INTESTA- ZIONE_ ORDINE PRODOTTO LAVORA_IN DI PER DIPARTIMENTO NUMERO_ LINEA A (c) Identificatore esterno, composto, misto B DETTAGLIO_ ORDINE (d) Identificatori per l entità DETTAGLIO_ORDINE 21 22 Gerarchie di Generalizzazione Nel modello ER è possibile realizzare gerarchie di generalizzazione tra entità. Una entità E è una generalizzazione di un gruppo di entità E1, E2,..., En, se ogni oggetto delle classi E1, E2,..., En è anche un oggetto della classe E. L'opposto della generalizzazione è la specializzazione. L'aspetto importante della generalizzazione è il tipo di copertura: totale o parziale e esclusiva o sovrapposta Gerarchie di generalizzazione L'entità E è una generalizzazione di E1,..., En se ogni istanza di E1,..., En è anche un'istanza di E Attributi, relazioni e generalizzazioni definiti per E sono automaticamente ereditati da tutte le sottoclassi di E. E E 1 E 2... E n 23 24 Il progetto concettuale ~4~
Esempi di gerarchie Sottoinsieme (t,e) (p,e) MANAGER SEGRETARIO (p,o) (p,o) Caso particolare della generalizzazione: esiste una sola sottoclasse di E, che può avere propri attributi. La copertura è sempre parziale ed esclusiva. Esempio: LAVORATORE DIRETTORE_ TECNICO DIRETTORE_ AMMINISTRATIVO PROGRAM- MATORE VENDITORE PUBBLICI- TARIO LAVORATORE_ STABILE DATA_DI_ASSUNZIONE 25 26 Ereditarietà Ereditarietà STATO_CIVILE COG_DA_NUBILE STATO_CIVILE COG_DA_NUBILE Rappresentazione scorretta 27 28 Ereditarietà Simboli grafici usati nel modello ER STATO_CIVILE (0,1) COG_DA_NUBILE (0,1) Concetto Entità Rappresentazione grafica Relazione Attributo Rappresentazione scorretta Attributo composto 29 30 Il progetto concettuale ~5~
Simboli grafici usati nel modello ER Esempio di schema concettuale Concetto Gerarchia di generalizzazione Subset Rappresentazione grafica RIGUARDA RAPPORTO_SU RICERCA PRODUCE TITOLO NUMERO AUTORI RICERCATORE_ PRINCIPALE Identificatore Identificatore esterno misto B A ARGOMENTO_ RICERCA SU PROGETTO_DI RICERCA LAVORA_ SU CODICE CIFRA FINANZIATA_ DATA DA NUM_ FINANZIAMENTO AZIENDA SUPER- VISTO C_FISC TITOLO TELEFONO UFFICIO 31 32 _TRAMITE Esempio di schema concettuale ETA` TIFOSO ALLENATORE GIOCATORE PRESIDENTE SOSTIENE GIOCA_ DIRIGE PRESIEDE PER SQUADRA SI_ALLENA INCONTRA ASSISTE RISULTATO (0,1) _IN GIOCATA_ NUMERO PARTITA A STADIO DATA DATA CAPIENZA ORARIO ARBITRO (0,1) 33 Il progetto concettuale ~6~