università della calabria - Dipartimento di Matematica e Informatica

UNIVERSITÀ DELLA CALABRIA
Facoltà di SS.MM.FF.NN.
Corso di Laurea in Informatica
A.A. 2010/2011
PROGETTO PER IL CORSO DI
BASI DI DATI RELAZIONALI
DOCENTE: PROF. P. RULLO
Gruppo A (laboratorio cubo 31B): ing. G. Laboccetta , dott.ssa V.Policicchio
GESTIONE DI UNA FARMACIA
Gruppo <N>
<Matricola, Cognome, Nome>
<Matricola, Cognome, Nome>
<Matricola, Cognome, Nome>
1 Introduzione
Le fasi di progettazione di una base di dati sono le seguenti:
Raccolta e Analisi dei requisiti
Progettazione concettuale
Schema concettuale
Progettazione logica
Schema logico
Progettazione fisica
Schema fisico
2 Tematica Progettuale
Descrizione dell’ambito tematico oggetto della progettazione.
3 Raccolta e Analisi dei Requisiti
L’attività che precede la progettazione vera e propria è la raccolta e l’analisi dei requisiti, che consiste
nell’individuare i problemi che l’applicazione intende risolvere e le caratteristiche che tale applicazione
dovrà avere.
3.1 Raccolta dei requisiti
In questa fase il progettista deve stabilire “quali dati il sistema informativo deve contenere e cosa deve fare
il sistema per gestire questi dati”. Questa attività viene realizzata tramite le seguenti attività:
1) interviste agli utenti del sistema
2) visione di documentazione interna
3) analisi di prodotti sw e base dati preesistenti che si intendono rimpiazzare e/o integrare.
Il risultato finale di questa attività consiste in un documento che descrive senza ambiguità e/o
fraintendimenti ciò che l’applicazione deve risolvere. L’obiettivo finale consiste, dunque, in una descrizione
“precisa” delle specifiche del problema in esame, in termini di dati del problema e operazioni di
manipolazione su di essi.
Requisiti Richiesti
1
2
3
4
5
6
Si vuole rappresentare una base dati per la gestione dei prodotti disponibili in una farmacia tenendo
conto delle seguenti informazioni:
• Ciascun prodotto è caratterizzato da un nome e una descrizione. I prodotti presenti nella farmacia
possono essere farmaci oppure prodotti di profumeria.
• I prodotti di profumeria sono di diverso tipo: cosmetici, prodotti per l’igiene e prodotti per la cura del
bambino.
• Ogni farmaco è individuato univocamente dal proprio nome e dall’informazione relativa alla casa
farmaceutica che lo produce, identificata univocamente da nome e recapito.
• I farmaci possono essere prescrivibili o non prescrivibili.
• I farmaci possono essere coperti da brevetto per un certo numero di anni; in tal caso si parla di
farmaci brevettati o di marca. Inoltre la farmacia vende i farmaci generici. Un farmaco generico è un
farmaco senza marca equivalente a un farmaco brevettato. Ogni farmaco brevettato può avere uno o
più farmaci generici equivalenti.
• La farmacia vuole memorizzare le prescrizioni ricevute. Una prescrizione contiene una lista di farmaci
prescrivibili, è effettuata da un medico ed è intestata a un paziente.
3.2 Analisi dei requisiti
Il documento di raccolta dei requisiti potrebbe presentare delle ambiguità e delle imprecisioni essendo
stato scritto in un linguaggio non formale. Il linguaggio naturale, infatti, è ambiguo, essendo soggetto ad
interpretazioni personali. L’obiettivo è quello di individuare tutte le ambiguità, i sinonimi e/o gli omonimi
presenti, in modo da filtrare tutte le inesattezze derivanti da una strutturazione dei requisiti scritti in un
linguaggio naturale. Le attività presenti in questa fase sono difficilmente standardizzabili; tuttavia esistono
alcune regole pratiche che si possono seguire:

