希望这些建议,能推动管理软件开发的规范化进程 (数据库版本、修改记录)

望大家建立表格时,都按以下建议做一个参考。
  1. Enabled int 4 数据是否有效
  2. DeleteMark int 4 数据是否已经删除
  3. AllowEdit int 4 数据是否允许被编辑
  4. AllowDelete int 4 数据是否允许被删除
  5. SortCode nvarchar 50 数据的排序顺序
  6. StateCode nvarchar 50 数据的审核状态等
  7. Description nvarchar 800 数据的备注
  8. CreateUserRealname nvarchar 50 数据是谁创建的
  9. CreateUserID nvarchar 50 数据是谁创建的主键
  10. CreateDate datetime 数据是什么时候创建的
  11. ModifyUserRealname  nvarchar 50 数据谁谁最后修改的
  12. ModifyUserID nvarchar 50 数据谁谁最后修改的主键
  13. ModifyDate datetime 数据是最后什么时候修改的
Enabled 表示:数据是否已经生效了,例如有一个职员输入的数据需要审核后,才能生效。
SortCode 表示:数据的排序顺序,例如数据不是用姓名排序的,又没有统一的工号,也没有其他排序依据,而是需要人为设置排序顺序的。
StateCode 表示:数据的当前审核状态是什么,例如驳回还是审核通过等等状态相关信息。
Description 表示:不管你输入页面做得再详细,老是会缺少一些信息的输入,这时候备注字段就起大作用了,希望大家都能多留一个字段。
CreateUserRealname 表示:
CreateUserID 表示: 这个数据是谁输入的,你看了输入的数据,都不知道这个数据是谁输入的,那惨了,以后出了事情都找不到人。
CreateDate 表示:这个数据是什么时候被输入到系统的。
ModifyUserRealname 表示:
ModifyUserID 表示:这个数据表示数据最后是谁修改的?谁把数据给改错了?那总得能找个责任人吧?疯狂批评一下下,哈哈。
ModifyDate 表示:这个数据是最后什么时间被修改的。
 
当然以上表格的设计,还有其他作用。
1. 防止并发修改数据,例如两个人同时在修改数据时,可以通过 ModifyDate 来防止冲突发生。
2. 例如需要适当的修改时锁定数据功能,可以通过 ModifyUserID 字段来实现。
3. 当然防止并发冲效突,用int类型的效率会更高一些,VersionNumber
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。



本文转自 jirigala 51CTO博客,原文链接:http://blog.51cto.com/2347979/451737,如需转载请自行联系原作者
上一篇:如何在Linux服务器中隐藏PHP版本


下一篇:【错误记录】TabLayout 升级支持库版本后报错 ( support:design 支持库升级到 28.0.0 后源码发生变更 )