我不理解SQLite中表的基本设置。
假设我有三张桌子:
Studio Table
studioID studioName
-------- --------
1 Lucasfilm
2 Amblin Entertainment
3 Zoetrope Studios
Movie Table
movieID movieName studioID actorID
-------- -------- -------- --------
1 Star Wars 1 1
2 Indiana Jones 1 1
3 Back to the Future 2 3
4 Apocalypse Now 3 2
Actor Table
actorID lastName firstName
-------- -------- --------
1 Ford Harrison
2 Fishburne Laurence
3 Lloyd Christopher
这种结构不允许Harrison Ford和Laurence Fishburne在 Apocalypse Now 中 。使用类似表格在同一部电影中代表福特和菲什伯恩的传统方式是什么?对不起新手问题。
答案 0 :(得分:1)
使用类似的表格表示同一部电影的传统方式是什么?
没有。
您需要另一张桌子:cast
cast table
---------
movieID
actorID
示例数据:
movieID | actorID
4 | 1
4 | 2
也许在cast
表中甚至应该有另一列:roleName
。同一个演员可以在一部电影中扮演多个角色。
答案 1 :(得分:0)
Studio 1:N Movies - >一个用于工作室的桌子,一个用于电影的桌子,并在电影中从工作室添加FK。
电影N:M演员 - >一个表为演员,另一个表连接电影和演员。