Мне нужно хранить разные типы одинакового значения. Значение может представлять DATE, INT, BOOLEAN, DOUBLE и любой другой тип. Мне интересно, возможно ли не использовать несколько таблиц - каждый для разных типов (я полагаю, что это значительно усложнит использование сохраненных значений (главным образом, поиск, фильтрация)). Будет ли это большой дисконт и ухудшение производительности при хранении нескольких столбцов таблицы, в основном значения NULL в строке?(my) База данных SQL - хранение разных типов одинакового значения
Я думаю, таблицы с такими например колоннами, из которых будет заполнен только один столбец значения:
id valueVarchar valueDate valueBoolean valueInt valueDouble
Если такой подход явно не так, пожалуйста, просветите меня.
Я создаю приложение JSF, используя MySQL (InnoDB) (база данных не является большой проблемой, ее можно изменить при необходимости) и JPA.
редактировать:
А теперь у меня есть одна таблица с полем значения один текст. Я конвертирую значения в/из базы данных на стороне сервера. Поскольку проект был недавно запущен, и теперь изменение модели будет менее болезненным, чем в будущем, я рассматриваю возможность использования лучшего подхода.
** Почему ** вам нужно хранить то же значение, что и несколько разных типов - чего вы надеетесь достичь, сделав это? Почему конкретное значение потенциально может иметь несколько разных типов? –
Немного смущает; если вы пытаетесь сделать это из-за различных типов, это одно значение может быть, тогда я бы предложил использовать VarChar; поскольку существуют функции преобразования, которые существуют для преобразования его в другие типы данных. –
@MarkBannister: у меня на голове: у предприятия могут быть приложения/контексты, которые используют разные значения для pi, например. как плавающий и фиксированный десятичный знак. Также возможно различные алгоритмы округления, например. усеченный при 3 д.п., округление банкира до 3 д.п. и т. д. – onedaywhen