Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una...

21
Progettazione di un Data Base Daraio Andrea Abilità Informatiche Avanzate Laurea Magistrale in Economia e Management

Transcript of Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una...

Page 1: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

Progettazione di un Data Base

Daraio Andrea

Abilità Informatiche Avanzate Laurea Magistrale in Economia e

Management

Page 2: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

1. DATABASE: Biblioteca personale

Page 3: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

Analisi dei requisiti

Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario:Presta i libri ai suoi amici, annotati con nomi e soprannomi (per evitare omonimie);Si riferisce ai libri mediante i titoli (assenza di libri con titoli identici);Annota il prestito con la prevista data di restituzione

Page 4: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

Nel nostro caso il dominio applicativo è rappresentato da tutte le entità presenti nel sistema biblioteca, in particolare quelle relative alla gestione dei prestiti.

Dominio Applicativo

Page 5: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

Schema Entità - Relazioni

Biblioteca

Prestito

1 : N

Libri

Amici

1 :

N

N :

1

N

N

Page 6: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE CONCETTUALE

Nel nostro caso sono state individuate le seguenti entità:

BIBLIOTECA

LIBRI

AMICI

Page 7: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

BIBLIOTECA

Per l’Entità Biblioteca abbiamo individuato gli attributi:Biblioteca: nomeProprietario: nome e cognome Indirizzo bibliotecaTelefono proprietarioE-mail proprietario

PROGETTAZIONE CONCETTUALE

Page 8: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

LIBRIPer l’Entità Libri abbiamo individuato gli attributi:TitoloCodice ISBN: codice identificativo di ogni libroAutoreGenere

PROGETTAZIONE CONCETTUALE

Page 9: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

AMICI

Per l’Entità Amici abbiamo individuato gli attributi:Nome e Cognome AmicoSoprannome AmicoTelefono AmicoE-mail Amico

PROGETTAZIONE CONCETTUALE

Page 10: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle relazioni

Biblioteca

1 : N

Libri

• Esiste una sola biblioteca• La biblioteca può fornire più libri

Page 11: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle relazioni

Amici

N : N

Libri

• Un amico può prendere in prestito più libri• Un libro può essere prestato a più amici

Page 12: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle relazioni

Amici

N : 1

Libri

1 : N

N : N

Prestito

Page 13: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle relazioni

•Dalla relazione N : N abbiamo un’altra entità, Prestito, la quale presenta i seguenti attributi:

• Id Prestito• Campo link alla tabella Libri: definisce il libro prestato• Campo link alla tabella Amici: definisce a chi è stato

prestato il libro• Data restituzione

Page 14: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle caratteristiche degli

attributiLibri

Nome campo Tipo campo Dimensione Vincoli Note

Titolo Testo 40 Primary Key

Codice ISBN Numerico Intero lungo Not null

Autore Testo 40

Genere Testo 40

FkBiblioteca Numerico Foreign Key Link alla tabella Biblioteca

Page 15: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle caratteristiche degli

attributi

Biblioteca

Nome campo Tipo campo Dimensione Vincoli Note

Biblioteca Testo 30 Primary Key

Proprietario Testo 40 Not null

Indirizzo Biblioteca

Testo 40 Not null

Telefono Proprietario

Testo 15 Not null

Email Proprietario

Testo 50

Page 16: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle caratteristiche degli

attributiAmici

Nome campo Tipo campo Dimensione Vincoli Note

Cognome Amico

Testo 30 Not null

Nome Amico Testo 30 Not null

Soprannome Amico

Testo 40 Primary Key

Telefono Amico

Testo 15 Not null

Email Amico Testo 50

Page 17: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

PROGETTAZIONE LOGICADefinizione delle caratteristiche degli attributi

Prestito

Nome campo Tipo campo Dimensione Vincoli Note

Id Prestito Numerico Intero lungo Primary Key

FkLibriPrestito

Numerico Intero lungo Foreign Key Link alla tabella Libri

FkAmiciPrestito

Numerico Intero lungo Foreign Key Link alla tabella Amici

Data restituzione

Data Not null

Page 18: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

2. Base di dati “Ospedale”

Page 19: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

INDIVIDUAZIONE CHIAVI

PAZIENTI

Key: COD

REPARTI

Key: Matricola

RICOVERI

Key: Codice Nome Codice Nome

MEDICI

Key: Paziente Inizio Fine Paziente Inizio Paziente Fine

Page 20: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

VINCOLI DI INTEGRITA’ REFERENZIALE

Possiamo individuare vincoli di integrità referenziale tra:

• l’attributo COD della relazione PAZIENTI e la relazione RICOVERI

• l’attributo REPARTO della relazione RICOVERI e le relazioni REPARTI e MEDICI

• gli attributi COD e PRIMARIO della relazione REPARTI e la relazione MEDICI

Page 21: Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.

VALORI NULLI

Può essere sensato ammettere valori nulli sugli attributi:

• COGNOME e NOME nell’istanza PAZIENTI

• REPARTO nell’istanza RICOVERI

• NOME e COGNOME nell’istanza MEDICI