`
MyDicta
  • 浏览: 18838 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

数据库时间段合并

 
阅读更多

数据库时间段合并

 

项目中遇到一个有意思的业务需求,涉及到时间区间的合并与拆分;简化描述一下: 

假定系统中有两类用户:甲方,暂称债务人;       乙方,暂称为债权人 

    债务人和债权人之间可以生成许多实体对象;若当债务人与指定的债权人签订协议后,就意味着双方存在了关系,此时就要求对关系双方的实体对象打上标记,标记分三种,分别为:当前、已终止、没关系() 大概就是这个意思,当然实际中还有其它细节,这里就捡主要意思说。 

补充说明一下:因债务人针对每一笔协议可选择多个债权人,为体现其一对多关系,所以设计了两张表,协议表协议-债权人表。其中,协议可以是未来生效的协议,并且债务人针对同一债权人可以上传多笔协议,能自由维护债权人列表(即:添加和剔除债权人)

库表: 

    协议表(b_refactor_finance) 

Name

Type

Comments

Refactorfincode

Varchar2(28)

协议编号

Debtororgcode

Varchar2(30)

债务人

Begindate

Date

协议起始日

Enddate

Date

协议到期日

Createddate

Date

创建时间

      协议-债权人表(b_refactorfin_creditors) 

Name

Type

Comments

Id

Number(27)

序号

Refactorfincode

Varchar2(28)

协议编号

Creditororgcode

Varchar2(30)

债权人

Status

Varchar2(1)

用户状态(0-启用,1-停用)

Createddate

Date

启用时间

Stoppeddate

Date

停用时间

 

       初步想法,应该都趋向于采用即时查询;也就是当需要展示标记时,即时判断实体的生成时间是否落在某笔协议内,然后再判断协议是否当前有效(即当前时间位于协议起始之间) 就能够把三种标记区分开来。 

         但实际业务中可能存在另一种情形(如图一) 

  

图一 

假定当前时间为10月,双方第一笔协议起始时间为1 - 6月;在这期间债权人上传了一笔账款,从当前来看,此账款标识应为关系已终止;若又存在另一笔协议起始时间为4 - 12月,此时双方关系的时段就应算这两笔协议时段的合并,即1 - 12月,账款标记为当前关系。也就是当协议时段存在重叠时,会导致关系时段被扩展,原打上的标记就不对了。 

         为解决此问题,需新加一张债务/债权人关系表,记录双方的关系区间。当协议相交时则合并;反之,协议终止则拆分。 

    库表: 

    债务人/债权人关系表(b_refactorfin_c_d) 

Name

Type

Comments

Id

Number(27)

序号

Debtororgcode

Varchar2(30)

债务人

Creditororgcode

Varchar2(30)

债权人

Begindate

Date

关系起始日

Enddate

Date

关系到期日

 

         关系时段维护思路:(新增协议和协议终止实则为债权人被加入或移出协议的过程) 

  

关系维护流程图 

附件为Oracle过程代码

 

  • 大小: 3.5 KB
  • 大小: 40.7 KB
0
1
分享到:
评论

相关推荐

    达梦数据库_SQL语言手册

    在未来相当长的时间里,仍将是数据库领 域以至信息领域中数据处理的主流语言之 由于不同的产品,大都按自己产品的特点对语言进行了扩充,很难完全符合 标准。目前在 市场上已将的符合夲作为衡量产品质量的重要指标,...

    数据库设计教案.docx

    四、数据库维护和管理 1、数据库调整 数据库运行一段时间后往往产生一些不适应的情况,需调整,由DBA(数据库管理员)完成。 调整包括下面内容:调整关系模式与视图使之更能适应用户的需求;调整索引与集簇使数据库...

    数据库技术VB编程小例子源码小合集打包下载.rar

    MSFlexGrid 中输入资料、在DBGrid中实现下拉列表和单元格计算、在MSFlexGrid控件的网格中加背景图片、压缩数据库文件、利用拼音简码进行数据查询、锁住和解锁数据库、数据库数据备份、某一时间段内数据汇总、修复...

    《数据库技术与应用》第14章数据库设计-习题答案.docx

    由于数据库在运行一段时间后,由于对数据的不断的修改、删除和插入,导致数据库的物理存储变坏,其性能会逐步下降。这时需要数据库的重组织和重构造。 8. 设一个部门的数据库包括以下的信息: 职工的信息:职工号、...

    数据库sql图书管理系统.doc

    参照 借阅信息 读者信息 读者编号 读者姓名 登记日期 有效期 读者身份证 借阅次数 应还时间 读者编号 图书编号 库存量 图书编号 出版社 作者 价格 借阅编号 借书日期 图书信息 参考 数据库sql图书管理系统全文共8页...

    【最新版】navicat150_premium_en.dmg navicat-premium: 15.0.14【亲测可用】最好的MySQL数据库开发工具

    为可重复部署的过程设置自动化,例如在特定时间或日期执行数据库备份,MapReduce作业和脚本执行。无论您身在何处,都可以随时完成工作。 使用我们的内置模式可视化工具发现和探索您的MongoDB模式。分析文档并在集合...

    12306的数据库设计.pdf

    据说现在很多商家还开通了云抢票业务,本质上是让你不要冲击12306系统了,把需求提前收集,在放票时,这些系统会进⾏排队与合并 购买,这种⼿段可以减少12306的访问并发。 抢⽕车票是很有意思的⼀个课题,对IT⼈的...

    数据库设计准则及方法论.docx

    但是如果系统在运行一段时间后,这三张表的数据变的非常多,那么连接查询的性能将会变得很差,我们通常的做法是再设计一张横向表,将客户信息和产品信息全都放到销售流水表里去,这样应避免了关联查询。 表通常分为...

    数据库设计步骤简述.docx

    4、混合策略:将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构 分E-R图经过合并生成的是初步E-R图。修改、重构初步E-R图以消除冗余...

    数据库管理原型系统.doc

    实验目的 掌握两段锁并发控制协议和基于时间印的并发控制协议。 二. 实验内容 1、利用多进程技术产生多个并发事务同时访问数据库; 2、实现基于两段锁协议的并发控制。 3、实现基于时间印协议的并发控制。 说明:2和...

    企业信息化发展下数据库设计.doc

    顾名思义,需求分析也就是分析客户群所需要的是什么,对这方面的要求有了明确的 了解后,企业就可以进行有目的的工作,而不是浪费大量的人力、物力以及时间,最后 还不能保证客户的满意度。客户对数据库的满意程度...

    空间数据库的设计.doc

    2)需求数据的收集和分析:包括信息需求(信息内容、特征、需要存储的数据)、信息加 工处理要求(如响应时间)、完整性与安全性要求等。 3)编制用户需求说明书:包括需求分析的目标、任务、具体需求说明、系统功能与...

    数据库设计步骤简述.doc

    数据库系统原理 数 据 库 设 计 步 骤 简 述 数据库设计步骤简述 数据库技术是信息资源的开发、管理和服务的最有效的手段,因此数据库的应用范 围越来越广,从小型的单项事物处理系统到大型的信息服务系统大都利用了...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    12.5.3合并备份 12.6 RMAN备份命令 12.6.1永久参数配置 12.6.2 RMAN中常用命令 12.6.3多通道配置 12.6.4归档Redo日志删除策略 12.6.5二进制压缩 12.7其他备份恢复技术 12.7.1用户管理备份 12.7.2导入导出...

    数据库课程设计--宾馆客房信息管理系统.pdf

    通过对局部 E-R 模型的操作,解决各个 E-R 模型关于对象定义不一致问 题,以及对各个 E-R 模型进行合并优化等,最终形成数据库的全局概念模式。 本阶段的设计结果(局部和全局 E-R 图、具体数据库设计工具中概念结构...

    数据库-教材订购系统.doc

    R图 7 3.2.3 合并各分E-R图,得到总E-R图 7 第4章 逻辑设计 8 4.1 逻辑设计的任务和目标 8 4.2 阶段结果 8 4.2.1 将E-R图转换为关系模型 8 4.2.2 模型优化 9 4.2.3 数据库模式定义 9 4.2.4 用户子模式定义 9 第5章 ...

    WMS 库存 库房 系统 内涵源码、设计资料和数据库文件等

    一、 系统主要功能需求 1 系统初始化参数的设置模块 2 单据登记模块 包括 登记请购单 登记入库单 登记出库单 登记入库退出单 登记出库退入单 ... 按各种条件进行数据的查询(如时间段、单据

    大数据库课程设计户籍管理系统完整版.doc

    中北大学 数据库课程设计 说明书 班 级: 学号: 姓 名: 学 院: 专 业: 方 向: 指导教师: 成 绩: 2014 年 6 月 随着城市人口规模的扩大和公安部门对城市与农村人口管理工作规X性的逐渐增强, 户 籍管理工作的...

    这是一个使用HTML构建前端,使用PHP搭建后台,使用mysql构造数据库的学生教师信息管理系统.zip

    PHP内置丰富的数据类型(如整型、浮点型、字符串、数组、对象等),并提供了大量的预定义函数,涵盖了字符串操作、数学运算、文件系统处理、日期时间处理、数据库连接等常见功能,极大提高了开发效率。 在Web开发中...

Global site tag (gtag.js) - Google Analytics