2013-10-28 33 views
2

我在MySQL中有一張表,它保存關於用戶許可證的信息,這些用戶許可證有15個可能具有的許可證可選資格。這些在Web表單上被表示爲15個複選框。數據庫設計:表示複選框可選項目的最佳方式?

是否有一種很好的方式來存儲這些信息,而不僅僅是在表中有15個BOOL,並且相應地將它們設置爲True或False?

謝謝

回答

2

一個很好的方式來處理這將有三個表:

  1. 你的表中包含用戶許可證的詳細信息,例如userLicence
  2. 一個表格,其中包含所有複選框選項列表,例如licenceOption
  3. 一個映射表,詳細說明哪些選項適用於哪個用戶權限,例如userLicenceOptionMapping
0

這將是理想的方式,沒有加密。但是,我會在TINYBLOB上使用AES_ENCRYPT()AES_DECRYPT()

0

另一個好方法是,如果你可以創建窗體上的Drop Down List(隨着下拉列表中所有15個選項),其中客戶端可以選擇值從下拉列表,然後單擊Add button這在一個單獨的加值帶有ClientID等的表格。它可以節省您在表格中15個是/否字段以及表格中的15個列。

0

製作一個字段,然後在其上使用json。 所以3個複選框選中你{1,2,3} 複選框1 2和4檢查{1,2,4}

很多論壇上的這些天使用similair方法將一個以上

所以你基本上是用文本存儲數組,這是理想的!

相關問題