我如何拥有数据字典及其工作方式?

时间:2019-06-24 15:52:27

标签: postgresql translation primary-key

我必须在数据库中创建一个表,以便在我的应用程序中实现多语言,以实现此目的,我创建了一个表:

translation_table{
    EN ,
    FR ,
    ES
}

英语将是我们的默认语言。但是在这种情况下,我不知道如何在我的应用程序中实现它。

所以我想做这样的事情:

translation_table{
    Elt_name,
    EN ,
    FR ,
    ES
}

哪个是最好的?

此外,应用程序的用户将有可能修改他想要使用的默认语言。 (我想创建一个新列,但我不知道在该列中放什么)。也许我必须创建另一个表来链接它们。

我不太了解我的应用程序中的操作方式如何。(我在前端使用Angular,在后端使用.Net Core),我可以使用它以及如何使用它。

1 个答案:

答案 0 :(得分:0)

这是您要记住的一件事(第一点),

  1. 如果在您的应用程序中,所有用户的默认语言为 英文,那么如果您使用#EN列作为主键,那么它将不通过#ERROR:插入键时重复的键值会违反唯一约束。
  2. 在您的.NET程序中,为所有用户输入的英语输入#EN列编写默认插入值的SQL语句。
  3. 如果您可以使用主键添加用户名,它将成为主键。
  4. 示例
create table data_dictionary(
    User_name text primary key
    EN text ,
    FR text,
    ES text
)

第一次更新:

insert into data_dictionary(user_name,en,fr,es) 
values ('A',eng','french','Z')

第二次更新

insert into data_dictionary(user_name,en,fr,es) 
values ('B',eng','y','X')

第三次更新

insert into data_dictionary(user_name,en,fr,es) 
values ('c',eng','ab','xy') 

以此类推........