Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare...

27
PROGETTAZIONE DATABASE BIBLIOTECA PERSONALE PIOMBINO GIANLUIGI MATRICOLA: 565577 CONSULENZA PROFESSIONALE PER LE AZIENDE

Transcript of Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare...

Page 1: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

PROGETTAZIONE DATABASE BIBLIOTECA

PERSONALE

PIOMBINO GIANLUIGI

MATRICOLA: 565577

CONSULENZA PROFESSIONALE

PER LE AZIENDE

Page 2: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

2

ANALISI DEI REQUISITI

Si vuole automatizzare la gestione di una biblioteca personale.

A tale scopo bisognerà memorizzare i dati relativi a:• AMICI• LIBRI• AUTORI• CASE EDITRICI

Il fine ultimo è ricavare le informazioni relative ai libri dati in prestito e alla loro data di restituzione prevista.

Page 3: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

3

DOMINIO APPLICATIVO

Nel nostro caso il dominio applicativo è rappresentato dal tutte le biblioteche.

Page 4: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

4

SISTEMA ENTITÀ-RELAZIONE

AMICI

LIBRI

PRESTITI

N :

1

1 : N

AUTORI

N :

1

CASE EDITRICI

N : 1

Page 5: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

5

PROGETTAZIONE CONCETTUALE Nel nostro caso sono state individuate le

seguenti entità:• AMICI• LIBRI• AUTORI• CASE EDITRICI• PRESTITI

Page 6: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

6

PROGETTAZIONE CONCETTUALE

AMICI

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

• Id Amico: codice univoco dell’entità Amici;• Soprannome Amico: insieme di tutti i nomi e/o soprannomi degli amici del proprietario della biblioteca che prendono in prestito i suoi libri.

Page 7: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

7

PROGETTAZIONE CONCETTUALEAUTO

RI

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

• Id Autore: codice univoco dell’entità Autori;• Cognome Autore: insieme di tutti i cognomi degli autori dei libri presenti in biblioteca;• Nome Autore: insieme di tutti i nomi degli autori dei libri presenti in biblioteca.

Page 8: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

8

PROGETTAZIONE CONCETTUALE

CASE EDITRICI

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

• Id Casa Editrice: codice univoco dell’entità Case Editrici;• Denominazione Casa Editrice: insieme di tutte le denominazioni delle case editrici dei libri presenti in biblioteca.

Page 9: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

9

PROGETTAZIONE CONCETTUALELIBRI

Per l’entità Libri sono stati individuati i seguenti attributi:• Id Libro: codice univoco dell’entità Libri;• Titolo Libro: insieme di tutti i titoli dei libri presenti nella biblioteca;• Campo link alla tabella Autore: definisce l’autore del libro presente nella biblioteca (posto che ogni libro ha un solo autore);• Campo link alla tabella Casa Editrice: definisce la casa editrice del libro presente nella biblioteca.

Page 10: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

10

PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI

AMICILIBRI

PRESTITI

N : 1

1 : N

N : N

Page 11: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

11

PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI

Tra le tabelle LIBRI e AMICI esiste una relazione N : N, infatti un amico del proprietario della biblioteca può prendere in prestito più libri.Mente uno stesso libro può essere preso in prestito, in momenti diversi, da più amici del proprietario della biblioteca.

Page 12: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

12

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE RELAZIONI

Dalla relazione N : N deriva una ulteriore entità, PRESTITI, i cui attributi saranno i seguenti:• Id Prestito: codice univoco dell’entità Prestiti;• Campo link alla tabella Amici: definisce l’amico che ha preso il libro in prestito;• Campo link alla tabella Libri: definisce il libro preso il prestito;• Data del prestito: definisce la data in cui viene dato il libro in prestito ;• Data di restituzione: definisce la data prevista di restituzione del libro preso in prestito.

Page 13: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

13

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Amici

Nomecampo

Tipocampo

Dimensione

Vincoli Note

IdAmico Contatore Intero Lungo PrimaryKey

SoprannomeAmico Testo 50 Unique,

Not null

Page 14: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

14

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Autori

Nomecampo

Tipocampo

Dimensione

Vincoli Note

IdAutore Contatore Intero Lungo PrimaryKey

CognomeAutore Testo 40 Not null

NomeAutore Testo 40 Not null

Page 15: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

15

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Case Editrici

Nomecampo

Tipocampo

Dimensione

Vincoli

Note

IdCasaEditrice Contatore Intero Lungo PrimaryKey

DenominazioneCasaEditrice Testo 60

Unique, Not null

Page 16: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

16

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Libri

Nomecampo

Tipocampo

Dimensione Vincoli Note

