Newsgroup: it.comp.appl.access
Titolo: [LONG] Consiglio struttura database

Buongiorno a tutti,
ho bisogno di un consiglio per la migliore struttura da dare ad un
database a cui sto lavorando e credo che voi siate i più adatti a cui
rivolgermi.
Premetto che il database è nato per applicazione personale
(catalogazione di una collezione di cd audio "importante"), ma è
possibile che per esigenze di catalogazione interne alla ditta in cui
lavoro è probabile che lo stesso venga usatO per catalogare tutta una
serie di cd/dvd di dati di commesse degli scorsi anni. Sostanzialmente,
per caratteristiche di archiviazione, questi cd sono assimilabili a
quelli audio.
Si è deciso di usare un'applicazione "fatta in casa" per un discorso
di personalizzazione "estrema" del database, di licenze di access già
disponibili e per altri motivi imponderabili della direzione.
Per questo motivo, vorrei organizzare le cose al meglio possibile.
Il problema riguarda il come gestire i cd doppi/tripli.
Fino ad ora io mi sono limitata ad inserire ogni singolo cd a sé
stante e sulla carta mi va benissimo.
Ad esempio di un album doppio inserisco i due cd singolarmente,
aggiungendo (1) o (2) codice_cd e al titolo. Ho anche una casella
combinata in cui selezionare il numero di cd da cui è composto
l'album.
Questo funziona benissimo, ma mi è stato fatto notare che sarebbe
meglio prevedere una maschera strutturata a schede, con codice_cd e
titolo a "comandare" e i vari cd che compongono l'album strutturati
come sottomaschere nei tabs, 1 tab = 1 cd.
Personalmente io la vedo così:
PRO:
- l'album è identificato come un unicum e non ho tre registrazioni per
lo stesso album, non dovrei ripetere i dati comuni per tre volte,
alleggerendo la tabella Album (migliore normalizzazione??), ma a
livello di tabella Tracklist non mi cambia niente.
CONTRO:
- come mi comporto con quegli album che contengono diciamo 2 cd
"indipendenti"?
Esempio pratico: compro una raccolta di Beethoven e questa raccolta
contiene 9 cd, uno per sinfonia. Ok che il "box" si chiamerà
"Sinfonie", ma tutti i 9 cd avranno un loro titolo diverso e saranno
indipendenti gli uni dagli altri a tutti gli effetti. Questi cd hanno
un loro numero di catalogo indipendente. Tipo: la raccolta ha codice
pippo-123/5 i cd sono pippo-123, pippo-124, pippo-125.
- come faccio a gestire una struttura a schede di questo genere, se non
so a priori quante schede mi serviranno nella maschera? Imposto una
maschera a 10 tabs e poi li nascondo se non contengono dati? Ma si può
fare?
Al momento i dati inseriti non sono moltissimi, per cui potrei
modificare la struttura, ma non sono convinta che mi convenga veramente
o che sia il modo migliore di procedere.
Voi cosa mi consigliate di fare???
Sinceramente io sarei orientata a mantenere la struttura corrente, ma
vorrei evitare l'inserimento manuale di (1) e (2) etc. dopo ogni titolo
e ogni codice. Avevo pensato di compilare il campo nrcd in tabella (in
maschera inserisco da quanti cd è composto l'album, ma sono limitata
al numero totale) componendolo da due diversi controlli della maschera,
ad esempio nrcd1 e nrcd2, per andare a ricostruire 1/2 o 2/2, 1/3 o 2/3
o 3/3.
Cosa ne pensate???
Mi scuso in anticipo per la lunghezza del post, ma sono ad un bivio e
molto indecisa tra le due soluzioni (premesso che la soluzione 2 non la
saprei implementare, ma questo è un altro discorso!),
Grazie ancora
Erika

 Erika
