更好的数据库设计?

1 mysql database-design

我正在设计一个数据库,并遇到了障碍.好吧,不仅仅是我不喜欢的东西.我将有多达1000个不同的场景,在每个场景中,我将需要存储64个不同切换中的每一个的状态.我已尽力解决这个问题,并提出以下建议:

Table Scenario

Scenario_ID
Scenario_Name


Table Toggles

Scenario_ID
Toggle_1
Toggle_2
...
...
Toggle_64
Run Code Online (Sandbox Code Playgroud)

这留给我一个65行的Toggles表.我一直认为必须有一个比64列"开"或"关"更好的方法,但我不知道它可能是什么.我不想将切换状态存储在一列中的CSV中,因为它会不断变化,需要经常进行解析.通过简单地将Toggle_14更新为"关闭"而不是解析CSV,更改它并重新加载它来更新表格会更容易.有什么想法吗?

小智 6

使用多对多关系:

Table Scenario (Id, Name)


Table ScenarioToggles (ScenarioId, TogglesId, ToggleState)


Table Toggles (Id, ToggleName)
Run Code Online (Sandbox Code Playgroud)

ScenarioToggles表中的字段ToggleState将保持On/Off值.

如果您需要超过64次切换,它还会产生一些灵活性.