Newsgroup: it.comp.appl.access
Titolo: Ristrutturazione databse

Buonasera a tutti,
 il mio problema è il seguente. Un mio amico, appassionato ferromodellista,
ha un database ove ha registrato per ogni tipo di mezzo ferroviario i
seguenti dati:
Ammnistrazione (F.S., SCNF ecc.), Nazione dell'amministrazione, Mezzo
ferroviario, tipo di trazione dello stesso, XMPR (tipo di livrea), nonchè
tutte le foto scattate a tutti i mezzi in date e luoghi diversi, registrando
anche il rullino e tipo di pellicola.
Il tutto sì in Access, ma in effetti non si tratta  altro che un foglio
Excel. Ogni record, infatti,  riporta tutti i dati, quindi riporta ogni
volta il modello, l'amministrazione ecc, con buona pace delle tabelle e
delle loro relazioni.
Mi ha chiesto se riesco a sistemargli il tutto. Ma...
Ho impostato le seguenti tabelle.
ID_Nazioni
Nazioni          1 a M con  ID_Amministrazioni
                                        ID_Nazioni (ricerca)
                                        Amministrazioni        M a M con
ID_Modelli
ID_Amministrazioni (ricerca)
ID_Nazioni (ricerca)
Modello
.....                   1 a M      ID_Foto
                                       ID_Modelli
                                       Pellicola
                                       ....
Forse ho proceduto in maniera decente.
Ma come faccio ad "agganciare" i record già presenti nel "vecchio" database?
Come faccio, cioè, a collegare, nel nuovo database,  tutte le registrazioni
relative ad un determinato modello, intendo al modello lato 1 della tabella
 (foto per il modello, modello per amministrazioni, nazione per
amministrazioni, ecc.)?
Spero di essere stato chiaro. Mi auguro che qualcuno voglia darmi una mano,
tenendo conto che, non essendo più giovanissimo, per me Access è solo un
bell'hobby.
Se l'aiuto si dovesse estendere anche ad una esauriente spiegazione del
lavoro da intraprendere, non posso che essere ulteriormente grato. La
prossima volta potrò fare da solo considerando che il problema non si
esaurisce solo in campo modellistico.
Uso Access 97.
In ogni caso, grazie per l'attenzione e Buona Pasqua a tutti voi.
P.S. Penso di aver agito correttamente nell' aver impostato le relazioni
Amministrazioni > Modelli come molti a molti (con relativa tabella di
interfaccia), in quanto è vero che un'Amminmistrazione può avere diversi
modelli (E646, E444 ecc.) ma è anche vero che ogni modello può appartenere a
diverse amministrazioni (E646 per F.S. e FNM, ecc.).
Antonio

(.....)

