vuoi
o PayPal
tutte le volte che vuoi
Vincoli di cardinalità per associazioni
Un'associazione binaria A tra due entità E ed E' (o unaria con E = E') si dice:
- Uno a uno: se c_max di E ed E' rispetto ad A è 1
- Uno a molti: se c_max di E rispetto ad A è n e c_max di E' rispetto ad A è 1, oppure c_max di E' rispetto ad A è 1 e c_max di E rispetto ad A è n
- Molti a molti: se c_max di E ed E' rispetto ad A è n
Vincoli di cardinalità per attributi
Numero minimo (c_min) e massimo (c_max) di valori dell'attributo
che possono essere associati ad un'istanza della corrispondente associazione o entità. Nei diagrammi ER si indicano mediante la coppia (c_min, c_max) sulla linea che congiunge l'attributo all'associazione/entità. Se vengono omessi, il valore di default è (1,1). Vincoli di cardinalità per attributi: Si parla di attributi: - opzionali: se la cardinalità minima è 0 - obbligatori: se la cardinalità minima è 1 - mono-valore: se la cardinalità massima è 1 - multi-valore: se la cardinalità massima è n Esempio: residenza nome (1,2) cognome (1,2) Cliente telefono (1,n) codCli dataN (0,1) Vincoli di identificazione: Identificatori per un'entità: insieme di attributi che identificano univocamente le istanze dell'entità. Un identificatore è minimale se qualsiasi sottoinsieme proprio non è un identificatore. Durante la progettazione concettuale per ogni entità è bene.identificare tutti gli identificatori minimali
Si noti che gli identificatori hanno senso solo per le entità e non per le associazioni
Nell'insieme di istanze di un'associazione si hanno tutte tuple distinte non c'è bisogno di identificatori⇒ 33
Vincoli di identificazione
A volte non è possibile identificare un'istanza di entità solo sulla base dei suoi attributi, cioè due istanze diverse possono coincidere su tutti gli attributi
Si utilizza allora il fatto che tale istanza partecipa ad una particolare istanza di associazione con una data istanza di un'altra entità
L'entità identificata in questo modo viene detta entità debole 34
Tipologie di identificatori
Interni: uno o più attributi dell'entità
Esterni: uno o più entità collegate da una associazione all'entità a cui si riferiscono da attraverso (identificazione esterna tale entità tale associazione)
Misti:
combinazioni delle due tipologie precedenti
Semplici: un solo elemento
Composti: più di un elemento
35Tipologie di indentificatori
Identificatore interno semplice: residenzanomecognome
Cliente telefonocodCli dataN
Identificatore interno composto: annovalutaztitolo
Film genereregista
36Tipologie di identificatori
Identificatore misto (composto): nomecolloc (1,n)(1,1)
VideotecaVideo Posseduto cittàtipo
Identificatore esterno (semplice):CT nome(0,1)(1,1) capitaleNazioneNazionale Gioca numAbitanti
37Vincoli di identificazione
Le entità deboli hanno sempre cardinalità (1,1) rispetto all'associazione attraverso cui avviene l'identificazione:
Nel caso di identificazione esterna l'associazione sarà uno a uno
Nel caso di identificazione mista l'associazione sarà uno a molti
38Gerarchie di generalizzazione
Ulteriore costrutto del modello ER, non presente nella formulazione originaria
Una entità E è una generalizzazione delle
entità E , 1…, E se ogni istanza delle entità E , …, E è anche un'istanza di E:
E: entità padre E , …, E : entità figlie 1
Tutte le proprietà dell’entità padre (attributi, identificatori ed associazioni) vengono ereditate dalle entità figlie
Graficamente:
residenza
nome
cognome
Cliente
telefono
codCli
dataN
bonus
ptiMancanti
Standard
VIP
Gerarchie di generalizzazione:
Vincoli impliciti:
Se una entità E è definita come generalizzazione di una entità E :
L'insieme delle istanze di E deve essere contenuto in quello delle istanze di E1
Ogni attributo di E è anche un attributo di E1
Ad ogni associazione cui partecipa E partecipa anche E2
Gerarchie di generalizzazione:
E generalizzazione di E … E : 1 n
Totale: ogni istanza di E è istanza di almeno un'entità Eies. Cliente - Standard, VIP, se standard e VIP sono le uniche tipologie di clienti
previste dalla videotecaParziale: esiste almeno un'istanza di E che non è istanza di alcuna entità Eies. Cliente - Standard, VIP, se esistono clienti che possono effettuare un noleggio senza registrarsi al programma di fedeltà 42Gerarchie di generalizzazioneLa generalizzazione può essere inoltre: Esclusiva: ogni istanza di E è istanza di al più un'entità Eies. Cliente - Standard, VIPCondivisa: esiste almeno un'istanza di E che è istanza di più di un'entità Eies. Film - FilmAnimazione, FilmEssay 43Gerarchie di generalizzazioneLe due classificazioni precedenti sono ortogonali Le generalizzazioni possono quindi essere di 4 tipi: Totali esclusive, totali condivise Parziali esclusive, parziali condiviseLe informazioni sulle tipologie di gerarchie di generalizzazione presenti in uno schema ER vanno inserite nella documentazione a corredo dello schema 44Associazione di sottoinsiemeCaso particolare diutilizzando i tag html, il testo formattato sarebbe il seguente:Definire una relazione di sottoinsieme tra una entità E ed una entità E1 significa specificare che ogni istanza di E è anche istanza di E1.
Esempio: Film è sottoinsieme di FilmBn.
Modello ER: Principali simboli grafici.
Metodologie di progettazione
Il modello ER è lo strumento tramite cui è possibile definire lo schema concettuale di una base di dati, ma...
Come ottenere un "buon" schema concettuale partendo dal documento di specifica dei requisiti?
Come si valuta la "bontà" di uno schema concettuale?
Non esiste una metodologia standard, ma esistono alcune linee guida per condurre le varie fasi.
Raccolta ed analisi dei requisiti
È una attività difficilmente standardizzabile. Di solito condotta da personale esperto, in stretta collaborazione con gli utenti finali.
Una volta ottenuto il documento di specifica, è però possibile effettuare alcune operazioni su di esso.
rappresentazione. Ad esempio, se si tratta di un'entità, si utilizzerà il costrutto "entità" del modello ER. Se si tratta di una relazione, si utilizzerà il costrutto "relazione" del modello ER. E così via. Metodologie per la generazione di diagrammi ER Esistono diverse metodologie per generare i diagrammi ER a partire dal documento di specifica. Alcune di queste metodologie includono l'analisi dei requisiti, l'identificazione delle entità e delle relazioni, la definizione degli attributi e delle cardinalità, e la creazione del diagramma ER finale. Documentazione dei diagrammi Una volta generati i diagrammi ER, è importante documentarli in modo accurato. Questo può includere la descrizione delle entità e delle relazioni, la definizione degli attributi e delle cardinalità, e l'aggiunta di note o commenti per chiarire eventuali ambiguità o dettagli aggiuntivi. Verifiche di qualità Infine, è fondamentale effettuare verifiche di qualità sui diagrammi ER generati. Questo può includere la revisione da parte di esperti del settore, la verifica della correttezza delle cardinalità e delle relazioni, e la valutazione della completezza e della coerenza del diagramma ER rispetto al documento di specifica originale. Queste fasi di progettazione e formattazione del documento di specifica sono fondamentali per garantire una corretta rappresentazione dei requisiti e per facilitare le fasi successive di progettazione del sistema.rappresentazione
Esistono alcune linee guida per effettuare questa scelta
Scelta dei costrutti
Se un concetto descrive un insieme omogeneo di oggetti rilevanti per il dominio considerato e caratterizzati da un insieme di proprietà comuni:
Entità
Es. clienti della videoteca, film
Sono buoni candidati ad essere rappresentati come entità i nomi che compaiono frequentemente nel documento di specifica
Leggendo il documento di specifica, si devono anche assegnare gli opportuni vincoli di identificazione alle entità
Scelta dei costrutti
Se un concetto è un caso particolare di un altro:
Gerarchia di generalizzazione
Es. clienti, clienti standard e clienti VIP
Questa soluzione è opportuna quando l'insieme delle proprietà delle entità figlie è diverso da quello delle entità padre
Altrimenti, alternativa: inserire nell'entità che modella il concetto più generale un attributo che identifica le varie tipologie
di istanze (es. video con attributo tipo per indicare se DVD o VHS)
53Scelta dei costrutti residenza nome cognome Cliente telefono codCli dataN bonus pti Mancanti Standard VIP
54Scelta dei costrutti tipocolloc Video
55Scelta dei costruttiSe il concetto rappresenta una proprietà elementare, senza ulteriori sotto-proprietà: Attributo Es. nome di un cliente, titolo di un film, codice di un video Nel caso invece di proprietà con sotto-proprietà, bisogna decidere se modellarle tramite attributi composti oppure entità Leggendo il documento di specifica, si devono anche assegnare gli opportuni vincoli di cardinalità
56Esempio Residenza dei clienti della videoteca: Via, numero civico, città, cap Alternative: Attributo composto dell’entità Cliente1. Entità residenza collegata a Cliente da2. un’associazione(1) è opportuna quando non esistono molti clienti3. che c