Newsgroup: it.lavoro.professioni.webmaster
Titolo: Struttura database SQL con più lingue..

 A presto
Scusa ma io avrei fatto come il tuo cliente...
Poi per come sono fatto io avrei pure fatto una tabella lingue con un
id_lingua e label...
semper che tu sia ad ogni modo sicuro che la relazione lingua->prodotto sia
sempre 1->n e non possa essere n->n.
Metti che per una qualche ragione Pippo  - Sandalo venga venduto sia in
italia che in america.... (ricorda che tutto puo' accadere ed in ogni caso
potresti avere la necessità del riuso del codice o della struttura dati per
un progetto futuro...). Nella visione secondo cui in un futuro  Pippo  -
Sandalo venga venduto sia in italia che in america, a questo punto sarebbe
meglio creare altresi' una tabella associazione scarpa - lingua...
Sono particolari che potranno sembrarti superflui... ma per esperienza ti
dico che:
- il cliente cambia idea e opinione 25 volte al giorno
- un giorno, su un progetto molto importante, dirai... "ho, tho, guarda un
po' gia' ho fatto un db e codice del genere..."... ma poi ... "cazzarola ma
quello pero' non prevedeva che..." e dunque: "... cazz lo devo rifare..."
:-)
Inoltre, quello che fai in questo modo non e' altro che normalizzare il db.
Ed e' in fondo tipico atteggiamento da DBA (DataBaseAdmin) :-)
Mastro

 di progettare un sito analogo, e se sì che struttura avete utilizzato ?
Se non fosse che è fermo ti davo il link di quello che ho fatto io, se ti
interessa mandami una mail in privato, non vorrei fare pubblicità. Cmq ho
usato OsCommerce (open source, come ti dicevo prima) che secondo me spazza
via un bel po' di carrelli commerciali.

dove estraendone ugualmente 50.000 devo attendere più di 5 secondi !
Dipende dai criteri di selezione, comunque IMHO  on indici ben fatti a 5
secondi non ci arrivi.
In ogni caso per la struttura ha ragione quell'altro. O meglio ancora e' la
risposta che ti ha dato Muttley.
Saluti.
Luciano

 catalogo.
E che c'entra la ridondanza di codice con l'interrogare trabelle
diverse?
La ridondanza e' un bel problema, invece, appunto quando utilizzi una
singola tabella per mettere insieme dati le cui istanze si ripetono n
volte.
Mastro
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 catalogo.
diciamo che e' una struttura... e poi i DB relazionali li hanno inventati
apposta per permettere queste cose e non avere un unica tabella...
addirittura la normalizzazione dei DB pervede una tabella per ogni campo che
non sia obbligatorio... pensa te!
in ogni caso e' meglio fare del codice aperto... non si sa mai che in futuro
il cliente ti chieda delle implementazioni che poi ti richiederebbero una
ristrutturazione ben piu' impegnativa...
ciao
--
Lino Mari [MOD it.economia.e-commerce]
http://www.viadeimercanti.com
 -  Il portale e il Software per l'E-Commerce
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D004
http://corsi.aspitalia.com
 - ASP - 
ASP.NET
, riconosciuti IWA


Credo che di test non ne capisci un cavolo. Qualche corso serio di informatica
non ti farebbe male.
le reazioni su un data base di grandi dimensioni sottoposto ad una sola domanda
sono diverse da un database di piccole dimensioni sottoposto a una grande
contemporanea quantita' di domande.
Ribadisco i concetti di prima , fossi nel tuo cliente ti avrei gia sbattuto
fuori idem per la tua azienda.
Salvatore Lo Turco
EDP Manager

