Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/03/2017, 10:32
Avatar de senseeye3led
senseeye3led
 
Fecha de Ingreso: abril-2016
Ubicación: 127.0.0.1
Mensajes: 163
Antigüedad: 8 años
Puntos: 11
Respuesta: Mostrar información en varios idiomas

He leído en internet 3 planteamientos:
Código SQL:
Ver original
  1. CREATE TABLE app_product (
  2.   Id INT IDENTITY NOT NULL,
  3.   Description_es Text,
  4.   Description_fr Text,
  5.   PRIMARY KEY (Id)
  6. );

Código SQL:
Ver original
  1. CREATE TABLE ref_language (
  2.   Code CHAR(2)NOT NULL,
  3.   Name VARCHAR(20) NOT NULL,
  4.   PRIMARY KEY (Code)
  5. );
  6.  
  7. CREATE TABLE app_translation (
  8. Id INT IDENTITY NOT NULL,
  9. PRIMARY KEY (Id)
  10. );
  11.  
  12. CREATE TABLE app_translation_entry (
  13. TranslationId INT NOT NULL,
  14. LanguageCode CHAR(2) NOT NULL,
  15. Text Text NOT NULL,
  16. FOREIGN KEY (TranslationId) REFERENCES app_translation(Id),
  17. FOREIGN KEY (LanguageCode) REFERENCES ref_language(Code)
  18. );
  19.  
  20. CREATE TABLE app_product (
  21. Id INT IDENTITY NOT NULL,
  22. Description INT NOT NULL,
  23.         PRIMARY KEY (Id),
  24. FOREIGN KEY (Description) REFERENCES app_translation(Id)
  25. );
Código SQL:
Ver original
  1. CREATE TABLE ref_language (
  2.   Code CHAR(2)NOT NULL,
  3.   Name VARCHAR(20) NOT NULL,
  4.   PRIMARY KEY (Code)
  5. );
  6.  
  7. CREATE TABLE app_product (
  8. Id INT IDENTITY NOT NULL,
  9. PRIMARY KEY (Id)
  10. );
  11.  
  12. CREATE TABLE app_product_translation (
  13. ProductId INT NOT NULL,
  14. LanguageCode CHAR(2) NOT NULL,
  15. Description Text NOT NULL,
  16. FOREIGN KEY (ProductId) REFERENCES app_product(Id),
  17. FOREIGN KEY (LanguageCode) REFERENCES ref_language(Code)
  18. );


Pero cada una tiene sus ventajas y desventajas.

Última edición por gnzsoloyo; 24/03/2017 a las 15:57