【发布时间】:2015-11-11 19:27:56
【问题描述】:
考虑我正在为管理停车场的数据库建模的情况。
- 实体:
Company、ParkingLot、Location、Vehicle和Reports。 - 一个
Company有多个ParkingLots,一个ParkingLot 一次可以有多个Vehicles。 -
ParkingLot位于一个区,属于一个县。一个县可以有一个或多个区,为此我决定在名为Location的表中使用递归关系。 -
Reports是为ParkingLots计算收入而制作的,我假设它是按月计算的,因为文本没有指定。 -
Reports应该可以按县过滤,即从第2县的地段中选择本月的所有收入。
请原谅我丑陋的图表,但这是我提供的解决方案。
我进行了一些基本测试,这似乎是可以接受的解决方案,但我担心我的模型能否支持我提出的最后一点。这是获取县停车场的报告。停车场不是分配给县,而是分配给区(分配给各自的县)。
这是一个可行的解决方案吗?我是否有一些严重的疏忽?
编辑:
是否可以获得 FK id_location 与 FK located_at = PK id_location (county) 匹配的所有地段?
EDIT2:
虽然递归表可能有点复杂,但不同表上地址的不同部分是否需要相同数量的步骤来生成报告?
在递归中:获取所有选定县的地区,然后为这些县的每个停车场获取存储的报告。
County and District Table:我仍然需要获取所有县区的列表才能获得报告列表。不过,这个模型的查询不会那么混乱。
还将report_date 添加到报告表中。
【问题讨论】:
标签: database database-design data-modeling erd