dove estraendone ugualmente 50.000 devo attendere più di 5 secondi !
ma dai, quando mai si fanno di questo tipo di estrazioni...  e in ogni
caso i tempi di risposta del db sono completamente riassorbiti dai
tempi di impaginazione del browser...  che senso ha preoccuparsi
troppo delle performance del db se poi i record devono essere
schiaffati in una <table> che deve arrivare fino alla fine prima di
vedere qualcosa?  e poi magari ci sono pure immagini...
al massimo si estrarrà una o due decine di record per schermata, e a
quel punto che te le vai a prendere da una delle 5 tabelle da 1000
record per ogni lingua o da un'unica tabella di 5000 record di tutte
le lingue cambia poco.
e anche dal punto di vista del traffico e prestazioni, un utente che
chiede 1000 record ad una tabella è completamente diverso da 1000
utenti che chiedono contemporaneamente un record ognuno, ed è
quest'ultimo il caso di cui ci si dovrebbe semmai preoccupare, non il
primo.
magari come test è più realistica l'estrazione per 1000 volte di
seguito di 5 record random da una tabella di 50mila record e da una di
250mila.  ma poi intabellali pure, però!
insomma, la struttura proposta dall'altro programmatore mi sembra più
ordinata e razionale, oltre che più flessibile (vedi aggiunta di nuove
lingue ecc.) a fronte di tempi di esecuzione trascurabilmente maggiori
rispetto ad una struttura multitabella.
una via di mezzo potrebbe essere un tracciato multicampo.  magari
diventa anche più facile creare qualcosa che i traduttori umani
traducano con facilità offline, ad esempio un bel foglione excel.
in finale io non mi preoccuperei affatto delle prestazioni del db a
monte della trasmissione e impaginazione dei dati e mi concentrerei
sulla struttura che dia il massimo in termini di razionalità,
flessibilità e velocità di sviluppo e manutenzione, che mi pare essere
proprio la idProdotto, Descrizione, idLingua.

effettuare i test su un numero di prodotti 500 volte superiore.
non funziona così.  tu hai messo in serie degli eventi che si
verificano in parallelo...

senti, tu dici delle cose vere ma te la tiri troppo.  non capisco che
gusto ci provi a fare uso di tutta una serie di espedienti retorici.
spiega le cose con meno sussiego.



scusa l'ignoranza ma non capisco il senso del tuo scritto
espedienti retorici? ...espedienti per cosa? non mi e' chiaro.
o forse ti da fastidio che mi scandalizzi e mi incazziprofondamente
perche' unragazzino moccioso spacciandosi per professionista getta
facilmente ombre conil suo comportamento sui colleghi?
mi dispiace ma nonostante sia nato in italia e ne sia cittadino ho
cultura poco latina e credo molto nelle responsabilita'.
IO mi scandalizzo e mi incazzo quando succedono sutiazioni del genere,
quando ci si prende in giro e tengo molto all'integrita' morale e reale
dei colleghi.
sara forse perche' sono informatico da 20 anni, o forse perche' in IBM
mi hanno insegnato certi valori, o forse perche' gestisco con denaro
pubblico dei SIA importanti anche per la vita umana o forse perche'
sonmo cosi' pero' mi incazzo e pretendo che ci si comporti in un certo
modo e senza leggerezza.
rino


Questo lo dovrai dimostrare ai tuoi datori di lavoro
L'informatica ,ma anche altre professioni, e' una cosa seria , quando scrivi
programmi hai grandi responsabilità  verso il cliente, verso l'utente verso i
colleghi. Spesso si viene a conoscenza di cose anche delicate che devono essere
gestite con estrema attenzione.
La superficialita' e' lesiva verso tutti .
Ed infine in un tuo scritto ti esprimi in modi estremamente offensivi verso i
prodotti open.source.
Credi che i prodotti OS siano di bassa qualita'? Intendi dire che per esempio
Linux sia di bassa qualita'?
Se sei un tecnico sei titolato ad esprimere opinioni e queste sono prese con un
certo peso da chi ti ascolta,, quindi devi pensare prima di parlare e
sopratutto devi conoscere!.
Credo sempre piu' che tu debba cedere il tuo posto ad altri tuoi coetanei che
sicuramente sono molto ma molto piu' professionali di te e hanno maggiori
meriti.
saluti
rino

 effettuare i test su un numero di prodotti 500 volte superiore.
Su questo sono d'accordo con il post di lbo.
Buon lavoro!

 spiega le cose con meno sussiego.
Lascia stare, credo di conoscere questo fantomatico "Rino" e di aver capito
perchè risponde in questo modo, ecco perchè ho deciso di troncare qui questo
thread ignorando qualsiasi provocazione. Prego anche voi di non rispondere
più al mio messaggio originale, ho già risolto il problema.

