数据库字段名是否需要加前缀

yadg 2014-03-17 04:14:28
关于这个问题,纠结了好几天,我认为,字段名前需要加前缀,有如下优点:
1、这个很方便sql语句的阅读,比如有sql语句,select aa,ab,bc from a,b,如果不加前缀,你很难分清aa,ab,bc到底是a表还是b表。
2、程序维护起来很方便。如果有100个表,每个表都有name字段,不加前缀时,我们会在ide中搜索name,你会搜索出100条信息来,然后再去挨个找,会非常的麻烦。而加了前缀就不一样了,直接a_aa就能找到使用该字段的地方了,非常的方便。
我不知道这种方式有什么缺点,请高手指教。
...全文
1800 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
frogley 2014-03-18
  • 打赏
  • 举报
回复
引用 2 楼 yadg 的回复:
谢谢您的回复,我也觉得所有字段都加前缀时有点啰嗦,但是第2个问题 还是比较麻烦,一搜会搜一大片出来,挨过找不现实啊。。除非强制规定程序员,必须使用别名,且别名都一致,这样也可以能准确的定位
你这一般是字段改名吧。我会先按表名搜索,在相关的每个SQL里修改字段名。是比较麻烦,但考虑到字段改名并不常见,所以也问题不大。
yadg 2014-03-17
  • 打赏
  • 举报
回复
谢谢您的回复,我也觉得所有字段都加前缀时有点啰嗦,但是第2个问题 还是比较麻烦,一搜会搜一大片出来,挨过找不现实啊。。除非强制规定程序员,必须使用别名,且别名都一致,这样也可以能准确的定位
frogley 2014-03-17
  • 打赏
  • 举报
