Secondo Compito:Progettazione di un database Pinto Vincenzo.
-
Upload
rosalva-de-luca -
Category
Documents
-
view
223 -
download
4
Transcript of Secondo Compito:Progettazione di un database Pinto Vincenzo.
Secondo Secondo Compito:ProgettaziCompito:Progettazione di un databaseone di un database
Pinto VincenzoPinto Vincenzo
Dominio applicativoDominio applicativo
Tutte l’entità coinvolte nel sistema Tutte l’entità coinvolte nel sistema “Biblioteca”, in particolare quelle “Biblioteca”, in particolare quelle relative:relative:
amici a cui vengono prestati i libri;amici a cui vengono prestati i libri; libri oggetto dei prestito;libri oggetto dei prestito; data scadenza prestito.data scadenza prestito.
Schema Entità-relazioniSchema Entità-relazioni
Amici Prestiti LibriN1 N 1
N N
Progettazione Progettazione concettualeconcettuale
L’entità individuate sono state:L’entità individuate sono state:
AMICIAMICIPer l’entità amici sono stati individuati i seguenti attributi:Per l’entità amici sono stati individuati i seguenti attributi: Id AmicoId Amico Nome amicoNome amico Soprannome amicoSoprannome amico IndirizzoIndirizzo N° telefonoN° telefono
LIBRIPer l’entità libri sono stati individuati i seguenti attributi Id libro Titolo
Progettazione logicaProgettazione logica
Definizione delle relazioni:Definizione delle relazioni:
Amici Libri
1 N
N 1
N : N
Prestiti
Progettazione logicaProgettazione logica
Relazione 1:N un amico può Relazione 1:N un amico può chiedere in prestito più librichiedere in prestito più libri
Relazione N:1 un libro può essere Relazione N:1 un libro può essere prestato a più amiciprestato a più amici
Progettazione logicaProgettazione logica
L’entità Amici e Libri hanno una relazione N:N, deriva un’ulteriore L’entità Amici e Libri hanno una relazione N:N, deriva un’ulteriore entità (Prestiti) i cui attributi saranno:entità (Prestiti) i cui attributi saranno:
Id prestitoId prestito Campo link alla tabella Amici: definisce l’amico che a cui è stato Campo link alla tabella Amici: definisce l’amico che a cui è stato
prestato il libroprestato il libro Campo link alla tabella Libri: definisce il libro oggetto del Campo link alla tabella Libri: definisce il libro oggetto del
prestitoprestito Data scadenza del prestitoData scadenza del prestito
Progettazione logicaProgettazione logicaTabella AmiciTabella Amici
Nome Nome campocampo
Tipo campoTipo campo DimensionDimensionee
VincoliVincoli NoteNote
Id AmicoId Amico NumericoNumerico Intero Intero lungolungo
Primary Primary keykey
Nome/Nome/Sopr.Sopr.
TestoTesto 4040
IndirizzoIndirizzo TestoTesto 5050
TelTel NumericoNumerico 4040
Progettazione logicaProgettazione logicaTabella LibriTabella Libri
Nome Nome campocampo
Tipo Tipo campocampo
DimensioDimensionene
VincoliVincoli NoteNote
Id libroId libro NumericoNumerico Intero Intero lungolungo
Primary Primary KeyKey
TitoloTitolo TestoTesto 8080
Progettazione logicaProgettazione logicaTabella PrestitiTabella Prestiti
Nome Nome campocampo
Tipo campoTipo campo DimensionDimensionee
VincoliVincoli NoteNote
Id prestitoId prestito NumericoNumerico Intero Intero lungolungo
Primary Primary KeyKey
FkAmicoFkAmico NumericoNumerico Intero Intero lungolungo
Foreign Foreign KeyKey
Link alla Link alla tabella tabella AmiciAmici
FkLibroFkLibro NumercoNumerco Intero lungo
Foreign Foreign KeyKey
Link alla Link alla tabella tabella LibriLibri
Data scadenza prestito
Data Not null
Valori nulliValori nulli
Potrebbero essere ammessi come Potrebbero essere ammessi come valori nulli:valori nulli:
Tabella amici: “indirizzo”, “telefono”Tabella amici: “indirizzo”, “telefono”
Database OspedaleDatabase Ospedale Pazienti: codice (Primary Key)Pazienti: codice (Primary Key) Reparti: codice (Primary Key)Reparti: codice (Primary Key) Medici: matricola (Primary Key)Medici: matricola (Primary Key) Ricoveri: inizio (Primary Key) e codice paziente (Primary Ricoveri: inizio (Primary Key) e codice paziente (Primary
Key)Key)
Valori nulli che potrebbero essere ammessi:Valori nulli che potrebbero essere ammessi: Tabella pazienti: “Cognome”, “Nome”Tabella pazienti: “Cognome”, “Nome” Tabella reparti “Nome reparto” Tabella reparti “Nome reparto” Tabella medici: “Cognome”, “Nome”Tabella medici: “Cognome”, “Nome” Tabella ricoveri: “Fine”Tabella ricoveri: “Fine”
Database OspedaleDatabase Ospedale
Vincoli d’integrità:Vincoli d’integrità:
Se esiste un codice “Paziente” nella tabella RICOVERI, lo Se esiste un codice “Paziente” nella tabella RICOVERI, lo stesso codice deve essere presente nella tabella PAZIENTI.stesso codice deve essere presente nella tabella PAZIENTI.
Tra “Reparto” nella relazione RICOVERI e “Codice” nella relazione REPARTI.
Tra Tra “Primario” in REPARTI e “Matr” nella relazione MEDICI.
Tra “Reparto” in MEDICI e“Cod” in REPARTI.