Secondo Compito:Progettazione di un database Pinto Vincenzo.

13
Secondo Secondo Compito:Progettazi Compito:Progettazi one di un database one di un database Pinto Vincenzo Pinto Vincenzo

Transcript of Secondo Compito:Progettazione di un database Pinto Vincenzo.

Page 1: Secondo Compito:Progettazione di un database Pinto Vincenzo.

Secondo Secondo Compito:ProgettaziCompito:Progettazione di un databaseone di un database

Pinto VincenzoPinto Vincenzo

Page 2: Secondo Compito:Progettazione di un database Pinto 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.

Page 3: Secondo Compito:Progettazione di un database Pinto Vincenzo.

Schema Entità-relazioniSchema Entità-relazioni

Amici Prestiti LibriN1 N 1

N N

Page 4: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 5: Secondo Compito:Progettazione di un database Pinto Vincenzo.

Progettazione logicaProgettazione logica

Definizione delle relazioni:Definizione delle relazioni:

Amici Libri

1 N

N 1

N : N

Prestiti

Page 6: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 7: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 8: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 9: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 10: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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

Page 11: Secondo Compito:Progettazione di un database Pinto Vincenzo.

Valori nulliValori nulli

Potrebbero essere ammessi come Potrebbero essere ammessi come valori nulli:valori nulli:

Tabella amici: “indirizzo”, “telefono”Tabella amici: “indirizzo”, “telefono”

Page 12: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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”

Page 13: Secondo Compito:Progettazione di un database Pinto Vincenzo.

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.