区域,州和位置的数据库架构

时间:2018-01-05 11:51:33

标签: mysql database database-design database-schema

countries, state & area的最佳数据库结构是什么?

我应该创建:Areas Tablestate FK},States TableCountry FK}和Countries Table

如果我有一家餐馆,那么我只将其与area/state/county的{​​{1}}相关联?

2 个答案:

答案 0 :(得分:0)

这取决于。如果以下陈述属实,那么您的计划是可以的:

  • 一个国家/地区可以有0个或更多州,但州可以属于单个国家/地区
  • 一个州可以有0个或更多个区域,但区域可以是单个州的一部分
  • 一个区域可以有0个或更多餐厅,但餐厅可以是单个区域的一部分

例如,如果一个区域可以跨越多个国家/地区,则您不能使用建议的一对多关系,而是需要多对多关系而不是中间表。

答案 1 :(得分:0)

最好的(在我看来)是有一个Locations表,其中包含id和3+列,用于列出详细信息。

这消除了FK,JOINs,“区域”未正确嵌套等问题。并且它在磁盘空间中的成本并不高。