Identificatori delle entità - Dipartimento di Informatica e Automazione
Transcript
Identificatori delle entità - Dipartimento di Informatica e Automazione
Identificatori delle entità • Permettono di identificare in maniera univoca le occorrenze delle entità • Ogni entità deve averne (almeno) uno Targa Automobile Modello Colore Nome Cognome Persona Data di nascita Indirizzo Questi rappresentati qui sopra sono detti identificatori interni, perché gli attributi della entità sono sufficienti ad individuare univocamente le occorrenze Modello Entità-Relazione 1 Identificatori esterni Quando gli attributi dell’entità non sono sufficienti ad identificare le sue occorrenze, viene coinvolta una relazione cui l’entità partecipa con molteplicità (1,1) Cognome Anno iscrizione Matricola Studente Indirizzo Città Nome (1,1) (1,N) Iscritto Università • sempre tramite relazioni binarie (eventualmente si può trasformare lo schema) • una identificazione esterna può coinvolgere diverse relazioni binarie con altre entità, purché di cardinalità (1,1) • non si devono creare dei cicli di entità identificate tramite relazioni con entità a loro volta identificate esternamente Modello Entità-Relazione 2 Esempio di E-R Data afferenza (0,1) Afferenza Età (1,N) Tel. (0,1) Impiegato (0,N) Direzione Cognome Matricola Stipendio (1,1) Progetto (0,1) (1,1) Composizione Data inizio Nome Dipartimento Nome Partecipa (1,N) (1,N) Città Budget Data consegna Via Numero (1,N) Sede Indirizzo Modello Entità-Relazione 3 Generalizzazioni Esempi: • Uomo e donna sono i due casi particolari di persona • Dipendente è un concetto che generalizza i concetti di funzionario, impiegato e dirigente Una generalizzazione mette in relazione una o più entità E1, E2, ..., En con un’altra entità E, di esse più generale (nel senso che le comprende come caso particolare) • Ogni proprietà (attributi, identificatori e relazioni) di E è significativa anche per le entità E1, ...,En • Ogni occorrenza di una entità Ei è occorrenza anche di E • Ogni occorrenza di E è occorrenza di al più una E1 Modello Entità-Relazione 4 Rappresentazione grafica di generalizzazioni Impiegato Dipendente CF Cognome Stipendio Funzionario Dirigente Persona CF Cognome Età Orario Militare Obiettore Modello Entità-Relazione Ente 5 Generalizzazioni totali e parziali parziale totale Una generalizzazione è totale se ogni occorrenza della entità padre è una occorrenza di almeno una delle entità figlie, altrimenti è parziale CF Cognome Età Persona Uomo Donna Professionista Ingegnere CF Cognome Stipendio Avvocato Modello Entità-Relazione 6 Esempio di gerarchia di generalizzazioni Codice fiscale Cognome Età Persona Uomo Donna Impiegato Studente Matricola Situazione militare Stipendio Progettista Direttore Segretario Orario Responsabile di Progetto Modello Entità-Relazione 7 Esercizio 1 Rappresentare le seguenti classi di oggetti, facendo uso, dove opportuno, del costrutto di generalizzazione del modello EntitàRelazione. Indicare, nei vari casi, gli attributi delle varie entità e il tipo di generalizzazione. Gli Gliimpiegati impiegatidi diuna unaazienda aziendasisidividono dividonoin in dirigenti, dirigenti,programmatori, programmatori,analisti, analisti,capi capi progetto progettoeesegretari. segretari.Ci Cisono sonoanalisti analistiche che sono sonoanche ancheprogrammatori. programmatori.IIcapi capiprogetto progetto devono devonoessere esseredirigenti. dirigenti.Gli Gliimpiegati impiegati hanno hannoun uncodice, codice,un unnome nomeeeun uncognome. cognome. ogni ognicategoria categoriadi diimpiegato impiegatoha haun unproprio proprio stipendio stipendiobase. base.Ogni Ogniimpiegato, impiegato,tranne tranneii dirigenti, dirigenti,ha haun unorario orariodi dilavoro. lavoro. Modello Entità-Relazione 8 Esercizio 2 Rappresentare le seguenti classi di oggetti, facendo uso, dove opportuno, del costrutto di generalizzazione del modello EntitàRelazione. Indicare, nei vari casi, gli attributi delle varie entità e il tipo di generalizzazione. Una Unacompagnìa compagnìaaerea aereaoffre offrevoli voliche che possiedono possiedonoun unnumero numeroche cheidentifica identificalala tratta tratta(per (peresempio: esempio:Roma-Milano), Roma-Milano),una una data data(25 (25marzo marzo2001), 2001),un unorario orariodi dipartenza partenza (ore (ore8:00) 8:00)eeuno unodi diarrivo arrivo(ore (ore9:00), 9:00),un un aereoporto aereoportodi dipartenza partenzaeeuno unodi di destinazione. destinazione.Ci Cisono sonovoli volinazionali nazionaliee internazionali. internazionali.IIvoli voliinternazionali internazionalipossono possono avere avereuno unooopiù piùscali. scali.Dei Deivoli volipassati passatièèdi di interesse interessel’orario l’orarioreale realedi dipartenza partenzaeedi di arrivo arrivo(per (peresempio, esempio,con conriferimento riferimentoalalvolo volo suddetto, suddetto,ore ore8:05 8:05ee9:07), 9:07),di diquelli quellifuturi futurièè di diinteresse interesseililnumero numerodi diposti postidisponibili disponibili Modello Entità-Relazione 9 Esercizio 3 Rappresentare le seguenti classi di oggetti, facendo uso, dove opportuno, del costrutto di generalizzazione del modello EntitàRelazione. Indicare, nei vari casi, gli attributi delle varie entità e il tipo di generalizzazione Una Unacasa casaautomobilistica automobilisticaproduce produceveicoli veicoli che chepossono possonoessere essereautomobili, automobili,motocicli, motocicli, camion camioneetrattori. trattori.IIveicoli veicolisono sonoidentificati identificati da daun unnumero numerodi ditelaio telaioeehanno hannoun unnome nome (per (peresempio esempio“Punto”), “Punto”),una unacilindrata cilindrataeeun un colore. colore.Le Leautomobili automobilisisisuddividono suddividonoin in utilitarie utilitarie(lunghezza (lunghezzasotto sottoiidue duemetri metriee mezzo), mezzo),piccola piccolacilindrata cilindrata(fino (finoaa1200 1200cc), cc), media mediacilindrata cilindrata(da (da1200 1200cc ccaa2000 2000cc) cc)ee grossa grossacilindrata cilindrata(sopra (sopra2000 2000cc). cc).II motocicli motociclisisisuddividono suddividonoin inmotorini motorini (cilindrata (cilindratasotto sottoii125 125cc) cc)eemoto moto (lunghezza (lunghezzasopra sopraililmetro metroeemezzo). mezzo).II camion camionhanno hannoun unpeso pesoeepossono possonoavere avereun un rimorchio. rimorchio. Modello Entità-Relazione 10 Documentazione Dizionario dei dati: per ogni entità offre una descrizione in linguaggio naturale di ciò che rappresenta, l’elenco dei suoi attributi e il suo identificatore. Per ogni relazione offre una descrizione in linguaggio naturale, la lista delle entità coinvolte, gli eventuali attributi Vincoli di integrità non espressi: elenco testuale dei vincoli di integrità che si vorrebbero soddisfatti. Esempio: “Un impiegato può essere direttore solo del dipartimento a cui afferisce; un impiegato non può avere uno stipendio maggiore del direttore del dipartimento al quale afferisce; il budget di un progetto deve essere superiore alla somma degli stipendi degli impiegati che vi partecipano, ecc.” Modello Entità-Relazione 11