ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI GENERALIZZAZIONI IDENTIFICATORI ENTITA’ DEBOLI VINCOLI DI CARDINALITA’
MODELLO ENTITA’ - RELAZIONE Caratteristiche Modello ad alto livello di astrazione, per la rappresentazione concettuale dei dati Proposto da P.P. Chen, anni ‘76 Intuitivo, facile da comprendere, molto diffuso ed utilizzato per la progettazione di basi di dati Usato per la progettazione concettuale dei dati, produzione di schemi Entità-Relazione Usato come linguaggio di comunicazione tra il progettista informatico e l’utente del sistema 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 (n,m) ( P,E ) Entità Relazione Attributo Attributo composto Cardinalità relazione Identificatore interno Cardinalità attributo Identificatore esterno Generalizzazione
MODELLO ENTITA’ - RELAZIONE Costrutto Entità 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 oppure ha una esistenza concettuale, es: ESAME, CORSO 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 Entità come classe ( Entity Set ) insieme delle entità, istanze, dello stesso tipo, aspetto estensionale della rappresentazione
MODELLO ENTITA’ - RELAZIONE Costrutti Attributo e Dominio Attributi descrivono proprietà elementari di Entità e Relazioni di interesse ai fini dell’applicazione es: Nome, Età, Indirizzo di STUDENTE 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 Semplice non scomponibile in componenti più elementari Nome, Età di STUDENTE 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à Multivalore associa ad ogni istanza di una entità un insieme di valori NumTel 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 Memorizzato attributo i cui valori sono presenti, effettivamente memorizzati, nella base di dati 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 Cardinalità degli attributi specifica il numero minimo e massimo di valori dell’attributo associati a ciascuna istanza di entità
MODELLO ENTITA’ - RELAZIONE Valori Nulli Valore Nullo è un particolare valore polimorfo (appartiene a più Tipi ) che indica assenza di informazione Può significare che all’attributo non è possibile assegnare un valore Cognome da nubile di IMPIEGATO maschio che, per il momento, non si conosce il valore da assegnare all’attributo Matricola di STUDENTE trasferito 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 definisce una corrispondenza tra le istanze di due o più entità rappresenta un legame, significativo per l’applicazione, tra due o più entità modella fatti significativi della realtà che mettono in relazione le istanze di due o più entità
MODELLO ENTITA’ - RELAZIONE Definizione formale di Relazione una relazione R è un sottoinsieme del prodotto cartesiano delle entità, insiemi Ei , partecipanti alla relazione: 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 ,c ) 1 1 s 1 ( s ,c ) c 1 3 1 s c 2 ( s ,c ) 2 2 1 s 3 ( s ,c ) c 3 2 3 ( s ,c ) 2 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 il grado di una relazione è determinato dal numero di entita partecipanti alla relazione STUDIA STUDENTE CITTA' 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 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 PERSONA Padre Figlio ricorsiva asimmetrica in questo caso è necessario indicare il ruolo svolto dall’entità nella relazione
MODELLO ENTITA’ - RELAZIONE Identificatore di Entità di una entità specifica l’attributo(i) e/o le entità che permettono di identificare in maniera univoca ciascuna singola istanza dell’entità 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à 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 la relazione tra entità debole ed entità forte e sempre una relazione binaria, con cardinalità (1,1) dal lato dell’entità debole 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 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) Numero CONT.COR Saldo (1,N) EFF.SU (1,1) Numero OPERAZ Data Importo
MODELLO ENTITA’ - RELAZIONE Vincoli di Cardinalità Cardinalità delle relazioni sono specificati per ogni entità partecipante ad una relazione indicano il numero minimo e massimo di istanze della relazione a cui le istanze delle entità coinvolte possono partecipare modellano particolari situazioni della realtà ( 1, 3 ) ( 1, 2 ) DOCENTE TIENE CORSO dal lato DOCENTE : ogni DOCENTE deve tenere almeno 1 corso , può tener al più 3 corsi dal lato CORSO : ogni CORSO deve essere tenuto da almeno un docente, al più da due docenti Obbligatorietà / Opzionalità cardinalità minima zero significa che la partecipa-zione di una entità alla relazione è opzionale cardinalità minima uno significa che la partecipa-zione di una entità alla relazione è obbligatoria
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza uno-a-uno (1 :1) obbligata ( totale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: ogni DOCENTE deve tenere un solo CORSO ogni CORSO è tenuto da un solo DOCENTE TIENE DOCENTE CORSO (1,1) D 1 C 2 3 4 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza uno-a-molti (1:N) opzionale ( parziale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: un DOCENTE può tenere nessuno o più CORSI un CORSO deve essere tenuto da un solo DOCENTE TIENE DOCENTE CORSO (1,1) (0,N) D 1 C 2 3 4 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza molti-a-uno ( N:1 ) obbligata ( totale ) dal lato DOCENTE parziale ( opzionale ) dal lato CORSO 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 ) TIENE DOCENTE CORSO (0,N) (1,1) D 1 C 2 3 4 5
MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza molti-a-molti ( N:M ) obbigata ( totale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: ogni DOCENTE deve tenere almeno un CORSO ogni CORSO è tenuto da almeno un DOCENTE TIENE DOCENTE CORSO (1,N) D 1 C 2 3 4 5
MODELLO ENTITA’ - RELAZIONE Esempio di Relazione Ternaria Un FORNITORE fornisce : una data PARTE per un dato PRODOTTO in una data Quantità Quantità FORN.RE F.SCE PRODOTTO PARTE F 1 2 P 3 4 5 A
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie Una relazione ternaria non è in generale rappresenta-bile mediante tre distinte relazioni binarie FORN.RE F_ A ARTICOLO F_P PARTE P_ A F 1 2 P A 3
MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie Una relazione ternaria non è in generale rappre-sentabile mediante tre relazioni binarie I tre fatti ( istanze delle tre relazioni binarie ) : < f1, p1 > (< f1, p1 ,? >) : il FORNITORE f1 fornisce la PARTE p1 per un qualche ARTICOLO < p1, a2 > (< ?, p1, a2>) : un qualche FORNITORE fornisce la PARTE p1 per l’ARTICOLO a2 < f1, a2 > (< f1, ? , a2 >) : il FORNITORE f1 fornisce una qualche PARTE per l’ ARTICOLO a2 non implicano necessariamente il fatto ( istanza della relazione ternaria ) : < f1, p1, a2 > : il FORNITORE f1 fornisce la PARTE p1 per l’ARTICOLO a2 mentre vale l’implicazione inversa le tre distinte relazioni binarie non ci dicono: quale fornitore quale parte ha fornito per un dato articolo 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 SEMESTRE D_C CORSO 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 Come rappresentare una relazione ternaria mediante tre distinte relazioni binarie FORN.RE ARTICOLO Quantità F_ F A _ F F_ P_ A P_ F PARTE la relazione ternaria può essere rappresentata con : una entita debole senza identificatore interno 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 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 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 che 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 Ereditarietà una entità che è istanza di una sottoclasse eredita tutte le proprietà ( attributi e relazioni ) della superclasse 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 ) Vincoli sulle Generalizzazioni le generalizzazioni sono caratterizzate da due tipi di vincoli, tra loro ortogonali : totale - se ogni istanza della superclasse è istanza di almeno una delle sottoclassi, parziale - altrimenti 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 UOMO DONNA ( T,E )
MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale e Sovrapposta PERSONA SUDENTE LAVORATORE ( P,S )
MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale ed Esclusiva PERSONA SUDENTE DOCENTE ( P,E )
Descrizione del modello E-R con il modello E-R MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R Nome APPARTENENZA GENERALIZZA ZIONE COSTRUTTO BASE ENTITA’ RELAZIONE ( 1 ,1 ) ( 0 , N ) PARTECIPAZIONE Card.Max Card.Min ( 1 , N ) PADRE FIGLIA ATTRIBUTO
Descrizione del modello E-R con il modello E-R MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R Lettura dello schema : una ENTITA’ può partecipare a zero o a più RELAZIONI e una REALZIONE può coinvolgere una (nel caso di relazione ricorsiva) o più ENTITA’ la partecipazione di una entità ad una relazione ha una CARDINALITA’ minima e massima un ATTRIBUTO ha un nome, una cardinalità minima e massima, ed è associato ad un concetto base una GENERALIZZAZIONE ha una sola entità PADRE e una o più entità FIGLIE una ENTITA può essere PADRE e FIGLIA di diverse generalizzazioni, o anche di nessuna un COSTRUTTO BASE è identificato univocamente dal suo NOME un ATTRIBUTO è identificato dal suo NOME e dal COSTRUTTO BASE a cui è associato nello schema i vincoli di CARDINALITA’ delle relazioni sono stati rappresentati come attributi non tutte le caratteristiche del modello E-R sono state rappresentate nello schema