Yal*_*ber 3 sql database-design
我正在建立一个电影数据库.每部电影都有场地类型,演员,导演等.现在我的问题是如何设计数据库并编写SQL,因为每部电影都可以有多个演员或导演等.
现在我的桌面电影数据库设计是:
但是这样在电影中放入多个演员似乎更难.
演员和电影之间有多对多的关系.每个演员都可以在很多电影中出演,每部电影都有很多演员.要在SQL中建模多对多关系,可以使用联结表(也称为交叉引用表,以及其他名称).
+-------------+
| Movie |
+-------------+
| Id |<----+
| Title | |
| Year | |
+-------------+ |
|
+-------------+ |
| Actor | |
+-------------+ |
| Id |<-+ |
| Name | | |
| Birthdate | | |
+-------------+ | |
| |
+-------------+ | |
| Movie_Actor | | |
+-------------+ | |
| ActorId |--+ |
| MovieId |-----+
+-------------+
要查询ID为153的影片中所有演员的姓名:
SELECT Actor.Name
FROM Actor
JOIN Movie_Actor ON Movie_Actor.ActorId = Actor.Id
WHERE Movie_Actor.MovieId = 153
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5608 次 |
| 最近记录: |