visualizar visual una tools tipos tablas tabla relación relacion que generar entre entidad ejemplos diseño diagrama datos campo ayuda sql sql-server design database-design localization

sql - visual - Buen diseño de tabla de base de datos para almacenar versiones localizadas de datos



tipos de tablas de datos (4)

¿Puedes describir la naturaleza de los ''datos dinámicos''?

Una forma de implementar esto sería tener 3 tablas diferentes:

  • Tabla de idiomas
    • Esta tabla almacenaría el idioma y una clave:

[1, English], [2, Spanish]

  • Tabla de definición de datos
    • Cuando los datos dinámicos se ingresan por primera vez, haga un registro en esta tabla con un identificador de los datos:

[1, ''Data1''], [2, ''Data2'']

  • Tabla de Data_Language
    • Esta tabla vinculará el idioma, la definición de datos y la traducción

So: [Data_Language, Data_Definition, Language, Translation] [1, 1, 1, ''Red''] [2, 1, 2, ''Rojo''] [3, 2, 1, ''Green''] [4, 2, 2, ''Verde''] etc ...

Cuando se ingresan los datos dinámicos, cree el registro predeterminado ''Inglés'' y luego traduzca a su gusto.

Estoy tratando de diseñar algunas tablas para almacenar algunos datos, que luego se deben convertir a diferentes idiomas. ¿Alguien puede proporcionar algunas "mejores prácticas" o pautas para esto?

Gracias


Creo que más información sobre lo que estás haciendo sería útil. ¿Puedes dar algunas muestras de los datos? ¿Y a qué te refieres con dinámica? Que habrá una gran cantidad de datos insertados a lo largo del tiempo y muchos cambios en los datos o que los datos solo deben estar disponibles durante un período de tiempo reducido.


En general, probablemente debería estar mirando a un padre con datos comunes no localizados, y una tabla secundaria con los datos localizados y la clave de idioma. Si por dinámica, quiere decir que cambia con frecuencia, le conviene echar un vistazo al uso de activadores y algo así como una bandera ''translationRequired'' para marcar las cosas que necesitan traducción después de realizar un cambio.


Supongamos que tiene una tabla de productos que se ve así:

Products ---------- id price Products_Translations ---------------------- product_id locale name description

Entonces solo te unes en product_id = product.id y donde locale = ''en-US''

por supuesto, esto tiene un impacto en el rendimiento, ya que ahora necesita un join para obtener el nombre y la descripción, pero permite cualquier cantidad de configuraciones regionales más adelante.