Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    17

    [MySQL] Consiglio per progettazione tabelle

    Da un pò di giorni sono afflitto da un insostenibile dilemma...
    Devo introdurre un supporto multilingua ad uno script PHP a cui sto lavorando e non so proprio come scrivere le tabelle in modo da avere il minor carico possibile sul server :master:

    Cerco di spiegarvi meglio il problema usando un esempio un pò più semplificato rispetto al caso reale:
    ho una tabella (ad esempio LIBRO) con alcuni campi (testuali e non). Un certo numero di questi necessita di una traduzione in un'altra lingua (ad esempio Nome e Descrizione).
    LIBRO
    - ID
    - Nome => Richiede traduzione
    - Autore
    - Descrizione => Richiede traduzione
    ecc...
    Ora le soluzioni possibili al problema sono molteplici, ma ognuna con i suoi pregi edifetti. E proprio per questo non riesco a scegliere

    1) Inserire brutalmente le traduzioni come attributi della tabella stessa:
    LIBRO
    - ID
    - Nome_ITA
    - Nome_ENG
    - Autore
    - Descrizione_ITA
    - Descrizione_ENG
    2) Dividere la tabella in 3, distinguendo così gli elementi comuni (in LIBRO) dalle singole traduzioni:
    LIBRO
    - ID
    - Autore
    - ecc...

    LIBRO_ITA
    - ID
    - Nome
    - Descrizione

    LIBRO_ENG
    - ID
    - Nome
    - Descrizione
    Supponendo che il numero di righe sia elevato (parliamo purtroppo di numeri a 5 cifre ) e che una delle operazioni più richieste sia proprio quella di sfogliare l'elenco completo nella propria lingua (visualizzando quindi solo i campi comuni e della lingua selezionata), quale soluzione è migliore in termini di prestazioni?
    E' meglio scegliere una tabella più grossa da cui reperire tutte le informazioni con una SELECT (caso 1) oppure avere tabelle più piccole ed ordinate da cui reperire le informazioni tramite un JOIN (ad esempio LIBRO e LIBRO_ITA)? :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    17
    Mi scuso in anticipo per aver riuppato un topic così vecchio, ma il dilemma si è ripresentato con l'aggiunta di ulteriori lingue e la possibilità di effettuare ricerche full-text nella propria lingua.
    Avendo ora più di 5 lingue da gestire (ma in futuro potrebbero aumentare) ed essendo presenti per ognuna di esse alcuni campi TEXT, mi è risorto il dubbio che la soluzione 1 non sia effettivamente quella corretta.
    Cosa mi consigliate? :master:

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 © 2026 vBulletin Solutions, Inc. All rights reserved.