L'amico lbo dal portatile dice che non sono sbagliate le cose che dici, ma
come le dici.
Lascia che il mondo vada come deve andare.. non interferire.....
Quel clente ha sbagliato perche' doveva dire subito che in futuro avrebbe
potuto aggiungere altre lingue,
La web agency doveva fare leggere un bel libro di ingegneria del software ai
propri dipendenti, nessuno nasce imparato.
Poi se la gente si ostina a creare tabelle senza creare gli indici sui campi
chiave per forza che poi si lamentano delle prestazioni.
Per me creare una tabella normalizzata con scritto il nome delle  linga
ripetuto 50 mila voltee e' una eresia, si doveva usare un codice numerico
per le lingue che e' molto piu' performante .
E' anche vero che una volta che hai fatto un bel sito con un database
relazionale che costa 5000 euro e che gira su di un server da 20 mila euro
poi viene il ragazzino di 15 anni che usa un computer 486 con Linux + php +
Mysql ed e' piu' veloce, o peggio ancora un sito Flash con i dati in formato
di file ASCII , ma il problema e' che se devono aggiungere una lingua nel
primo caso basta una telefonata di spiegazione, con il sito Flash bisogna
rifare tutto da capo e il cliente non e' disposto a pagare tutti questi
soldi in modo apparentemente ingiustificato.
Secondo me una web agency seria dovrebbe fare pagare il sito non a
preventivo ma a ore effettive di lavoro, e una volta finito il progetto
fornire un programma esterno per aggionare i dati, poi deve farsi pagare per
i corsi, poi deve farsi pagare un canone annuale di assistenza, cosi' il
cliente e' tranquillo perche' sa che non viene abbandonato, i siti vengono
fatti secondo i moderni criteri informatici, la web agency puo' riciclare i
sorgenti e occupare il tempo a fare siti nuovi, nel frattempo riceve soldi
per mandare avanti la propria attivita', non a lavorare sempre su quelli
vecchi. Cosi' tutti sarebbero contenti.
Insomma e' passato il tempo in cui il cliente era un pollo da spennare, ora
e' la figura che ci da' da vivere e va rispettato e aiutato nonche'
fidelizzato perche' il clieneyte non deve assolutamente scappare via, e' la
nostra fonte di guadagno.

 perchè risponde in questo modo,
Anche qui credo tu abbia errato .
io sono solo un edp manager , professionista che crede profondamente in certi
valori che si riflettono nella qualita' morale e reale dei nostri lavori.
Quello che ti contesto , ma non solo a te , non e' la ricerca verso una
soluzione migliore , ma i modi e termini che hai utilizzato nei precedenti
scritti, modi e termini che riflettono solo una bassissima qualita' morale.
Cosi' come i  modi di lamentarsi dei continui cambiamenti di volonta' dei
clienti e' sinotmo di scarsa professiuonalità daparte dei consulenti, scarsa
perche' non e' capace di "viaggiare" insieme al cliente.
In oltre 20 anni di attivita' credo di averne viste di tutti i colori e i
clienti , come tali intendo anche gli utenti di altri reparti, che hanno
cambiato idea nel corso della realizzazione dei progetti sono ben pochi e sono
molti meno quelli che lo hanno fatto per cause indipendenti dal contingente.
E' solo una questione di qualita', rispetto, professionalita'
Se lo comprendi bene , altrimenti peggio per te, avrai sempre dei problemi , in
aggiunta a quelli prettamente tecnici.
ciao
rino

modo e senza leggerezza.
tu qui non sei nella posizione di pretendere niente.  sei nella
posizione, forse, di comunicare qualcosa che sai, per un bene
collettivo superiore.  se ti interessa comunicarlo devi scegliere modi
più efficaci.  tutto qui.
già che ci siamo, avrai notato che i tuoi messaggi spezzano i thread.
probabilmente usi outlook non patchato (potrei controllare ma non mi
va), se fosse possibile ti consiglierei di provvedere in proposito.

meriti.
e così quando impara?  gli altri coetanei staranno già facendo altre
cose.  per me invece deve continuare.  c'è posto per tutti.

 cose.  per me invece deve continuare.  c'è posto per tutti.
