代码之家  ›  专栏  ›  技术社区  ›  Devenc

ER造型电影演员

  •  -1
  • Devenc  · 技术社区  · 7 年前

    实体:电影、演员、电视剧。 电视剧或电影必须有演员。演员可以同时演这两个角色。 相应地假设列,并提及主键、弱实体和强实体。

    这就是我试图解决的问题。我对此毫无疑问。

    1. 第一种方法
      • 男演员
        • actorName
        • actorID(FK:演员)(PK)
        • 电影ID
        • 电影类型
      • 电视系列
        • tvsName
        • tvsGenre公司

    在这种情况下,模型将具有上述三个具有给定属性的表。它坚持了每部电视剧或电影必须有一名演员,并且一名演员可以同时在这两部剧中演出的标准。但如果一部电影有三到四个演员,那么我们就必须进入电影名,即同一个电影ID的电影类型。这是信息的重复,我不希望这样。

    1. 第二种方法
      • 男演员
        • actorName
      • 影视
        • 电影名称
        • 电影类型
      • 电视系列
        • tvsName
        • actorID(FK:演员)(PK)
      • ActorTV系列

    如何确保每部电影或电视剧都有演员 因为他们在不同的桌子上。我还想了解弱实体和强实体。请帮帮我。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Jacques Amar    7 年前

    您不能在 架构 出于以下原因:

    CONSTRAINTS

    您的解决方案不在 存储过程

    必须对照整个逻辑进行检查 UPDATE DELETE 我们要确保每部电影至少有一个演员。这是通过触发器实现的。

    我有点 如果这能回答您的问题,那么此时不想为您编写整个存储过程。如果你在整个交易中需要帮助,请告诉我。

    ---建议---

    如果这是一个真实的项目,而不是练习,我建议由您的处理和显示语言强制执行业务逻辑(确保参与者存在)。将业务逻辑放在数据库中不是一个好主意,很难维护。

    ---旁注---

    genre 表以验证流派

        2
  •  0
  •   Martin Bean    7 年前

    • 电影
    • 电视连续剧

    如果一个演员可以同时在电影和电视剧中演出,那么这就是你们的关系:你们需要一张桌子,把演员和电影联系起来,把演员和电视剧联系起来。这将为您提供五张桌子:

    • actors
    • movies
    • tv_series
    • actors_movies
    • actors_tv_series (联接表)