• Non ci sono risultati.

Corso di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Basi di Dati"

Copied!
35
0
0

Testo completo

(1)

Corso di Basi di Dati

Progettazione di Database:

Esercizi

Home page del corso:

http://www.cs.unibo.it/~difelice/dbsi/

(2)

Esercizio 0

Si vuole realizzare una base di dati per la gestione di un’agenzia immobiliare

➢ L’agenzia tratta immobili. Ogni immobile dispone di un indirizzo (univoco), un data di vendita, una metratura, un prezzo.

➢ Gli immobili appartengono a clienti dell’agenzia. Di ogni cliente si vuole memorizzare nome, cognome, data di nascita, indirizzo di residenza (strada, via, CAP)

➢ Di ogni immobile si vogliono memorizzare le proposte di

acquisto. Le proposte hanno una data, un prezzo, una

validita’ ed un nome di compratore.

(3)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ Ogni cliente dispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente.

CLIENTE

TITOLARE

ACCOUNT

(?,?) (?,?)

(4)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ Ogni cliente dispone di almeno un account. Ogni account e’ collegato al piu’ ad un cliente.

CLIENTE

TITOLARE

ACCOUNT

1,N 0,1

(5)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ U n c l i e n t e p u o ’ d i s p o r r e o m e n o d i un’assicurazione sulla vita. Ogni assicurazione e’

associata ad uno ed un solo cliente intestatario.

CLIENTE

INTESTATARIO

ASSICURAZIONE

(?,?) (?,?)

(6)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ U n c l i e n t e p u o ’ d i s p o r r e o m e n o d i un’assicurazione sulla vita. Ogni assicurazione e’

associata ad uno ed un solo cliente intestatario.

CLIENTE

INTESTATARIO

ASSICURAZIONE

(0,1) (1,1)

(7)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ Un ristorante puo’ avere piu’ fornitori. Ogni fornitore puo’ servire piu’ ristoranti.

RISTORANTE

GESTIONE

FORNITORE

(?,?) (?,?)

(8)

Esercizio 1

Decidere la cardinalita’ delle seguenti relazioni.

➢ Un ristorante puo’ avere piu’ fornitori. Ogni fornitore puo’ servire piu’ ristoranti.

RISTORANTE

GESTIONE

FORNITORE

(1,N) (1,N)

(9)

Esercizio 2

Modellare con uno schema E-R il caso seguente.

➢ Un cinema e’ identificato da un indirizzo (via, nr

civico, citta’) e da un nome. Dispone di uno o più

recapiti telefonici. Ogni cinema è composto da un

certo insieme di sale. Ogni sala dispone di un

nome (univoco per quel cinema), una capienza

massima e di un numero di uscite di sicurezza. Si

vuole tenere traccia della programmazione dei

film: ogni film ha titolo, anno e regista, e può

essere proiettato in una o più sale. Ogni proiezione

dispone di data, ora inizio ed ora fine.

(10)

Esercizio 2

Modellare con uno schema E-R il caso seguente.

➢ Si vogliono gestire i dati dei condomini di Bologna. Ogni condominio dispone di nome (univoco), indirizzo (via, civico) e posizione (latitudine, longitudine). Ogni condominio e’ composto di appartamenti. Ogni appartamento dispone di un numero interno, una scala ed una metratura. Gli appartamenti possono essere di due tipi: uffici o abitazioni. Dei primi si vuole sapere il nome della societa’ proprietaria ed il numero di persone che vi lavorano. Dei secondi si vuole conoscere la rendita catastale e la classe di certificazione energetica. Inoltre, per le abitazioni si vuole conoscere la lista degli inquilini (nome/cognome/

codice fiscale/anno nascita) che vi abitano. Gli inquilini possono essere

proprietari o affittuari. Dei primi si vuole memorizzare la quota annua

di spese condominiali.

(11)

Esercizio 2

Considerando la seguente tabella dei volumi:

➢ Numero medio di appartamenti: 20

➢ Numero medio di inquilini per appartamento: 4

E le seguenti operazioni sui dati:

➢ Inserire un nuovo inquilino ed associarlo ad un dato appartamento. (10 volte/anno)

➢ Per ogni appartamento, contare gli inquilini con meno di 50 anni. (200 volte/anno).

Q. Definire il costo dello schema E-R.

(12)

Esercizio 2

Considerando la seguente tabella dei volumi:

➢ Numero medio di appartamenti: 20

➢ Numero medio di inquilini per appartamento: 4

E le seguenti operazioni sui dati:

➢ Inserire un nuovo inquilino ed associarlo ad un dato appartamento. (10 volte/anno)

➢ Per ogni appartamento, contare gli inquilini con meno di 50 anni. (200 volte/anno).

Q. Come posso ottimizzare lo schema?

(13)

Esercizio 2.b (per casa)

Modellare con uno schema E-R il caso seguente.

Si vuole progettare una base di dati per gestire uno store online di applicazioni mobili. Ogni applicazione dispone di un nome (univoco), una categoria, un anno di pubblicazione, una dimensione ed un prezzo. Inoltre, per ciascuna app si vuole tenere traccia della lista di aggiornamenti rilasciati. Ogni aggiornamento dispone di un numero (progressivo per quell’app), una data, una dimensione, ed una descrizione. Si vogliono poi gestire le informazioni relative agli utenti che possono accedere allo store. Ogni utente dispone di un identificativo (univoco), un’email ed un recapito telefonico. Sono previste due categorie di utenti: sviluppatori ed acquirenti. Ogni app e’ associata ad un utente sviluppatore che ne ha curato la realizzazione e l’upload sul sito. Gli utenti sviluppatori dispongono di Partita Iva e Codice Fiscale, e possono essere a loro volta di due tipi: software house o programmatori singoli. Delle prime si vuole memorizzare nome e sede legale (via/ncivico/citta’/cap). Dei secondi si vuole memorizzare nome, cognome, ed anno di nascita. Gli utenti acquirenti possono fare acquisti di app presenti nello store. A tal proposito, essi

dispongono di una o piu’ carte di credito, di cui si vogliono memorizzare numero, data di scadenza, e tipologia (es.

VISA). Si vuole tenere traccia dello storico degli acquisti operati da ciascun acquirente. Ogni acquisto dispone di un codice (univoco) ed una data, puo’ includere piu’ prodotti (ossia piu’ app mobili) ed e’ collegato ad una carta di credito dell’acquirente. Infine, si vuole fornire la possibilita’ agli utenti (sia acquirenti sia sviluppatori) di inserire commenti sulle applicazioni presenti nello store. Ogni commento dispone di una data, un testo, ed una valutazione (un numero tra 0 e 5), e’ inserito da un utente, e fa riferimento ad un’ app mobile dello store.

(14)

Esercizio 3

Si vuole realizzare una base di dati per la gestione di un programma di eventi teatrali.

➢ Il programma e’ composto da eventi. Ogni evento ha un nome, un’edizione, una data e si tiene in una o piu’ sale del teatro.

➢ Ogni sala e’ identificata da un codice univoco e caratterizzata da nome, indirizzo e capienza massima, numero di posti a sedere.

➢ Gli eventi sono di due tipi: concerti o rappresentazioni teatrali.

➢ Per le rappresentazioni, si vuole tenere traccia del nome dell’opera e del direttore.

➢ Ogni concerto e’ identificato da un codice numerico, ha un titolo ed una descrizione, ed e’ composto da un certo numero di pezzi.

➢ Ogni pezzo ha un titolo, uno o piu’ autori ed una data di composizione

CONTINUA à

(15)

Esercizio 3

➢ Ogni pezzo e’ eseguito da un esecutore.