SCEGLIERE IL CORRETTO LIVELLO DI ASTRAZIONE:
 Non usare termini troppo generici o troppo specifici.

STANDARDIZZARE LA STRUTTURA DELLE FRASI:
 Usare sempre lo stesso stile sintattico.

EVITARE FRASI CONTORTE:
 Usare definizioni semplici e chiare.


INDIVIDUARE SINONIMI/OMONIMI E UNIFICARE I TERMINI:
 Sinonimi: termini diversi con lo stesso significato
unificare i termini.
 Omonimi: termini uguali con significato diverso
termini diversi.
RENDERE ESPLICITO IL RIFERIMENTO TRA TERMINI:
 Esplicitare il riferimento (collegamento) tra termini.

COSTRUIRE UN GLOSSARIO DEI TERMINI:
 Per ogni termine una breve descrizione e possibili sinonimi.
3.2.1 Eliminazione delle Ambiguità
LINEA TERMINE
1
NUOVO TERMINE
MOTIVAZIONE
CORREZIONE
Sinonimo
3.2.2 Ristrutturazione dei Requisiti Richiesti
SPECIFICHE RISTRUTTURATE
1
2
3
4
……….
3.2.3 Standardizzazione delle Frasi
Nella specifica dei requisiti è preferibile usare uno stile sintattico più formale rispetto al linguaggio naturale.
Si riportano, a tale scopo, le informazioni chiave, sotto forma di frasi semplici, da cui il modello E-R sarà
ricavato.
o Inserire qui l’elenco delle specifiche riscritte in modo più formale
o …
o …
3.2.4 Glossario dei Termini
TERMINE
DESCRIZIONE
SINONIMO
COLLEGAMENTI
3.2.5 Raffinamento delle Specifiche e Individuazione dei Concetti di Base
Dopo aver eliminato tutte le fonti di ambiguità presenti nel testo, si può eseguire un’analisi più
approfondita dei requisiti al fine di individuare i concetti di base, ossia le entità coinvolte nella realtà di
interesse. I requisiti del sistema vengono, pertanto, suddivisi in ulteriori sottoparti ognuna delle quali
raggruppa le informazioni relative ad una specifico concetto.
FRASI DI CARATTERE GENERALE
……………………….
FRASI RELATIVE AI
……………………………..
FRASI RELATIVE A….
……………………………..
3.3 Specifica delle Operazioni sui dati previste
Accanto alle specifiche sui dati vanno raccolte le specifiche sulle operazioni di manipolazione degli stessi.
Sulla base delle richieste del committente, si individuano un insieme di interrogazioni puntuali, ovvero
operazioni per l’estrazione di informazioni relative alle singole istanze, e un insieme di operazioni
aggregate, effettuate per ottenere informazioni aggregate sulla base di un gruppo istanze di una o più
entità.
Analisi puntuali
Entità1
1. …..
2. …..
3. …..
Entità2
4. …..
5. …..
6. ….
Entità2
7. …..
8. …..
9. ….
Analisi aggregate
10. …..
11. …..
12. ….
4 Progettazione Concettuale
4.1 Schemi E-R
FIGURA 1 - SCHEMA E-R
4.2 Documentazione dello Schema E-R
4.2.1 Dizionario dei Dati
ENTITÀ
DESCRIZIONE
ATTRIBUTI
IDENTIFICATORE
4.2.2 Descrizione Entità
Inserire, per ogni entità dello schema, una tabella descrittiva come quella riportata sotto. Ogni riga della
tabella descrive un particolare attributo dell’entità (vengono riportati nome, tipologia, vincoli esistenti, e
una breve descrizione). Viene riportata, inoltre, una descrizione dell’entità
Entità Persona
Descrizione
Rappresenta l’insieme delle Persone di interesse nel sistema “Farmacia”.
Si suddivide nei due insiemi: “Medico” e “Paziente”
Attributo
Tipo di dato
Vincolo
Descrizione
CF
Stringa
Deve essere sempre
definito.
Rappresenta univocamente
un’istanza di Persona
Ha dimensione fissa,
pari a 16 caratteri
4.2.3 Descrizione Relazioni
Inserire, per ogni relazione dello schema, una tabella descrittiva come quella riportata. Ogni riga della
tabella descrive un particolare attributo dell’entità (vengono riportati nome, tipologia, vincoli esistenti, e
una breve descrizione).
Relazione Prescrizione Medica
Descrizione
Rappresenta l’insieme delle Prescrizioni Mediche consegnate presso la
farmacia
Entità Coinvolte
Nome Entità
Cardinalità
Descrizione
Paziente
(1,N)
La cardinalità minima è 1 perché i pazienti vengono
memorizzati solo se hanno presentato una prescrizione.
La cardinalità massima è N perché un paziente può
presentare più di una prescrizione
Medico
….
…….
Farmaco
…..
……
Attributi
Nome
Attributo
Vincolo
Descrizione
Data
E’ sempre
presente
Rappresenta la data di emissione della prescrizione
medica
….
….
…..
…..
……
……..
4.2.4 Vincoli non espressi dallo schema E/R
Regole di Vincolo
Vincolo 1
Il <Concetto> deve/non deve …. <Regola del Vincolo>
Vincolo 2
Non può esistere un farmaco generico equivalente a uno di marca, se non è
passato il numero di anni di copertura del brevetto.
4.3 Analisi delle Prestazioni dello Schema E-R
Analizzando alcuni indici di prestazione del progetto in esame, è possibile modificare lo schema E-R,
ottenuto nella fase di progettazione concettuale, al fine di ottenere une versione ottimizzata dello stesso. I
parametri o indici di prestazione che generalmente regolano le prestazioni dei sistemi software sono i
seguenti:
 Costo di una operazione: in termini di occorrenze di entità e relazioni che vengono mediamente
