我需要为贷款系统实施数据库设计。
我们有3种类型的贷款,每笔贷款至少有一种子类型。例如:
每个子类型都有不同的数据,以便批准贷款。它们没有任何常见问题,但是,我需要从单个表中访问所有类型,以满足某些要求。
我尝试创建一个“LoanType”表,并使用XML字段存储该特定子类型的参数。例如,贷款A:
<type name="A1">
<parameterName>P1</parameterName>
</type>
虽然我可以根据名称访问XML中的所有标签(我使用DB2作为DBMS,并且它支持XML字段)我现在不知道如何从中填充数据
另一种看似有趣的方法是使用one of this approaches,特别是类表继承,但我认为这不是一个好方法。
任何帮助将不胜感激。
问候
答案 0 :(得分:0)
这是表继承的经典案例 使用一个表作为所有贷款的基表。这个表应该包含一个将成为主键的列以及所有贷款之间共享的任何列(我猜测所有贷款至少应该有一些日期列,例如创建日期,贷款日期等)。所有贷款都应与此基表有一对一的关系。
要选择所有贷款,您只需从基础表中选择左连接到所有具体贷款表。
您可能希望在每个具体贷款表上实施instead of insert trigger,该表将记录插入基表并获取其ID,然后将其他详细信息插入具体贷款表中。< / p>
您还可以为每个具体贷款创建一个视图,该视图将选择它的数据和基表数据,以便您的数据库客户端可以一起不知道数据库实现。