隐士的数据库编码规范草稿

隐士草拟的一份数据库编码规范,如欲转载,请注明来源http://blog.csdn.net/nethermit/,欢迎大家和我讨论,隐士思考还不成熟,欢迎拍砖。贴过来,格式有些被破坏了,各位海涵。

  1. 数据库命名规范
    ●数据库名称一般以项目名、网站子域名为准
    ●数据库名称由英文字母和数字组成,如无必要不要引入数字。
    ●英文字母必须由完整的英文单词组成,允许使用常见的所写。
    ●单词间以下划线分隔,全部字母小写,如:my_mdbchinavideo_mdbchinawww_mdbchina
  2. 数据表命名规范
    ●数据表必须根据该表功能来命名。
    ●单词间以下划线分隔,全部字母小写。
    ●含有多条数据的必须以英文名词复数结尾,如不知如何用英文起名,请参考英语词典、IMDB以及咨询系统架构师。
    ●不得起意义含糊不清的表名,表明长度不可过短以至意义模糊,稍长一点不会影响开发效率。
  3. 字段命名规范
    ●字段名必须根据该字段功能来命名,采用驼峰命名法,首字母小写,一般以名词单数结尾。
    ●其他同表名命名规范。
  4. 所有表必须有以下字段
    creationDate (Date)和lastModifiedDate (Date),在插入记录时creationDate和lastModifiedDate均为当前数据库时间,在更新任何字段时均同时更新lastModifiedDate为当前数据库时间,不建议用触发器来实现这一功能,今后开发此功能应该在每条更新语句中添加同步更新lastModifiedDate的功能。
  5. SQL语句书写规范
    ●SQL语句中所有关键词必须全部大写,能够参数化的必须用参数化方式写。
    ● 所有自定义变量采用首字母小写的驼峰命名法,所有自定义函数、存储过程采用首字母大写的驼峰命名法。
    ● 对于过长的SQL语句必须分行写,原则上不得出编辑器窗口。
  6. 全局设计
    尽力避免写触发器、存储过程:将相应功能做成数据访问层提供统一接口给业务逻辑层使用。未来将禁止任何触发器、存储过程,因为触发器、存储过程或多或少消耗了数据库的资源,且跨数据库支持极差,数据库达到设计极限后无法横向扩展,将上述移至Web Servers的数据访问层后,消耗的是Web Servers的资源,使数据库仅仅做执行SQL语句的事情,而不是参与运算业务逻辑,鉴于Web Servers可以简单横向扩展,未来开发必须要避免写触发器、存储过程,直至有一天取消所有的此类应用。今后全新项目的开发中如必须要写触发器、存储过程,必须征得系统架构师的同意,如果擅自写的话,需要承担相应的加班修改的风险。
    数据表要合理设计:对于新项目,所有数据表设计必须征得系统架构师的同意,对于现有项目,可与系统架构师探讨。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值