我想向您学习如何设计数据库架构:
IE。我的问题是 1 个活动有 1..* date_held
例如。活动名称是
“看电影”在 9 月 1 日举行了 date_held
“购物”已于 9 月 2 日、9 月 5 日、9 月 6 日举行 date_held
方法1
所以我目前的数据库设计是
---------------------------
Activity Table
---------------------------
id|name|date_held
1|see moive|20120901
2|shopping|20120902
3|shopping|20120905
4|shopping|20120906
可以看到购物记录重复了3次。我觉得好像不太好。
方法2
所以我分成3张桌子
---------------------------
Activity Table
---------------------------
id|name
1|see moive
2|shopping
---------------------------
Date Table
---------------------------
id|date
1|Sep 1
2|Sep 2
3|Sep 5
4|Sep 6
---------------------------
Activity_Date Table
---------------------------
activity_id|date_id
1|1
2|2
2|3
2|4
但我认为方法2非常混乱。任何人都可以给我一个建议,如何在 1 个活动匹配 1..* date_held 上进行表格设计?
谢谢!!
嗨,布兰科·迪米特里耶维奇
我想了几个小时后,我发现了另一种方法,即使用redis json格式
{
“名称”:“购物”,
“日期”:[
“9 月 1 日”
]
},
{
"name": "看电影",
“日期”:[
“9 月 2 日”、“9 月 5 日”、“9 月 6 日”
]
}
好像很简单~:D
但是让我想想你的建议..