Что касается дизайна таблицы статических данных. Наличие статических данных в таблицах, как показано:SQL статические данные/списки поиска IDENTIFIER
- Валюта (код, название). Пример строки: USD, Доллар США
- Страны (код, название). Пример строки: DE, Германия
- XXXObjectType (Код, Имя, ... дополнительные атрибуты)
- ...
имеет смысл иметь другой (Integer) столбец в качестве первичного ключа, так что все ссылки на внешние ключи будут использовать его?
Возможные решения:
- использовать дополнительные ЦЕЛОЕ, как PK и FK
- использования кодекса (обычно СИМ (N), где N мал) в качестве PK и FK
- использовать код, только если меньше определенного размера ... Какой размер?
- Другое
_______
Что бы ваше предложение? Зачем?
Я обычно использовал колонки INT IDENTITY
, но очень часто короткий код достаточно хорош, чтобы показать пользователю пользовательский интерфейс, и в этом случае запрос будет иметь один JOIN меньше.
Спасибо. У меня есть таблица с DATE (не YEARS), но я использую DATE как PK. Там я храню несколько заранее рассчитанных атрибутов, таких как DOW, IsWorkDay (не в будний день), PreviousWorkDay и т. Д. ... – van
+1. Мы делаем это там, где я работаю. Я ненавижу это. Я должен присоединиться к 4 или 5 таблицам, чтобы выяснить фактические данные записи, если я не знаю, что идентификатор страны 43 означает, что человек живет в США .... Все для «Оптимизации» – kemiller2002
В зависимости от вида значений поиска вы используете, я бы предпочел искать стандартизованный набор сокращений. Например, списки ISO для стран и коды валют. Это может быть довольно интуитивно понятным для конечных пользователей. –