Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8

    [MySQL] Ottimizzare salvataggio dati

    Salve,
    Sono in procinto di iniziare un nuovo progetto e mi sto chiedendo qual è il modo migliore per salvare nel database dei dati in multilingua.
    Mi spiego meglio, la mia necessità è quella che durante l'estrapolazione dei dati se non è stata inserita nella lingua settata una traduzione quei dati mi verranno stampati nella lingua di default ,che è definita da un'altra parte.
    In un vecchio progetto finito da poco, sempre in multilingua, per ovviare questo problema durante il salvataggio se non venivano settati i contenuti in tutte le altre lingue, tranne quella di default che risultava obbligatoria, automaticamente in quella lingua venivano settati quelli che erano i contenuti della lingua di default.
    Per esempio se inserivo una news e per quella news non compilavo i dati nella lingue Inglese ma in Francese e Italiano si, nel database le righe erano i seguenti:

    id | titolo | sottotitolo | descrizione | lingua
    1 | titolo italiano | sottotitolo italiano | descrizione italiana | it
    2 | titolo italiano | sottotitolo italiano | descrizione italiana | en
    2 | titolo francese | sottotitolo francese | descrizione francese | fr

    Quindi durante l'estrapolazione dei dati avevo sempre un record nel database con riferimento a qualsiasi lingua anche se non erana stata settata. Questo comporta che per ogni news, o altro, ho 1 x numero lingue record salvati.
    Visto che, come dicevo in alto, devo iniziare questo nuovo progetto mi chiedevo se era il caso di rimanere su questa strada oppure salvare nel db solo quello che è veramente stato inserito e quindi se non trovo traduzione per quella lingua andare a pescare i dati nella lingua di default e questo comporta fare una query più articolata.
    Cosa mi consigliate? Sono una programmatrice alle prime armi quindi perdonatemi se è una domanda stupida ma vorrei migliorare il mio modo di lavorare.
    Grazie in anticipo a chi risponderà

  2. #2
    Dipende.
    Se sai che ci saranno sempre le traduzioni nelle stesse lingue.. potresti organizzare tutti i dati per ogni articolo in una riga sola. Ma è un caso particolare.. mi sembra poco flessibile come cosa.

    Altrimenti come hai organizzato tu la tabella va bene ( è più felssibile, potresti aggiungere lingue più facilmente), salvi solo i record con le lingue di cui esiste la traduzione. Se non esiste esempio l'inglese.. salvi solo i record in francese e italiano. Per quell'articolo troverai due corrispondenze.
    La domanda piuttosto è: Perchè salvavi le righe relative a lingue in cui non esiste la traduzione dell'articolo scelto ?? Salvare righe vuote non serve.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    Quote Originariamente inviata da W Thunderbird Visualizza il messaggio
    La domanda piuttosto è: Perchè salvavi le righe relative a lingue in cui non esiste la traduzione dell'articolo scelto ?? Salvare righe vuote non serve.
    Le righe che salvo in inglese non sono vuote. Contengono gli stessi valori di Italiano, che è la lingua de dafault.
    Quindi tu mi consigli di salvare solo nelle lingue che ho inserito?
    Grazie comunque per la risposta

  4. #4
    Certo, salva solo i dati necessari. Quelli che non esistono è inutile riservargli uno spazio.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    E' inutile anche nel caso che se non ci sono riferimenti devo comunque stampare i valori in lingua default, quindi fare una query più complessa o doppia?

  6. #6
    Vale la pena di fare una query più articolata. Il motore del database non si sconvolge affatto

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    8
    Grazie mille per i consigli!! Farò così

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.