这是我第一个校外项目,所以我生疏了,缺乏实践。
我想创建一个数据库,但我不确定到目前为止我是否做得很好。我需要一些关于报告表的帮助。
情况:
- 食物银行有多个分发食物的机构
- 每个机构都必须提交一份报告,说明从一长串邮政编码中为多少家庭/人服务。
- 我想在 Report to Zips 表上放一个 fk。但这会导致无法选择多个 zip 吗?
也许我离题太远了。有人对我有什么建议吗?
最佳答案
此表的更好名称可能是 FoodService 或其他名称。我想您真正想要最终得到的报告类型不仅仅是此表中的一行,因此将其命名为 Report 有点令人困惑。
在任何情况下,每个报告都是 {Agency ID, ZIP code, Date} 的唯一组合,当然 Agency ID 是一个外键。正如您所指出的,此表中的其他列将是家庭数量和服务人数。这意味着每个代理机构-ZIP-日期组合都有行,如下所示:
Agency | ZIP | Date | FamiliesServed | PeopleServed
Agency A | 12345 | Jan-12 | 100 | 245
Agency A | 12340 | Jan-12 | 20 | 31
Agency B | 12345 | Jan-12 | 80 | 178
Agency B | 12340 | Jan-12 | 0 | 0
这些总数是否也按“程序”分割?如果是这样,程序需要成为该表主键的一部分。否则,程序不属于这里。
最后,除非您要开始存储关于邮政编码本身的数据,否则您不需要邮政编码表。
关于mysql - 需要帮助为食品银行设计 ERD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14016569/