В настоящее время я думаю о способе хранения значений флажков (true / false) в базе данных без использования логического столбца для каждого флажка.Есть ли способ сохранить их в байте, который содержит информацию, скажем, для шести флажков?
Например:
* Флажки с 1 по 6, все непроверенные будут 00000000
* Флажок 1для 6 все проверенные будут 00111111
* Флажок 1 установлен, остальные не проверены будут 00000001
* Флажки 3 и 4 отмечены, остальные не проверены будут 00001100
* и т. д.
ДО РЕДАКТИРОВАНИЯ:«В конце будет один байтовый столбец, и для каждой строки будет установлена / отключена отдельная комбинация для флажков.»
ПОСЛЕ РЕДАКТИРОВАНИЯ: О, я вижу, я неясен.Я не имел в виду, что каждая возможная комбинация флажков хранится в таблице в разных строках, как таблица поиска.Это больше похоже на то, что вся таблица содержит информацию из пользовательской записи в формуле, а флажки, которые были проверены пользователем, являются лишь одним элементом формы (один столбец строки БД).Поэтому каждая пользовательская запись формы (строки) МОЖЕТ содержать отдельный байт в столбце флажков.Но если бы больше пользователей выбрали одинаковые флажки, байт в их строке, конечно, выглядел бы одинаково.
Будет ли это иметь смысл в качестве альтернативы группе логических столбцов (по одному для каждого флажка)?
Есть ли лучший способ обработки значений флажков в БД?
Есть ли способ установить каждый бит байта вручную в C #?Кажется, я не могу найти объяснения, как это сделать.