今天和领导讨论组织结构中的职责归属的时候,讨论到TMT(技术委员会)和CTT(公共技术小组)中(TMT是CTT的上层组织),如果有大的攻关技术任务,是将职责归属到CTT好呢,还是将职责归属到TMT好。

我以为CTT负责好,第一是因为我在CTT;第二我认为TMT是做决策的,具体的事情就该CTT来做。但是领导认为应该属于TMT。原因是这样的,组织中职责是分解的,如果归属到TMT,TMT就会负责CTT具体做的事,否则,由于TMT中没有明显参与,导致TMT最后不清楚CTT做事的方向,最后干脆不负责任。

简单点说,职责归属放到TMT,是因为需要从上而下的职责链关系的存在!

我想到这和数据结构中的单向链表的结构非常相似。更准确的数据结构应该是链式单向树。根记住叶子的指针,这样根就会对叶子的生命周期负责。

更想起数据库中关系的设计,原以为和链表的关系类似,后来却发现还有很大的不同的地方。我们知道,数据库中表和表的关系包含:一对多、多对多、一对一。一对多中的关系指针,其实是记录在子表中的。一对一的关系中,也是一样。记录关系的表,一般都是附属信息表。

为什么数据库中的关系设计会和组织结构中的设计存在这些差异呢?其实这个时候,我们如果再引入数据的内存结构,就会发现,内存的关系归属和组织结构是一样的。于是我们可以先使用内存结构和数据库关系来分析一些原因,以帮助我们更深入地理解:

  1. 内存结构是为了运行;数据库关系是为了保存持久化。
  2. 内存结构强调快捷直接;数据库关系强调独立持久
  3. 内存结构有容量限制;数据库关系可以无限扩大

这些可能是我们以往容易忽视的地方。但是细究下去,却会发现,原来持久化设计和运行机制设计是完全不一样的设计原则。这里面最重要的就是,内存结构强调关联,而数据库强调分离。因为持久化设计中,儿子只要知道父亲就可以了,父亲不需要知道自己有几个儿子。而在内存结构设计中,则倾向于父亲应该知道自己有多少儿子,但儿子是否知道父亲,可以忽略!

关键是什么?效率!内存结构强调效率,如果从儿子找父亲,比较麻烦。殊不知多少儿子找爸爸的悲惨故事发生。而父亲如果知道儿子,那么一般都是生活在一起,父亲找儿子就简单多了。

好了,一个简单的问题,我在这里啰嗦了半天。权当为设计爱好者提供一些讨论的论资吧。

转载于:https://blog.51cto.com/xiammy/606298

从职责归属看数据库中关系设计相关推荐

  1. MySQL的关系模式集是什么_数据库中“关系模式”的定义是什么?

    展开全部 数据库中"关系模式"的定义是对关系的描述,其必须指出这个元组集合的结构,也就是它32313133353236313431303231363533e4b893e5b19e3 ...

  2. 怎样根据字段域查找到其在数据库中关系与属性

    Infor SyteLine ERP中,很多时候需要做维护,我们需要从打开的window窗口的form中某一个输入Textbox域或是DropDownList域,去找到它是绑定了数据库中的哪一张表,哪 ...

  3. 数据库中关系有哪些性质(结合例子自己理解)

    本博文源于<数据库原理及应用>,旨在讲述关系的性质.加入,面试官突然问这种问题,是不是有点诚惶诚恐,我可能会.所以我就记录回答了. 1.列是同质的,即每列中的数据必须来自同一个域,具有相同 ...

  4. 关于数据库中关系代数的一些理解(一)

    目录 一.首先我们来了解一下什么是关系代数 二.关系代数的分类 三.常用的关系代数的使用以及含义 一.首先我们来了解一下什么是关系代数 关系代数是以关系为运算对象的一组高级运算集合,显然这样的解释 较 ...

  5. 在oracle数据库中存储数据库的文件是,Oracle数据库,oracle

    数据库结构和空间管理 一个ORACLE数据库是数据的集合,被处理成一个单位.一个ORACLE数据库有一个物理结构和一个逻辑结构. 物理数据库结构(physical database structure ...

  6. 数据库中的实体、元组、字段、属性、码、分量、依赖关系、完全部份传递依赖、范式等你了解吗?【笔记自用】

    我们读不同的描写数据库的文章,会看到不同的概念名称,从某种意义上来讲,是公说公有理,婆说婆有理的问题,只是个人理解不同而称呼有异,这也给一些人,尤其是初学者带来一定的困扰,鉴于此,特整理<数据库 ...

  7. 手机来电通核心模块——归属地数据库设计(Winsym原创)

    说到Symbian,确实让人头痛.不仅开发平台和SDK版本众多,难以选择,而且对程序员确实要求很高,光是Symbian C++的熟悉就要花上很长时间,更麻烦的是测试和调试.模拟器只能提供一部分功能,和 ...

  8. 手机来电通核心模块——归属地数据库设计(Winsym原创) 1

    说到Symbian,确实让人头痛.不仅开发平台和SDK版本众多,难以选择,而且对程序员确实要求很高,光是Symbian C++的熟悉就要花上很长时间,更麻烦的是测试和调试.模拟器只能提供一部分功能,和 ...

  9. 什么是数据库中的一对多关系?

    一对多关系是最常见的数据库关系之一.如果您想了解何时以及如何使用一对多关系,那么本文是一个很好的起点. 您肯定会使用一对多关系将信息存储在任何关系数据库中,无论您是在设计企业级软件还是只是创建一个简单 ...

最新文章

  1. 探子报!双十一紧急军情!!!
  2. Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压...
  3. win10系统下安装Navicat for MySql 连接出现错误解决方法
  4. SAP MB51物料凭证清单程序增强增加四个字段
  5. Cloud for Customer动态控制任意UI element的visibility
  6. 宇视摄像头ip搜索软件下载_搜索资源?下载资源?一款软件就给你安排的妥妥的...
  7. Android 系统(153)--- M上默认接入点apn显示
  8. 删除js数组中制定内容
  9. @Resource和@Autowired小笔记
  10. 在虚函数 声明中写override的作用
  11. 自动化运维之saltstack
  12. hosts文件位置和修复hosts文件
  13. 【linux多线程】c++多线程的几种创建方式
  14. JS实现拼音搜索汉字(支持首字母匹配)
  15. 蓝桥杯 算法训练 跳马
  16. php ua解析,UA识别有什么用?
  17. 邮箱格式,好用的商务邮箱推荐
  18. python培训班哪些比较好-python培训机构哪家好?怎样选择python培训机构?
  19. ETL 与 ELT的关键区别
  20. 解决Paragon NTFS for Mac安装分卷失败的办法

热门文章

  1. 【转】Java基础知识整理
  2. ssm框架的整合搭建(一)
  3. Hadoop权威指南学习笔记三
  4. java程序员的NodeJS初识篇
  5. wampserver 绑定域名 外部可以正常访问
  6. 学习动态性能表(20)--v$waitstat
  7. JS拼凑方法之join
  8. C# HttpHelper帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取...
  9. 利用Log Explorer将你已经delete,truncate,drop过的数据进行恢复
  10. 改善DataGrid的默認分頁使其更友好