Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Consiglio struttura database

Ciao a tutti,
Allora, ho un db Access piuttosto semplice con una struttura classica del tipo
Fornitori
Clienti
Ordini
ecc.
(non č proprio cosě ma č per rendere l'idea).
Tutti i dati devono essere sia in italiano che in inglese: per questo non ho fatto altro che
duplicare le tabelle e sceglierle da programma in base alla lingua scelta.
Perň mi sorge il dubbio sulla struttura migliore:
opzione1:
Come ho fatto ora, duplico le tabelle: in questo modo il db č piů corposo ma durante l'esecuzione
carico in memoria solo le tabelle nella lingua prescelta e non mi porto dietro dati inutili
nell'altra lingua. Questo mi consente anche di lasciare una certa indipendenza tra le due lingue,
quindi il contenuto delle tabelle in inglese non deve necessariamente coincidere con quello delle
italiane (puň essere un punto a favore ma anche contro..).
opzione 2:
In ogni tabella duplico i campi per entrambe le lingue: in questo caso non ci sono tabelle doppie,
ma ogni volta mi carico in memoria anche dati inutili. E non sono pochi, poiché molti campi della
tabella principale sono di tipo memo. Questa volta, perň, il contenuto in inglese č strettamente
legato a quello italiano.
Opzione 3:
Nelle tabelle di supporto (ID, nome, descrizione) duplico i campi, mentre duplico l'intera tabella
principale, che contiene vari campi memo, quindi la tabella piů pesante. Forse sarebbe la soluzione
migliore, perň c'č da dire che anche se le tabelle di supporto vengono aggiornate una volta ogni
tanto, vengono caricate in memoria molto spesso...
Inoltre preciso che accederň a tale db con asp, quindi non so se conviene tenere in memoria troppi
dati inutili...
Che ne dite? Se vi servono maggiori info...
Ciao,
Moreno
#sirri#@#morenosoft#.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

principale, che contiene vari campi memo, quindi la tabella più pesante.
Forse sarebbe la soluzione
]zac[
Questo punto mi e' molto oscuro (e' importante come usi la JOIN), ma a naso
non sposta il problema.
Salve
            Dbg

 tanto, vengono caricate in memoria molto spesso...
Mah, non saprei.
Forse sarebbe il caso di verificare con entrambe le opzioni (1 e 3); anche
se io (dal mio basso) punterei direttamente sulla prima.
Bye, Enrico.
------------------------------------------------
Dim VbEnry As Enrico
e-mail : 
vbe...@supereva.it
ICQ: 93357350
------------------------------------------------

non sposta il problema.
Ti spiego, i campi di supporto sono legati ad alcuni campi della tabella principale.
Indipendentemente dalla lingua gli indici non cambiano: è come se fosse un db monolingue, solo che
la tabella principale è sdoppiata...
Ci penso un po' su...
Intanto grazie!


se io (dal mio basso) punterei direttamente sulla prima.
Grazie... mi sa che farò così... (anzi, ho già fato così, quindi ancora meglio... ^___^ )


Intanto grazie!
Figurati, per lavoro uso un db (informix) che non usa assolutamente il
recordset, ma solo chiavi di ricerca.
Salve
                Dbg

senza appesantire inutilmente il recordset.
Sì, però se ci fossero i campi sdoppiati, potrei passare da una lingua all'altra con più facilità
(il record non cambia, pasta che modifico il suffisso dei campi).
Altrimenti, sdoppiando i record dovrei stare attento che gli ID delle due tabelle corrispondano, ma
siccome si tratta di un contatore...
Ora ci penso un po' su...
Ciao,
Moreno


A Mio Parere hai sbagliato per queste ragioni:
- Sia i fornitori che i clienti anno una denominazione
  internazionale es. microsoft spa, milan, roma, etc.
  questo fa si che se hai un solo database e il fornitore
  avara lo stesso codice sia in vers. it che in altra lingua
  nel coso di clonazione del db in un inserimento nuovo un
  fornitore/cliente potrebbe avere codice diverso;
La soluzione migliore e quello di avere i campi testo in due
lingue diverse
 Fornitori
 Clienti
 Ordini
 ecc.

 ha scritto

una. ci si lavora in una sola o in tutte e due le lingue ? cioe' la scelta
viene fatta all'inizio, o in qualsiasi momento si deve accedere a tutte e
due le versioni ?
se una sola, io non duplicherei niente e gestirei la sola eventuale
visualizzazione dei nomi di campo (tipo dbgrid, per intenderci).
ma forse non ho capito nulla.

italiane (può essere un punto a favore ma anche contro..).
Volevo solo informarvi che, come tra l'altro mi ha suggerito la maggior parte di voi, ho mantenuto
la struttura iniziale, con però un'aggiunta:
siccome i contenuti nelle due lingue potevno essre diversi, ho aggiunto una tabella di sponda
ID_Generale
ID_Lingua1
ID_Lingua2
che mi permette di avere una corrispondenza tra i record delle due tabelle di lingua diversa anche
se gli id non corrispondono.
Grazie per i consigli,