回复
这是个编码规范的问题。 一千个程序猿眼中有一千个编码规范。 通常编码规范需要兼顾代码的鲁棒性和简洁性。你的做法考虑了鲁棒性,但是代码会显得比较啰嗦。 我自己是这么处理的:如果某字段会与其他表发生关联(被其他表引用或引用自其他表,即主键或外键),则在此字段名前面加上表名(或其他有业务意义的前缀);若该字段只会被本表使用,则无需加前缀。
执法案件管理系统-数据库设计 执法案件管理系统 数据库设计 执法案件管理系统-数据库设计全文共24页,当前为第1页。 执法案件管理系统-数据库设计全文共24页,当前为第2页。 执法案件管理系统-数据库设计全文共24页,当前为第1页。 执法案件管理系统-数据库设计全文共24页,当前为第2页。 目录 执法案件管理系统 1 数据库设计 1 1. 引言 3 1.1. 编写此文档目的 3 2. 命名 4 2.1 语言 4 2.2 大小写 4 2.3 单词分隔 4 2.4 保留字 4 2.5 命名长度 4 2.6 字段名称 5 3. 命名规范 5 3.1 命名规范概述 5 3.2 具体业务表名命名情况 5 4. 数据库设计 6 4.1 案件信息 6 4.2 立(销)案申请 7 4.3 终结报告/处罚决定 9 4.4 不予处罚信息 10 4.5 执法反馈信息 11 4.6 移送案件 13 4.7 简易处罚 14 4.8 案件延期信息 15 4.9 送达回证 16 4.10 强制执行 16 4.11 结案信息 17 4.12 案卷归档 18 4.13 事项审批 18 4.14 赔偿信息 19 4.15 诉讼情况 20 4.16 告知结果信息 22 4.17 复议登记信息 22 4.18 中止复议审理 24 执法案件管理系统-数据库设计全文共24页,当前为第3页。 执法案件管理系统-数据库设计全文共24页,当前为第3页。 引言 编写此文档目的 此文档主要是指导开发人员进行系统开发,指导实施人员对执法案件管理系统数据库结构有一定的了解,指导数据库人员可以对执法案件管理系统的数据库表结构有一定的认识和应用。 命名 语言 命名使用能表述对象意义的汉语名词简拼或者约定俗成的符号,不允许使用中文或者特殊字符,对象名重名时,加类型前缀以示区别。 大小写 名称全部大写,以方便不同数据库移植,规避各种数据库不同的命名规则。 单词分隔 命名的各单词之间使用下划线进行分隔。 保留字 执法案件管理系统-数据库设计全文共24页,当前为第4页。命名禁止使用数据库保留字。 执法案件管理系统-数据库设计全文共24页,当前为第4页。 命名长度 限制在30个字符内(含前缀)。 字段名称 同一个字段名在一个数据库中只能代表一个意思。不同的表用于相同内容的字段应该采用同样的名称、字段类型定义。 命名规范 命名规范概述 项 目 名 称 命 名 规 范 表名 由前缀和名称两部分组成,前缀为业务模块的拼音缩写,名称采用中文名称的拼音缩写,中间用"_"分割。 字段名 名称采用中文名称的拼音缩写,字段名称必须用字母开头,字段中含有的字母必须是大写字母。 索引 由前缀和名称两部分组成,前缀是INDEX_,名称是表名+字段名,如果复合索引的构成字段较多,则只包含第一个字段名 视图 由前缀和名称两部分组成,前缀是V_,名称是业务操作名称的拼音缩写。 存储过程 由前缀和名称两部分组成,前缀是 P_,名称是业务操作名称的拼音缩写。 包 由前缀和名称两部分组成,前缀是 PKG_,名称是业务模块名称的拼音缩写。 序列 由前缀和名称两部分组成,前缀是 SEQ_,名称是业务模块名称的拼音缩写。 具体业务表名命名情况 行政执法 执法拼音缩写(LAW_)为前缀,后跟各业务表的拼音缩写 执法案件管理系统-数据库设计全文共24页,当前为第5页。国标代码 代码拼音缩写(CODE_)为前缀,后跟各国标表的拼音缩写 执法案件管理系统-数据库设计全文共24页,当前为第5页。 数据库设计 案件信息 Physical Property(s) of " LAW_CaseInfo" Table 描述 案件信息 执法案件管理系统-数据库设计全文共24页,当前为第6页。 执法案件管理系统-数据库设计全文共24页,当前为第6页。 字段(s) of "LAW_CASEINFO" Table 字段名 中文名 数据类型 主键 非空 外键 备注 ID 标识 BIGINT Yes NOT NULL No CASENO 案件编号 VARCHAR(50) No NULL No CASENAME 案件名称 VARCHAR(255) No NOT NULL No CASESOU 发现途径代码 CHAR(2) No NULL No LIMDATE 办案期限止日期 TIMESTAMP No NULL No CASEVAL 涉案金额 DECIMAL(18,6) No NULL No CLUECON 描述 VARCHAR(4000) No NULL No STATE 状态 VARCHAR(2) No NOT NULL No CASESTATE 当前案件状态 VARCHAR(2) No NULL No REGDATE 受理日期 TIMESTAMP No NOT N
数据库工作区--是用来存放数据库中的数据表或自由表的一片内存区域。 (2)当前工作区--当前正在使用的工作区称为当前工作区。 2、 什么是表的别名? 别名--在多工作区情况下,为了操作上的方便,在打开数据表时,给数据表起的一个暂用名字。关闭该数据表后,其别名自动失效 例如:在当前工作区,以别名ZG打开数据表“职工基本情况表”,其操作为: USE 职工基本情况表 ALIAS ZG 三、 为什么要使用表的别名? 4、用哪两种方法可以使数据库的第8个工作区成为当前工作区? SELECT 8 或者 SELECT H 5、 什么情况下要给表的字段冠于前缀――表的别名? 别名通常是冠在字段名前面,表示所引用的字段是其它(非当前工作区)中的字段名 例如1: SELECT D USE 职工基本情况表 ALIAS ZG USE 毕业生情况表 IN 5 ALIAS BYS * 当前工作区为4号(D),而不是5号(E) 例如2: SELE D ? E->姓名 &&在4号工作区显示5号区的字段内容 注意:工作区的数字代码通常在函数或命令中使用,但不能作为字段名的前缀 。 例如: ?E.姓名 &&数字不能作为字段名前缀,不能写成5.姓名 六、 给表的别名有哪几种表达方法?请举例说明。 7、工作区的数字标号能作为字段的前缀(别名)吗? 工作区的数字代码通常在函数或命令中使用,但不能作为字段名的前缀 八、命令“SELE 0”的作用是什么? 九、VFP 6.0中,数据库工作区的最小编号是什么?最大标号是什么?可以使用的工作区多少受到计算机系统的哪个条件的限制?

8,028

社区成员

发帖
与我相关
我的任务
社区描述
高性能数据库开发
社区管理员
  • 高性能数据库开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