PROGETTAZIONE DI UN DATABASE
description
Transcript of PROGETTAZIONE DI UN DATABASE
![Page 1: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/1.jpg)
PROGETTAZIONE DI UN DATABASE
a cura di Santulli Domenica
Matricola 570121
![Page 2: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/2.jpg)
ANALISI DEI REQUISITIProgettazione di una base di dati per la gestione dei prestiti di una biblioteca personale.
Il mio scopo è memorizzare i dati relativi a:• Libri• Amici• Autori• CaseEditrici
Il fine ultimo è ricavare le informazioni relative ai prestiti concessi da tale biblioteca personale.
Nello schema di base iniziale del mio database ho inserito anche le tabelle “Autori” e “CaseEditrici” al fine di evitare eventuali problemi di ridondanza ed incoerenza, legati ad alcuni attributi, in sede di inserimento dati.
![Page 3: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/3.jpg)
SCHEMA ENTITÀ-RELAZIONI
Libri
AmiciAutori
Pubblicazioni
N
N
N
N
Prestiti
N
N
1
1
N
1
N
1
CaseEditrici
N
1
![Page 4: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/4.jpg)
PROGETTAZIONE CONCETTUALE
La base di dati che ho progettato per la gestione della biblioteca personale prevede le seguenti entità, con i relativi attributi:
• Libri: NomeLibro, DataEdizione, FKCasaEditriceLibro
• Amici: Soprannome, Nome, Cognome, Telefono
• Autori: IDAutore, Nome, Cognome, DataNascita, LuogoNascita
• CaseEditrici: NomeEditore, Sitoweb, DataFondazione
![Page 5: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/5.jpg)
PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI
Fra l’entità Libri e l’entità Amici sussiste una relazione molti a molti (N : N): infatti, un libro può essere prestato a più amici (seppur in istanti temporali diversi e non coincidenti); ciascun amico, dal canto suo, può prendere a prestito più libri dalla biblioteca personale. Da tale relazione nasce la nuova entità:• Prestiti: IDPrestito, DataInizioPrestito, DataRestituzione, FKLibroPrestito, FKAmicoPrestito
Fra l’entità Libri e l’entità Autori sussiste una relazione molti a molti (N : N): infatti, un libro può essere scritto e pubblicato da più autori; ciascun autore può scrivere e pubblicare più libri. Da tale relazione nasce la nuova entità:• Pubblicazioni: IDPubblicazione, FKLibroPubblicazione, FKAutorePubblicazione
Fra l’entità CaseEditrici e l’entità Libri sussiste una relazione uno a molti (1 : N): infatti, una casa editrice può pubblicare più libri; ciascun libro può essere pubblicato da una sola casa editrice.
![Page 6: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/6.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteNomeLibro Testo 30 Primary Key
DataEdizione Data
FKCasaEditriceLibro
Testo 30 Foreign Key Link alla tabella CaseEditrici
Tabella LIBRI
![Page 7: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/7.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteSoprannome Testo 20 Primary Key
Nome Testo 20
Cognome Testo 20
Telefono Testo 15
Tabella AMICI
![Page 8: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/8.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteIDAutore Numerico Intero Lungo Primary Key Contatore
Nome Testo 20 Not Null
Cognome Testo 20 Not Null
DataNascita Data
LuogoNascita Testo 30
Tabella AUTORI
![Page 9: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/9.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteNomeEditore Testo 30 Primary Key
SitoWeb Testo 30
DataFondazione Data
Tabella CASEEDITRICI
![Page 10: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/10.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteIDPrestito Numerico Intero Lungo Primary Key Contatore
DataInizioPrestito Data Not Null
DataRestituzione Data Not Null
FKLibroPrestito Testo 30 Foreign Key Link alla tabella Libri
FKAmicoPrestito Testo 20 Foreign Key Link alla tabella Amici
Tabella PRESTITI
![Page 11: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/11.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteIDPubblicazione Numerico Intero Lungo Primary Key Contatore
FKLibroPubblicazione Testo 30 Foreign Key Link alla tabella Libri
FKAutorePubblicazione Numerico Intero Lungo Foreign Key Link alla tabella Autori
Tabella PUBBLICAZIONI
![Page 12: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/12.jpg)
PUNTO 2Analisi della “Base di dati Ospedale”.
Di seguito individuerò:• Le chiavi della base di dati• I vincoli di integrità referenziale della base di dati• Attributi che possono ammettere valori nulli• Schema E-R• Progettazione logica
![Page 13: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/13.jpg)
CHIAVI PRIMARIEINDIVIDUAZIONE DELLE PRIMARY KEY PER CIASCUNA TABELLA
Tabella PRIMARY KEY Tipo campo Dimensione NotePazienti Cod Testo 4
RicoveriPaziente Testo 4
Inizio Data
Medici Matr Numerico Intero lungo
Reparti Cod Testo 1
![Page 14: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/14.jpg)
VINCOLI DI INTEGRITA’ REFERENZIALE
INDIVIDUAZIONE DEI VINCOLI DI INTEGRITA’ REFERENZIALE FRA LE DIVERSE TABELLE:
• vincolo fra l’attributo Paziente (della tabella “Ricoveri”) e l’attributo Cod (della tabella “Pazienti”);
• vincolo fra l’attributo Reparto (della tabella “Ricoveri”) e l’attributo Cod (della tabella “Reparti”);
• vincolo fra l’attributo Primario (della tabella “Reparti”) e l’attributo Matr della tabella “Medici”);
• vincolo fra l’attributo Reparto (della tabella “Medici”) e l’attributo Cod della tabella “Reparti”).
![Page 15: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/15.jpg)
ATTRIBUTI CHE AMMETTONO VALORI NULLI
INDIVIDUAZIONE DEGLI ATTRIBUTI CHE POSSONO ASSUMERE VALORI NULLI:
• attributo Nome della tabella “Reparti”;
• attributi Nome e Cognome della tabella “Medici”;
• attributi Nome e Cognome della tabella “Pazienti”;
• attributo Fine della tabella “Ricoveri”.
![Page 16: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/16.jpg)
SCHEMA ENTITÀ-RELAZIONI
Reparti
PazientiMedici
N
N
N
Ricoveri
1
N
1
N
1
![Page 17: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/17.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteCod Testo 1 Primary Key
Nome Testo 20
Primario Numerico Intero lungo Foreign Key Link alla tabella Medici
Tabella REPARTI
![Page 18: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/18.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteCod Testo 4 Primary Key
Cognome Testo 20
Nome Testo 20
Tabella PAZIENTI
![Page 19: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/19.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NotePaziente Testo 4 Primary Key-
Foreign KeyLink alla tabella Pazienti
Inizio Data Primary Key
Fine Data
Reparto Testo 1 Foreign Key Link alla tabella Reparti
Tabella RICOVERI (nasce dalla relazione N:N fra l’entità Reparti e l’entità Pazienti)
![Page 20: PROGETTAZIONE DI UN DATABASE](https://reader038.fdocumenti.com/reader038/viewer/2022103006/56813ef7550346895da97799/html5/thumbnails/20.jpg)
PROGETTAZIONE LOGICA
Nome campo Tipo campo Dimensione Vincoli NoteMatr Numerico Intero Lungo Primary Key
Nome Testo 20
Cognome Testo 20
Reparto Testo 1 Foreign Key Link alla tabella Reparti
Tabella MEDICI