我正在构建一个记录集合数据库。我有一个主要的发布表,包括标题,艺术家,格式,国家,日期,标签等 - 每个都是一个单独的表,外键连接回发行版。我的问题是,它们各自的表中的所有外键是否连接到Release中的一个主键(id),还是它们各自连接到Release中相应的Index整数键?说到索引 - 是否有必要在上面的所有搜索中创建一个单独的索引?
由于
答案 0 :(得分:1)
根据您提供的信息,您将拥有以下表格结构
<强>唱片集强>
ID,Title,ArtistID,FormatID,CountryID,Date,LabelID
<强>艺术家强> ID(Releases表中ArtistID的外键),名称等
<强>格式强> ID(Releases表中FormatID的外键),名称等
等等。是否有必要在上述所有方面创建一个单独的索引 哪个会被搜查?
取决于您计划如何搜索表格
编辑:
好的,所以每个表中的每个外键都连接到它自己的id 发布表 - 不是主要ID,对吗?
完全。 ArtistID将连接到Artist表,其中ID是主键,但在Releases表中它是外键。其余字段的想法相同,除了日期。
至于搜索,例如,搜索艺术家(表格将有 应该连接到的名字,姓氏或组名 艺术家的发布
然后在ArtistFirstName和ArtistLastName字段上创建索引 - 这些是Artists表中的字段,这就是您的搜索要搜索的内容。如果您希望显示艺术家的版本,那么您必须加入ArtistID上的艺术家和发行表(搜索后会得到)。
如果您阅读有关关系数据库设计和规范化的更多信息,将会有所帮助。