➢ Ogni esecutore ha un codice univoco ed un nome. Inoltre, per ogni esecutore, si vuole tenere traccia dei concerti predentemente eseguiti in quel teatro

➢ Gli esecutori possono essere di due tipi: solisti ed orchestre

➢ Per l’orchestra si vuole tenere traccia del nome del direttore, dell’insieme degli strumenti, e del nome di ciascun componente dell’orchestra.

Costruire il modello E-R del sistema descritto …

(16)

Esercizio 4

➢ Tradurre l’E-R nel modello relazionale …

(17)

Esercizio 5

➢ Tradurre l’E-R nel modello relazionale …

(18)

Esercizio 6

➢ Tradurre l’E-R nel modello relazionale …

(19)

Esercizio 7

PAZIENTE

R1

CURA

R3

FARMACO

R2

MEDICO

(0,N) (1,1)

(1,N)

(0,N) (1,1) (0,N)

- 100 Pazienti

- 300 Cure (3 in media per Paziente) - 20 Medici

- 500 Farmaci

- Ogni cura e’ composta in media da 5 farmaci

Nome Cognome

Nome Prezzo Codice

Nome Cognome

Data Inizio

Composizione

Reparto

Durata

Determinare il costo dell’operazione (10v/gg):

◇ Dato un paziente, visualizzare tutte le

le informazioni relative ad i farmaci

assunti in ogni cura (α=2, w

I

=1).

(20)

Esercizio 7

PAZIENTE

R1

CURA

R3

FARMACO

R2

MEDICO

(0,N) (1,1)

(1,N)

(0,N) (1,1) (0,N)

- 100 Pazienti

- 300 Cure (3 in media per Paziente) - 20 Medici

- 500 Farmaci

- Ogni cura e’ composta in media da 3 farmaci

Nome Cognome

Nome Prezzo Codice

Nome Cognome

Data Inizio

Composizione

Reparto

Durata

Determinare il costo dell’operazione (1v/gg):

◇ Dato un paziente ed una cura, aggiungere un farmaco ad una cura

(α=2, w

I

=1).

(21)

Esercizio 7

PAZIENTE

R1

CURA

R3

FARMACO

R2

MEDICO

(0,N) (1,1)

(1,N)

(0,N) (1,1) (0,N)

- 100 Pazienti

- 300 Cure (3 in media per Paziente) - 20 Medici

- 500 Farmaci

- Ogni cura e’ composta in media da 3 farmaci

Nome Cognome

Nome Prezzo Codice

Nome Cognome

Data Inizio

Composizione

Reparto

Durata

Determinare il costo dell’operazione (1v/gg):

◇ Rimuovere un medico, e tutte le cure

da lui prescritte (α=2, w

I

=1).

(22)

Esercizio 7

PAZIENTE

R1

CURA

R3

FARMACO

R2

MEDICO

(0,N) (1,1)

(1,N)

(0,N) (1,1) (0,N)

- 100 Pazienti

- 300 Cure (3 in media per Paziente)

- 20 Medici (ognuno prescrive in media 15 cure) - 500 Farmaci

- Ogni cura e’ composta in media da 3 farmaci

Nome Cognome

Nome Prezzo Codice

Nome Cognome

Data Inizio

Composizione

Reparto

Durata

➢ Tradurre lo schema E-R nel modello

relazionale.

(23)

Esercizio 7

PAZIENTE

R1

CURA

R3

FARMACO

R2

MEDICO

(0,N) (1,1)

(1,N)

(0,N) (1,1) (0,N)

- 100 Pazienti

- 300 Cure (3 in media per Paziente)

- 20 Medici (ognuno prescrive in media 15 cure) - 500 Farmaci

- Ogni cura e’ composta in media da 3 farmaci

Nome Cognome

Nome Prezzo Codice

Nome Cognome

Data Inizio

Composizione

Reparto

Durata

➢ Come cambia la traduzione

se si elemina l`attributo Reparto

dell`entita’ MEDICO?

(24)

