Corso di Abilità Informatiche Avanzate Prof

Corso di Abilità Informatiche Avanzate
Prof. Marengo Agostino
Studente: Ungaro Isabella
Progettazione di un Data Base
1. ANALISI DEI REQUISITI:
Si vuole progettare un DB per la gestione dei prestiti di una biblioteca
personale.
La progettazione deve tener conto di quanto è emerso dall’analisi:
• Il proprietario presta libri ai suoi amici, che indica con il nome o
soprannome (per evitare omonimie) e fa riferimento ai libri attraverso i
titoli (non possiede libri con lo stesso titolo);
• Quando presta un libro prende nota della data prevista di restituzione.
SCHEMA ENTITA’- RELAZIONI:
LIBRI
N
:
AMICI
N
1
1
:
:
N
N
PRESTITI
PROGETTAZIONE CONCETTUALE:
Sono state individuate 2 entità:
• Libri
• Amici
LIBRI
Per l’entità LIBRI sono stati individuati i seguenti attributi:
•
•
•
•
ID Libro
Titolo
Genere
Scaffale
(continua)
(segue)
AMICI
Per l’entità AMICI sono stati individuati i seguenti attributi:
•
•
•
•
ID Amico
Nome (in alternativa soprannome)
Telefono
Indirizzo
PROGETTAZIONE LOGICA:
DEFINIZIONE DELLE RELAZIONI
1
:
N
LIBRI
AMICI
N
:
1
N
:
N
PRESTITI
(continua)
(segue)
Dalla relazione N : N deriva un’ulteriore entità (PRESTITI), i cui
attributi saranno:
• ID Prestito: codice univoco
• Campo Link alla Tabella LIBRI: definisce il libro che è stato
prestato
• Campo Link alla Tabella AMICI: definisce a chi è stato prestato
• Data Prestito
• Data Restituzione
PROGETTAZIONE LOGICA:
DEFINIZIONE DELLE CARATTERISTICHE DEGLI
ATTRIBUTI
Tabella LIBRI
NOME
CAMPO
ID LIBRO
TIPO
CAMPO
Numerico
DIMENSIONE
Intero Lungo
VINCOLI
Primary Key
TITOLO
Testo
40
Unique
GENERE
Testo
40
Not Null
SCAFFALE
Testo
15
Not Null
NOTE
Tabella AMICI
NOME
CAMPO
ID AMICO
TIPO
CAMPO
Numerico
DIMENSIONE
Intero Lungo
VINCOLI
Primary Key
NOME AMICO
Testo
20
Not Null
TELEFONO
AMICO
Testo
15
Not Null
INDIRIZZO
AMICO
Testo
40
Not Null
NOTE
Tabella PRESTITI
NOME
CAMPO
TIPO
CAMPO
DIMENSIONE
VINCOLI
NOTE
ID PRESTITO
Numerico
Intero Lungo
Primary Key
FK LIBRO PRESTITO
Numerico
Intero Lungo
Foreign Key
Link alla Tabella
LIBRI
FK AMICO PRESTITO
Numerico
Intero Lungo
Foreign Key
Link alla Tabella
AMICI
DATA
PRESTITO
Testo
15
Not Null
DATA
Testo
RESTITUZIONE
15
Not Null
SCHEMA LOGICO:
RELAZIONI
LIBRI
1
PRESTITI
ID LIBRO
TITOLO
GENERE
SCAFFALE
AMICI
ID AMICO
NOME AMICO
TELEFONO AMICO
INDIRIZZO AMICO
ID PRESTITO
FK LIBRO - PRESTITO
FK AMICO - PRESTITO
DATA PRESTITO
DATA RESTITUZIONE
1
2. BASE DI DATI OSPEDALE
Individuare le chiavi ed i vincoli referenziali che sussistono nella
Base di Dati in figura e che è ragionevole assumere siano
soddisfatti da tutte le Basi di Dati sullo stesso schema. Individuare
anche gli attributi sui quali possa essere sensato ammettere valori
nulli.
Le chiavi sono:
•
•
•
•
“Cod” per la relazione PAZIENTI
“Paziente” e “Inizio” per la relazione RICOVERI
“Matr” per la relazione MEDICI
“Cod” per la relazione REPARTI
I vincoli di integrità che esistono nel DataBase sono:
• Tra l’attributo “Paziente” in RICOVERI e “Cod” in PAZIENTI
• Tra “Reparto” nella relazione RICOVERI e “Cod” nella relazione
REPARTI
• Tra “Primario” in REPARTI e “Matr” nella relazione MEDICI
• Tra “Reparto” in MEDICI e “Cod” in REPARTI
I valori nulli possono essere ammessi:
•
•
•
•
Negli attributi “Cognome” e “Nome” nella relazione PAZIENTI
Nell’attributo “Fine” nella relazione RICOVERI
Negli attributi “Cognome” e “Nome” nella relazione MEDICI
Nell’attributo “Nome” nella relazione REPARTI.
Tutti questi attributi non sono chiavi e non hanno nessun vincolo di
integrità referenziale.