oracle 开发设计一些规范经验

1 设计表过程中 尽量采用数据驱动思想

    比如说用户注册 因为业务情况 需要4个字段不同组合来表示用户从哪里注册的。 业务部需要不断扩展新的渠道来招揽用户,比如在某个网站做了广告。而不能在业务程序或存储过程直接修改

  update f_userinfo

   set   f_regchannel='新浪首页广告注册'

   where f_regurl='http://www.sina.com.cn'  and f_come='index.html' and f_cooper=7

 

    直接做到业务配置表 己所谓的基础表。 f_id,f_regchannel,f_regurl,f_come,f_cooper,f_channel.

    在过程中采用游标逐行读取,组合成动态SQL。

 

2  存储过程或者业务端逻辑程序 不能在代码中含有固定的 数值,字符,时间等条件。

    比如说 where name='shark'   and money=10000 这两个值应该存在配置表中。

    我们有很多理由来推脱,比如开发项目时候需求做的不够;项目时间太紧了;业务不断变化;没有测试部门。

    假如上面的条件 写成 这样 where name='shak'。

    当用户提出数据有问题,你去查发现数据少了几条,你增量跑数据,再次全量跑数据。发现还是少了!

    花费很大的时间,精力发现问题所在,免费加班加点哦! 还挨上司的骂,被用户投诉。

     就这个少写了r ,这个理由能推脱给其他人吗?

 

3  数据库所有的字段的值 要么全大写,要么全小写,去空格。 同上面的一样 细节问题。如果大小写混乱会对应用带来很多麻烦事。

 

4  所有表应该尾加 插入时间和更新时间字段。为的是程序能根据这两个字段来增量查询。

 

5  所有过程 要么全大写,要么全小写,采用一样的风格。不建议采用TOAD,PL/SQL DEVELOPER 自动风格。同一风格有利阅读。

select      to_char(f_regtime,'yyyy-mm-dd'),count(f_username)
from        t_userinfo t
where     f_regtime > to_date('2010-04-26','yyyy-mm-dd')
and         f_regtime < TRUNC (SYSDATE, 'D') + 1
group by to_char(f_regtime,'yyyy-mm-dd')
order by  to_char(f_regtime,'yyyy-mm-dd')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值