17
1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso il nome o il soprannome (per evitare omonimie) e fa riferimento ai libri attraverso i titoli (non possiede libri con lo stesso titolo). Quando presta un libro prende nota della data prevista di restituzione. Definire uno schema di relazione per presentare queste informazioni, individuando opportuni domini per i vari attributi e mostrarne un’istanza in forma tabellare; indicare la chiave (o le chiavi) della relazione. Valutare le eventuali esigenze di rappresentazione dei valori nulli, con i benefici e le difficoltà connesse. STUDENTE: TORTOSA NICLA MATRICOLA:565738 CDL: CONSULENZA PROFESSIONALE PER LE AZIENDE

1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

Embed Size (px)

Citation preview

Page 1: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2:

Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso il nome o il soprannome (per evitare omonimie)

e fa riferimento ai libri attraverso i titoli (non possiede libri con lo stesso titolo). Quando presta un libro prende nota della data prevista di restituzione.

Definire uno schema di relazione per presentare queste informazioni, individuando opportuni domini per i vari attributi e mostrarne un’istanza in forma tabellare; indicare la chiave (o le chiavi) della relazione.

Valutare le eventuali esigenze di rappresentazione dei valori nulli, con i benefici e le difficoltà connesse.

STUDENTE: TORTOSA NICLA MATRICOLA:565738CDL: CONSULENZA PROFESSIONALE PER LE AZIENDE

Page 2: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

AMICI

LIBRI

PRESTITI

1 :

N

N : 1

N

N

SCHEMA ENTITÁ - RELAZIONI

Page 3: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE CONCETTUALE

In questo caso sono state individuate due entità:

- AMICI- LIBRI

Page 4: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE CONCETTUALE

AMICI

PER L’ENTITÀ AMICI SONO STATI INDIVIDUATI I SEGUENTI ATTRIBUTI:

- Id amico: codice identificativo dell’amico- Soprannome: nome che identifica univocamente l’amico- Indirizzo: indirizzo dell’amico- Numero di telefono: recapito telefonico dell’amico

Page 5: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE CONCETTUALE

LIBRI

PER L’ENTITÀ LIBRI SONO STATI INDIVIDUATI I SEGUENTI ATTRIBUTI:

- Id libro: codice identificativo del libro- Titolo: titolo del libro- Autore: autore del libro- Genere: genere letterario- Numero pagine: numero delle pagine del libro

Page 6: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE RELAZIONI

AMICI LIBRI

1 : N

N : 1

N : N

PRESTITI

Page 7: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE RELAZIONI

- Un amico può prendere in prestito più libri- Un libro può essere preso in prestito da diversi amici in diversi momenti

Page 8: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE RELAZIONI

Dalla relazione N : N deriva una ulteriore entità (PRESTITI) i cui attributi sono i seguenti:- Id prestito: codice identificativo del prestito- Data restituzione: data in cui il libro verrà restituito- Campo link alla tabella AMICI: definisce l’amico che ha prelevato il libro- Campo link alla tabella LIBRI: definisce il libro prelevato dall’amico

Page 9: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE CARATTERISTICHE DEGLI ATTRIBUTI

NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI NOTE

Id Amico Numerico Intero lungo Primary Key

Soprannome Testo 20 Not null

Indirizzo Alfanumerico 30 Not null

Numero di telefono Alfanumerico 10

TABELLA AMICI

Page 10: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE CARATTERISTICHE DEGLI ATTRIBUTI

TABELLA LIBRI

NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI NOTE

Id Libro Numerico Intero lungo Primary Key

Titolo Testo 20 Not null

Autore Testo 30 Not null

Genere Testo 10 Not null

Numero pagine Numerico 5 Not null

Page 11: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

PROGETTAZIONE LOGICA

DEFINIZIONI DELLE CARATTERISTICHE DEGLI ATTRIBUTI

PRESTITI

NOME CAMPO TIPO CAMPO DIMENSIONE VINCOLI NOTE

Id Prestito Numerico Intero lungo Primary Key

Data restituzione Data 20

FkAmicoPrestito Numerico Intero lungo Foreign Key Link alla tabella amici

FkLibroPrestito Numerico Intero lungo Foreign Key Link alla tabella prestito

Page 12: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

Istanza in forma tabellare

Id Amico Soprannome Indirizzo Numero di telefono

1 Polpetta Via de Rossi 080232564

2 Ragno Via del mare 080565452

3 Vespa Corso Italia 080562389

4 Bassotto Via Giovinazzo 080232312

5 Montagna Via Trani 080748596

Id libro Titolo Autore Genere Numero pagine

1 La coscienza di Zeno

Svevo Romanzo 800

2 Cime tempestose

Bronte Romanzo 400

3 Pinocchio Collodi Romanzo 300

4 Mille splendidi

soli

Hosseini Romanzo 300

5 Piccole donne

Austen Romanzo 1000

Page 13: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

Id Prestito Data restituzione FkAmicoPrestito FkLibroPrestito

1 21.12.2011 4 2

2 7.8.2011 3 1

3 5.6.2011 2 4

4 9.9.2011 5 3

Istanza in forma tabellare

Page 14: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

Il valore nullo denota l’assenza di un valore del dominio.Nel data base creato l’unico attributo in cui può avere un senso inserire un valore nullo, è l’attributo “numero di telefono” dell’entità AMICI.Un altro caso si potrebbe verificare nel caso di un interrogazione al data base con cui si chieda la data restituzione di un libro e in realtà quel libro non è oggetto di prestito di conseguenza l’interrogazione non restituirà alcun valore.

Page 15: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

2. Si faccia il download della base di dati (figura pdf) scaricabile al link "Base dati Ospedale" che è presente nella sezione "Compiti".Individuare le chiavi ed i vincoli di integrità referenziale che sussistono nella base di dati in figura e che è ragionevole assumere siano soddisfatti da tutte le basi di dati sullo stesso schema. Individuare anche gli attributi sui quali possa essere sensato ammettere valori nulli.

NOME CAMPO

TIPO CAMPO DIMENSIONE VINCOLI NOTE

Cod alfanumerico 4 Primary key

Cognome Testo 20 Not null

Nome Testo 20 Not null

PAZIENTI

Page 16: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

REPARTI

NOME CAMPO

TIPO CAMPO DIMENSIONE VINCOLI NOTE

Cod testo 2 Primary key

Nome Testo 20 Not null

Primario numerico Intero lungo Foreignkey

Link alla tabella MEDICI

NOME CAMPO

TIPO CAMPO DIMENSIONE VINCOLI NOTE

Matr numerico 4 Primary key

Nome Testo 20 Not null

Cognome testo 20 Not null

Reparto testo 2 Foreign key

Link alla tabella REPARTI

MEDICI

Page 17: 1. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione

RICOVERI

NOME CAMPO

TIPO CAMPO DIMENSIONE VINCOLI NOTE

Paziente Alfanumerico

4 Foreign key

Link alla tabella PAZIENTI

Inizio data 10 Not null

fine data 10

Reparto testo 2 Foreign key

Link alla tabella REPARTI

Non vi sono a mio parere attributi che potrebbero ammettere valore nullo, l’unico potrebbe essere l’attributo Fine della tabella RICOVERI nel caso in cui il paziente registrato non sia stato ancora dimesso.