关于[一个基于WF的业务流程平台]表设计的说明
2009-02-11 23:54
453 查看
数据库的主键设计说明
在我发布的例子 一个基于WF的业务流程平台 中,N12345B 问到
//
所有的数据结构都几乎使用了Guid这一数据类型作为ID,而这个ID的作用仅仅作为流水号吗?所有表之间的关系都并未用到这一ID标识,而使用的是 xxxNo之类的
//
在这里,我对这个Guid的使用原因说明一下
为什么为每个表都加一个Guid列
这是因为我要处理并发,说明如下:使用了Guid列,是为了让每条记录在全开库有一个唯一标识,
我通常会在内存中根据需要维护这样一张表
Guid | UserID | State |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 001 | |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 002 | |
76C43F0D-F39E-458b-9E40-D4D70703FF2E | 003 |
当用户[001]查询某条记录时,如果他选中[他人修改后立即通知我],选项时.
服务器端会将该用户查询的记录的Guid与UserID添加到上面的表中.
当某条记录被修改后,系统会到上面的表中查找该记录的Guid是否被注册,如果被注册,则向对应的UserID发一通知.
当然,这只是这个Guid的一个应用,我在做并发修改仲裁时,也用这个Guid,关于这方面,我以后专门写一篇文章介绍
为什么Guid列要做主键
先鄙视一下自已的懒惰(^_^)在使用Linq To Sql时,表要的主键,主键不能修改,所以我就用Guid做主键了,而业务主键就让我做成了唯一键
相关文章推荐
- 基于WF设计业务流程平台_参与者与任务列表
- 基于WF设计业务流程平台_同一流程多种状态
- (WF索引)基于WF设计业务流程平台
- 基于WF设计业务流程平台-架构
- 基于WF设计业务流程平台-权限体系
- 基于WF设计业务流程平台_工作域与一人多部门多职能
- 基于WF设计业务流程平台_权限在流程模板外部映射
- 基于WF设计业务流程平台_参与者的权限
- 一个基于WF的业务流程平台
- 基于WF设计业务流程平台_流程的层次
- 基于WF设计业务流程平台-架构
- 基于WF设计业务流程平台_数据冲突
- 基于WF设计业务流程平台_消息收集、通知接口
- 基于WF设计业务流程平台_特定群体与特定人
- 一个基于WF的业务流程平台
- 基于WF设计业务流程平台_功能列表
- 一个基于WF的业务流程平台
- 基于WF4的新平台-表单设计器功能更新说明
- 关于iMatrix平台流程引擎事件处理之业务补偿分析
- 基于地图的工作流设计器,及基于地图的业务流程办理界面(三)