使用外键“倒退”是不好的做法吗?

时间:2009-11-05 19:01:04

标签: sql

我想知道拥有file_table { id, name, status}extra_data table { id, fileId FK(file.id), otherData}是不好的做法。到目前为止,我的所有表都在前进,我从来不需要获取一个表的id然后执行查询以使用id获取更多数据。

这是不好的做法,如果是这样,为什么呢?

4 个答案:

答案 0 :(得分:5)

这很好。您的表格设计为布局,确定一个file_table记录可以与0个或多个extra_data记录相关联。但是,一个extra_data记录只能与一个file_table记录关联。

倒退后你是什么意思?

答案 1 :(得分:4)

这不是一个坏习惯实际上它是一个强大的设计应该是什么样子。现在,您与表文件和extra_data建立了“关系”。但是,为了使DB正常化,您应该考虑表之间关系的基数。根据该基数,您将知道如何放置FK,或者您最终创建了一个新的关系表。有关基数的更多信息可以在here

找到

答案 2 :(得分:3)

这没有任何问题。

答案 3 :(得分:0)

我想不出任何其他方式来实现与其他项目相关联的项目集合。我在这里缺少什么?