当前位置:  开发笔记 > 数据库 > 正文

在具有缩写表名的表中为每个字段名称加前缀是一个好习惯吗?

如何解决《在具有缩写表名的表中为每个字段名称加前缀是一个好习惯吗?》经验,为你挑选了4个好方法。

您是否在具有缩写表名的表中为每个字段添加前缀?

例:

Table: User

Fields:
user_id
user_name
user_password

或者你是否将你的田地命名为最低限度?

Fields:
id
name
password

如果您同时使用了这两种格式,那么从长远来看,您认为哪种格式对您最有帮助?

编辑:这个问题似乎没有明确的答案,双方都提出了好的观点.但是我已经把这个问题保持了很长时间,也许是时候将一个答案标记为已被接受.因此,我被认为是被接受的最高票数.



1> Joachim Saue..:

不要那样做.这是多余的,从长远来看会导致挫败感.

唯一可以应用此字段的字段可能是id,因为user_id显然是用户的id,它将简化在SQL中编写连接.但我甚至不会这样做.


+1:干 - 不要重复自己.列名已经属于表,表的内容从上下文中显而易见.

2> markus..:

如果你这样做,你将最终编写如下查询:

SELECT user.user_name, user.user_password, user.user_firstname ...

代替

SELECT user.name, user.password, user.firstname

所以IMO对你的问题的答案很清楚.


-1用于制作使tablename_fieldname看起来很糟的虚构示例。当您只查询一个表时,谁会在他们的头脑中重新指定* table。*?

3> kristof..:

你不需要再做了,你真的不应该这样做.Saua指出的唯一例外可能是寻求连接清晰度的ID字段.

使用表名称为字段名称添加前缀的概念来自旧系统的旧时间,因为整个数据库中的每个字段都必须是唯一的.

因此,除非您正在处理要求整个数据库中的每个字段都具有唯一名称的遗留系统; 不要做.



4> Treb..:

我不会这样做.如果您想要一个字段所属的表的信息,您始终可以将查询编写为

select user.id, user.name from user where ...

但想象一下,无论出于何种原因,您决定重命名一个表(可能是从'用户'到'客户').您还必须重命名所有字段,以保持一致.

我的观点:没有充分的理由说明你应该这样做,并有几个很好的理由不去做.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有