`
ruilin215
  • 浏览: 1143937 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    OA数据库设计.docx

    在设计OA(Office Automation,办公自动化)系统的数据库时,我们需要考虑如何有效地组织和存储与办公相关的数据。以下是对给出的数据库表设计的详细解析: **1. 用户信息表(UserInfo)** - `UserId`:作为主键,...

    自考数据库系统原理试卷

    从给定的自考数据库系统原理试卷中,我们可以提炼出一系列关键的IT知识点,这些知识点不仅涵盖了数据库系统的基础理论,还涉及了数据处理、数据结构、数据库设计等多个方面。以下是对这些知识点的详细阐述: ### ...

    地理信息系统数据库设计与管理.ppt

    总结来说,地理信息系统数据库设计与管理是一项综合性的任务,涉及理解用户需求、分析现状、设计数据库结构、规划实施,并在过程中确保数据的一致性、可用性和可维护性。有效的GIS数据库设计对于地理信息系统的成功...

    数据库表结构设计参考.doc

    在数据库设计中,表结构是核心部分,它决定了数据如何被组织、存储和检索。以下是对给定文件中提到的数据库表结构设计的详细解析: 1. **外部单位表(DeptOut)** - 外部单位ID:作为主键,用于唯一标识每个外部...

    数据库设计文档实例.doc

    【数据库设计文档实例.doc】是一个详细的数据库设计文档,主要涵盖了XXX企业协同办公系统中的核心模块,包括了概念结构设计、实体和属性定义、属性约束等内容。以下是对这些模块的详细解释: 1. **概念结构设计**:...

    学生信息管理系统 数据库

    在本系统中,Tomcat服务器承担着以下关键职责: - **应用部署**:作为Web服务器,Tomcat负责接收和响应来自客户端的HTTP请求,将请求转发到相应的Web应用程序,并返回处理结果。 - **Servlet容器**:支持Servlet和...

    《实现领域驱动设计》中的源码(java版 & C#版)

    9. **战略模式**:如实体间的关系、继承结构等,可能反映了书中介绍的子域划分策略,如通用语言(Ubiquitous Language)、实体继承、聚合设计等。 10. **测试驱动开发**:高质量的源码通常伴随着良好的测试覆盖率。...

    权限管理设计

    总之,设计一个有效的权限管理系统涉及到数据库设计、权限分配策略以及权限与用户、角色之间的映射关系。通过这样的设计,业务系统能够确保用户只能执行其被授权的操作,有效地保护了系统的安全性和数据的完整性。

    系统权限设计详解.doc

    系统权限设计是构建安全、高效业务系统的关键环节,旨在确保不同职责的用户只能访问和操作他们应得的数据和功能。本文将深入探讨权限设计的基本原则、实现方式以及数据库结构设计。 1. **权限分配策略**: - **...

    java设计 原则61条

    在第16页指出,面向对象的设计中,确保系统内信息的一致性是非常重要的。这不仅有助于提高系统的可靠性,还能简化调试过程。 **原则4:实现合理的类结构** 在第16页还提到了类的实现应当合理,包括对类中方法的...

    江海学院学生成绩查询系统的设计与实现.docx

    数据库设计部分,介绍了实体关系模型(ER图)的绘制、表结构的设计以及索引的创建,以优化数据存取效率。功能设计和实现环节,逐一解析了学生管理、成绩管理等核心功能的逻辑流程和技术实现。 关键词:江海学院;...

    机房管理系统设计文档.docx

    关系模式进一步定义了数据库中各个表的结构和字段,包括数据类型、键约束等,确保数据的一致性和完整性。例如,可能有一个“设备表”包含设备ID、型号、状态等字段,一个“用户表”包含用户ID、姓名、权限等级等字段...

    实现领域驱动设计

    领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法,由Eric Evans在其同名著作《领域驱动设计:软件核心复杂性应对之道》中提出。这种方法强调将业务领域的复杂性作为软件设计的核心,通过与领域...

    某公司的部门职责.pptx

    【某公司的部门职责】这份PPT详细阐述了某公司在2002年8月12日时的部门架构和职责划分,旨在明确各个部门的工作内容,强化管理效能。以下是各个关键部门的主要职责: 1. **总经理办公室**: - 负责公司的战略规划...

    《oracle database administrator's guide》(10g)

    Oracle数据库是业界广泛使用的大型关系型数据库管理系统(RDBMS),由Oracle公司开发和维护。Oracle数据库10g是指Oracle的第10代产品,g代表Grid,即与网格计算有关的技术。 2. “Release 2”表示这是10g版本的第二...

    无主投递入户系统设计与实现1230-论文.zip

    这包括定义数据模型,如实体关系图(ER图),以及选择合适的数据库管理系统(如MySQL或SQL Server)来支持高效的数据查询和处理。 3. **用户界面设计**:无主投递入户系统的用户界面应当直观易用,以便邮政工作人员...

    苏州市相城中等专业学校教务管理系统的设计与实现.docx

    权限分配通过关联用户表和权限信息表来实现,通过用户编号和栏目编号建立多对多的关系,这通常涉及到数据库设计中的关系模型。例如,使用checkbox控件可以让管理员方便地选择和分配权限,如果某个菜单项的...

    通用权限系统设计说明书

    通用权限系统设计旨在确保不同职责的用户在操作系统时拥有适当的操作权限,提高管理效率并确保系统安全性。在大型企业业务系统中,权限管理是至关重要的,因为它允许管理员批量分配权限,避免了为每个员工单独设置...

Global site tag (gtag.js) - Google Analytics