是否可以使用依赖于该图表中信息存在的数据填充 SQL 图表?

Is it possible to populate a SQL chart with data that depends on the existence of information from that chart?

我知道这可能是循环依赖,但我想知道是否有解决方法。我正在编写一个比较音乐排行榜的数据库。我有的是:

我计划在网上从 Spotify、Billboard 和 Rolling Stone 网站上抓取图表数据来填充 table。我遇到的问题是:在构建数据库时,依赖项决定了歌曲,然后是按该顺序输入图表的顺序。 但是当我填充数据时,我希望歌曲信息实际上来自图表的网络抓取数据。所以填充数据的顺序变成:图表数据->歌曲。我不仅拥有每首现存歌曲的 table。 填充顺序可以吗?

是的,有可能。

每次您从数据源(您的抓取工具)收到新的图表条目时,首先查看您的 song table 以确定它是否已经存在。

如果不是,请将其插入 table。 然后确定其 song_id 值(其中 song_id 是 table 上的主键)。

您要查明它是否存在的问题需要注意;你可能至少需要做一些 fuzzy-matching 来处理歌曲名称、行为、版本等的变体。如果我的经验可以继续下去,这将需要一段时间才能完美地完成。

然后在图表 table 中插入一行,给出所提及歌曲的 song_id、图表条目的日期以及条目的其他详细信息 ( place= 8、以bullet = 'yes'为例).

不要为图表条目的每个来源创建单独的 table;而是在 table 中放置一个属性(一列)来指示来源。这样您就可以更轻松地处理 Billboard 的不同图表(乡村、R&B、摇滚等)。