我正在尝试创建一个我观看过的所有电影的关系数据库。
我使用IMDb对我看过的电影进行评级,并使用网站的导出功能将数据转换为.csv文件,我上传到Microsoft Access。然而,“类型”专栏是一个多对多的关系,我希望转变为一对多的关系。
我希望有一个名为GENRE_ID
的表,为每个类型分配一个数字ID。然后我会有另一个表,其中每个实例都有movie ID
(“const”),line item number
和GENRE_ID
。
所以它可能看起来像:
const line_item MOVIE_ID
tt0068646 1 1 (if MOVIE_ID: 1 = "crime")
tt0068646 2 2 (if MOVIE_ID: 2 = "drama")
这是我数据库当前状态图像的链接。非常感谢你的帮助。这是我正在做的一个项目,可以在我自己的时间里学习更多。
答案 0 :(得分:1)
基本上,当你有一对多的关系时,你应该使用一个表来表示这种关系 在你的情况下,我建议有3个表:
例如
在您的流派表中,您的数据将是
row 1: Id =1 , Name = "Crime"
row 2: Id = 2, Name = drama,
等等
你的Film_Genre表会是这样的:
row1: Film_Id = tt0068646, GenreId = 1,
row2: Film_Id = tt0068646, GenreId = 2
row3: Film_Id = tt0082971, GenreId = 2
等等 (我认为你使用“const”列作为电影表的Id,如果没有,你应该拥有自己的Id)
当然,您需要花费很少的精力将当前数据库转换为此数据库。
答案 1 :(得分:0)
关于解决方案的一些注意事项。
流派表
ID Genre
1 Action
2 Adventure
3 Thriller
4 War
导入表
Const GenreList
tt00 Action, Adventure, Thriller, War
查询
SELECT ti.Const, ti.GenreList, tg.Genre
FROM Imports as ti, Genres as tg
WHERE ti.GenreList Like "*" & tg.Genre & "*"