Database 我应该如何将只知道其位置的业务、区域和区域经理联系起来

Database 我应该如何将只知道其位置的业务、区域和区域经理联系起来,database,database-design,Database,Database Design,我正在开发一个应用程序,目前我正试图弄清楚我应该如何设置数据库表和关系,以及需要哪些确切数据进入哪个表。 我需要能够创建和管理以下实体: 用户(经理):他们将被分配到一个特定区域进行管理(例如城镇或城镇分区)。他们将能够输入他们将管理的区域的名称,并且必须从谷歌地图搜索中选择一个建议 企业:这些是有一个地址的个体企业。但是,可以在英国创建任何地址的企业,即使没有指定经理管理该企业所在的区域 请注意,即使某些业务是在非托管区域中创建的,一旦为该区域创建了经理,他也会自动将所有这些业务视为自己的

我正在开发一个应用程序,目前我正试图弄清楚我应该如何设置数据库表和关系,以及需要哪些确切数据进入哪个表。 我需要能够创建和管理以下实体:

  • 用户(经理):他们将被分配到一个特定区域进行管理(例如城镇或城镇分区)。他们将能够输入他们将管理的区域的名称,并且必须从谷歌地图搜索中选择一个建议

  • 企业:这些是有一个地址的个体企业。但是,可以在英国创建任何地址的企业,即使没有指定经理管理该企业所在的区域

请注意,即使某些业务是在非托管区域中创建的,一旦为该区域创建了经理,他也会自动将所有这些业务视为自己的业务。这意味着我们不能单独为每个业务分配经理,因为有时在创建时该区域可能不存在经理,但稍后可能会添加经理

我已考虑过以下可能的解决办法:

  • 有3个表:用户、区域和业务。用户将与Areas表建立一对多关系,这实际上允许一个用户管理多个区域。区域将与企业建立一对多的关系,以便一个区域可以有多个企业。创建时,每个业务都必须分配到一个区域

  • 这是可行的,但有一个问题:我必须以某种方式创建一个包含英国所有可能区域的区域表,这将是一项艰巨的任务。我不仅需要添加所有区域,而且还需要为每个区域查找和分配地理代码,以便稍后在邮政编码周围的某个半径内进行业务搜索。我有一个完整的英国邮政编码数据库文件,其中有200多万个邮政编码,每个邮政编码都有城镇、议会、教区、选区、地理编码和一些其他信息,但是,每个城镇分区(通常是选举选区)都有数百个邮政编码和地理位置,这将使生成一个“区域”表变得非常困难,因为每个“区域”或城镇分区或任何名称都只有一个中央地理代码或邮政编码

在解释了我的问题之后,我想问你,我考虑过的三个表、用户、区域和业务的解决方案是否是一个好的解决方案,或者我是否有其他更好的方法来解决这个问题?有没有更好的方法来解决这个问题

任何提示、信息或答案都会有很大帮助。
提前感谢。

是否应该允许经理管理一个没有相关业务的区域?用户区域是否可以大于业务区域?例如,一个企业的区域是否可以是一个城镇的分区,而用户的区域是否可以是整个城镇?是的,可以为经理分配一个区域,无论其是否有企业。经理可以管理一个城市、一个城镇或一个城镇的分支,而一个企业只能有一个地址——一个单点地理位置。地址位于某个区域内的所有企业都将被该区域的经理视为其所在(如果该区域存在经理)。将为每个区域和业务生成地理坐标。