powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / число в строковом поле
4 сообщений из 4, страница 1 из 1
число в строковом поле
    #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
число в строковом поле
    #36603162
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делай два поля. Одно под строковые значения, другое под числовые. Числовые значения всегда можно продублировать в строковые, а строковые дублируются в числовые, если есть преобразование строки в число.

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

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


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