【问题标题】:Three tables have a many to many relationship to one Table三张表与一张表有多对多关系
【发布时间】:2018-01-11 01:25:50
【问题描述】:

我想知道这种情况是否有意义: 我有三个实体,分别称为(早餐、午餐和晚餐)。现在我想和实体食品建立关系。每个实体(Breakf,Lunch,Dinner) 存在一个或多个食物实体。一个食物实体在(早餐、午餐、晚餐)的每个实体中只能存在一次,因为它有一个属性数量。在这种情况下,我可能需要为每个食品实体提供一个特殊的主键,以提供食品实体在实体中的唯一性(早餐、午餐、晚餐)。

有人可以帮助建立关系模型吗? 从每个(休息,午餐,晚餐)到食物是否只是一对多的关系?

【问题讨论】:

    标签: database one-to-many entity-relationship


    【解决方案1】:

    因此,模型取决于您是否需要能够扩展用餐数量...如果 3 餐是静态的,那么您可以将此信息存储在一个表中:

    ID |食物名称 |早餐金额|午餐金额 |晚餐金额 |插入日期

    【讨论】:

    • 从现在起我想出了类似的东西:FoodOverview (ID_Date PK, breakfastID FK, lunchID FK, DinnerID FK) ;早餐(ID PK,foodID FK);午餐(ID PK,foodID FK);晚餐(ID PK,foodID FK);食物(foodID PK, 数量 INT, ....)
    • 是的,你可以有一个“food table”和一个“meal table”,它们的主键可以是第三个表中的 fkeys,比如连接表......在这种情况下,你需要强制执行规则一顿饭可以有很多食物,但每个 insert_date 每顿饭不能重复食物...这将允许可扩展性,因为您可以有 N 种食物和 N 种食物...一张桌子的解决方案不能很好地扩展...
    猜你喜欢
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2020-09-09
    • 2013-02-17
    • 2021-07-11
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多