020-053-Task3-A2.qxp
11-02-2009
10:27
ESEMPI
LEZIONE
Pagina 40
I vincoli
di integrità
Rappresenta tramite diagramma ER la realtà di interesse:
gestione di una mostra canina
ANALISI
DEL PROBLEMA
Per organizzare correttamente una mostra canina è necessario che siano stabilite delle regole sia in merito alla gara, sia in merito ai partecipanti. In particolare:
• i cani devono appartenere a una razza canina caratterizzata dagli standard di
altezza e peso;
• ogni cane ha un numero di gara e un punteggio attribuitogli dal giudice di gara;
• vince il cane che ottiene il maggior punteggio tra quelli della propria razza.
Deve pertanto essere possibile:
• assegnare un punteggio da 10 a 100 a un determinato cane individuato da un
numero progressivo;
• stilare una classifica dei cani all’interno di ogni razza;
• stilare una classifica dal maggiore al minor punteggio indipendentemente dalla razza del cane.
ANALISI DEI DATI
(ENTITÀ)
Dall’analisi del del problema si possono facilmente individuare le seguenti entità:
• Proprietario per rappresentare le informazioni dei proprietari dei cani;
• Cane per memorizzare i dati relativi ai singoli cani partecipanti alla mostra;
• Razza per memorizzare le razze di appartenenza dei cani.
Gli attributi di Proprietario sono: codice, cognome, nome, indirizzo, telefono e città. Il codice è di tipo numerico, mentre i restanti attributi sono di tipo stringa.
Gli attributi di Cane sono: codice, nome, altezza, peso e data di nascita. Tutti gli attributi sono di tipo stringa tranne il codice.
Gli attributi di Razza sono: codice, nome, altezza standard e peso standard. Il codice e il nome sono di tipo stringa, mentre gli altri due sono di tipo numerico.
ANALISI
DELLE ASSOCIAZIONI
VINCOLI DI INTEGRITÀ
Tra l’entità Proprietario e l’entità Cane esiste un’associazione possiede di tipo (cardinalità) uno a molti (1:N). Infatti, l’associazione diretta è multipla, poiché un proprietario può possedere più cani, e l’associazione inversa è univoca, poiché un
cane può avere un solo proprietario. L’associazione diretta e l’inversa sono entrambe totali, poiché un proprietario deve possedere almeno un cane per poter
partecipare alla mostra e un cane deve possedere almeno un proprietario.
Tra l’entità Cane e l’entità Razza esiste un’associazione appartiene di tipo molti a
uno (N:1). Infatti, l’associazione diretta è univoca, poiché il cane può appartenere a una sola razza, mentre l’inversa è multipla, poiché una razza può avere più
cani iscritti alla gara. L’associazione diretta è parziale, poiché una razza può non
avere cani che partecipano alla mostra, mentre l’inversa è totale, poiché un cane
deve appartenere ad almeno una razza.
V1: (Cane.Altezza < 110)
V2: (Cane.Peso < 150)
I seguenti vincoli esprimono possibili variazioni del peso e dell’altezza di un cane
rispetto agli standard di razza:
V3: (Razza.Peso – 10 ≤ Cane.Peso ≤ Razza.Peso + 10)
V4: (Razza.AltezzaStandard – 5 ≤ Cane.Altezza ≤ Razza.AltezzaStandard + 5)
40
BLOCCO TEMATICO A Le basi di dati
020-053-Task3-A2.qxp
19-07-2009
16:52
Pagina 41
I vincoli di integrità
ESEMPI 14
SCHEMA
CONCETTUALE
Siamo ora in grado di formalizzare lo schema concettuale secondo le regole del
modello ER:
Altezza
Cognome
CodProprietario
Nome
DataNascita
1
Proprietario
Indirizzo
possiede
N
Cane
Peso
Città
Telefono
CodCane
N
appartiene
1
CodRazza
NomeRazza
AltezzaStandard
PesoStandard
Razza
In questo esempio Telefono è un attributo semplice, mentre spesso è stato definito e rappresentato come attributo multiplo. Vogliamo così evidenziare che il
tipo di uno stesso attributo può differire nei vari esercizi, poiché dipende solo
dalla realtà di interesse.
Rappresenta tramite diagramma ER la realtà di interesse:
prenotazione di visite specialistiche presso gli uffici del servizio
sanitario
Per effettuare una prenotazione di una visita specialistica occorre fornire le generalità del paziente e il tipo di visita che si intende effettuare. Naturalmente un paziente può prenotare diverse visite, ma ognuna sarà qualificata da un apposito appuntamento caratterizzato da una data, da un’ora e da un codice di prenotazione.
Il paziente che prenota una visita può anche scegliere il medico con cui effettuarla.
Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il
compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di
eventuali vincoli d’integrità.
CodPaziente
Nome
Città
CodPrenotazione
Cognome
Paziente
Indirizzo
1
ANALISI
DEL PROBLEMA
effettua
N
Data
Ora
Prenotazione
Telefono
N
N
relativa
con
1
1
TipoVisita
CodVisita
Descrizione
Medico
CodMedico
Nome
Cognome
Progettazione concettuale: il modello ER UNITÀ FORMATIVA 2
41
020-053-Task3-A2.qxp
11-02-2009
10:27
Pagina 42
ESEMPI
LEZIONE
I vincoli
di integrità
Rappresenta tramite diagramma ER la realtà di interesse:
gestione di una società assicurativa organizzata in agenzie.
ANALISI
DEL PROBLEMA
CodSocietà
Un’agenzia assicurativa ha solitamente diverse filiali sparse sul territorio, con le
quali si intrattiene un rapporto di tipo gerarchico. Le agenzie assicurative stipulano i contratti con i clienti i quali, a loro volta, possono attivare varie polizze con
diverse società e in più agenzie. Le polizze esistono, ovviamente, se si riferiscono
a un cliente e a una specifica agenzia. La polizza, inoltre, può essere stipulata con
un solo cliente, e una società assicurativa, come già detto, può avere più agenzie
situate in luoghi differenti.
Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il
compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di
eventuali vincoli d’integrità.
1
Società
Denominazione
ha
N
CodAgenzia
Indirizzo
Città
Titolare
Agenzia
1
Indirizzo
Città
stipula
N
CodPolizza
TipoPolizza
Scadenza
Franchigia
Polizza
N
riferita
1
Cliente
Telefono
Città
CodCliente
Cognome
Nome
Indirizzo
Nell’entità Polizza è presente un attributo multiplo (TipoPolizza). Trasforma lo
schema concettuale eliminando questo attributo multiplo, seguendo le regole descritte in questa unità e già dettagliate nel precedente esercizio svolto riguardante la gestione della biblioteca.
Rappresenta tramite diagramma ER la realtà di interesse:
gestione di visite specialistiche presso gli uffici del servizio sanitario
nazionale.
ANALISI
DEL PROBLEMA
42
Attraverso i call center o presentandosi di persona, i pazienti possono prenotare
delle visite specialistiche presso i poliambulatori del servizio sanitario nazionale.
Quando si effettua una prenotazione, è anche possibile scegliere il medico con cui
effettuare la visita. Le visite mediche avvengono presso apposite strutture ambulatoriali ubicate in diverse città del distretto sanitario. Al paziente sarà comunicato, oltre alla data e all’ora della visita, anche il luogo in cui effettuarla. Nella memorizzazione dei dati del paziente è utile registrare il numero di telefono (campo
obbligatorio), perché così si ha la possibilità di comunicare per tempo informazioni in merito all’anticipio o posticipo dell’appuntamento.
BLOCCO TEMATICO A Le basi di dati
020-053-Task3-A2.qxp
11-02-2009
10:27
Pagina 42
ESEMPI
LEZIONE
I vincoli
di integrità
Rappresenta tramite diagramma ER la realtà di interesse:
gestione di una società assicurativa organizzata in agenzie.
ANALISI
DEL PROBLEMA
CodSocietà
Un’agenzia assicurativa ha solitamente diverse filiali sparse sul territorio, con le
quali si intrattiene un rapporto di tipo gerarchico. Le agenzie assicurative stipulano i contratti con i clienti i quali, a loro volta, possono attivare varie polizze con
diverse società e in più agenzie. Le polizze esistono, ovviamente, se si riferiscono
a un cliente e a una specifica agenzia. La polizza, inoltre, può essere stipulata con
un solo cliente, e una società assicurativa, come già detto, può avere più agenzie
situate in luoghi differenti.
Passiamo immediatamente alla stesura dello schema concettuale lasciandoti il
compito di effettuare l’analisi dei dati, quella delle associazioni e la definizione di
eventuali vincoli d’integrità.
1
Società
Denominazione
ha
N
CodAgenzia
Indirizzo
Città
Titolare
Agenzia
1
Indirizzo
Città
stipula
N
CodPolizza
TipoPolizza
Scadenza
Franchigia
Polizza
N
riferita
1
Cliente
Telefono
Città
CodCliente
Cognome
Nome
Indirizzo
Nell’entità Polizza è presente un attributo multiplo (TipoPolizza). Trasforma lo
schema concettuale eliminando questo attributo multiplo, seguendo le regole descritte in questa unità e già dettagliate nel precedente esercizio svolto riguardante la gestione della biblioteca.
Rappresenta tramite diagramma ER la realtà di interesse:
gestione di visite specialistiche presso gli uffici del servizio sanitario
nazionale.
ANALISI
DEL PROBLEMA
42
Attraverso i call center o presentandosi di persona, i pazienti possono prenotare
delle visite specialistiche presso i poliambulatori del servizio sanitario nazionale.
Quando si effettua una prenotazione, è anche possibile scegliere il medico con cui
effettuare la visita. Le visite mediche avvengono presso apposite strutture ambulatoriali ubicate in diverse città del distretto sanitario. Al paziente sarà comunicato, oltre alla data e all’ora della visita, anche il luogo in cui effettuarla. Nella memorizzazione dei dati del paziente è utile registrare il numero di telefono (campo
obbligatorio), perché così si ha la possibilità di comunicare per tempo informazioni in merito all’anticipio o posticipo dell’appuntamento.
BLOCCO TEMATICO A Le basi di dati