visitate per rispondere ad una operazione fatta sulla base di dati;
 Occupazione di memoria: in termini di spazio di memoria necessario per memorizzare i dati
descritti dallo schema.
Risulta necessario, quindi, conoscere le seguenti informazioni:


Volume dei Dati
o
Numero di occorrenze di ogni entità ed associazioni dello schema;
o
Dimensioni di ciascun attributo.
Caratteristiche delle Operazioni
o
Tipo di operazione (Interattiva I oppure Batch B);
o
Frequenza delle operazioni;
o
Dati coinvolti (entità e/o associazioni).
Il risultato di tali operazioni si traduce nella generazione di due tabelle, quella dei dati e quella delle
frequenze.
4.3.1 Tavola dei Dati
CONCETTO NELLO TIPO
SCHEMA E-R
(Entità/Relazione)
VOLUME
………..
………
…….
………..
………
…….
4.3.2 Tavola delle Frequenze
OPERAZIONE FREQUENZA
TIPO
(Interattiva o Batch)
O…
X richieste/giorno = al giorno
…..
O…
…..
O…
Y accessi/giorno x Z = K al giorno …..
O…
…..
O…
J all’anno
O…
Q al mese
4.4 Analisi delle ridondanze
…..
4.4.1 Tavola degli accessi in presenza di ridondanza
OPERAZIONE1
Concetto
ConcettoA
Costrutto Accesso Tipo
E/R
NUM
L/R
….
OPERAZIONE_N
Concetto
ConcettoX
Costrutto Accesso Tipo
E/R
NUM
L/R
4.4.2 Tavola degli accessi in assenza di ridondanza
OPERAZIONE1
Concetto
Costrutto Accesso Tipo
ConcettoA
E/R
NUM
L/R
….
OPERAZIONE_N
Concetto
ConcettoX
Costrutto Accesso Tipo
E/R
4.4.3 Valutazioni Conclusive
NUM
L/R