Premetto che sono uno sviluppatore software appassionato di ferrovie, macchinista mancato
a causa dei requisiti visivi.
Quindi la questione da te posta mi coinvolge sia come appassionato sia come progettista di
basi di dati.
Ciò detto:
una corretta impostazione della progettazione di una base di dati presuppone come passo
preliminare l'individuazione dei concetti basilari del mondo reale che la base di dati
dovrà rappresentare.
Io la vedo così:
l'elemento fondamentale attorno a cui ruota tutta la base di dati è il modello di mezzo
ferroviario, descritto nella tabella
Mezzi
---------------------
ID_Mezzo
Codice
ID_Tipologia (contiene valori di ID_Tipologia in TipologieMezzi)
ID_Trazione (contiene valori di ID_Trazione in TipologieTrazione)
Descrizione
ID_Rodiggio (contiene valori di ID_Rodiggio in Rodiggi)
Livrea
Questa tabella richiede tre tabelle gregarie:
Tipologiemezzi
-----------------------
ID_Tipologia
Descrizione
TipologieTrazione
----------------------------
ID_Trazione
Descrizione
Rodiggi
------------
ID_Rodiggio
Descrizione
Come giustamente hai osservato, lo stesso mezzo può essere utilizzato da più
amministrazioni e può essere stato fotografato più volte, quindi abbiamo:
Fotografie
---------------
ID_Mezzo
ID_Amministrazione (contiene valori di ID_Amministrazione in Amministrazioni)
DataFoto
LuogoFoto
Pellicola
che richiede a sua volta la tabella
Amministrazioni
------------------------
ID_Amministrazione
Descrizione
ID_Nazione (contiene valori di ID_Nazione in Nazioni)
che a sua volta richiede la tabella
Nazioni
-----------
ID_Nazione
Descrizione
Con questa struttura si presuppone che un mezzo di una determinata amministrazione venga
fotografato in un determinato luogo ed in un certo giorno una ed una sola volta.
Se non è così (più foto allo stesso mezzo della medesima amministrazione nello stesso
luogo e data), bisogna definire in maniera diversa la tabella Fotografie, suddividendola
secondo lo schema Master/Detail. In questo caso serve sapere cosa distingue una foto
dall'altra (l'ora ? il fotogramma nel rullino ? ...)
Per quanto riguarda la tua domanda sullo "smistamento" (mi si passi il termine ferroviario
!) delle informazioni attualmente registrate in un'unica tabella nelle varie tabelle della
nuova base di dati, bisognerà lavorare pesantemente con query di raggruppamento e query di
accodamento.
Prima di questo però, bisogna avere definito in maniera sicura tutte le tabelle necessarie
ed i loro attributi.
Aspetto le tue osservazioni in merito.
Vincenzo Turturro
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com/
---------------------------------------------
E quello di it.comp.as400
http://www.faq400.com/
---------------------------------------------

Buonasera a tutti,
ripropongo un mio post delle seertimane scorse, in quanto non ho potuto
leggere la risposta che mi era stata data.
Un mio amico, appassionato ferromodellista, ha un database ove ha registrato
per ogni tipo di mezzo ferroviario i
seguenti dati: Ammnistrazione (F.S., SCNF ecc.), Nazione
dell'amministrazione, Mezzo
ferroviario, tipo di trazione dello stesso, XMPR (tipo di livrea), nonchè
tutte le foto scattate a tutti i mezzi in date e luoghi diversi, registrando
anche il rullino e tipo di pellicola.
Il tutto sì in Access, ma in effetti non si tratta  altro che un foglio
Excel. La sua (unica tabella) era così composta:
Id
Modello
Nazione
Amministrazione
Trazione
XMPR
Località
DataFoto
Rullino
Numero
Pellicola
Note
Io l'ho così suddiviso
ID_Nazioni
Nazioni          1 a M con  ID_Amministrazioni
                                        ID_Nazioni (ricerca)
                                        Amministrazioni        M a M con
ID_Modelli
ID_Amministrazioni (ricerca)
ID_Nazioni (ricerca)
Modello
XMPR
Trazione                 1 a M      ID_File_Lavoro
                                              ID_Modelli
                                              ID_Pellicola (ricerca)
                                              ID_Località  (ricerca)     M a
M   ID_Località
                                              DataFoto
Località
                                              Rullino
                                              Numero
                                              Pellicola
                                              Note
Su Google ho trovato la risposta di Turturro (grazie alla segnalazione di
Cinzia), pertanto continuo il post su icaa.
Caro Turturro tua analisi è estremamente articolata e non posso che essere
d'accordo. Tieni conto che il data base non è mio e che ha senso introdurre
il rodiggio, ma si tratterebbe di aggiornare la bellezza di 1546 modelli (i
record sono 5467). Infatti sul data base si è fatta differenza tra il
modello (faccio per dire) E444.0001 e E444.033.
Comunque la tua impostazione è molto interessante e più tecnica. Pertanto
continuerei con la tua impostazione anche se mi sembra eccessivo introdurre
una tabella per la trazione considerato che quest'ultima può assumere tre
tipologie (V)apore, (D)iesel ed (E)lettrica. Non può bastare un controllo
"Valido se" in tabella?
Perchè hai diviso Mezzi e Tipologia mezzi?
Grazie
Antonio

Antonio

 >Antonio
Concordo con quanto hai esposto.
Se lavoro s'ha da fare, tanto vale farlo bene ed in maniera completa anche
in vista di eventuali futuri sviluppi.
Antonio