De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A...

21
PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE De Sario Simona Matricola: 565581

Transcript of De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A...

Page 1: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE

De Sario Simona

Matricola: 565581

Page 2: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

ANALISI DEI REQUISITI Si vuole automatizzare la gestione di

una biblioteca personale. A tale scopo bisognerà memorizzare i

dati relativi a:• AMICI• LIBRI

Il fine ultimo è ricavare le informazioni relative al prestito e la loro data di restituzione prevista.

Page 3: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DOMINIO APPLICATIVO Nel nostro caso il dominio applicativo è

rappresentato dal tutte le biblioteche.

Page 4: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

SISTEMA ENTITÀ-RELAZIONE

AMICI

LIBRI

PRESTITI

N :

1

1 :

N

Page 5: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALE Nel nostro caso sono state individuate le

seguenti entità:• LIBRI• AMICI• PRESTITI

Page 6: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALE LIBRI

Per l’entità Libri sono stati individuati i seguenti attributi:

• TitoloLibro: Che comprende i titoli dei libri presenti nella biblioteca.• AutoreLibro: che comprende gli autori dei libri presenti nella biblioteca (in realtà vi potrebbe essere anche una tabella Autori con relazione 1:N con Libri).• CasaEditriceLibro: che comprende le case editrici dei libri presenti in biblioteca (in realtà vi potrebbe essere una tabella Casa Editrice con relazione 1:n con Libri).

Page 7: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALE

AMICI

Per l’entità Amici sono stati individuati i seguenti attributi:

NomeSoprannomeAmico: Contiene i nomi o i soprannomi degli amici del proprietario della biblioteca (in modo tale da essere univocamente individuati);IndirizzoAmico: contiene i campi indicanti la via e il numero civico di residenza dell’amico;CittaAmico: contiene i campi indicanti il paese di residenza dell’amico (in realtà è più corretto che ci sia un’altra tabella Città collegata con Amico con una relazione 1:N)

Page 8: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE RELAZIONI

AMICILIBRI

PRESTITI

1 : N

1 : N

N : N

Page 9: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE RELAZIONI

Dalla relazione N : N deriva una ulteriore entità, PRESTITI, i cui attributi saranno i seguenti:• IdPrestito: codice univoco del prestito• Campo link alla tabella Amici (fkNomeSoprannomeAmico): definisce l’amico che ha preso il libro in prestito• Campo link alla tabella Libri (fkTitoloLibro): definisce il libro preso il prestito• DataPrestito: definisce la data del prestito• DataPrevistaRestituzione: definisce la data presunta di restituzione del libro preso in prestito.

Page 10: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Amici

Nomecampo

Tipocampo

Dimensione

Vincoli Note

NomeSoprannomeAmico Testo 50

PrimaryKey

IndirizzoAmico Testo 100

CittaAmico Testo 40 Not null

Page 11: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Libri

Nomecampo

Tipocampo

Dimensione

Vincoli Note

TitoloLibro Testo 40 Primary key

AutoreLibro Testo 50 Not null

CasaEditriceLibro Testo 20

Page 12: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

PROGETTAZIONE CONCETTUALE

DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Prestiti

Nomecampo

Tipocampo

Dimensione Vincoli Note

IdPrestito Contatore Intero Lungo

Primary

Key

FkNomeSoprannomeAmico Testo 50 Foreing

Key

Link alla tabella Amici

FkTitoloLibro Testo 40 Foreing Key

Link alla tabella Libri

DataPrestito Data Not null

RestituzionePrestito Data Not null

Page 13: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

SCHEMA LOGICO

Page 14: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

ISTANZA LIBRI

ISTANZA PRESTITI

ISTANZA AMICI

Page 15: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

VALORI NULLIImpostando come vincolo not null, non è possibile saltare la compilazione del campo che, chi ha progettato il DB, ha voluto che necessariamente sia inserito. Il vincolo not null quindi è importante per campi necessari senza dei quali la stessa istanza tabellare avrebbe poco senso. Il beneficio è che senza la compilazione di un determinato campo il soggetto non potrà andare avanti nell’immissione dei dati in tabella mentre lo svantaggio è che se una informazione anche se importante non è immediatamente disponibile non si riuscirà ad andare avanti nella compilazione della tabella e aggiungere l’informazione successivamente. Nel DB biblioteca ho posto come Not null l’Autore nella tabella Libro, in quanto informazione importante, come anche la data del prestito e la data prevista di restituzione contenute nella tabella Prestiti.

Page 16: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALE

Page 17: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Reparti

Nomecampo

Tipocampo

Dimensione

Vincoli Note

CodReparto Testo 1 PrimaryKey

NomeReparto Testo 40 Unique, Not null

FkMedico Numerico Intero Lungo

Foreing Key

Link alla tabella Medici

Page 18: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Pazienti

Nomecampo

Tipocampo

Dimensione

Vincoli Note

CodPaziente Testo 4 PrimaryKey

CognomePaziente Testo 40 Not null

NomePaziente Testo 40 Not null

Page 19: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Ricoveri

Nomecampo

Tipocampo

Dimensione

Vincoli Note

FkPaziente Testo 4 ForeingKey

Link alla tabella Pazienti

FkReparto Testo 1 ForeingKey

Link alla tabella Reparti

InizioRicovero Data Not null

FineRicovero Data

Superchiave (Chiave primaria

di Ricoveri)

Page 20: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Medici

Nomecampo

Tipocampo

Dimensione

Vincoli Note

MatrMedico Numerico

Intero Lungo

PrimaryKey

NomeMedico Testo 40 Not null

CognomeMedico Testo 40 Not null

FkReparto Testo 1 ForeingKey

Link alla tabella Reparti

Page 21: De Sario Simona Matricola: 565581. Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi.

DATABASE OSPEDALE

L’unico attributo sul quale possa essere sensato ammettere valori nulli, è l’attributo FineRicovero della tabella Ricoveri.Infatti la data di fine ricovero non vieni immessa nel Data Base insieme alla registrazione del ricovero del paziente ma successivamente, ovvero al momento della sua dimissione. Le altre informazioni sono importanti, e quindi devono essere immesse necessariamente.