2012-05-31 2 views
2

Мой вопрос фон, как это:, что это лучший способ показать данные ключ/значение

Таблица базы данных с именем «Пользователь», «Пользователь» имеет столбец «Состояние», значение которого может быть «0» (отключено), "1" (нормальный), "2" (другое).

Мне нужно показать другой текст «Состояние» для разных пользователей страны, что означает «отключен» или «禁用» (китайский символ), а не «0».

Теперь я создаю таблицу сопоставления «Код» с колонками: «Код», «Ценность», «Язык (Страна)», «Тип». Должен ли я присоединиться к двум таблицам («Пользователь» и «Код»), чтобы показать зависимое от локали значение или использовать другой запрос для его получения (я думаю, кэш запросов можно использовать).

Примечание: столбец «Тип» в таблице «Код» относится к категории кода. например: «Пользователь» имеет «Состояние», «Меню» имеет «Состояние».

Каков ваш выбор? и разум. Спасибо.

ответ

0

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

Кроме того, это зависит от того, как вы обращаетесь к данным.

Если вы пытаетесь получить полный вывод в SQL-запросе, то способ, которым я бы это сделал, состоял бы в том, чтобы таблица поиска специально для состояния с двумя столбцами, State и StateDescription. Присоединитесь к этой таблице поиска в состоянии и отмените StateDescription для отображения пользователю.

Если вы показываете данные в SSRS или аналогичных, то это может быть хорошим переходом на жесткий код описаний там, в зависимости от значения состояния. Это позволит избежать затрат на соединение из запроса.

+0

ru ... Я не уверен, что такое данные SSRS, но моя ситуация такова: имя столбца: состояние; Возможные значения: 0,1,2; ответственный текст, включая английский и китайский: например: «сохранен», «отправлен», «отменен» и китайский текст, например «已 保存», «已 提交», «已 取消»; Мне нужно показать разный текст для разных пользователей локали. И когда-нибудь мне нужно получить все значения под одним и тем же типом кода. Таким образом, файлы свойств i18n могут быть не такими удобными, как база данных. – freeman

0

Если «Государство» не всегда меняется, я буду использовать ENUM column.

0

ребята, я нашел правильный путь! файлы свойств. Во-первых, почему бы не использовать базу данных? Поскольку «state» не является столбцом словаря, это столбец biz, который имеет ограниченные значения, связанные с biz. Поэтому разработчики, а не системный администратор должны нести ответственность за их поддержку. Файлы свойств являются одним из подходящих способов для разработчиков.

Смежные вопросы