工作流数据库表设计-ASP.NET】的更多相关文章

公司准备开发一套工作流引擎,以前没有什么OA开发经验,也是第一次设计工作流引擎,我把我的一些思路分享一下,希望得到些帮助或者能帮助到一些人. 产品的定位: 1.能够做到前后端分离 2.可以做到项目的分离使用,通过接口来实现 3.支持复杂流程逻辑 例如: 填写加班表单->多人审核=>退回=>填写证明人=>指定人审核=>通过 或者 等等. 设计思想 一.通过对审批流程的分解可以得到三个动作  ,然后对这三个动作进行更细的分析得出结果如下:  1.提写表单 表单表:例如加班单 表单…
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都有,也可以说与我一样困惑的有好多人.感谢大神在网上的活跃,我知道了一对一关系存在的必要性. 1.首先就是这种关系出现的场景是什么样子,最好可以举个实际中的需求. 这样的场景有很多,比如:就拿最普通的用户信息来说,数据库中有一个表为user,一个表为user_auth.user表主要存放的字段为用户基…
表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与管理上,或多或少,会犯一些错误.笔者今天就谈谈自己在这方面的经验与教训,或许能够给大家一些警示作用. 表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计…
数据库表设计这块学问比较多,我这里单从互联网角度出发同时结合Innodb的特性给出一些设计方法供大家参考.本文构建大概分两分部分:Innodb的特性及设计中如何利用这种特性. Innodb特性: Innodb是索引聚集表, 存储结构是BTREE Innodb的表的数据存储是有顺序的,默认是以主建排序,主建即是数据本身,不单独存放. 如果没有主建,Innodb以第一个唯一索引排序,如果连唯一索引也没,Innodb内部会产生一个6字节的字段排序(这个也是性能杀手,所以对这块如果不想花太多时间去想这个…
一个简单的用户登录系统 用户有账号密码,登录ip,登录时间 打开登录页面,输入用户名密码 登录日志,可以记录登陆的时间,登陆的ip 成功登陆了的话,就更新用户的最后登入时间和ip,同时记录一条登录记录 大致就是这样子 ----------------------- 创建数据库 navicat在localhost里面新建数据库 名字:sprinEg   编码utf-8 注意:字段名字使用navicat的时候不要有空格,否则会直接报错的 建立用户表 CREATE TABLE `t_user` ( `…
这是我的ERP设计经验分享系列,今天讲的是数据库的表设计(1),主要阐述: 1.单字段的主键:2.使用int32作为主键类型:3.使用版本字段处理乐观锁定:4.生效字段标明是否允许“被使用”:5.锁定字段处理悲观锁定:6.行唯一字段处理分布式应用:…
Activiti的后台是有数据库的支持,所有的表的表名都以ACT_开头,表名的第二部分是用来表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository 仓库. 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等). ACT_RU_*: 'RU'表示runtime 运行时. 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据. Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录. 这样运行…
ACT_ID_*:与权限,用户与用户组,以及用户与用户组关系相关的表 ACT_RU_*:代表了流程引擎运行时的库表,RU表示Runtime ACT_HI_*:HI表示History当流程完成了节点以后,就将其迁移到历史数据库表 ACT_GE_*(通用数据库 )涉及到两个表: act_ge_property:属性表,保存一些流程引擎的kv键值属性 对应数据库实体:PropertyEntityImpl act_ge_bytearray:资源表,存储的是一些流程定义的资源信息(包括流程定义文件xml.…
Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repository. 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等). ACT_RU_*: 'RU'表示runtime. 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据. Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录. 这样运行时表可以一直很小速度很快.…
经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 #一张表对应一个类 class UserInfo(Base): #把表名赋给静态字段 __tablename__ = 'userinfo' #序号nid,用户名username,密码password,邮箱email,创建时间ctime #一行数据就是一个对象 nid = Column(Integer, primary_key=T…
本篇为struts-2.5.2和spring-3.2.0以及hibernate-4.2.21的整合开篇. 一.测试的数据库表. 用户.角色和权限关系表.数据库是Mysql5.6.为了考虑到一些特殊数据类型处理,用户表(类)中加入日期(birthday-Date)和枚举(gender-Gender)类型. 用户.权限和角色的数据库设计,使用用户.角色和权限,多表查询的设计(关系如上图).如果多对多的关系应该可以设计如下.(用户和角色) 1.User.hbm.xml User.java中有一个Set…
经过我们上次分析,数据库要有最基本的四张表,用户表,消息表,类型表,点赞表,评论表,接下来我们看着怎么设计吧 首先我们要清楚,表设计的代码是写在models下的 用户表 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #一张表对应一个类 class UserInfo(Base):     #把表名赋给静态字段     __tablename__ = 'userinfo'     #序号nid,用户名username,密码password,邮箱emai…
在开发工业系统的数据采集功能相关的系统时,由于数据都是定时上传的,如每20秒上传一次的时间序列数据,这些数据在经过处理和计算后,变成了与时间轴有关的历史数据(与股票数据相似,如下图的车辆行驶过程中的油量曲线.历史轨迹数据等).当采集点多的时候,如上万个采集终端,再加上时间的累积,数据表会变得越来越大.数据库会越来越难以维护. ​ 对历史数据操作的功能有历史数据的查询.统计图表曲线显示等等.而这些基于组合条件的历史查询功能和图表显示功能对数据库的压力可不小,如果听之任之,则海量的数据查询.统计计算…
数据库脚本 drop table crm_user_info; drop table crm_work_customer_relation; drop table crm_business; drop table crm_travel; drop table crm_contact_log; drop table crm_order; drop table crm_order_detail; drop table crm_gods; drop table crm_judge; drop tabl…
一.设计问题? 1.主键是用自增还是UUID ? Innodb 中的主键是聚簇索引. 如果主键是自增的,那么每次插入新的记录,记录就会顺序添加到当前索引节点的后续位置,当一页写满,就会自动开辟一个新的页.如果不是自增主键,那么可能会在中间插入,就会引发页的分裂,产生很多表碎片!UUID(Universally Unique Identifier)全局唯一标识符,是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的,是由一个十六位的数字组成,表现出来的形式.由以下几部分的组合:当前…
Activiti工作流引擎数据库表结构 数据库表的命名 Acitiviti数据库中表的命名都是以ACT_开头的.第二部分是一个两个字符用例表的标识.此用例大体与服务API是匹配的. ACT_RE_*:’RE’表示repository.带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等). ACT_RU_*:’RU’表示runtime.这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据.Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删…
http://mp.weixin.qq.com/s/a8klpzM5iam0_JYSw7-U4g 我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设计,都会添加 一个 parent_id 字段,比如区域表(国.省.市.区): CREATE TABLE Area ( [id] [int]  NOT NULL, [name] [nvarchar]  (50) NULL, [parent_id] [int]  NULL, [type] [int]  …
水电缴费管理系统数据表设计 SQL建表脚本: 1 --建表 2 --管理人员表 admin 3 create table admin( 4 admin_id varchar2(3) not null, 5 admin_loginname varchar2(8) not null, 6 admin_password varchar2(6) not null, 7 admin_username varchar2(4) not null, 8 constraint pk_admin primary k…
pgsql表设计中,有时候涉及到日期和时间字段需要分别处理的情况,这个时候可以使用date和time字段分别定义两个字段的属性 对应的实体类可以使用LocalDate和LocalTime去做映射 环境: MybatisPlus3.1 pgsql Jdk8…
一.表设计过程中应该注意的数据类型 1)更小的通常更好 控制字节长度 2)使用合适的数据类型: 如tinyint只占8个位,char(1024)与varchar(1024)的对比,char用于类似定长数据存储比varchar节省空间,如:uuid(32),可以用char(32). 3)尽量避免NULL建议使用NOT NULL DEFAULT '' 4)NULL的列会让索引统计和值比较都更复杂.可为NULL的列会占据更多的磁盘空间,在Mysql中也需要更多复杂的处理程 二.索引设计过程中应该注意的…
一: 设计表: user:   ID,  PWD,  name,  type archiveRecord:     referdate,   archiveNum,   owner,   user,  status,   returndate. 二: 数据库操作接口实现: 新建用户:user表, 管理员类型可以增加,删除,修改 用户. 对archive表:  增加, 删除, 改 archive检索: 6个字段可以组合查询:…
转自:https://cloud.tencent.com/developer/article/1164332 简介: 目的: 电商常用功能模块的数据库设计 常见问题的数据库解决方案 环境: MySQL5.7 图形客户端,SQLyog Linux 模块: 用户:注册.登陆 商品:浏览.管理 订单:生成.管理 仓配:库存.管理 电商实例数据库结构设计 电商项目用户模块 用户表涉及的实体 改进1:第三范式:将依赖传递的列分离出来.比如:登录名<-用户级别<-级别积分上限,级别积分下限 改进2:尽量做…
1 数据库设计 1.1 表关系梳理 仔细思考业务关系,得到如下表关系图 1.2 用户表结构 1.3 分类表结构 id=0为根节点,分类其实是树状结构 1.4 商品表结构 注意价格字段的类型为 decimal 1.5 支付信息表结构 1.6 订单表结构 乍一看,有必要搞这么多种的时间嘛?有以下诸多原因 前端显示需要,那就必须存着呀! 方便定位排查问题,比如某用户投诉某订单一直不发货,肯定就需要时间去定位 方便数据分析,比如需要计算从用户支付到最终发出商品的平均时间 根据订单状态确认相应订单时间 1…
1.邻接表(Adjacency List) 实例:现在有一个要存储一下公司的人员结构,大致层次结构如下: 那么怎么存储这个结构?并且要获取以下信息: 1.查询小天的直接上司. 2.查询老宋管理下的直属员工. 3.查询小天的所有上司. 4.查询老王管理的所有员工. 方案一.(Adjacency List)只存储当前节点的父节点信息. -- -- MySQL树结构 -- -- Author: xielong Email:cnxielong@gmail.com -- -- 建表 -- DROP TAB…
关于省市县的数据表的设计有两种方式: 一.将其设计成一张表 DROP TABLE IF EXISTS `system_district`; CREATE TABLE `system_district` ( `district_id` ) unsigned NOT NULL AUTO_INCREMENT COMMENT '区域ID', `parent_id` ) unsigned NOT NULL COMMENT '父ID', `district_name` ) NOT NULL COMMENT…
1.选择优化的数据类型 MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要.不管选择何种类型,下面的简单原则都会有助于做出更好的选择: (1).更小通常更好 一般来说,要试着使用正确地存储和表示数据的最小类型.更小的数据类型通常更快,因为它们使用了更少的磁盘空间.内存和CPU缓存,而且需要的CPU周期也更少. 但是要确保不人低估需要保存的值,在架构中的多个地方增加数据类型的范围是一件极其费力的工作.如果不确实需要什么数据类型,就选择你认为不会超出范围的最小类型. (…
float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算.(28个有效位) numberic === decimal float f = 345.98756f;//结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入.double d=345.97542357863…
收集资产代码流程 1.起初我们些的代码是面条式的一堆的逻辑判断.   后来通过了不断的优化升级实现了一个3种方案都支持的CMDB系统,我们用哪种方案只需要在配置文件里修改一下设置就行了.   同时我们借鉴了django的中间件设置还实现了可插拔式的功能,这个可插拔式针对的是我们要收集的某些硬件信息,只需要注释一下,就可以达到不用搜集了. 2.流程: 1.settings: MODE----->确定哪种方案([3个方案py文件]) 确定哪种脚本([agent脚本,ssh(paramiko),sal…
Java秒杀简单设计二:数据库表Dao层设计 上一篇中搭建springboot项目环境和设计数据库表  https://www.cnblogs.com/taiguyiba/p/9791431.html 在此基础上设计数据库表Dao层代码 1.数据库表设计 项目涉及到两张表,seckill:秒杀库存表,success_killed:秒杀成功明细表 seckill:秒杀库存表 CREATE TABLE `seckill` ( `seckill_id` bigint() NOT NULL AUTO_I…
前言 日常开发业务代码,新接手一块不熟悉的业务时需要频繁的查看对应业务的数据库表设计文档.相比于直接翻看业务代码,有必要提供一个数据库表结构文档查看器来解决这些繁琐的问题. CML.SqlDoc CML.SqlDoc 是基于netcore开发的数据库表结构文档查看器,通过简单的配置部署即使用, 数据库表结构文档查看器支持MSSql MySql多数据库 界面呈现 如何部署 *appsettings.json 数据库连接以及库名写入配置文件 格式如下 { "ConnectionStrings&quo…