设计合理通用的数据库表

日期: 2010-12-29 作者:gaole 来源:TechTarget中国 英文

  数据库表在程序开发设计中占相当重的分量,一个好的数据表设计能给开发带来极大便利,看懂并吃透一个项目远比自己做好一个难的多,做过二次开发的朋友们都知道,刚进公司或者从别人手中接过来一个成品,让你在做好的基础上增加或者修改些功能的话!你就必须首先了解项目的业务逻辑,而业务逻辑直接和数据库关联,所以你还是先得了解数据库设计,了解各表之间的关系,然后在去调试程序,结合数据看看他到底做了些什么事情,不管是二次开发还是开发一个新项目!多花点时间在数据库设计上是有必要的!数据库设计的好坏直接关系到你对项目业务的一个掌握情况!当然也有的在不断做不断改数据库的情况,那是因为你还不是很熟悉整体的业务,当你做好一个软件而且投入到组织,企业或者工厂用的时候,基本能够满足别人的需求的时候,那就够了!

  不要过多的依赖存储过程 (当然有的时候还是很有必要的)

  1、存储过程的可移植性差,过多的采用存储过程也是个麻烦,试想从sqlserver移植到oracle数据库,那很多函数都不一样,那存储过程改起来也麻烦。

  存储过程更新升级维护困难 存储过程的更新和程序的更新不能达到一致

  存储过程没有版本控制 我们改了但是错了的话要还原到之前的样子就困难了

  存储过程调试不是很方便

  数据库字段名改名 编译后的存储过程没有提醒的功能,字段不能及时更新

  通常数据库表设计理念

  遵循基本的三大范式 你懂的!

  数据库只用来存储数据 别把过大的压力丢给数据库 别用过多复杂sql语句来进行运算

  不要把过多的字段放在一个表里面,根据查询需求能拆分尽量拆分

  设计用户表字段时,关联到权限的时候要有是否可读可写可删除 isread,iswrite,isdelete字段

  数据表名和字段名命名规范,达到一看就懂的地步

  字段类型是什么就定义什么 比如时间就定义为datetime,不要用varchar

  系统中的数据是不是很重要,如果很重要,在删除的时候就不要真的删除,添加删除标志isdelete,我们在查找的时候就根据标志来查询就可以了

  数据是否有效isenable 一般都要通过审核才能看到

  排序字段sort 设置显示顺序

  重要数据是谁删除的谁修改的字段createid createname createdate editid editname editdate,当出现问题的时候找谁,很有必要

  有必要的给字段加默认值 可以不输入的数据尽量不输 谁愿意输入很多东西啊

  让可以为空的数据 在设计的时候让字段允许为空

  备注字段note 给客户留有余地 不同的客户需求都不一样 我们很难满足所有的用户的需求

  数据库的优化

  3、字段类型 是什么类型就是什么类型 是时间类型就是datetime 别用varchar

  模糊查询最好不要用到两个以上的like语句,如果有int 和string的模糊查询,int用“=”去匹配,string用like去匹配

  主键加索引,对于经常查询的条件加上索引,如 where后面的条件

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

gaole
gaole

相关推荐

  • Notre Dame对云端SQL Server性能基准的探索实践

    确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。

  • DBA必须掌握的数据库恢复管理技术

    如果没有备份副本,数据库管理员就无法还原数据库,所以DBA在恢复之前倾向于考虑备份是合乎逻辑的。 但是,对我来说,这种逻辑一直是错误的。

  • DBA也要和领导抢饭碗?

    数据库架构师Ziaul Mannan 认为,DBA有成为高管的潜在可能,而这种潜力在过去往往被忽视,他还将证明DBA技能到领导力的转变是可行的。

  • Oracle备份和恢复简史

    这些年来,Oracle数据库备份和恢复方式已经发生了重大变化,特别是在Recovery Manager(RMAN)功能有了进一步改善之后。