数据库设计:表示复选框可选项的最佳方式?

时间:2013-10-28 22:11:09

标签: mysql database-design

我在MySQL中有一个表格,其中包含有关用户许可证的信息,该许可证具有15个可选的资格证书,这些资格证书可能拥有许可证。这些在网络表单上表示为15个复选框。

有没有一种很好的方法来存储这些信息,而不仅仅是在表中有15个BOOL,相应地将它们设置为True或False?

由于

4 个答案:

答案 0 :(得分:2)

解决这个问题的好方法是有三个表:

  1. 您的表中包含用户许可的详细信息,例如userLicence
  2. 包含所有复选框选项列表的表格,例如licenceOption
  3. 一个映射表,详细说明哪些选项适用于哪个userLicence,例如userLicenceOptionMapping

答案 1 :(得分:0)

这将是理想的方式,没有加密。但是,我会在AES_ENCRYPT() s上使用AES_DECRYPT()TINYBLOB

答案 2 :(得分:0)

另一个好方法是,如果您可以在表单上创建Drop Down List(在下拉列表中包含所有15个选项),客户可以从下拉列表中选择值,然后单击Add button,这会添加具有ClientID等的单独表中的值。它将使您在表单中保存15个是/否字段,并在表中保存15个列。

答案 3 :(得分:0)

制作一个字段,然后在其上使用json。 所以3个复选框检查得到{1,2,3} 复选框1 2和4选中{1,2,4}

如今很多论坛都使用类似于上面的方法

所以你基本上是在文本中存储数组,这是理想的!