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
}