MODELLO ENTIT RELAZIONE l ENTIT E ATTRIBUTI l
MODELLO ENTITÀ - RELAZIONE l ENTITÀ E ATTRIBUTI l DOMINI l RELAZIONI l GENERALIZZAZIONI l IDENTIFICATORI l ENTITA’ DEBOLI l VINCOLI DI CARDINALITA’
MODELLO ENTITA’ - RELAZIONE Caratteristiche l Modello ad alto livello di astrazione, per la rappresentazione concettuale dei dati l Proposto da P. P. Chen, anni ‘ 76 l Intuitivo, facile da comprendere, molto diffuso ed utilizzato per la progettazione di basi di dati l Usato per la progettazione concettuale dei dati, produzione di schemi EntitàRelazione l Usato come linguaggio di comunicazione tra il progettista informatico e l’utente del sistema l Fornisce una serie di costrutti e vincoli atti a descrivere la realtà di interesse in modo semplice e naturale, con astrazione dalla particolare organizzazione logica e fisica dei dati richiesta dal DBMS
MODELLO ENTITA’ - RELAZIONE Costrutti e loro rappresentazione grafica Entità Relazione Attributo composto Cardinalità relazione Cardinalità attributo (n, m) Identificatore interno Identificatore esterno ( P, E) Generalizzazione
MODELLO ENTITA’ - RELAZIONE Costrutto Entità come istanza ( Entity ) rappresenta un oggetto della realtà che, ai fini dell’applicazione di interesse, • ha una propria identità : è distinguibile da altri oggetti indipendentemente dai valori dei propri attributi • ha una esistenza fisica, es: PERSONA, AULA • ha una esistenza concettuale, es: ESAME, CORSO oppure o Entità come tipo ( Entity Type ) esprime il l’idea astratta dell’oggetto che si vuol rappresentare e che viene descritto dal Nome e dagli Attributi , aspetto intensionale della rappresentazione o Entità come classe ( Entity Set ) insieme delle entità, istanze, dello stesso tipo, aspetto estensionale della rappresentazione
MODELLO ENTITA’ - RELAZIONE Costrutti Attributo e Dominio o Attributi descrivono proprietà elementari di Entità e Relazioni di interesse ai fini dell’applicazione es: Nome, Età, Indirizzo di STUDENTE o Domini ogni attributo associa a ciascuna istanza di entità, o di relazione, un valore appartenente ad un insieme predefinito di valori ammissibili, detto dominio dell’attributo es: l’insieme delle stringhe di 15 caratteri per l’attributo Nome dell’entità STUDENTE es: gli interi compresi tra 18 e 65 per l’attributo Età dell’entità STUDENTE +La gran parte dei dati memorizzati in una base di dati è costituita dai valori degli attributi delle entità in essa rappresentate
MODELLO ENTITA’ - RELAZIONE Tipologia degli Attributi Semplice - Composto Scalare - Multivalore Derivato - Memorizzato o Semplice non scomponibile in componenti più elementari + Nome, Età di STUDENTE o Composto costituito da più componenti ciascuna rappresentabile con un attributo semplice avente un significato proprio ed indipendente + Data formata da Giorno, Mese, Anno + Indirizzo formato da Numero, Via, Città o Multivalore associa ad ogni istanza di una entità un insieme di valori + Num. Tel di PERSONA con più numeri di telefono { tel-casa, tel-ufficio, . . . } + Autore di LIBRO con più autori { Elmasri, Navathe }
MODELLO ENTITA’ - RELAZIONE Tipologia e Cardinalità degli Attributi o Memorizzato attributo i cui valori sono presenti, effettivamente memorizzati, nella base di dati o Derivato attributo i cui valori, non presenti nella base di dati, sono calcolati a partire da valori di attributi memorizzati + Età derivato da Data-Nascita + Numero-Studenti di un CORSO derivato dalla relazione tra STUDENTE e CORSO o Cardinalità degli attributi specifica il numero minimo e massimo di valori dell’attributo associati a ciascuna istanza di entità
MODELLO ENTITA’ - RELAZIONE Valori Nulli o Valore Nullo è un particolare valore polimorfo (appartiene a più Tipi ) che indica assenza di informazione Può significare o che all’attributo non è possibile assegnare un valore + Cognome da nubile di IMPIEGATO maschio o che, per il momento, non si conosce il valore da assegnare all’attributo + Matricola di STUDENTE trasferito o che non si sa se è possibile o meno applicare un valore : non si sa se il valore esiste o, in caso affermativo, non lo si conosce
MODELLO ENTITA’ - RELAZIONE Valori Nulli + Il comitato ANSI ha individuato e fissato ben 14 diversi significati di valore NULLO 1. Non Applicabile 2. Applicabile, al momento Ignoto 3. Esistente, ma Riservato 4. Esistente, Non Disponibile. . . 8. Disponibile, in Aggiornamento 9. Disponibile, di Validità Incerta 10. Disponibile, Non Valido. . . 14. Derivato da Valori Nulli
MODELLO ENTITA’ - RELAZIONE Costrutto Relazione u definisce una corrispondenza tra le istanze di due o più entità u rappresenta un legame, significativo per l’applicazione, tra due o più entità u modella fatti significativi della realtà che mettono in relazione le istanze di due o più entità + + +
MODELLO ENTITA’ - RELAZIONE Definizione formale di Relazione o Definizione una relazione R è un sottoinsieme del prodotto cartesiano delle entità, insiemi Ei , partecipanti alla relazione: o Istanza una istanza della relazione R è una ennupla ordinata di istanze ei appartenenti alle Entità (insiemi) Ei coinvolte nella relazione + Dalla definizione di relazione del modello E-R consegue che una relazione non ammette ennuple ripetute Ad esempio, la relazione ESAME non è in grado di descrivere il fatto che un certo studente ha ripetuto più volte lo stesso esame
MODELLO ENTITA’ - RELAZIONE Costrutto Relazione STUDENTE SEGUE CORSO + Livello intesionale della relazione SEGUE : descrizione del legame logico esistente tra le entità STUDENTE e CORSO ( s 1, c 1) s 1 ( s 1, c 3) c 1 s 2 ( s 2, c 1) c 2 s 3 ( s 3, c 2) c 3 ( s 2, c 2) + Livello estensionale della relazione SEGUE : insieme delle istanze della relazione: coppie ordinate formate da uno specifico STUDENTE e uno specifico CORSO
MODELLO ENTITA’ - RELAZIONE Grado di una Relazione o Grado il grado di una relazione è determinato dal numero di entita partecipanti alla relazione STUDIA CITTA' STUDENTE RISIEDE + due relazioni binarie tra le entità STUDENTE e CITTA’ STUDENTE ESAME CORSO DOCENTE + una relazione ternaria tra STUDENTE, DOCENTE e CORSO
MODELLO ENTITA’ - RELAZIONE Relazioni ricorsive o Relazione ricorsiva una relazione si dice ricorsiva se sussiste tra una entità e se stessa: se associa coppie di istanze appartenenti alla stessa entità AMICIZIA PERSONA ricorsiva simmetrica PARENTELA Padre PERSONA Figlio ricorsiva asimmetrica + in questo caso è necessario indicare il ruolo svolto dall’entità nella relazione
MODELLO ENTITA’ - RELAZIONE Identificatore di Entità o Identificatore di una entità specifica l’attributo(i) e/o le entità che permettono di identificare in maniera univoca ciascuna singola istanza dell’entità o Identificatore interno se è costituito da uno o più attributi della entità stessa; per l’identificazione delle istanze non sono necessari attributi e/o entità esterne + +
MODELLO ENTITA’ - RELAZIONE Identificatore esterno di Entità o Identificatore esterno (entità debole) quando gli attributi di una entità, detta entità debole, non sono sufficienti ad identificare le sue istanze; per l’identificazione delle istanze è necessario ricorrere ad una o più altre entità, dette entità forti + + u la relazione tra entità debole ed entità forte e sempre una relazione binaria, con cardinalità (1, 1) dal lato dell’entità debole u una identificazione esterna può coinvolgere entità a loro volta identificache esternamente, purchè non si formino dei cicli di identificazione
MODELLO ENTITA’ - RELAZIONE Esempio di entità debole u Una operazione bancaria di versamento/prelievo su/da un conto corrente NON può avere una esistenza autonoma : l’operazione deve essere rifarita al conto corrente su cui veine effettuata Nome CLIENTE Indirizzo Cod-Fiscale (1, N) FIRMA Data (1, N) CONT. COR Numero Saldo (1, N) EFF. SU (1, 1) Numero OPERAZ Data Importo
MODELLO ENTITA’ - RELAZIONE Vincoli di Cardinalità o Cardinalità delle relazioni u sono specificati per ogni entità partecipante ad una relazione u indicano il numero minimo e massimo di istanze della relazione a cui le istanze delle entità coinvolte possono partecipare u modellano particolari situazioni della realtà ( 1, 3 ) TIENE DOCENTE + dal lato DOCENTE : ogni tener al più 3 corsi + dal lato CORSO : ogni ( 1, 2 ) CORSO DOCENTE deve tenere almeno 1 corso , può CORSO deve essere tenuto da almeno un docente, al più da due docenti o Obbligatorietà / Opzionalità u cardinalità minima zero significa che la partecipa-zione di una entità alla relazione è opzionale u cardinalità minima uno significa che la partecipa-zione di una entità alla relazione è obbligatoria
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità o Corrispondenza uno-a-uno (1 : 1) – obbligata ( totale ) dal lato DOCENTE – obbligata ( totale ) dal lato CORSO o Situazione ipotizzata: – ogni DOCENTE deve tenere un solo CORSO – ogni CORSO è tenuto da un solo DOCENTE (1, 1) TIENE CORSO D 1 C 1 D 2 C 2 D 3 C 3 D 4 C 4 D 5 C 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità o Corrispondenza uno-a-molti (1: N) – opzionale ( parziale ) dal lato DOCENTE – obbligata ( totale ) dal lato CORSO o Situazione ipotizzata: – un DOCENTE può tenere nessuno o più CORSI – un CORSO deve essere tenuto da un solo DOCENTE (0, N) DOCENTE (1, 1) TIENE CORSO D 1 C 1 D 2 C 2 D 3 C 3 D 4 C 4 D 5 C 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità o Corrispondenza molti-a-uno ( N: 1 ) – obbligata ( totale ) dal lato DOCENTE – parziale ( opzionale ) dal lato CORSO o Situazione ipotizzata: – ogni DOCENTE deve tenere un solo corso CORSO – un CORSO può essere tenuto da più DOCENTI o da nessun docente ( alcuni corsi non sono attivati ) (1, 1) DOCENTE (0, N) TIENE CORSO D 1 C 1 D 2 C 2 D 3 C 3 D 4 C 4 D 5 C 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità o Corrispondenza molti-a-molti ( N: M ) – obbigata ( totale ) dal lato DOCENTE – obbligata ( totale ) dal lato CORSO o Situazione ipotizzata: – ogni DOCENTE deve tenere almeno un CORSO – ogni CORSO è tenuto da almeno un DOCENTE (1, N) TIENE CORSO D 1 C 1 D 2 C 2 D 3 C 3 D 4 C 4 D 5 C 5
MODELLO ENTITA’ - RELAZIONE Esempio di Relazione Ternaria + Un FORNITORE fornisce : l l l una data PARTE per un dato PRODOTTO in una data Quantità FORN. RE F. SCE PRODOTTO PARTE F 1 F 2 1 2 3 P 1 4 P 2 5 P 3 A 1 A 2 A 3
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie o Una relazione ternaria non è in generale rappresenta-bile mediante tre distinte relazioni binarie FORN. RE F_ A ARTICOLO PARTE F_P P_ A F 1 A 1 F 2 A 3 P 1 P 2 P 3
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie o Una relazione ternaria non è in generale rappre-sentabile mediante tre relazioni binarie + I tre fatti ( istanze delle tre relazioni binarie ) : ã < f 1, p 1 > (< f 1, p 1 , ? >) : il FORNITORE f 1 fornisce la PARTE p 1 per un qualche ARTICOLO ã < p 1, a 2 > (< ? , p 1, a 2>) : un qualche FORNITORE fornisce la PARTE p 1 per l’ARTICOLO a 2 ã < f 1, a 2 > (< f 1, ? , a 2 >) : il FORNITORE f 1 fornisce una qualche PARTE per l’ ARTICOLO a 2 + non implicano necessariamente il fatto ( istanza della relazione ternaria ) : ã < f 1, p 1, a 2 > : il FORNITORE f 1 fornisce la PARTE p 1 per l’ARTICOLO a 2 + mentre vale l’implicazione inversa 3 le tre distinte relazioni binarie non ci dicono: quale fornitore quale parte ha fornito per un dato articolo 3 la relazione ternaria contiene più informazione delle tre relazioni binarie con cui si pensa poterla rappre-sentare o sostituirla
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie D_S DOCENTE D_C_S D_C CORSO SEMESTRE C_S + Le tre distinte relazioni binarie non dicono ciò che dice la relazione ternaria: in quale semestre un determinato docente tiene un dato corso
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie o Come rappresentare una relazione ternaria mediante tre distinte relazioni binarie FORN. RE ARTICOLO Quantità F_ F F_ P_ A A_F P_ F PARTE o la relazione ternaria può essere rappresentata con : l una entita debole senza identificatore interno l più tre relazioni binarie identificanti + una istanza dell’entità debole (rappresentante una istanza della relazione ternaria ) è identificata dalla combinazione delle istanze delle tre entità dominanti
MODELLO ENTITA’ - RELAZIONE Generalizzazione o Generalizzazione - è un meccanismo di astrazione che consente di specificare una classe ( superclasse ) come generalizzazione di altre classi ( sottoclassi ) considerando le proprità (attributi e relazioni ) che esse hanno in comune + l’insieme delle entità PERSONA è costituito da sottogruppi ( ovvacati, ingegneri, studenti ) : – che sono significativi ai fini dell’applicazione – e che, perciò, debbono essere rappresentati in modo esplicito o tra l’entità padre e le entità figlie esiste una relazione del genere tipo-sottotipo, detta relazione ISA : + uno STUDENTE è-una PERSONA + Studente ha tutte le caratteristiche di Persona più altre caratteristiche lo specializzano in quanto studente
MODELLO ENTITA’ - RELAZIONE Generalizzazione + una istanza di una sottoclasse è anche istanza della superclasse e rappresenta la stessa entità-reale viceversa, non tutte le entità della superclasse sono necessariamente anche istanze di una delle sottoclassi
MODELLO ENTITA’ - RELAZIONE Generalizzazione o Ereditarietà una entità che è istanza di una sottoclasse eredita tutte le proprietà ( attributi e relazioni ) della superclasse o Motivazione all’uso di gerarchie di generalizzazione nel modellare i dati il motivo principale che rende opportuno e necessario l’uso di superclassi e sottoclassi è che certi attributi sono applicabili ad alcune ma non a tutte le istanze di una entità ( della superclasse ) o Vincoli sulle Generalizzazioni le generalizzazioni sono caratterizzate da due tipi di vincoli, tra loro ortogonali : l totale - se ogni istanza della superclasse è istanza di almeno una delle sottoclassi, parziale - altrimenti l esclusiva - se ogni istanza della superclasse è istanza di al più una sola delle sottoclassi, sovrapposta - altrimenti
MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Totale ed Esclusiva PERSONA ( T, E) UOMO DONNA
MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale e Sovrapposta PERSONA ( P, S) SUDENTE LAVORATORE
MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale ed Esclusiva PERSONA ( P, E) SUDENTE DOCENTE
MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R COSTRUT TO Card. Max Card. Min Nome GENERALIZ ZA ZIONE Nome COSTRUTT O BASE ATTRIBUTO ( 1 , 1 ) (0, N) PADRE APPARTENENZA (0, N) (1, N) (0, N) FIGLIA ( 1 , 1 ) ENTITA’ RELAZION E (0, N) (1, N) PARTECIPAZIONE Card. Min Card. Max
MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R o Lettura dello schema : 4 una ENTITA’ può partecipare a zero o a più RELAZIONI e una REALZIONE può coinvolgere una (nel caso di relazione ricorsiva) o più ENTITA’ 4 la partecipazione di una entità ad una relazione ha una CARDINALITA’ minima e massima 4 un ATTRIBUTO ha un nome, una cardinalità minima e massima, ed è associato ad un concetto base 4 una GENERALIZZAZIONE ha una sola entità PADRE e una o più entità FIGLIE 4 una ENTITA può essere PADRE e FIGLIA di diverse generalizzazioni, o anche di nessuna 4 un COSTRUTTO BASE è identificato univocamente dal suo NOME 4 un ATTRIBUTO è identificato dal suo NOME e dal COSTRUTTO BASE a cui è associato 4 nello schema i vincoli di CARDINALITA’ delle relazioni sono stati rappresentati come attributi 4 non tutte le caratteristiche del modello E-R sono state rappresentate nello schema
- Slides: 35