用汉字命名数据库字段名

遥想学士当年,小乔初嫁了,雄姿……,哦,不是小乔初嫁了,是学士初涉数据库设计,那可真是诚惶诚恐,谨遵前人之古训:schema、表、视图、字段名等等,莫不是用西人之字符集,皆用英文单词命名。对于用拼音字母简写者,鄙视之;用中文字符者,则是畏如洪水猛兽,走而避之。
如今学士老朽了,这思想却反了叛了:用拼音字母简写嘛,此法实不可取,学士仍是避而远之;不过这对于用中文字符者,学士却是越来越爱不释手,身体力行之。
前人古训,是有历史渊源的。以前的系统,所支持的字符大凡西人之字符集,能顾及我汉字者实乃凤毛麟角,故数据库设计,采用西文字符集,大多人视为天经地义。后unicode兴起,大势之所趋,对汉字的支持,渐为完备。用汉字做数据库命名设计,多有尝蟹者。然多数人已有先入之见,仍敬而远之,而古训依然口口相传,很多人奉为圭臬。
学士所用数据库不算很少:Access、VF、HSQL、MS SQL Server、Oracle、PostgreSQL,以及JDS、Derby等Java DB。在中文OS上,用中文做字段名皆没有问题;在英文OS上,学士只试过MS SQL Server、PostgreSQL(当然所有的Java DB皆应能支持中文)。当然,有一些数据库依然不能正确处理中文字符,但如今这类数据库已是江河日下,明日黄花了。
如今对于数据库命名、表命名、视图、函数、储存过程的命名,学士依然拘于古训,采用英文命名,但对于用的最多的字段名,却已习惯采用汉字命名了。采用汉字命名字段,是有几大好处的。
1) 望文生义:对于国人来说,"用户名"比"user_name"好懂多了;
2) 内外有别:与SQL的英文的关键字易于区分开来,如:

    SELECT USER_NAME, USER_AGE, USER_PHONE FROM USERS
对比
    SELECT 用户名, 年龄, 电话号码 FROM USERS

全采用英文的语句,只有一些能够用不同颜色区分关键字的编辑器才易于区分关键字和字段;而采用汉字的语句则更容易区分二者。这对于短小的SQL语句算不上什么,可对于几十上百行的语句,这就明显了;
3) 编程方便:这只能算半个好处。对于全是英文字段,在显示给用户时,英文字段还得换成中文来显示,不如直接用中文字段方便。当然,对于需要隐藏字段名时,无论中英文字段均要如此一番手续,因此说是半个好处;
4) 节省空间:如:"用户名"占用6个byte,而"user_name"要用9个byte;又如,"直径下限"占用8个byte,而"diameter_min"要12个byte。一般用汉字做字段名,4个汉字足以,而用英文,往往需要更多的byte,虽说如今已是到了用TB来计算的时代了,但节俭也毕竟是美德嘛。
当然,如果内部有硬性的规定,或是你的设计是要给老外用的,那还是用英文的好,因为它毕竟用得广啊。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值