|
|
1
7
客户可以关联0个或多个信用卡,但关联是动态的-它可以来来去去。正如您所指出的,信用卡可以与多个客户关联。所以这最终是一个n:m表,可能带有“active”的标志列。 订单与0或1信用卡有静态关系,在销售完成后,无论CC与客户之间的关系如何,都不能乱动CC值。订单表应独立存储销售时有关CC的所有相关信息。没有理由将销售与任何其他表中的任何其他信用卡列相关联(这可能会更改-但不会影响销售)。 |
|
|
2
1
我认为问题在于订单的建模。与一个订单拥有一张信用卡不同,一个订单应该能够与多个信用卡关联,而在任何时候只有一个信用卡处于活动状态。从本质上讲,订单和信用是多对多的。为了在数据库中建模,需要引入一个关联表,比如paymenthistory。现在,当订单需要新的信用卡时,您可以简单地创建一个新的信用卡,并将其与订单关联,并将关联付款历史记录标记为活动。 |
|
|
3
1
隐马尔可夫模型? 一个客户有几张信用卡,但只有一张是当前的。订单有一张指定的卡。当一个顾客买东西时,他的默认卡会先被试用,否则,他可以换主卡吗? 我在这里看不到循环引用;当用户的信用卡更改时,他的订单保持不变。你的桌子最终会变成:
编辑: 哎呀,忘了一块地,谢谢。 |
|
4
0
无论数据具有循环关系的原因是什么,如果您“忘记”声明其中的一个关系以便表具有大容量加载顺序,您都会更高兴。 这在你最不经意的时候就派上用场了。 |
|
|
5
0
这是一年前的事,但有一些要点值得一提。 注意:对于在线非账户流程:客户最好定义为买方,也可能有另一种类型的客户-受益人/接收人。您可以为其他人购买机票和鲜花等,因此这两个角色需要明确区分,因为它们涉及不同的业务流程(一个用于支付,另一个用于发送货物)。 如果这是一个非账户流程,那么您不应该保留信用卡的详细信息。这是一种安全风险——你保留这些信息会让买家面临风险。信用卡是实时处理的,然后信息应该被丢弃。 账户客户:唯一的例外情况是,有人开立了一个账户,并提供了他们的信用卡信息,供以后购买时使用。在这种情况下,信用卡信息的更改将在交易之外发生,这是账户管理过程的一部分。 要点是在开始建模和编码之前,确保您完全理解业务流程。 |