No non per tutti come non tutti possono fare il medico o il politico o il
barbiere,
L'informatica non e' per tutti come vorrebbe bg , l'utilizzo dovrebbe essere per
molti , la realizzazione per meno, pero' tutti hanno diritto a provare
rino

 va), se fosse possibile ti consiglierei di provvedere in proposito.
Non uso outlook , mi dispiace
rino

A presto
Visto il numero esiguo di prodotti qualunque struttura usi va bene, non
noti neanche la differenza. Comunque a livello di teoria relazionale -se ho
capito bene- il tuo modello è  sbagliato così come è assurdo il modello
proposto dal programmatore. Nel suo caso mi verrebbe da chiedergli perchè
usa un database relazionale :-) tanto vale andare con un file di testo che
si va ancora più veloci :-)
Se i prodotti sono completamente diversi per ogni lingua allora potresti
aver ragione, ma se hanno dati comuni come immagino, come gestisci la mega
ridondanza che crei? Se cambia il codice in un prodotto cosa fai? Lo cambi
in tutte le 3 tabelle? Se vuoi vedere il modello più visto in assoluto,
cosa fai cerchi su tre tabelle? 
Ciao.
Faser
-- 
FABIO SERRA
*Questo testo deve essere valutato secondo il senso della RFC-3*
Per rispondere in e-mail sostituire "invalid" con "faser"
http://www.cfmentor.com
--------------------

proprio la idProdotto, Descrizione, idLingua.
Ma l'altro programmatore non voleva
nome prodotto esteso - descrizione - nome lingua estesa ?
....non ho capito una cippa? :-)


 modo e senza leggerezza.
anche se il tuo discorso non fa una piega, in questo contesto, e ripeto in
questo contesto, e' sicuramente esagerato, nel senso che in questo luogo
molti (la stragrande maggiornaza) non sono dei professionisti, ma dei
ragazzi a volte anche minorenni che tentano di entrare nel *fantastico
mondo* dei WM e WebDeveloper, quindi diciamo che sono cresciuti da soli
senza qualcuno alle spalle che tracciasse un cammino professionale... ed
infatti escono fuori tutti i loro limiti quando devono affrontare lavori un
tantino piu' inpegnativi.
quindi ripeto, e' giusto bacchettare (sono il primo), pero' senza
scandalizzarsi piu' di tanto... cercando di riportare sulla giusta strada da
persorrere se si intende diventare dei veri professionisti... con dei
consigli utili se possibile...
p.s. ci vuole un po' di carota e un po' di bastone ;-)))


 nostra fonte di guadagno.
dipende da cosa chiede e quanto e' disposto a pagare...


 thread ignorando qualsiasi provocazione. Prego anche voi di non rispondere
eh eh eh... adesso ci spieghi tutto... chi e' *questo fantomatico "Rino"*?
lo sai che in questo NG sono tutti curiosi... dai, dai, racconta:-)



E la curiosita' cresce vettorialmente se si sa anche che il "fantomatico
Rino" conosce il cliente di Francesco (anzi della web agency di Francesco)
e, a quanto si arguisce, il cazziatone si e' gia' abbattuto
Non potete tagliarci fuori da queste cose :-D
Claudio


Il programmatore in quaestione ,per quanto mi e' dato di capire dal breve
colloquio avuto, probabilmente vuole una struttura simile alle care ACG, visto
che il sistema centrale e' gestino in un certo modo e' sicuramente vuole avere
una connessione logica e fisica tra la gestione del magazzino centrale e la
rappresentazione sotto internet, magari un domani volgiono fare vendita
diretta o altro , ma sicuramente presentare il catalogo che e' in realta'
l'anagrafico articoli centrale.
Ovviamente non ho fatto alcuna analisi , ne' conosco nel dettaglio il
cliente,pero ' cooscendo alcune elementari info sul cliente e usando la logica
e un l'esperienza (professionale?) le esigenze e i problemi sono evidenti.
Troppi Troppi si spacciano per Analisti, perche' non si ricominca dal
minutatore?
ciao
rino

 dipende da cosa chiede e quanto e' disposto a pagare...
Certo, ma se i listini sono pubblici i perditempo  stanno lontani.

 anche io mi sono formato in ibm... pero' da meno anni;-))
A me invece IBM telefona per chiedere delle cose, quindi vi batto tutti :-))