Allora, io farei una tabella e ci aggiungerei un campo in più per la
ricorsività
Ti spiego
-Codice
-Titolo
-etccc.
Rif_codice
Quindi tu avrai
il cd di Lando Fiorini "Rugantino"
Codice AAAA
-Titolo Rugantino
Il cd numero 2
Avrà la stessa cosa solo con il Rif_codice AAAA
A questo punto ti basta una sottomaschera
Quello che vuoi fare non lo puoi fare con una struttura a schede
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

 ha scritto nel messaggio
news:1152101021.2...@j8g2000cwa.googlegroups.com...
Buongiorno a tutti,
ho bisogno di un consiglio per la migliore struttura da dare ad un
database a cui sto lavorando e credo che voi siate i più adatti a cui
rivolgermi.
[CUT]
Personalmente io la vedo così:
PRO:
- l'album è identificato come un unicum e non ho tre registrazioni per
lo stesso album, non dovrei ripetere i dati comuni per tre volte,
alleggerendo la tabella Album (migliore normalizzazione??), ma a
livello di tabella Tracklist non mi cambia niente.
CONTRO:
- come mi comporto con quegli album che contengono diciamo 2 cd
"indipendenti"?
Esempio pratico: compro una raccolta di Beethoven e questa raccolta
contiene 9 cd, uno per sinfonia. Ok che il "box" si chiamerà
"Sinfonie", ma tutti i 9 cd avranno un loro titolo diverso e saranno
indipendenti gli uni dagli altri a tutti gli effetti. Questi cd hanno
un loro numero di catalogo indipendente. Tipo: la raccolta ha codice
pippo-123/5 i cd sono pippo-123, pippo-124, pippo-125.
- come faccio a gestire una struttura a schede di questo genere, se non
so a priori quante schede mi serviranno nella maschera? Imposto una
maschera a 10 tabs e poi li nascondo se non contengono dati? Ma si può
fare?
[CUT]
Grazie ancora
Erika
Io farei una semplice struttura 1-n
Nella tabella lato 1 metterei il titolo del CD ed il codice relativo.
Nella tabella lato n metterei il dettaglio del CD
tblOpere
PKIDOpera Contatore
ID  Identificativo univoco (non so se per i cd esistono id tipo ISBN per i
libri)
TitoloDellOpera    Testo
Editore
tblDettaglioOpere
PKIDDettaglioOpere Contatore
FKIDOpera  (è la PK della tbl1)
Titolo
Numero
Autore
DataPubblicazione
EtcEtc
A questa  ultima tabella potresti anche aggiungere un'altra tabella per
esempio
per gestire i brani del CD
tblDettaglioBrani
PKIDBrano
FKIDDettaglioOpere
Titolo
Durata
DataRegistrazione
LuogoRegistrazione
e continuando così puoi aggiungere creando un'altra tabella i musicisti che
hanno registrato il brano
La struttura a schede non ti serve a meno di creare altre tabelle lato molti
dove inserire altri dati riferibili alla tabella principale.
Un ultimo consiglio,in fase di progettazione del database non pensare a come
e soprattutto con cosa visualizzerai i dati ma astrai il più possibile la
definizione
dei dati.Gli oggetti per visualizzare questi li sceglierai dopo, non prima.
Morgan

Quello che vuoi fare non lo puoi fare con una struttura a schede
Ok, questo problema è risolto :)
Grazie ancora
Erika

Gli oggetti per visualizzare questi li sceglierai dopo, non prima.
Hai perfettamente ragione. Il punto è che la cosa mi è un po' sfuggita di mano,
in pratica il database è cresciuto insieme alle mie competenze (tuttora
scarse!!) di access e adesso mi trovo a pensare a cose che avrei dovuto
prevedere un anno fa...
Grazie ancora
Erika

 ha
scritto nel messaggio news:9h4oa2hkfaifl8m6p...@4ax.com...

Beh,questo non è un problema di strutturazione del db ma di modalità di
visualizzazione.
Spiego.Devi strutturare funzioni di ricerca che effettuino la ricerca sia
sulla tbl principale
che sulla tabella secondaria dando la possibilità di ricerca su l'una
l'altra od entrambe.
Una volta trovato quello che cerchi è uno scherzo tirare su i dati
correlati.
Morgan

 Erika
-- 
