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