数据库的主键设计说明

在我发布的例子 一个基于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做主键了,而业务主键就让我做成了唯一键

转载于:https://www.cnblogs.com/foundation/archive/2009/02/11/1388722.html

关于[一个基于WF的业务流程平台]表设计的说明相关推荐

  1. 一个基于WF的业务流程平台

    一个基于WF的业务流程平台 过年了向所有学习WF,关注我的博客的朋友们问个好,发布一个我用WF开发的工作流平台,供大家参考 这个平台适合于以审批为主业务的工作环境,可以做为一个产品直接使用(已有公司在 ...

  2. ​QGIS Cloud 一个基于云的 GIS 平台

    地理信息系统云 QGIS Cloud 是一个基于云的 GIS 平台,允许用户创建.编辑.共享和发布地理空间数据和地图.它建立在开源 QGIS 软件之上,提供了一个用户友好的界面来管理地理空间数据. 优 ...

  3. 知乎基于Kubernetes的kafka平台的设计和实现

    我是知乎技术中台工程师,负责知乎存储相关的组件.我的分享主要基于三个,第一,简单介绍一下Kafka在知乎的应用,第二,为什么做基于Kubernetes的Kafka平台.第三,我们如何去实现基于Kube ...

  4. 白瑜庆:知乎基于Kubernetes的kafka平台的设计和实现

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文首发在云+社区,未经许可,不得转载. 自我介绍 我是知乎的技术中台工程师,现在是负责知乎的存储相关组件.我的分享主要基于三个,一个是简单 ...

  5. 招标php,基于ThinkPHP框架招投标平台架构设计.doc

    基于ThinkPHP框架招投标平台架构设计 基于ThinkPHP框架招投标平台架构设计 摘要:本文基于招投标平台的需求分析,比较了国内外流行的几种MVC框架,选择ThinkPHP框架进行架构设计,后台 ...

  6. 一个基于X86的小型中文操作系统的设计、编码与调试http://www.mcuol.com/Tech/207/1289.htm

    一个基于X86的小型中文操作系统的设计.编码与调试 2006-11-22      嵌入式在线      收藏 | 打印 简介:本文通过一个基于X86的小型中文操作系统的建立过程,说明了一个小型操作系 ...

  7. 基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署

    基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA汽车租赁平台的设计与实现计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技 ...

  8. 计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署

    计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署 计算机毕业设计ssm基于SSM的资产管理平台的设计与实现hx448系统+程序+源码+lw+远程部署 ...

  9. java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署

    java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署 java毕业设计基于的电商平台的设计与实现Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 ...

最新文章

  1. 四十六、利用yarn多队列实现hadoop资源隔离
  2. [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
  3. QUrl不同版本之间的坑
  4. 【Tools】Visual Studio 2010下载和安装
  5. 北京邮电大学c语言按要求输出_C语言经典100例004-统计各个年龄阶段的人数
  6. presto联合查询mysql和ES_presto-mysql/elasticsearch6.0.0安装部署测试,异种数据源关联查询入门实践...
  7. 陕西省2021年高考成绩结果查询,陕西招生考试信息网:2021年陕西高考成绩查询入口、查分系统...
  8. Kubernetes学习总结(18)—— Kubernetes 容器网络
  9. 智慧楼宇物联网公司En-trak获Pre-A 轮融资
  10. 目标检测面试问题非极大值抑制
  11. DelphiWebMVC框架实现对Redis支持
  12. android微信代码大全,微信满屏表情代码大全复制
  13. 教你ogg怎么转mp3格式
  14. Ubuntu Apt 如何使用清华源
  15. 提升个人效率减少焦虑——GTD法则
  16. Dracula theme
  17. 画洗碗机器人的思维导图_怎样用思维导图来协助家务整理?
  18. open-falcon详解
  19. 百战程序员python资源_【百战程序员】Python 文件I/O
  20. 最新易支付系统源码/二开木呆+商业版的

热门文章

  1. oracle 列级外键,Oracle 中的外键与锁
  2. 二叉树的后序遍历Python解法
  3. 幼儿园带括号算式口诀_这么全的小学数学速算技巧、口诀不多见,教给孩子挺不错!...
  4. python中词云图是用来描述_python中实现词云图
  5. python unpack infinity_fit_转换出错:输入包含NaN、infinity或对dtype(“float64”)太大的值...
  6. 【火爆全网,好评如潮】DS100手持示波器现货发售拉,附原子哥发布会详细讲解视频以及宣传视频...
  7. python打印小猪佩琪_极度舒适的 Python 入门教程,小猪佩奇也能学会~
  8. ios点击大头针气泡不弹出_画家双手抖不停,画不了画丢了工作,却迎合抖动创造出一个个奇迹...
  9. html5简介的文本框,HTML5实战与剖析之表单——文本框脚本
  10. 如何把图片转为html,如何将原始十六进制图像转换为html图像