IdLibro Contatore Intero LungoPrimary

Key

TitoloLibro Testo 50Unique, Not null

FkAutore Numerico Intero LungoForeing

Key

Link alla tabella Autori

FkCasaEditrice

Numerico Intero LungoForeing

Key

Link alla tabella

CasaEditrice

Page 17: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

17

PROGETTAZIONE CONCETTUALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella

PrestitiNomecampo

Tipocampo

Dimensione

Vincoli Note

IdPrestito Contatore Intero Lungo PrimaryKey

FkAmici Numerico Intero Lungo Foreing Key

Link alla tabella Amici

FkLibri Numerico Intero Lungo Foreing Key

Link alla tabella Libri

DataPrestito Data Not null

RestituzionePrestito Data Not null

Page 18: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

18

ESEMPIO ISTANZA TABELLAREAmici

IdAmico SoprannomeAmico

1 Benny

2 Marilena

3 Gigi

IdAutoreCognomeAutor

e NomeAutore

1 Brown Dan

2 Vassallo Nicla

3 Borgna Eugenio

Autori

Page 19: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

19

ESEMPIO ISTANZA TABELLARE

IdCasaEditrice

DenominazioneCasaEditrice

1 Mondadori

2 Il Mulino

3 Feltrinelli

IdLibro TitoloLibro FkAutore

FkCasaEditrice

1 La solitudine dell’anima 3 3

2 Il simbolo perduto 1 1

3 Per sentito dire 2 3

Case Editrici

Libri

Page 20: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

20

ESEMPIO ISTANZA TABELLARE

IdPrestito FkAmici

FkLibri

DataPrestito

RestituzionePrestito

1 2 3 09/07/2010 09/08/2010

2 1 2 25/09/2010 25/10/2010

3 1 1 16/10/2010 16/11/2010

4 3 3 17/10/2010 17/11/2010

5 2 2 01/02/2011 01/03/2011

6 1 3 15/02/2011 15/03/2011

Prestiti

Page 21: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

21

CONSIDERAZIONI FINALI

I campi all’interno dei quali non è possibile inserire valore nullo portano sicuramente dei vantaggi all’utilizzatore del Data Base, soprattutto se inesperto, dato che egli non avrà la possibilità di inserire all’interno dei Data Base record incompleti che potrebbero andare ad inficiare sulla efficienza della Base di Dati; ma allo stesso tempo non permettendo all’utente di lasciare alcuni campo di un record incompleti (per una successivo aggiornamento) potrebbero costringerlo a non inserire un’istanza all’interno del Data Base, se non dopo che ha ottenuto tutte le informazioni da inserire in modo da causare un spreco di risorse, in alcuni casi eccessivo.

BENEFICI E SVANTAGGI VALORI NULLI

Page 22: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

22DATABASE OSPEDALE

Page 23: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

23

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Reparti

Nomecampo

Tipocampo

Dimensione

Vincoli Note

CodReparto Testo 1 PrimaryKey

NomeReparto Testo 40 Unique, Not null

FkMedici Numerico Intero Lungo Foreing Key

Link alla tabella Medici

Page 24: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

24

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Pazienti

Nomecampo

Tipocampo

Dimensione

Vincoli Note

CodPaziente Testo 4 PrimaryKey

CognomePaziente Testo 50 Not null

NomePaziente Testo 50 Not null

Page 25: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

25

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI Tabella Medici

Nomecampo

Tipocampo

Dimensione Vincoli Note

MatrMedico Numerico Intero Lungo PrimaryKey

CognomeMedico Testo 50 Not null

NomeMedico Testo 50 Not null

FkReparti Testo 1 ForeingKey

Link alla tabella Reparti

Page 26: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

26

DATABASE OSPEDALEDEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI

Tabella Ricoveri

Nomecampo

Tipocampo

Dimensione

Vincoli Note

FkPazienti Testo 4 ForeingKey

Link alla

tabella Pazient

i

Primary Key

(Super Chiave)

FkReparti Testo 1 ForeingKey

Link alla

tabella Reparti

InizioRicovero Data Not

null

FineRicovero Data

Page 27: Si vuole automatizzare la gestione di una biblioteca personale. A tale scopo bisognerà memorizzare i dati relativi a: AMICI LIBRI AUTORI CASE EDITRICI.

27

DATABASE OSPEDALE

L’unico attributo sul quale possa essere sensato ammettere valori nulli, secondo me, è l’attributo FineRicovero della tabella Ricoveri.Infatti la data di fine ricovero non viene immessa nel Data Base insieme alla registrazione del ricovero del paziente ma solo in un memento successivo, ovvero al momento della sua dimissione dall’ospedale.