Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una...
-
Upload
annunziata-gagliardi -
Category
Documents
-
view
218 -
download
2
Transcript of Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una...
Progettazione di un Data Base
Daraio Andrea
Abilità Informatiche Avanzate Laurea Magistrale in Economia e
Management
1. DATABASE: Biblioteca personale
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
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
Schema Entità - Relazioni
Biblioteca
Prestito
1 : N
Libri
Amici
1 :
N
N :
1
N
N
PROGETTAZIONE CONCETTUALE
Nel nostro caso sono state individuate le seguenti entità:
BIBLIOTECA
LIBRI
AMICI
BIBLIOTECA
Per l’Entità Biblioteca abbiamo individuato gli attributi:Biblioteca: nomeProprietario: nome e cognome Indirizzo bibliotecaTelefono proprietarioE-mail proprietario
PROGETTAZIONE CONCETTUALE
LIBRIPer l’Entità Libri abbiamo individuato gli attributi:TitoloCodice ISBN: codice identificativo di ogni libroAutoreGenere
PROGETTAZIONE CONCETTUALE
AMICI
Per l’Entità Amici abbiamo individuato gli attributi:Nome e Cognome AmicoSoprannome AmicoTelefono AmicoE-mail Amico
PROGETTAZIONE CONCETTUALE
PROGETTAZIONE LOGICADefinizione delle relazioni
Biblioteca
1 : N
Libri
• Esiste una sola biblioteca• La biblioteca può fornire più libri
PROGETTAZIONE LOGICADefinizione delle relazioni
Amici
N : N
Libri
• Un amico può prendere in prestito più libri• Un libro può essere prestato a più amici
PROGETTAZIONE LOGICADefinizione delle relazioni
Amici
N : 1
Libri
1 : N
N : N
Prestito
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
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
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
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
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
2. Base di dati “Ospedale”
INDIVIDUAZIONE CHIAVI
PAZIENTI
Key: COD
REPARTI
Key: Matricola
RICOVERI
Key: Codice Nome Codice Nome
MEDICI
Key: Paziente Inizio Fine Paziente Inizio Paziente Fine
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
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