如何最好地实现一对多关系


How best to implement a one to many relationship?

我正在构建一个MySQL作为数据库系统的Laravel 5项目。在这个项目中,我会有很多教育视频,总数是未知的,但它可能会变大。这是我的第一个大项目,我正在努力解决一个特殊的问题:

  • 每个视频都有自己的标签,源链接和作者制作它。源链接将是唯一的,但当然是不同的人们可以创作不同的视频。

我想到用一个表来表示视频id和它的作者之间的关系。视频标签也是如此。我担心它不会有很好的表现。例如,在给定时刻,可能有5个人创作的200个视频,所以我有1000行。所以,仅仅为了知道谁创作了一个具体的视频,我应该要浏览一千行。

我被告知我应该只在每个数据库字段中放置一个值,但是,鉴于这种情况,如果我在视频表的一个字段中放置一个作者名称数组,这不是更痛苦和高效吗?

这是一个好问题,但是相信我,MySQL是强大的全数据库,可以在更短的时间内处理数百万个查询。

我认为你只需要一行几个关键字段来扩展你的排序选择和满足用户的兴趣。

一些关键字段必须在早期创建,例如,插入视频的日期,字段主题,视频大小等。

我的建议是尽可能多地创建几个关键字段,以避免将来在排序和分类方面发生任何变化。

所以,在开始上传视频之前,试着从用户、作者、同事和这个项目的所有受益者那里收集大量的建议,并确保你涵盖了任何预期的变化类型

此外,稍后您可以最小化无用的关键字段,但在live &制作经验