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

简介:
望大家建立表格时,都按以下建议做一个参考。
  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,如需转载请自行联系原作者
相关文章
|
12月前
|
SQL 数据库
gbase 8a 数据库 shm满导致gclusterd进程异常
gbase 8a 数据库 shm满导致gclusterd进程异常
|
SQL NoSQL MongoDB
低代码使用问题之“规范化”和“反规范化”在设计数据库时应该如何权衡
低代码使用问题之“规范化”和“反规范化”在设计数据库时应该如何权衡
|
存储 BI 数据库
|
弹性计算 NoSQL 网络安全
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
软件开发常见之云数据库Redis连接不上如何解决,修改配置后,需要重启下redis服务,配置才能生效呢,是重启,而不是重载配置,最后导致的问题是点击了的重启,配置修改了之后必须点击重启,而不是修改
|
SQL 自然语言处理 网络协议
【Linux开发实战指南】基于TCP、进程数据结构与SQL数据库:构建在线云词典系统(含注册、登录、查询、历史记录管理功能及源码分享)
TCP(Transmission Control Protocol)连接是互联网上最常用的一种面向连接、可靠的、基于字节流的传输层通信协议。建立TCP连接需要经过著名的“三次握手”过程: 1. SYN(同步序列编号):客户端发送一个SYN包给服务器,并进入SYN_SEND状态,等待服务器确认。 2. SYN-ACK:服务器收到SYN包后,回应一个SYN-ACK(SYN+ACKnowledgment)包,告诉客户端其接收到了请求,并同意建立连接,此时服务器进入SYN_RECV状态。 3. ACK(确认字符):客户端收到服务器的SYN-ACK包后,发送一个ACK包给服务器,确认收到了服务器的确
337 1
|
存储 Java 数据管理
数据库三范式设计与规范化过程详解
数据库三范式设计与规范化过程详解
|
存储 数据库
数据库规范化的类型及其重要性
【8月更文挑战第1天】
233 0
|
NoSQL Java 关系型数据库
软件开发常用之若依修改之添加数据库,添加redis,利用RDM连接宝塔
软件开发常用之若依修改之添加数据库,添加redis,利用RDM连接宝塔
|
前端开发 JavaScript NoSQL
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库
软件开发常见流程之若依项目修改,前后端本地启动,本地必须有Redis+Navicate启动数据库
|
Ubuntu Unix Linux
如何使用 Supervisor 管理你的进程
**Supervisor** 是一款Python编写的进程管理工具,用于类Unix系统,确保应用服务持续运行。常用命令包括:`reload`(重新加载配置)、`status`(查看进程状态)、`shutdown`(关闭所有进程)、`start`和`stop`(控制单个进程)。在CentOS上安装Supervisor用`yum install -y supervisor`,配置文件通常在`/etc/supervisord.conf`。
423 0

热门文章

最新文章