选择或 ids-list- 字段表示

Ant*_*ard 7 database-design

我想知道表示用户设置的最佳方式是什么,它可以从一组(例如“高”、“中”或“低”)中获取一个值,也可以是另一个(或相同!)的 ID 列表。表(多对多关系)。

我想知道什么是常用的以及每个解决方案的缺点/资产是什么(在性能、完整性和可持续性方面)。

Ant*_*ard -1

“异或配对列”解决方案

该解决方案由两个协同工作的列组成:

  • 可以为空的字符,其值随“ENUM”列的变化而变化,可以为“高”、“中”或“低”。
  • 实际上由第三个表表示的虚拟列,该第三个表在用户表和外部表之间建立了关系。就像经典的多对多关系一样。

如果前者的值为“高”、“中”或“低”,则应用程序将仅采用该值,而后者将被忽略。另一方面,如果它为 NULL,则将使用 M2M 关系。