У меня есть класс данных с очень большим количеством двоичных свойств - 151 (!), Если быть точным, - и меня интересует, как структурно моделировать эти данные. Несмотря на внутреннюю эффективность хранения битовых полей в виде байтов, мои чувства пауков в программировании покалывают при создании таблицы с 151 битовыми полями (в дополнение к другим свойствам).
Там не будет большого количества строк - возможно, 1000 и однажды отправленные в производство не будут меняться очень часто.
Я думал о том, чтобы разделить мои данные на непересекающиеся подклассы и создать отдельные таблицы, но разделение свойств таким образом неосуществимо и даже если возможно, конечно, не будет эффективно отображаться с подклассами данных. Другая проблема заключается в том, что я хотел бы сохранить все данные вместе и избежать дублирования полей и / или строк. Я также рассмотрел использование некоторого пользовательского двоичного формата, но это не работает, так как поле ключа в моих данных используется в качестве внешних ключей в других таблицах.
Запросы будут интенсивно использовать предложения WHERE для извлечения соответствующих данных. Я рассмотрел использование нескольких полей long или int, но я отклонил это как неработоспособное, поскольку я не знаю побитовых операторов и функций или функций в SQL, и, как отмечалось выше, классификация свойств проблематична, не говоря уже о других основных вопросы разработки программного обеспечения (с этим методом).
Я буду использовать PostgreSQL.
Итак, мой вопрос здесь заключается в том, чтобы сделать таблицу с огромным количеством полей или есть другие методы, совместимые с реляционной моделью?