8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在 DB 中实现这些关系的最佳方法是什么?

bairog 3月前

41 0

MovieStores:TitleDescription可能是包含电影详细描述的长文本预算上映日期持续时间角色Stores:NameDescriptionRole(有效值 - 前导,

電影商店:

  • 标题
  • 描述
  • 可能包含大量电影详细描述的文字
  • 预算
  • 发布日期
  • 期间

角色商店:

  • 姓名
  • 描述
  • 角色(有效值——领导、支持、背景)

个人商店:

  • 出生日期
  • 性别

角色可以由人类扮演,但情况并非总是如此——有些角色可能没有演员,或者可能由我们不知道的未知演员扮演。同样重要的是要考虑演员作为场景的一部分或背景角色出现在电影中的情况。在这种情况下,可能无法为这些角色创建单独的角色,但如果有一种方法可以记录演员在电影中的参与情况,那就太好了。在设计数据库时,我需要考虑这些要点。

我创建了下图,想知道这是否是实现这种关系的好方法。也许有更好的方法?

erDiagram
    Movie ||--o{ Character : "has"
    Movie ||--o{ Movie_Person : "involves"
    Person ||--o{ Movie_Person : "participates in"
    Character |o--o{ Movie_Person : "played by"

    Movie {
        int movie_id PK
        string title
        text description
        decimal budget
        date release_date
        int duration
    }

    Person {
        int person_id PK
        string first_name
        string last_name
        text biography
        date date_of_birth
        enum gender
    }

    Character {
        int character_id PK
        int movie_id FK
        string name
        text description
        enum role
    }

    Movie_Person {
        int movie_person_id PK
        int movie_id FK
        int person_id FK
        int character_id FK
        string role_description
    }
帖子版权声明 1、本帖标题:在 DB 中实现这些关系的最佳方法是什么?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由bairog在本站《mysql》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 如果您的数据库设计满足您的业务需求,那么它就是一个好的设计。如果不满足,那么它就是一个糟糕的设计。您能在当前设计中表示所有数据及其关系吗?如果不能,请具体询问该问题,而不是笼统地询问整体设计是否可以改进。

返回
作者最近主题: