Как я могу иметь словарь данных и как он работает? - PullRequest
0 голосов
/ 24 июня 2019

Мне нужно создать таблицу в моей базе данных, чтобы реализовать мультиязычность в моем приложении. Для этого я создаю таблицу:

translation_table{
    EN ,
    FR ,
    ES
}

Английский будет нашим языком по умолчанию. Но в этом случае я не знаю, как я могу реализовать это в моем приложении.

Итак, я хочу сделать что-то вроде этого:

translation_table{
    Elt_name,
    EN ,
    FR ,
    ES
}

Какой из них лучше всего сделать?

Кроме того, у пользователя приложения будет возможность изменить язык по умолчанию, который он хочет использовать. (Я хотел бы создать новый столбец, но я не знаю, что добавить в этот столбец). Может быть, мне нужно создать другую таблицу, чтобы связать их.

Я не совсем понимаю, как в моем приложении (я работаю с Angular для своего внешнего интерфейса и работаю с .Net Core для своего бэкэнда) У меня может быть это и как я могу его использовать .

1 Ответ

0 голосов
/ 25 июня 2019

Вот одна вещь, которую вы должны иметь в виду (первая точка),

  1. если в вашем приложении языком по умолчанию для всех пользователей будет На английском языке, то вам не следует использовать столбец #EN в качестве первичного ключа, если он используется через #ERROR: значение дублирующего ключа нарушает ограничение уникальности при вставке данных.
  2. Запишите оператор SQL со значением вставки по умолчанию для столбца #EN для всех пользовательских вводимых данных как английский в вашей .NET-программе.
  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') 

и т. Д. ........

...