如何分解表以获得最佳查询

How to decompose the tables for optimal querying

假设我有三个 table 具有以下属性的演员、电影、制片人

演员(身份证、演员姓名、简介)

制片人(身份证、制片人姓名、简历)

电影(Id、姓名、描述、演员姓名、制片人姓名)

一部电影可以有很多演员,一个演员可以演很多部电影,制片人也是如此。 如何有效地 decompose/create new tables 来存储数据。我尝试使用以下架构

创建一个新的 table

ActorMovie(Id, MovieId, ActorId)

但失败了,因为一部电影中可以有多个演员。

我想我有一个解决方案。根据您的描述,我了解到您的 table 应该如下所示。
演员(Id,ActorName,Bio);
制作人(Id,ProducerName,Bio);
电影(ID、名称、描述);
ActorMovie(Id, MovieId, ActorId);
ProducerMovie(Id,MovieId, ProducerId);

关系图应该是这样的。

注意:关系符号可能不正确,但连接应如上所示。