Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / число в строковом поле / 4 сообщений из 4, страница 1 из 1
28.04.2010, 14:46
    #36603117
fl_int
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
число в строковом поле
Всем добрый день.

Есть такая таблица

Код: plaintext
1.
2.
3.
4.
CREATE TABLE [specificationValues](
    [id] [bigint] IDENTITY( 1 , 1 ) NOT NULL,
    [specificationId] [bigint] NOT NULL,
    [value] [nvarchar](max) NULL
)
, где [specificationId] - какая-то характеристика группы товаров. Например у группы "телевизоры" характеристика "диагональ экрана" (в дюймах - дробное число) и характеристика "цвет" (какая-либо строка).

Вопрос в том, как хранить характеристики. Как выше хранить в одной таблице и строковые значения, и числовые, а при поиске строку CAST AS FLOAT, наверное, очень влияет на производительность. Если разбить на 2 таблицы, то как это сделать вообще, как на них ссылаться?
...
Рейтинг: 0 / 0
28.04.2010, 14:59
    #36603162
mcureenab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
число в строковом поле
Делай два поля. Одно под строковые значения, другое под числовые. Числовые значения всегда можно продублировать в строковые, а строковые дублируются в числовые, если есть преобразование строки в число.

Попытки преобразовать строку в число на лету могут завершаться ошибками, потому что в SQL порядок вычисления выражений вообще говоря не определён, и не факт, что СУБД будет сначала проверять тэг значения, а потом преобразовывать строку в число. Опять же поиск по таким полям будет неэффективным.
...
Рейтинг: 0 / 0
02.05.2010, 11:25
    #36608849
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
число в строковом поле
Если похожие на числа значения не используются в вычислениях, то нужно использовать строки.

Например, в чем смысл хранения диагонали телевизора числом? Вы будете высчитывать суммарную длину диагоналей всех хранящихся на складе телевизоров?
...
Рейтинг: 0 / 0
03.05.2010, 10:29
    #36609448
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
число в строковом поле
Cat2Например, в чем смысл хранения диагонали телевизора числом? Вы будете высчитывать суммарную длину диагоналей всех хранящихся на складе телевизоров?
В сортировке моделей по увеличению диагонали. Чтобы 107" оказался после 19".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / число в строковом поле / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]