在 DB2 上实现贷款系统

Implementing Loan system on DB2

我需要为贷款系统实现数据库设计。

我们有 3 种贷款类型,每一种贷款至少有一种子类型。例如:

  1. 贷款A
    1. 类型 A1
    2. 类型 A2
  2. 贷款B
    1. 贷款 B1
    2. 贷款B2

每个子类型都有不同的批准贷款所需的数据。他们没有任何常见问题,但是,出于某些要求,我需要从单个 table 访问所有类型。

我尝试的是创建一个 "LoanType" table,并使用 XML 字段来存储该特定子类型的参数。例如,对于贷款 A:

<type name="A1">
    <parameterName>P1</parameterName>
</type>

虽然我可以根据名称访问 XML 中的所有标签(我使用 DB2 作为 DBMS,它支持 XML 字段)但我现在不知道如何从中填充数据

另一种看起来很有趣的方法是使用 one of this approaches,特别是 Class Table 继承,但我认为这不是一个好的方法。

任何帮助将不胜感激。

此致

这是table继承的经典案例。
使用一个 table 作为所有贷款的基础 table。这个 table 应该包含一个将作为主键的列和所有贷款之间共享的任何列(我猜所有贷款至少应该有一些日期列,例如创建日期、贷款日期等)。所有贷款都应与此基数具有一对一关系 table。

要 select 所有贷款,您所要做的就是 select 从基础 table 左连接到所有具体贷款 tables。

您可能希望在每个具体贷款 table 上实施一个 instead of insert trigger,它将向基础 table 插入一条记录并获取它的 ID,然后将其他详细信息插入到具体贷款 table.

您还可以为每笔具体贷款创建一个视图,该视图将 select 它的数据和基础 table 数据,这样您的数据库客户端就可以完全了解数据库的实现。