我试图设计一个数据库,它将为不同的人存储一个(或多个)用餐计划。这个问题有两种不同的情况。自定义场景的数据库表设计
第一种方案:
有4个表:PERSON,MEALPLAN,MEALPLAN_FOOD,和食物。 PERSON表为每个拥有膳食计划的个人存储基本信息。 MEALPLAN表将跟踪每个膳食计划(饮食)。 FOOD表是不同食物(例如鸡蛋,菠菜,红薯,燕麦等)的表格,并为每个食物项目存储每个“数量单位”(例如1杯)的蛋白质/碳水化合物/脂肪/卡路里信息。 MEALPLAN_FOOD表用作MEALPLAN和FOOD的查找/关联表。
我相信我有这些表设置正确。每个人都有一个(或更多)膳食计划。每个膳食计划包括一个(或更多)食物/数量。我的问题出现在下一个场景中。
第二种情景:
第一种方案是在事实上,它只是存储的每餐食品计划项目的列表限制。在第二种情况下,我们希望纳入额外的表格,以便膳食计划可以分解并按用餐进行存储。每个人将有一个(或更多)的膳食计划,每个膳食计划有1到4份膳食(膳食计划可能只包含2或3份膳食)。为了实现这一点,第一个场景的MEALPLAN_FOOD查找/关联表被替换为2个查找/关联表(MEALPLAN_M <#>和M<#> _FOOD)和餐桌(用于餐1,M2,M3和M4的M1 )。
问题:假设第一个场景的设计是正确的,第二个场景的设计是否正确完成了附加功能?这种设计在附加查找表中是否正确,以便每人每餐膳食计划可储存食物?或者,有没有更好的方法来完成这项任务?
谢谢!
你发现任何时间你自己在表名或者列名中输入一个数字(除了address_line_1和address_line_2是街道地址),你应该得到一个大红旗,说明你做错了什么。 –
@TomH,理解,谢谢你的信息。我会用它前进。 – Aaron