Upload
aram
View
39
Download
0
Embed Size (px)
DESCRIPTION
Corso di ABILITA’ INFORMATICHE AVANZATE Facoltà di Economia A.A. 2010/2011 Prog . Ing. Agostino Marengo 2 ° COMPITO: PROGETTAZIONE DI UN DATABASE. STUDENTE: Arianna Carucci matricola 567299 Corso di Laurea Magistrale in Economia e Management. PARTE I. - PowerPoint PPT Presentation
Citation preview
Corso di ABILITA’ INFORMATICHE AVANZATEFacoltà di Economia
A.A. 2010/2011Prog. Ing. Agostino Marengo
2 ° COMPITO:PROGETTAZIONE DI UN DATABASE
STUDENTE: Arianna Carucci matricola 567299Corso di Laurea Magistrale in Economia e Management
PARTE I
1) DATABASE di una BIBLIOTECA PERSONALE
Considerare le informazioni per la gestione dei prestiti di una biblioteca personale.
Il proprietario presta libri ai suoi amici, che indica semplicemente attraverso il nome o il 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. Definire uno schema di relazione per presentare queste
informazioni, individuando opportuni domini per i vari attributi e mostrarne un’istanza in forma tabellare; indicare la chiave (o le
chiavi) della relazione.Valutare le eventuali esigenze di rappresentazione dei valori nulli,
con i benefici e le difficoltà connesse.
Analisi dei requisiti:
Si vuole progettare un database per la gestione dei prestiti in una biblioteca personale.Dall’analisi preliminare emerge quanto segue:
• Il proprietario individua gli amici a cui presta i libri attraverso nome/soprannome;
• I libri vengono individuati secondo il titolo ( non esistono in biblioteca due libri con lo stesso titolo;
• Il proprietario annota per ciascun prestito data di restituzione.
Schema entità-relazioni:Amici
Libri
Prestiti
1 : N
N : 1
PROGETTAZIONE CONCETTUALEInizialmente sono state individuate le seguenti entità:
• AMICI • LIBRI
PROGETTAZIONE CONCETTUALEAMICI
Per l’entità Amici sono stati individuati i seguenti attributi:
• Nome Amico/Soprannome Amico= CHIAVE della RELAZIONE
PROGETTAZIONE CONCETTUALELIBRI
Per l’entità LIBRI sono stati ipotizzati i seguenti attributi:
• Titolo Libro = CHIAVE della RELAZIONE
PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI
AMICI LIBRI
N : N
• Un libro può essere prestato a più amici • Un amico può prendere in prestito più libri
La relazione N : N è caratterizzata dal fatto che ad ogni record dell’archivio A sono associati più record dell’archivio B e viceversa.
PROGETTAZIONE LOGICADEFINIZIONE DELLE RELAZIONI
Dalla relazione N : N deriva una ulteriore entità (PRESTITI) i cuiattributi saranno i seguenti:
• Data Prestito• Data restituzione Prestito = CHIAVE della relazione• Campo link alla tabella Amico: definisce l’amico che ha preso in
prestito• Campo link alla tabella Libro: individua il libro oggetto del
prestito
PROGETTAZIONE LOGICADEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Tabella Amici
Nome Campo
Tipo Campo Dimensione
Vincoli Note
Nome/ Soprannome Amico
Alfanumerico
40 Primary Key
PROGETTAZIONE LOGICA: DEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTI
Nome Campo
Tipo Campo
Dimensione
Vincoli Note
Titolo Libro Alfanumerico
50 Primary key
Tabella Libri
PROGETTAZIONE LOGICADEFINIZIONE DELLE CARATTERISTICHE DEGLI ATTRIBUTITabella Prestiti
Nome Campo
Tipo Campo
Dimensione
Vincoli Note
Data Prestito
DATA
Data restituzione Prestito
DATAPrimary key
FkAmico Prestito
Alfanumerico
40 Foreign Key
Link alla tabella Amici
FkLibro Prestito
Alfanumerico
50 Foreign Key
Link alla tabella Libri
PARTE II
Nome campo
Tipo campo
Dimensione Vincoli Note
Inizio Data Primary Key Not Null
Fine Data
FK Paziente Numerico 20 Foreign Key Link alla tabella Paziente
FK Reparto Numerico 30 Foreign Key Link alla tabella Reparto
BASI DI DATI OSPEDALETabella Ricoveri
BASI DI DATI OSPEDALETabella Pazienti
Nome campo
Tipo campo
Dimensione Vincoli Note
Cod Numerico 20 Primary Key
Not Null, Unique
Cognome Alfanumerico
30
Nome Alfanumerico
30
FK Medico Numerico 20 Foreign Key
Link alla tabella Medico
BASI DI DATI OSPEDALETabella REPARTO
Nome campo
Tipo campo
Dimensione Vincoli Note
Cod Numerico 20 Primary Key
Not Null, Unique
Nome Alfanumerico
30
Primario Alfanumerico
30 Not Null Primario
BASI DI DATI OSPEDALETabella MEDICO
Nome campo
Tipo campo
Dimensione Vincoli Note
Matricola Numerico 20 Primary Key
Not Null, Unique
Nome Alfanumerico
30
Cognome Alfanumerico
30
Reparto Alfanumerico
30 Not Null
CHIAVILe chiavi sono:
per la relazione PAZIENTE: Cod e Medico
per la relazione RICOVERO: Inizio, Paziente e Reparto
per la relazione MEDICO: Matr
per la relazione REPARTO: Cod
VINCOLI DI INTEGRITÁ REFERENZIALE
Nel database esistono dei vincoli di integrità referenziale, che in questo caso
sono:
In RICOVERO: Paziente; e in PAZIENTE: Cod
Nella relazione RICOVERO il vincolo è: Reparto e nella relazione
REPARTO è: Cod
In REPARTO il vincolo é: Primario e nella relazione MEDICO è:
Matr
In MEDICO il vincolo è: Reparto e in REPARTO è: Cod
VALORI NULLII valori nulli possono essere ammessi negli attributi:
Cognome e Nome nella relazione PAZIENTE,
Fine nella relazione RICOVERO,
Cognome e Nome nella relazione MEDICO
Nome nella relazione REPARTO.
Tutti questi attributi non sono chiavi e non hanno nessun vincolo di
integrità referenziale.