按地址位置过滤报告的数据库设计

Database design to filter report by address location

考虑一下我正在为管理停车场的数据库建模的情况。

请原谅我丑陋的图表,但这是我提供的解决方案。

我运行进行了一些初步测试,似乎可以接受table作为解决方案,但我担心我的模型是否可以支持我提出的最后一点。这是一个县的停车场的报告。停车场不是分配给一个县,而是分配给一个区(分配给各自的县)。

这是可行的解决方案吗?我有什么严重的疏忽吗?

编辑:

是否可以获取 FK id_location 与 FK located_at = PK id_location(县)匹配的所有地块?

编辑 2:

虽然递归 table 可能有点复杂,但不同 table 上的地址的不同部分是否需要相同数量的步骤来生成报告?

在递归中:获取所有选定县的地区,然后为这些县的每个停车场获取存储的报告。

县区Table:我还得把全县所有的区弄个名单才能拿到报告单。不过,对该模型的查询不会那么混乱。

还在报告中添加了 report_date table。

一些评论:

  • REPORT 必须是 table 吗?您是否应该记录每辆车在车辆 table 中支付了多少钱?如果是这样,您可以通过查询创建报告,并且不需要 REPORT table.
  • LOCATION 上使用递归关系比使用显式 table 更难查询。你真的需要这种复杂性吗?
  • 如果确实需要REPORTtable,那么最好把一个月放在那里,否则只能存储一个月的数据。