我正在为商店设计一个数据库。有一张表用于存储商店分店,还有一张表用于存储连锁店名称:
Chains
id name
1 Wendy's
2 Henry's
3 Other
Branches
id chain_id name
1 1 East Hollywood // Wendy's East Hollywood
2 1 NYC // Wendy's NYC
3 2 NYC // Henry's NYC
最后,我想展示像“温迪的纽约”和“亨利的东好莱坞”这样的东西。这是相当基础的东西。
我的问题是,我想要一个名为"Other“的连锁店,在那里我可以抛弃所有数量不足以给出自己类别的商店。如果一家连锁店只有几家店铺,它会放在"Other“中,这样类别列表就不会失控。但我仍然希望能够显示像“妈妈和流行音乐纽约”这样的东西。对于这样的东西,最好的数据库设计是什么?在代码中实现这一点比在数据库中更容易吗?谢谢。
发布于 2011-07-06 21:06:35
目前,您将名称存储在链中,将位置存储在分支中。
您想要一个连锁店中没有名称的商店类,但仍然有一个名称,因此您需要一个地方来存储该名称。
有多种可能性:
第三个可能是最不有用的,但它们中的任何一个都可以工作。
发布于 2012-05-23 11:35:13
从建模的角度来看,最好是让Chain <->分支关系在两端都是可选的,而不是发明一个名为"Other“的假链。您可以通过将chain_id列声明为允许NULL来将其映射到数据库模式。您可能应该将表名从"Branch“更改为"Outlet”...因为拥有一个不存在的“链”的“分支”没有多大意义。
https://stackoverflow.com/questions/6596706
复制相似问题