表1 X3表和流水号表的表结构:
将它们加入由应用对象模型映射出的数据库概念模型后,得到图2所示的结构。
每一个应用模块对象对应建立一张流水号表,同一类的报表属同一流水号表,由流水号表统一管理。流水号表对各分局、处室提交和建立的每一张报表分配一个流水号,该流水号在整个数据库中是唯一的,因此在库中存放任何一张报表都是明确的。流水号的数据类型为 Char(10),前4位为表号,后6位为序列号,其中序列号取自 X3表中最大序列号。也就是说,流水号就是对象标识符,报表是一个对象,一个对象标识符唯一决定一个对象。流水号一旦被分配出去后,在这张报表的生存期内就具有了永久不变性。无论报表的内容及结构怎么变化,它都不变,直到报表被删除,流水号才会消失。流水号表是父类,报表是子类,流水号表之间的联系只能通过 X3 表。5个应用模块对象完全映射到数据库概念模型中,形成应用对象与数据库对象的一一对应,保持了5个应用对象在目标系统设计中原有的独立性,具有很好的封装性和信息隐蔽性。尽管流水号表会有一些冗余,但它是值得的。
图2 超类对象间关系示意图
五、 面向对象关系数据库设计效果
在公路局系统设计中,从某种意义上讲,是数据库设计的面向对象特征最终奠定了整个系统的面向对象性,才使面向对象方法在程序开发阶段全面开花。其效果归纳如下:
1.数据库结构清晰,便于实现OOP
文章来源于领测软件测试网 https://www.ltesting.net/