Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Таблица-справочник состоящая из одного текстового поля-ключа - есть ли смысл?  [new]
telz
Member

Откуда:
Сообщений: 54
Здравствуйте!
Вопрос в следующем. Есть необходимость сделать таблицу-справочник. Кусок диаграммы базы, как это выполнено на текущий момент вот здесь. Таблица-справочник в этой диаграмме Tags. В ней планируется хранить уникальные текстовые значения (nvarchar(255)). Если реализовывать это в текущей схеме, необходимо накладывать констрейнт уникальности на поле Value и, конечно, индекс. Получается весьма неплохо - связанные таблицы содержат в своих полях небольшие численные ID. Вопрос только вот в чем, при таких условиях, как по мне, исчезает всякий смысл поля ID в таблице Tags. Достаточно одного Value, на которое и будет первичным ключом с наложенным констрейнтом уникальности и кластерным индексом. В таком случае получается несколько бредово - связанные таблицы будут содержать в своих полях дубликаты значений из одноколоночной таблицы Tags. Вопрос: есть ли смысл убрать ID? Как MS SQL реально хранит ссылки в связанных таблицах: ссылки или копирует значения? Спасибо!
25 июл 13, 18:54    [14618236]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник состоящая из одного текстового поля-ключа - есть ли смысл?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
telz
Как MS SQL реально хранит ссылки в связанных таблицах: ссылки или копирует значения?

Копирует значения. Исходя из этого, лучше оставить ID.
25 июл 13, 19:10    [14618299]     Ответить | Цитировать Сообщить модератору
 Re: Таблица-справочник состоящая из одного текстового поля-ключа - есть ли смысл?  [new]
telz
Member

Откуда:
Сообщений: 54
Спасибо! При таких раскладах, конечно, смысла нет - это сильно повлияет на производительность при выборках данных.
25 июл 13, 19:11    [14618307]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить