PROGETTAZIONE DI UN DATABASE

12
PROGETTAZIONE DI UN DATABASE Docente: Prof. Marengo Agostino Studente: La Croix Claudio Secondo Compito – Abilità Informatiche (4CFU)

description

PROGETTAZIONE DI UN DATABASE. Secondo Compito – Abilità Informatiche (4CFU). Docente: Prof. Marengo Agostino Studente: La Croix Claudio. Gestione prestiti biblioteca personale. Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: - PowerPoint PPT Presentation

Transcript of PROGETTAZIONE DI UN DATABASE

Page 1: PROGETTAZIONE DI UN DATABASE

PROGETTAZIONE DI UN DATABASE

Docente: Prof. Marengo Agostino Studente: La Croix Claudio

Secondo Compito – Abilità Informatiche (4CFU)

Page 2: PROGETTAZIONE DI UN DATABASE

Gestione prestiti biblioteca personale

• 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.

Page 3: PROGETTAZIONE DI UN DATABASE

Schema di relazione

La relazione che lega il libro agli amici è di 1:N in quanto un libro può essere scelto da più amici.

La relazione che lega l’amico ai libri è di N:1 in quanto un amico può scegliere più libri.

Questo comporta che tra libri ed amici c’è una relazione N:N che genera la tabella PRESTITI

Page 4: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi

TABELLA AMICI

Nome Campo Tipo Campo Dimensione Vincoli Note

IdAmico Numerico Intero lungo primary key

NomeAmico Testo 20 not null

SoprannomeAmico Testo 20

CognomeAmico Testo 30 not null

MailAmico Testo 50

TelefonoAmico Testo 20

Page 5: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi(2)

TABELLA LIBRI

Nome Campo Tipo Campo Dimensione Vincoli Note

TitoloLibro Testo 40 primary key

AutoreLibro Testo 30 not null

EditoreLibro Testo 40

PagineLibro Numerico 4

Page 6: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi(3)

TABELLA PRESTITINome Campo Tipo Campo Dimensione Vincoli Note

IdPrestito Numerico Intero lungo primary key

FkAmicoPrestito Numerico Intero lungo foreign key link tabella amici

FkTitoloLibroPrestito Testo 40 foreign key link tabella libri

Data prestito Data not null Data restituzione prevista Data not null

Data restituzione effettiva Data

Page 7: PROGETTAZIONE DI UN DATABASE

Benefici e difficoltà valori nulli• I valori nulli possono essere ammessi sull’attributo

DataRestituzione, perché è possibile prestare un libro senza aver fissato una precisa data di restituzione.

• Sarebbe difficile accettare valori nulli sull’attributo “Nome”, perché di solito è necessario sapere chi ha il libro.

• L’attributo “Libro” è la chiave e quindi non può avere valori nulli.

Page 8: PROGETTAZIONE DI UN DATABASE

Base dati ospedale

• 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.

Page 9: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi

TABELLA PAZIENTI

Nome Campo Tipo Campo Dimensione Vincoli Note

IdPaziente Numerico Intero lungo primary key

CognomePaziente Testo 30 not null

NomePaziente Testo 20 not null

DataNascitaPaziente Data not null

Page 10: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi(2)

TABELLA REPARTI

Nome Campo Tipo Campo Dimensione Vincoli Note

IdReparto Numerico Intero lungo primary key

NomeReparto Testo 30 not null

FkPrimarioReparto Numerico Intero lungo foreign key link tabella medici

Page 11: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi(3)

TABELLA MEDICI

Nome Campo Tipo Campo Dimensione Vincoli Note

IdMedico Numerico Intero lungo primary key

CognomeMedico Testo 30 not null

NomeMedico Testo 20 not null

FkMedicoReparto Numerico Intero lungo foreign key link tabella reparti

Page 12: PROGETTAZIONE DI UN DATABASE

Definizione delle caratteristiche degli attributi(4)

TABELLA RICOVERI

Nome Campo Tipo Campo Dimensione Vincoli Note

IdRicovero Numerico Intero lungo primary key

FkRicoveroPaziente Numerico Intero lungo foreign key link tabella pazienti

FkRicoveroReparto Numerico Intero lungo foreign key link tabella reparto

InizioRicovero Data not null

FineRicovero Data