1

我在银行的应用中,客户可以针对不同类型产品就像开多个帐户的数据库模式:保险,投资和年金等的轮廓和秩序

每个客户都有一个配置文件,我们节约该信息包括12个不同的表格,如:个人,联系人,地址,隶属关系,财务,投资,资产,责任,NetWorth等。

现在要打开每个帐户,我们必须收集并保存相同类型的信息,例如客户资料,但我们不能覆盖客户资料,因为我们必须跟踪每个帐户信息,当它提交到它的时间点打开。

因此,就解决方案而言,我们认为要么为每个帐户拥有这12个表的副本,要么仅为一个表中的每个表保存JSON,其中每个表都有12列,并使用该列填充UI。

有人如果有事先经验告诉我们如何以最好的方式做到这一点。

回答

1

我会确定哪些信息不会在帐户之间发生变化。例如,name,birthday,ssn等。这些常数字段可以形成名为customers的表。如果没有固定的字段,那么您可以使用占位符ID,它只是帮助将帐户关联到同一用户。

我还会为Accounts创建一个表格,并使用account_id作为可能会在帐户之间更改的所有客户信息的外键。 Accounts表中的每一行都将由之前的customer所有。

因此,客户和账户之间的关系是一对多关系,账户和“账户特定客户信息”之间的关系是一对一的关系。

+0

感谢您的回复,但根据我的要求,客户资料和帐户资料的信息应单独保存。所以我主要关心的是使用哪种方法: 1)为客户资料创建与客户资料相同的并行模式。 2)将不同列中的每个表的JSON/XML保存在不同的列中,这将随着帐户配置文件不断更新直到其未提交而不断变化。 – ChupChapCharli

+0

我会倾向于不在数据库中存储JSON或XML。它需要更多的外部处理,并且难以制作标准化的数据库。 “分开存放”是什么意思?信息是否必须放在单独的表格中?我认为你可以使用一些“信息类型”变量来识别行,并将所有相同类型的信息保存在同一个表中。 – Michael

+0

是的,信息必须在单独的表格中。相同类型的信息没有单独的字段。如果我没有将每个表的JSON保存在列中,那么我必须创建12个并行表,并且每当主表的模式发生变化时,我也要更改并行表。 – ChupChapCharli