架构真意:企业级应用架构设计方法论与实践
上QQ阅读APP看书,第一时间看更新

3.2 基于领域的数据库设计

随着面向对象软件设计的不断发展,数据架构中的数据库设计实际上已经变成了以领域模型为核心,将领域模型转换成数据库设计。那么怎样进行转换呢?在领域模型中是一个一个的类,而在数据库设计中是一个一个的表,因此我们需要做的就是将类转换成表。

图3-3是一个绩效考核系统的领域模型。该绩效考核系统首先进行自动考核,发现一批过错,然后再给一个机会,让过错责任人对自己的过错进行申辩。这时,过错责任人可以填写一张申辩申请单,在申辩申请单中的每个明细对应一个过错行为,每个过错行为都对应了一个过错类型,就形成了这样一个领域模型。

图3-3 绩效考核系统的领域模型

接着,要将这个领域模型转换成数据库设计。领域模型中的一个类可以转换成数据库中的一个表,类中的属性可以转换成表中的字段,但这里的关键是如何处理类与类之间的关系,如何将其转换成表与表之间的关系。有5种类型的关系需要转换:传统的4种关系和继承关系。