【发布时间】:2017-05-07 10:39:42
【问题描述】:
我试图理解一个简单的音乐数据库设计。有些表只包含外键和主键。我不确定如何以及何时使用这些表或在其中插入什么。设计如下:
Track:
id primary key
title
duration
live-performance (true or false)
year
Artist:
id primary key
name
ArtistTrack:
id primary key
artistID
trackID
Album:
id primary key
title
AlbumTrack:
id primary key
albumID
trackID
track-number
Genre:
id primary key
name
GenreTrack:
id primary key
genreID
trackID
例如,如果我在Track 表中插入一个曲目,在Artist 表中插入一个艺术家,那么我应该在ArtistTrack 表中插入什么?我假设ArtistTrack 表中的属性是与其各自表中的主键相同的数字?
我见过几个类似的设计,我就是不明白。我知道一个外键将表链接在一起。谁能给我一个关于如何使用这些表格的例子?
【问题讨论】:
-
其中一些表是
many to many关系中的“链接表”。即专辑中有多个艺术家(艺术家到专辑链接表)。或者不止一个艺术家在一个轨道上。对于一首曲目,每个在该曲目上演奏的艺术家都会有一个条目。 -
你可以不将数据存储在类似 SQL 的数据库中,即 NoSQL,你的架构看起来会非常不同。
标签: database database-design relational-database