Database design DB设计-1:1表格的FK

Database design DB设计-1:1表格的FK,database-design,Database Design,我有两张桌子,都以1:1->国家和国歌的形式相互关联。 两者都在单独的表中,因为我需要存储它们自己的元数据 现在国家的FK进入国歌表还是国歌的FK进入国家表?既然这是1:1,我想它也可以这样做?这似乎是主观的,但我会把与国家的链接放在国歌表中,因为我认为国歌是由国家定义的,而不是反过来定义的。此外,一个国家会有许多与国歌官方语言相似的属性,例如,将所有属性都反映在一个表中是不切实际的。这似乎是主观的,但我会将与国家的链接放在国歌表中,因为我认为国歌是由其国家定义的,而不是相反。此外,一个国家将有

我有两张桌子,都以1:1->国家和国歌的形式相互关联。 两者都在单独的表中,因为我需要存储它们自己的元数据


现在国家的FK进入国歌表还是国歌的FK进入国家表?既然这是1:1,我想它也可以这样做?

这似乎是主观的,但我会把与国家的链接放在国歌表中,因为我认为国歌是由国家定义的,而不是反过来定义的。此外,一个国家会有许多与国歌官方语言相似的属性,例如,将所有属性都反映在一个表中是不切实际的。

这似乎是主观的,但我会将与国家的链接放在国歌表中,因为我认为国歌是由其国家定义的,而不是相反。此外,一个国家将有许多类似于其国歌官方语言的属性,并且将所有属性都反映在一个表中是不切实际的。

我同意@John Zwinck的观点,这是主观的,我会反过来做。
因为国歌属于一个国家,如果每个国家都有一个班级,那么这个国家班级可能会有一首国歌作为财产,所以这应该反映在DB中。但我不能说这是绝对正确的答案,@John的话很有道理。

我同意@John Zwinck的观点,这是主观的,我会反过来做。
因为国歌属于一个国家,如果每个国家都有一个班级,那么这个国家班级可能会有一首国歌作为财产,所以这应该反映在DB中。但我不能说这是绝对正确的答案,@John的话很有道理。

基本的1:1应该是:

但是,国歌可能会改变,因此:


基本的1:1是:

但是,国歌可能会改变,因此:


除此之外,这一切都取决于上下文。你的系统更多的是关于国家还是关于国歌?如果你只有两张桌子是Country和Anthem,那么你有一个非常小的系统,你也可以只做一张桌子。更进一步,这取决于上下文。你的系统更多的是关于国家还是关于国歌?如果你只有两张桌子是Country和Anthem,那么你有一个非常小的系统,你最好只做一张桌子。