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