Basi di dati - cs.unibo.itmontesi/BD/ES2016-17/07. Progrettazione... · somma dei costi dei singoli...
Transcript of Basi di dati - cs.unibo.itmontesi/BD/ES2016-17/07. Progrettazione... · somma dei costi dei singoli...
Esercizio 1, testo (1)
Si vuole modellare un sistema per la gestione di visite mediche da svolgersi in diversi ambulatori medici • Ogni visita è svolta in uno ed un solo ambulatorio
avente un codice univoco e caratterizzato da indirizzo e numero di telefono
• In un ambulatorio possono essere svolte una o più visite
• Ogni visita è svolta in una precisa data ed orario oltre ad avere un codice univoco che la caratterizza
3
Esercizio 1, testo (2)
4
• Ogni visita può richiedere la prestazione d’opera di uno o più specialisti
• Ogni specialista può svolgere più visite • Ogni specialista è identificato da un codice univoco e
prevede l’indicizzazione delle sue specialità, nome, cognome e recapito telefonico
• Ogni specialista può avere necessità di un certo insieme di strumenti per i quali è presente un codice univoco ed una descrizione
• Uno strumento può essere utilizzato da uno o più specialisti
Esercizio 1, testo (3)
5
• Ogni specialista può avere bisogno di più collaboratori caratterizzati da un codice univoco, nome e cognome
• Un collaboratore collabora con almeno uno specialista e può essere responsabile dell’utilizzo di uno o più strumenti
• Uno strumento può essere utilizzato da più collaboratori (ma anche da nessuno)
Le entità
6
Dal testo possiamo individuare cinque entità - Visita - Ambulatorio - Specialista - Strumento - Collaboratore
L’entità Visita
7
“Ogni visita è svolta in una precisa data ed orario oltre ad avere un codice univoco che la Caratterizza”
VISITA Data
CodVisita
Orario
L’entità Ambulatorio
8
“Ogni visita è svolta in uno ed un solo ambulatorio avente un codice univoco e caratterizzato da indirizzo e numero di telefono”
AMBULATORIO Telefono
CodAmbulatorio
Indirizzo
L’entità Specialista
9
“Ogni specialista è identificato da un codice univoco e prevede l’indicizzazione delle sue specialità, nome, cognome e recapito telefonico”
SPECIALISTA Nome
CodSpecialista
Cognome
Specialità
Telefono
L’entità Strumento
10
“Ogni specialista può avere necessità di un certo insieme di strumenti per i quali è presente un codice univoco ed una descrizione”
STRUMENTO Descrizione
CodStrumento
L’entità Collaboratore
11
“Ogni specialista può avere bisogno di più collaboratori caratterizzati da un codice univoco, nome e cognome”
COLLABORATORE Nome
CodCollaboratore
Cognome
Le relazioni
12
Possiamo individuare dal testo cinque Relazioni tra le entità • Visita - Ambulatorio • Visita - Specialista • Specialista - Strumento • Specialista - Collaboratore • Collaboratore - Strumento
La relazione Visita-Ambulatorio
“Ogni visita è svolta in uno ed un solo ambulatorio avente un codice univoco e caratterizzato da indirizzo e numero di telefono In un ambulatorio possono essere svolte una o più Visite”
13
AMBULATORIO VISITA Svolta (1,1) (1,N)
La relazione Visita - Specialista
“Ogni visita può richiedere la prestazione d’opera di uno o più specialisti Ogni specialista può svolgere più visite”
14
SPECIALISTA VISITA Presta (1,N) (0,N)
La relazione Specialista - Strumento
“Ogni specialista può avere necessità di un certo insieme di strumenti per i quali è presente un codice univoco ed una descrizione Uno strumento può essere utilizzato da uno o più specialisti”
15
SPECIALISTA STRUMENTO Usa (1,N) (0,N)
La relazione Specialista - Collaboratore
Ogni specialista può avere bisogno di più collaboratori caratterizzati da un codice univoco, nome e cognome Un collaboratore collabora con almeno uno specialista e può essere responsabile dell’utilizzo di uno o più strumenti
16
SPECIALISTA COLLABORATORE Collabora (1,N) (0,N)
La relazione Collaboratore - Strumento
“Un collaboratore collabora con almeno uno specialista e può essere responsabile dell’utilizzo di uno o più strumenti Uno strumento può essere utilizzato da più collaboratori (ma anche da nessuno)”
17
STRUMENTO COLLABORATORE Responsabile (1,N) (0,N)
Soluzione
18
(1,N)
Visita Svolta
(1,1)
Ambulatorio Telefono
CodAmbulatorio
Data
CodVisita
Indirizzo Orario
(1,N)
Specialista Usa (0,N)
Strumento
CodStrumento
Nome
CodSpecialista
Descrizione Cognome
Presta
(1,N)
(0,N)
Specialità (0,N)
Collaboratore Collabora
(1,N)
Nome
CodCollaboratore
Cognome
Collabora
(1,N)
Esercizio 2, testo (1)
Si vuole modellare una palestra che organizza corsi per i propri iscritti • Ogni corso è identificato dal proprio nome, e ha un
prezzo prestabilito • Degli individui coinvolti nella palestra (trainer e
iscritti) si vogliono conoscere il nome, il cognome e un numero di telefono
• A ogni individuo viene assegnato un identificatore univoco
20
Esercizio 2, testo (2)
• Per gli iscritti alla palestra si vuole conoscere anche l’età
• Ogni corso è gestito da uno o due trainer • Per ogni corso è previsto un numero massimo di
iscritti • Ogni iscritto può acquistare una o più tessere, e ogni
tessera prevede alcuni corsi che vengono così acquistati ad un prezzo globale, definito di tessera in tessera, e non superiore alla somma dei costi dei singoli corsi
21
Esercizio 2, testo (3)
• Ogni cliente della palestra può anche iscriversi direttamente a un corso senza acquistare una tessera
• Ogni tessera è identificata da un numero progressivo, univoco per ogni cliente (ma che può ripetersi per due clienti differenti)
22
Le entità
Dal testo possiamo individuare quattro entità - Corso - Tessera - Trainer - Iscritto Tra cui Trainer, Iscritto sono legati da una generalizzazione in quanto Trainer e Iscritto sono casi particolari di Persona
23
L’entità Corso
24
“Ogni corso è identificato dal proprio nome, e ha un
prezzo prestabilito Per ogni corso è previsto un numero massimo di iscritti” CORSO
Prezzo
Nome
MaxIscritti
L’entità Tessera (1)
25
“Ogni tessera è identificata da un numero progressivo, univoco per ogni cliente (ma che può ripetersi per due clienti differenti)”
L’identificativo di tessera non può essere solo il numero progressivo in quanto non è univoco se non per ogni cliente Avremo bisogno di un identificatore esterno tra l’attributo Numero di Tessera e l’entità con Iscritto
L’entità Tessera (2)
“Ogni tessera prevede alcuni corsi che vengono così acquistati ad un prezzo globale”
26
TESSERA Prezzo
Numero
Iscritto
Persona generalizzazione di Trainer e Iscritto (1)
“Degli individui coinvolti nella palestra (trainer e iscritti) si vogliono sconoscere il nome, il cognome e un numero di telefono”
Come detto in precedenza Trainer e Iscritto sono casi particolari di Persona, in particolare Iscritto si differenzia da Trainer per l’età
“Per gli iscritti alla palestra si vuole conoscere anche l’età”
27
Persona generalizzazione di Trainer e Iscritto (2)
28
ISCRITTO TRAINER
PERSONA
Età
Cognome
Telefono Nome
ID
Le relazioni (1)
Possiamo individuare quattro relazioni tra le entità - Corso - Tessera - Tessera - Iscritto - Corso - Trainer - Corso - Iscritto
29
Le relazioni (2)
“Ogni tessera prevede alcuni corsi”
“Ogni iscritto può acquistare una o più tessere”
30
CORSO TESSERA Composizione (1,N) (0,N)
TESSERA ISCRITTO Possesso (0,N) (1,1)
Le relazioni (3)
Ogni cliente della palestra può anche iscriversi direttamente a un corso
Ogni corso è gestito da uno o due trainer
31
ISCRITTO CORSO Iscrizione (0,N) (0,N)
TRAINER CORSO Insegnamento (1,2) (0,N)
Soluzione
32
Trainer
Persona ID
Nome
(0,N)
Tessera
Possesso
(1,1)
Iscritto
Numero
Età
Prezzo Insegnamento
(0,N) (0,N)
Corso
Iscrizione
(0,N)
MaxIscritti Nome
Prezzo
Composizione
Cognome
Telefono
(1,2)
(0,N)
(1,N)
Business rule
Ci sono alcune informazioni che non possono essere rappresentate nello schema ma che devono essere prese in considerazione
“Ogni tessera prevede alcuni corsi che vengono così acquistati ad un prezzo globale (…) non superiore alla somma dei costi dei singoli corsi” “È previsto un numero massimo di iscritti” quindi il numero di iscritti direttamente o via tessera non deve superare tale valore
Riportiamo queste informazioni nelle Busines rule 33
Soluzione BR1: Il costo di una tessera non deve
superare la somma dei costi dei singoli corsi
BR2: Il numero di iscritti direttamente o via tessera deve essere inferiore a MaxIscritti
34
Trainer
Persona ID
Nome
(0,N)
Tessera
Possesso
(1,1)
Iscritto
Numero Età
Prezzo Insegnamento
(0,N) (0,N)
Corso
Iscrizione
(0,N)
MaxIscritti Nome
Prezzo
Composizione
Cognome
Telefono
(1,2)
(0,N)
(1,N)
Esercizio 3, testo (1)
Si vuole modellare un sistema che raccoglie informazioni riguardanti la quotazione di società nell’ambito di un mercato finanziario. Una società quotata sul mercato finanziario è caratterizzata da un identificatore univoco, dal nome, dal capitale sociale e dalle informazioni relative alla sua sede legale (stato, città). Possono esserci società quotate sul mercato finanziario con lo stesso nome. Un’agenzia di rating è caratterizzata da un identificatore univoco e dal nome.
36
Esercizio 3, testo (2)
Un’agenzia di rating non può essere una società quotata sul mercato finanziario. Una società quotata sul mercato finanziario non può essere un agenzia di rating. Una società quotata sul mercato finanziario emette strumenti finanziari contrattabili nel mercato finanziario. Uno strumento finanziario è emesso (con un determinato controvalore) da una ed una sola società quotata sul mercato finanziario. Una società quotata sul mercato finanziario emette uno o più strumenti finanziari.
37
Esercizio 3, testo (3)
Uno strumento finanziario è caratterizzato da un nome e dal rendimento. Possono esserci strumenti finanziari con lo stesso nome, ma non se emessi dalla stessa società. Gli strumenti finanziari possono essere azioni, obbligazioni (per le quali è significativa la scadenza) e derivati. Una società quotata sul mercato finanziario detiene una determinata percentuale di una o più società quotata sul mercato finanziario.
38
Esercizio 3, testo (4)
Percentuali di ogni società quotata sul mercato finanziario sono detenute da almeno una società sul mercato finanziario (la somma delle percentuali per ogni società deve essere 100). Un agenzia di rating esprime valutazioni correnti (espresse per mezzo di un valore di rating) rispetto a una o più società quotate sul mercato finanziario. Una società quotata sul mercato finanziario è valutata da almeno un agenzia di rating.
39
Le entità
Possiamo individuare cinque entità ed una generalizzazione - Società - Agenzia - Azione - Obbligazione - Derivato Strumento finanziario sarà la generalizzazione di Azione, Obbligazione e Derivato
40
L’entità Società (1)
“Una società quotata sul mercato finanziario è caratterizzata da un identificatore univoco, dal nome, dal capitale sociale e dalle informazioni relative alla sua sede legale (stato, città)”
Oltre agli attributi normali (Id, Nome, Capitale) esiste un attributo composto che è Sede Legale composto da Stato e Città
41
L’entità Agenzia
“Un’agenzia di rating è caratterizzata da un identificatore univoco e dal nome.”
43
AGENZIA Nome
IDAgenzia
La generalizzazione Strumento finanziario (1)
“Uno strumento finanziario è caratterizzato da un nome e dal rendimento. Possono esserci strumenti finanziari con lo stesso nome, ma non se emessi dalla stessa società. Gli strumenti finanziari possono essere azioni, obbligazioni (per le quali è significativa la scadenza) e derivati.”
Strumento finanziario oltre ad essere generalizzazione possiede una chiave esterna in quanto nome non è univoco se non accoppiato alla società
44
La generalizzazione Strumento finanziario (2)
45
DERIVATO AZIONE
STRUMENTO FINANZIARIO
Scadenza
Nome Rendimento
OBBLIGAZIONE
SOCIETA
Le relazioni (1)
Possiamo individuare tre relazioni tra le entità - Società - Società - Società - Agenzia - Società - Strumento Finanziario Come vedremo tutte le relazioni posseggono un attributo
46
Le relazioni (2)
“Una società quotata sul mercato finanziario detiene una determinata percentuale di una o più società quotata sul mercato finanziario. Percentuali di ogni società quotata sul mercato finanziario sono detenute da almeno una società sul mercato finanziario”
Società è in relazione ricorsiva con se stessa inoltre la relazione richiede l’attributo Percentuale
47
SOCIETA Detiene
(1,N)
(1,N) Percentuale
Le relazioni (3)
“Un agenzia di rating esprime valutazioni correnti (espresse per mezzo di un valore di rating) rispetto a una o più società quotate sul mercato finanziario. Una società quotata sul mercato finanziario è valutata da almeno un agenzia di rating.”
La relazione richiede l’attributo Rating
48
SOCIETA AGENZIA Valuta (1,N) (1,N)
Rating
Le relazioni (4)
“Una società quotata sul mercato finanziario emette strumenti finanziari contrattabili nel mercato finanziario. Uno strumento finanziario è emesso (con un determinato controvalore) da una ed una sola società quotata sul mercato finanziario.”
La relazione possiede l’attributo Controvalore
49
SOCIETA STRUMENTO FINANZIARIO Possesso
(1,1) (1,N)
Controvalore
Soluzione
Business Rule: Per ogni società la somma dei valori “percentuale” deve essere uguale a 100
50
Azione
Strumento Finanziario
Rendimento (1,1)
Società Possesso (1,N)
Derivato
Capitale
Obbligazione
Nome
Scadenza
Valuta
(1,N)
Agenzia Prezzo
Nome
Rating
Controvalore
IDSocietà
IDAgenzia
Detiene Sede Legale
Stato Città Percentuale
(1,N) (1,N)
(1,N)