Basi di dati - cs.unibo.itmontesi/BD/ES2016-17/07. Progrettazione... · somma dei costi dei singoli...

47
Basi di dati Esercizi sul modello E.R.

Transcript of Basi di dati - cs.unibo.itmontesi/BD/ES2016-17/07. Progrettazione... · somma dei costi dei singoli...

Basi di dati

Esercizi sul modello E.R.

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à Società (2)

42

SOCIETA Nome

IDSocietà

Capitale Sociale

Sede Legale

Città

Stato

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)