小编Res*_*Res的帖子

设计源自单个表的多个多对多关系的正确或有效方式

我正在设计一个电影编目器,它依赖于SQL数据库来存储数据.我不是数据库设计专业人员,老实说,除了基本的数据库查询之外,我不是那么老练.我的问题是,最有效的方法是什么.

我目前有5个表创建

Movies
------
[id] integer
[title] nvarchar(100)
[duration] integer
[year] datetime

People
------
[people_id] integer
[person] nvarchar(100)

Writers
-------
[id] integer
[people_id] integer

Directors
---------
[id] integer
[people_id] integer

Actors
------
[id] integer
[people_id] integer
Run Code Online (Sandbox Code Playgroud)

基本上是使用联结表,电影 - >作家<人,电影 - >导演<人,最后是电影 - >演员< - 人的多对多关系.People表是用于绘制每个角色所需数据的池.由于一个人既可以是电影中的导演和明星,也可以是作家和导演,甚至是三个角色,我相信3个交汇表可以解决这个问题.当然,一个人也可以在很多电影中出现.所以我认为这是做到这一点的方法.

我通过几篇网络文章了解了建立多对多的关系,我阅读得越多,就越不清楚如何设置这种情况.大多数只是处理单个字段或使用作者/书籍类比,这无助于我理解如何实现我的情况.

如前所述,我的问题是,这是一种有效的方法吗?甚至是合适的?

我希望能够轻松查询电影,并将与其相关的所有信息提供给表单.

谢谢 - 谢谢

sql database-design many-to-many

6
推荐指数
1
解决办法
751
查看次数

标签 统计

database-design ×1

many-to-many ×1

sql ×1