gpt4 book ai didi

电影数据库搜索系统的 SQL

转载 作者:行者123 更新时间:2023-12-04 23:56:36 31 4
gpt4 key购买 nike

我正在建立一个电影数据库。每部电影都会有类型、 Actor 、导演等字段。现在我的问题是如何设计数据库并编写 SQL,因为每部电影都可以有多个 Actor 或导演等。

现在我对电影表的数据库设计是:

  • movie_id
  • 电影片名
  • actors_id
  • directors_id
  • genre_id

但这种方式似乎更难在一部电影中安排多个 Actor 。

最佳答案

Actor 和电影之间存在多对多的关系。每个 Actor 都可以出演多部电影,每部电影都有很多 Actor 。要在 SQL 中建模多对多关系,您可以使用 junction table (除其他名称外,也称为交叉引用表)。

+-------------+| Movie       |+-------------+| Id          |<----+| Title       |     || Year        |     |+-------------+     |                    |+-------------+     || Actor       |     |+-------------+     || Id          |<-+  || Name        |  |  || Birthdate   |  |  |+-------------+  |  |                 |  |+-------------+  |  || Movie_Actor |  |  |+-------------+  |  || ActorId     |--+  || MovieId     |-----++-------------+

To query for the names of all the actors in the movie with ID 153:

SELECT Actor.Name
FROM Actor
JOIN Movie_Actor ON Movie_Actor.ActorId = Actor.Id
WHERE Movie_Actor.MovieId = 153

关于电影数据库搜索系统的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3690745/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com