sei sul sito di Giovanni Fraterno
L’analisi di un
database consiste nel determinarne il diagramma E/R
e le annesse tabelle
Microsoft Access.
A partire dalla mappa di navigazione ricavata in precedenza,
vediamo allora quali sono precisamente le
informazioni che vanno gestite tramite database, analizzando di che tipo sono e come devono essere collegate.
Intanto, per poter associare
una news delle news correlate, o per poter
associare un articolo della rassegna stampa, sia
a diversi libri, che a diversi scrittori, è utile disporre:
- della cosiddetta tabella indice denominata
nel nostro caso Tabella Index_news_libri e che appunto permette di creare una
relazione molti a molti fra le news correlate
e i libri
- della tabella indice denominata
Tabella Index_news_scrittori e che appunto permette di creare una
relazione molti a molti fra le news correlate
e gli scrittori
- della tabella indice denominata
Tabella Index_rassegna_libri e che appunto permette di creare una
relazione molti a molti fra la rassegna stampa
e i libri
- della tabella indice denominata
Tabella Index_rassegna_scrittori e che appunto permette di creare una
relazione molti a molti fra la rassegna stampa
e gli scrittori.
Naturalmente, sempre
attraverso le 4 precedenti tabelle indice, sarà anche possibile il
procedimento inverso, ovvero visualizzare da scheda
scrittore e da dettaglio del libro, solo
le news correlate e la rassegna stampa inerenti.
Lo schema logico o diagramma E/R (diagramma entità-relazioni) che
rappresenta i nostri dati è pertanto:
Precisato che è sempre bene
inserire una chiave primaria in ogni tabella
(in maniera tale da identificare univocamente i vari record), le tabelle ed i campi,
con annesso formato e annesse dimensioni, del nostro database
saranno:
Tabella
Scrittori
Idscrittore contatore Chiave primaria
nome testo 255
cognome testo 255
biografia memo
foto_piccola testo 50
foto_grande testo 50
Tabella Libri
Idlibro
contatore Chiave
primaria
Idscrittore numerico Chiave esterna
Idcategoria numerico Chiave esterna
titolo
testo 255
abstract
memo
anno
numerico 4
foto_copertina testo 50
Tabella Commenti
Idcommento contatore Chiave primaria
Idlibro numerico Chiave esterna
nome testo 255
commento memo
mail
testo 255
Tabella
Categorie_libro
Idcategoria contatore Chiave primaria
nome testo 255
Tabella News
Idnews contatore Chiave primaria
data Data/ora
titolo
testo 255
abstract memo
testo
memo
foto
testo 50
Tabella
Index_news_libri
Idnews_libri contatore Chiave primaria
Idnews numerico Chiave esterna
Idlibro numerico Chiave esterna
Tabella
Index_news_scrittori
Idnews_scrittori contatore Chiave
primaria
Idnews numerico Chiave esterna
Idscrittore numerico Chiave esterna
Tabella
Rassegna_stampa
Idrassegna contatore Chiave primaria
testata testo 255
titolo testo 255
articolo memo
autore
testo 255
data
Data/ora
foto
testo 50
Tabella
Index_rassegna_libri
Idrassegna_libri contatore Chiave primaria
Idrassegna numerico Chiave esterna
Idlibro numerico Chiave esterna
Tabella
Index_rassegna_scrittori
Idrassegna_scrittori contatore Chiave primaria
Idrassegna numerico Chiave esterna
Idscrittore numerico Chiave esterna
Tabella
Newsletter
Idnewsletter contatore Chiave primaria
nome testo 255
cognome testo 255
mail
testo 255
Si badi che:
- i campi creati con all’interno la parola foto,
come ad esempio foto_copertina e foto_grande, sono campi che servono a conservare al
loro interno il nome del file immagine abbinato
ad un determinato record
- e
che sebbene sia possibile un’altra soluzione,
a quest’ultima si tende a rinunciarvi, e ciò perché aumentano
a dismisura le dimensioni della base di dati, riducendone
significativamente le prestazioni.
Insomma, la problematica dell’inserimento
delle immagini all’interno di un database, viene
risolta inserendo all’interno del database stesso solo il nome del file
immagine, file che fisicamente risiede invece all’interno di una cartella apposita.
E’ bene precisare che la chiave esterna, presente anche in alcune tabelle del
nostro database, differisce dalla chiave primaria
per un semplice fatto, e cioè che la prima è una chiave univoca, ma solo all’interno di un’altra tabella.
Il motivo per
cui la chiave esterna è presente in entrambe le tabelle e che serve
appunto per mettere in relazione i dati delle
due suddette differenti tabelle.
Ad esempio, Idcategoria è presente
sia nella Tabella Categoria_libro e
sia nella Tabella Libri, con ogni record della
Tabella Libri che mantiene
Idcategoria come chiave esterna, e ciò per segnare a quale categoria
appartiene.
Insomma, esiste una
relazione uno-a-molti fra Tabella
Categoria_libro e Tabella Libri, nel
senso che ogni categoria può avere molti libri, mentre un
libro può appartenere ad una sola categoria.
A questo punto non rimane
che popolare le suddette tabelle grazie a
Microsoft Access, dando appunto vita al file editrice.mdb