Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Come Organizzare questo DB...

    Salve bella gente!

    augurandovi una buona domenica, vi chiedo un consiglio per un db che a mio avviso non è semplicissimo:

    il sito è un e-commerce che vende svariati prodotti molto differenti tra loro:
    ESEMPIO: Auto, Moto, Prodotti per la Pulizia

    Sempre per esempio, indico le caratteristiche fondamentali (inventate) che a me interessano e le informazioni "descrittive" devono essere tradotte in 4lingue diverse:
    AUTO: marca, modello, cilindrata, n° porte, colore, consumo, descrizione
    MOTO: marca, modello, cilindrata, colore, consumo, descrizione
    PRODOTTI: nome, contenuto, descrizione

    ok...devo organizzare il database per inserire tutti questi valori: mi sono venute in mente diversi modi di organizzare questo db:
    1- Creazione tabella unica con inserite tutti campi. Ex: marca/nome, modello, cilindrata, porte, colore, consumo, contenuto, descrizione. La tabella è molto poco ottimizzata e ci sarebbero tantissimi campi vuoti, quindi idea scartata...
    2- Creare 3 tabelle diverse, una per ogni tipologia di prodotto. il problema è a questo punto la traduzione.. cosa devo mettere per esempio nella tabella che descrive i prodotti? ID, Nome, Conteunto, DescrizioneIT, DescrizioneFR, DescrizioneDE, DescrizioneENG... la cosa non mi sembra delle migliori anche se comunque fattibile...
    3- creare 4 db diversi, uno per ogni lingua, e all'interno inserire tutti i dati tradotti nella lingua specifica...il problema sarà poi di rindondanza dei dati, nel caso vada a modificare un campo lo devo modificare per ben 4 volte...
    4- creare 5 db diversi, uno per ogni lingua, e uno specifico per i dati generali non traducibili (come cilindrata, modello, marca, ecc..) e inserire negli altri 4 db tutti i dati traducibili...


    quali di queste o altre idee sono preferibili? il problema non è tanto nella traduzione, ma nel fatto che i dati inseriti sono diversi per ogni categoria di prodotto (auto, moto, prodotti pulizia)... magari mi sto complicando la vita per nulla, ma non riesco a vedere la luce... o sarà la domenica???? :-))

    Ciao!

  2. #2
    puoi anche prendere in considerazione di utilizzare
    http://forum.html.it/forum/showthrea...ght=traduzione
    per rendere il tuo sito multilingue...

    sennò potresti creare un db per ogni lingua e cambiare solo i parametri di connessione...
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  3. #3
    allora...ho provato a pensare un po di strutture, ma ognuna ha i suoi pro e contro...

    quella che attualmente mi convince di più è così formata:
    1) creo una tabella in cui vi è l'elenco completo di tutti i prodotti, con le informazioni principali.
    2) in questa tabella PRODOTTI inserisco tanti campi quanti sono le categorie e sottocategorie, in modo da effettuare ricerche mirate molto veloci
    3) Creo una tabella per ogni CATEGORIA di prodotti, contente i campi specifici per quella particolare tipologia di prodotto, tranne tutte le informaizoni che sono traducibili in più lingue (quindi inserirò Anno, ma non Descrizione)
    4) Creo tante tabelle quante sono le informaizoni che devono essere tradotte, ed all'interno, attraverso 2 ID, indenfrifico il prodotto e la lingua...

    in riassunto, indico qui un fax simile della struttura, per rendere chiara un po di più la situazione...

    codice:
    PRODOTTO
    (IDProdotto, Attivo, Nome, Categoria, Prezzo) 'Solo informazioni generali specifiche che tutti i prodotti hanno'
    
    AUTO
    (ID, CodProdotto, Anno, Marca,....) 'Tutte le informaizoni relative a questo specifico prodotto...'
    
    DESCRIZIONE
    (ID, CodProdotto, CodLingua, Descrizione) ' Inserisco una riga per ogni lingua con la descrizione tradotta, il CodProdotto rimane invariato (per quel prodotto, naturalmente) mentre varia CodLingua (ad esempio 1=it, 2=eng, 3=fr, 4=de, ec...)
    In questo modo, quando faccio una query di selezione su un prodotto, prendo il cod prodotto, lo cerco in Auto e poi per la descrizione, riprendo il codice lingua (ad esempio memorizzato in una sessione) ed estraggo solo quello della lingua specifica...

    Cosa vi sembra? più un bordello che altro?


    fatemi sapere...
    ciao!

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    La sparo:

    la tabella descrizione avrà l'id del prodotto e altre tante colonne quante sono le lingue: quando inserisci un nuovo prodotto metti nella relativa riga della tabella descrizione l'id del prodotto e la descrizione per ogni lingua: se qualche lingua non dovesse essere inserita ci metti la lingua di default (italiano?)

    Per esempio
    codice:
    id, id_prodotto,     it,       en,       fr,         de,       nl
    1   100              rosso     red       rouge       rosso     rode
    2   101              verde     green     verde       verde     verde
    se domani dovessi andare ad aggiungere una lingua, aggiungi una colonna e ricopi la lingua di default (sperando che poi qualcuno si passi il tempo a fare le traduzioni)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Originariamente inviato da Andrea1979
    La sparo:

    la tabella descrizione avrà l'id del prodotto e altre tante colonne quante sono le lingue: quando inserisci un nuovo prodotto metti nella relativa riga della tabella descrizione l'id del prodotto e la descrizione per ogni lingua: se qualche lingua non dovesse essere inserita ci metti la lingua di default (italiano?)

    Per esempio
    codice:
    id, id_prodotto,     it,       en,       fr,         de,       nl
    1   100              rosso     red       rouge       rosso     rode
    2   101              verde     green     verde       verde     verde
    se domani dovessi andare ad aggiungere una lingua, aggiungi una colonna e ricopi la lingua di default (sperando che poi qualcuno si passi il tempo a fare le traduzioni)
    grazie...questo è un'altro modo che avevo pensato, ma il problema è che ho diciamo per semplificare, 2 prodotti di categorie diverse con caratteristiche tecniche (non qualitative/quantitative) diverse... in poche parole per auto avrò determinati campi, per prodotti per la pulizia ne avrò di diversi... il mio modo, o perlomeno, come l'ho pensato, permetterebbe di unire in un'unica tabella tutti i dati che non sono traducibili, di primaria importanza, tipo marca, prezzo, peso) e poi, per ogni dettaglio diverso, creare una tabella a se... logicamente, il colore sarà legato all'auto, mentre il contenuto al prodotto...

    come hai detto te, la tabella diventerebbe lunghissima in orrizontale, e a mio avviso, molto poco ottimizzata... non so...forse sbaglio... ma non ci dormo la notte per risolvere sto enigma...

    ripeto il problema non è solo tradurre, ma anche che i prodotti hanno caratteristiche compltamente diverse da categoria a categoria... e pensate che al momento ne ho già 7,,,ma il numero dovrebbe salire a breve...

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ah, non avevo capito che avessi la necessità di tradurre anche le caratteristiche.... pensavo che la descrizione fosse il solito testo più lungo a seguito della scheda tecnica vera e propria.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Originariamente inviato da Andrea1979
    ah, non avevo capito che avessi la necessità di tradurre anche le caratteristiche.... pensavo che la descrizione fosse il solito testo più lungo a seguito della scheda tecnica vera e propria.
    eh...già...se ci fosse solo una cosa da tradurre, il problema diciamo sarebbe relativo....ma devo tradurre ogni singolo dettaglio, dalla descrizione al colore, alla categoria, ecc....


    se qualcuno ha un'idea più intelligente della mia, si faccia avanti...


    Ciao!


    PS: due domandine che mi sono saltate in testa:
    1) è più veloce far eseguire una serie di if o accedere ad una tabella? in pratica per cose tradotte ma ripetitive volevo fare una serie di if...ma mi conviene?
    2) dal punto di vista normalizzazione è meglio creare per le diverse gategorie tabelle diverse, o una unica contenente tutti i particolari di tutte le categorie e inserire un valore solo dove ci va? secondo me è meglio la prima..credo che meno spazi vuoti ci siano, meglio ...sia :-)



    fatemi sapere...ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.