Secondo compito
“Progettazione di un DataBase”
- Progettazione di un database: gestione dei prestiti di
una biblioteca personale
- Chiavi, attributi nulli e vincoli referenziali della
Base dati OSPEDALE
Gestione prestiti di una biblioteca personale
Entità
●
LIBRI
●
AMICI
La relazione tra le due è di n:n
Ad ogni amico posso prestare uno o più libri;
Ogni libro posso prestarlo ad uno o più amici.
Da cui:
●
PRESTITI
Gestione prestiti di una biblioteca personale
Schema Entità-Relazioni
LIBRI
1:N
PRESTIT
I
N:1
AMICI
Gestione prestiti di una biblioteca personale
Tabella LIBRI
NOME CAMPO
TIPO CAMPO
DIMENSIONE
VINCOLO
TITOLO
TESTO
20
CHIAVE PRIMARIA
AUTORE
TESTO
20
SCAFFALE
NUMERICO
3
Gestione prestiti di una biblioteca personale
Tabella AMICI
NOME CAMPO
TIPO CAMPO
DIMENSIONE
VINCOLI
NOME
TESTO
30
CHIAVE PRIMARIA
INDIRIZZO
TESTO
30
TELEFONO
NUMERICO
10
Gestione prestiti di una biblioteca personale
Tabella PRESTITI
NOME CAMPO
TIPO CAMPO
DIMENSIONE
VINCOLI
TITOLO
TESTO
20
CHIAVE
ESTERNA
NOME
TESTO
20
CHIAVE
ESTERNA
DATA PRESTITO DATA
DATA
RESTITUZIONE
DATA
NOTE
NOT NULL
CHECK IF
> (DATA
PRESTITO)
Gestione prestiti di una biblioteca personale
Considerazioni conclusive
.Non sono accettabili valori nulli per le Chiavi primarie (Titolo,
Soprannome) perchè ho necessità di identificare quale libro
ho prestato e a quale dei miei amici, elementi fondamentali
del prestito.
.Nella tabella AMICI il soprannome individua univocamente
l'amico; nella tabella LIBRI il titolo individua univocamente
ogni libro.
.Nella tabella PRESTITI "impongo" all'utente di indicare
"Data restituzione" posteriore alla data del prestito.
"Base dati Ospedale"
Chiavi
●
●
●
Tra le tabelle PAZIENTI e REPARTI esiste una relazione n:n : la
si scompone in RICOVERI.
Le chiavi primarie sono “Cod” per PAZIENTI, "Cod" per
REPARTI – entrambe chiavi esterne nella tabella RICOVERI - e
"Matr" per MEDICI; chiave esterna in REPARTI(Primario).
Nella tabella RICOVERI chiave primaria può essere quella
composta dai campi Paziente, Inizio e Reparto
"Base dati Ospedale"
Attributi nulli e vincoli referenziali
Gli attributi che possiamo ammettere nulli sono tutti quelli che non
siano chiavi primarie – se ad esempio non disponessimo del
cognome di un paziente, comunque sarebbe sufficiente
PAZIENTI(COD) per identificarlo unificamente.
Per cui ATTRIBUTI NULLI:
REPARTI(Nome)
PAZIENTI(Cognome, Nome)
MEDICI(Nome,Cognome)
Scarica

Progettazione di un DataBase