我的表用户有列id,用户名,电子邮件和密码。 我有另一个表与表用户的关系。
一些开发人员使用前缀方式(列id_user),一些开发人员使用postfix方式(列user_id)。
哪种方式是正确的,为什么。
答案 0 :(得分:4)
使用ID是SQL反模式,不应使用。它比使用tablename ID方法更容易引起问题,因为人们将在dbs中使用自然连接,允许它们加入到错误的id或复杂的sql中进行报告,很容易加入到错误的id(来自不同的如果您要使用tablename id,那么您将获得语法错误。另外,PK和FK具有相同名称更有意义。这样可以更准确地了解您要加入的内容。
使用IDTablename或tablenameID是一个选择问题。在我可以访问的所有数据库(我职业生涯中的数千个)中,大多数似乎更喜欢tablenameId。无论选择什么,都要通过数据库保持一致。使用数据库非常烦人,其中一些表使用Id,一些使用tablenameId,一些使用tablename_id,一些使用Id_tablename,一些使用IDtablename。模式一致性比命名对象中的任何其他因素更重要。
答案 1 :(得分:3)
没有正确的方法,只是品味问题。我在postfix上使用前缀,因为它首先放置了名称中更有意义的部分,使其读取速度稍快(或者我想象的那样)。
答案 2 :(得分:0)
记录:
我在这里收集有关命名约定的信息
https://medium.com/southprojects/database-naming-convention-the-definitive-guide-90424d6c2d36
到目前为止,我发现 user_id (或 UserId ,如果数据库允许带有大小写的列)比 id_user ( > ID用户所强>)。但是,两者都有效。
此外,Oracle曾经说过正确的方法是user_id_pk,但我认为这种意识形态已经过时了。