面向对象的数据建模——数据筛选接口的设计
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘? 要
《WISE系统》是一个功能强大的数据处理系统。它应用于某公司,此公司由于行业的关系需要它去处理庞大的数据,这些数据每天都在以上百万条甚至上亿条的数量在增加。因此它需要处理海量的数据,它的其中一个比较重要的功能是根据复杂并且灵活的条件筛选出适当的数据返回给客户。本论文主要讲述了如何针对数据筛选条件比较复杂并且比较灵活这一需求,在做了详尽的需求分析之后,进行了一系列的设计,包括解决方案的设计,数据建模,PL/SQL程序设计,最终完成整个数据筛选接口的设计。在整个数据筛选接口的设计中,在传统的关系性数据库的基础上,会尝试着应用一些面向对象的思想去设计。尤其在数据建模阶段,通过传统的数据模型之间的关系,例如主外键关系,实现了一些重要的面向对象的思想。
关键字:数据筛选;面向对象;数据建模;PL/SQL
解决方案的设计
在这里来逐步分析需求应该通过怎样的方式来实现,进行一些解决方案的设计。
方案1 :直接写过程来实现。
根据不同的筛选条件,写不同的过程来实现数据筛选。
问题:很显然,这种方案是行不通的。由于筛选字段数量达两百多个,而且相互之间可以互为组合,所以是不应该写过程来实现的。即便把目前需求要求的筛选条件通过写过程来实现了(暂不考虑开发人员的头疼),如果需要添加一些新的筛选,那将是非常麻烦的。再则,如果所写过程中出现一些问题,也是难以维护的。
所以考虑到开发的质量与代码的可维护性,是不可能采用此方案的。
方案2:结合数据建模与程序设计来实现。
由于筛选条件数量众多,但是条件之间的很多部分相互重合,从面向对象的角度出发,这些条件间存在继承的关系,如果能采用面向对象的方法,或许能做到重用条件。
假设一共有250个独立的筛选条件,也即表中的250个字段单独作为条件时的情况。这些条件能相互组合,组合后的条件越发复杂,写程序时如果按照方案1要想做到很好的代码重用是不可能实现的。
所以根据方案1的失败,要想很好的做到代码重用,就很有必要引入面向对象的思想,采用继承的方法,做到条件组合,就好像类与类之间的继承。作为表中列名出现的字段,是不可能相互组合的。但是换个角度,大胆的设想,如果把这些字段不作为列名,能不能做到相互组合呢?如果把这些字段转换成变量,对变量一一赋值,和作为字段相比并没有做到很大的改善。
如果把这些字段转换成表中的记录值呢?试想一下,似乎看到一线光明,因为在PL/SQL里,可以用到动态SQL的方法,这样可以所需要的条件动态的组合了。
但是能不能真正达到便于动态控制,便于动态修改,以及便于维护呢?我们需要一步一步去研究,以及测试。