Esercizio 8 (NORMALIZZAZIONE)

Dato il seguente schema, valutare se esso può generare RINDONDANZE o meno.

Comune Regione Prefisso

Bologna Emilia-Romagna 051

Milano Lombardia 02

Piacenza Emilia-Romagna 0523

Castro Bergamo 035

Castro Lecce 0832

Cosenza Calabria 0984

(25)

Esercizio 8 (NORMALIZZAZIONE)

Dato il seguente schema, valutare se esso puo’ generare RINDONDANZE o meno.

NomeFilm Regista Nascita Regista Copia Collocazione Odissea nello

spazio Kubrik 26/7/1928 1 HC1234

C’era una volta

in America Leone 3/1/1929 1 LF3434

Il Padrino Coppola 7/4/1939 1 LF2312

Odissea nello

spazio Kubrik 26/7/1928 2 LF6437

Barry Lyndon Kubrik 26/7/1928 1 HC1212

Il Padrino Coppola 7/4/1939 2 HC2144

(26)

Esercizio 9 (NORMALIZZAZIONE)

Dato il seguente schema: R(ABCDE), con le seguenti dipendenze funzionali:

 

AàB, AàC, DàE  

a) Verificare (formalmente ) se ADE sia superchiave o meno della relazione R.

b) Verificare (formalmente ) se ADE sia CHIAVE o

meno della relazione R. Giustificare la risposta.

(27)

Esercizio 9 (NORMALIZZAZIONE) Dato il seguente schema: R(ABCDE), con le

seguenti dipendenze funzionali:

 

AàB, AàC, DàE

 

c) La relazione e’ in forma normale di Boyce e Codd ( FNBC )? E’ in terza forma normale ( 3FN )?

d) Nel caso la relazione non risulti in 3FN,

decomporla in terza forma normale.

(28)

P RO D U Z I O N E ( C o d i c e C o m p o n e n t e, Fo r n i t o r e, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede)

◇ CodiceComponente Fornitore à SedeProduzione

◇ CodiceProdotto à PrezzoProdotto SedeProduzione

◇ SedeProduzione à ResponsabileSede

➢ Se effettuo la decomposizione in:

R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede)

Q.1 à R1, R2 ed R3 sono in terza forma normale?

Esercizio 10 (NORMALIZZAZIONE)

(29)

P RO D U Z I O N E ( C o d i c e C o m p o n e n t e, Fo r n i t o r e, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede)

◇ CodiceComponente Fornitore à SedeProduzione

◇ CodiceProdotto à PrezzoProdotto SedeProduzione

◇ SedeProduzione à ResponsabileSede

➢ Se effettuo la decomposizione in:

R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede)

Q.2 à La decomposizione conserva le dipendenze?

Esercizio 10 (NORMALIZZAZIONE)

(30)

P RO D U Z I O N E ( C o d i c e C o m p o n e n t e, Fo r n i t o r e, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede)

◇ CodiceComponente Fornitore à SedeProduzione

◇ CodiceProdotto à PrezzoProdotto SedeProduzione

◇ SedeProduzione à ResponsabileSede

➢ Se effettuo la decomposizione in:

R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede)

Q.3 à La decomposizione e’ senza perdita di informazioni?

Esercizio 10 (NORMALIZZAZIONE)

(31)

P RO D U Z I O N E ( C o d i c e C o m p o n e n t e, Fo r n i t o r e, CodiceProdotto, PrezzoProdotto, SedeProduzione, ResponsabileSede)

◇ CodiceComponente Fornitore à SedeProduzione

◇ CodiceProdotto à PrezzoProdotto SedeProduzione

◇ SedeProduzione à ResponsabileSede

➢ Se effettuo la decomposizione in:

R1(CodiceComponente, Fornitore, SedeProduzione) R2 (CodiceProdotto, PrezzoProdotto, SedeProduzione) R3(SedeProduzione,ResponsabileSede)

Q.4 à Decomporre lo schema in Terza Forma Normale (TFN).

Esercizio 10 (NORMALIZZAZIONE)

(32)

Dato il seguente schema:

BIBLIOTECA(Titolo, Autore, AnnoNascita, LuogoNascita, NumeroEdizione, Editore, Genere, Copia, Scaffale)

• Non possono esserci libri con lo stesso titolo

• Lo scaffale dipende dal titolo/numeroedizione/copia.

• L’autore ed il genere dipendono dal titolo.

• L’anno nascita e luogo nascita dipendono dall’autore.

• L’editore dipende dal titolo e dal numero edizione.

Esercizio 11 (NORMALIZZAZIONE)

Q.1 DETERMINARE UNA CHIAVE DELLO SCHEMA

(33)

Dato il seguente schema:

BIBLIOTECA(Titolo, Autore, AnnoNascita, LuogoNascita, NumeroEdizione, Editore, Genere, Copia, Scaffale)

• Non possono esserci libri con lo stesso titolo

• Lo scaffale dipende dal titolo/numeroedizione/copia.

• L’autore ed il genere dipendono dal titolo.

• L’anno nascita e luogo nascita dipendono dall’autore.

• L’editore dipende dal titolo e dal numero edizione.

Esercizio 11 (NORMALIZZAZIONE)

Q.2 VERIFICARE SE LO SCHEMA E’ IN FNBC, SFN, TFN

(34)

Dato il seguente schema:

BIBLIOTECA(Titolo, Autore, AnnoNascita, LuogoNascita, NumeroEdizione, Editore, Genere, Copia, Scaffale)

• Non possono esserci libri con lo stesso titolo

• Lo scaffale dipende dal titolo/numeroedizione/copia.

• L’autore ed il genere dipendono dal titolo.

• L’anno nascita e luogo nascita dipendono dall’autore.

• L’editore dipende dal titolo e dal numero edizione.

Esercizio 11 (NORMALIZZAZIONE)

Q.3 NORMALIZZARE LO SCHEMA IN TFN

(35)

Si vuole progettare una base di dati per un sistema di previsioni meteo su scala regionale. In particolare si vogliono gestire le informazioni relative alle stazioni meteo: ogni stazione dispone di un nome univoco, una posizione (latitudine/

longitudine), un’eventuale foto. Le stazioni meteo possono appartenere a due categorie (e solo a quelle): ufficiali o casalinghe. Le stazioni ufficiali dispongono anche di una marca, un modello ed una precisione. Le stazioni casalinghe hanno un campo descrizione. Ogni stazione produce delle misurazioni: una misurazione consiste di un timestamp, un valore di temperatura, un valore di umidità, un valore di pressione. Inoltre, si vuole tenere traccia dei bollettini meteo orari prodotti automaticamente dal sistema sulla base dalle misurazioni effettuate: un bollettino ha un id univoco, fa riferimento ad un’ora/giorno/anno e contiene un campo

“probabilità di pioggia”. Ogni bollettino è costruito a partire da una lista (una o più) di misurazioni: vice versa, la stessa misurazione può essere usata da più bollettini.

Esercizio 12

Riferimenti

Documenti correlati

Le domande pervenute in tempo utile e redatte secondo le modalità prescritte saranno esaminate da una commissione interna nominata con apposito atto del Direttore

 All’Autorità per le Garanzie nelle Comunicazioni – Direzione contenuti audiovisivi e multimediali – Centro direzionale isola B5 – 80143 Napoli - fax

[r]

Graduatoria Cognome Nome Data Nascita Prov.. Nascita Punteggio Anno

[r]

f.to Dott.ssa Maria Aida Tatiana Episcopo. NUOVE RICHIESTE

Supporto tecnico-giuridico ed analisi della normativa e della giurisprudenza in materia di gestione dei rifiuti nell’ambito delle Convenzioni in essere attraverso

[r]