2011-05-11 69 views
2

我是一名新程序员。 我正在开发一个项目,我需要将PayPal整合到我的网站中。在数据库中为用户信息和Paypal用户提供两个单独的表是否很好?

我很困惑:为什么我们要在数据库中保存两次用户信息? 首先,我从用户那里收集信息,然后通过Paypal按钮收集信息。

+0

你保存了哪些paypal信息。显示当前表结构 – jimy 2011-05-11 13:54:22

+0

我想说这取决于用户是否可以有多个PayPal账户,反之亦然。 – m4rc 2011-05-11 13:54:50

+0

我的规则手册有点像这样:如果有1:1的相关性,它应该是一张表。如果表B中的每一行在表A中有多个事物,那么它们应该保持独立。 – MicronXD 2011-05-11 15:16:00

回答

2

一般而言,您只想在数据库中拥有一次信息。但是,您可能会想要分离出某些数据。例如,如果PayPal数据与直接提供的数据不同(名称不同等),则可能需要单独存储所有PayPal数据。但是,如果您只是获取重复数据,我会建议尽可能将两个表合并为一个。也许你可以创建一个链接到用户表的第二个表格,该表格将存储额外的PayPal信息(PayPal ID或其他任何与您帐户相关的新信息,而不是用户)。

您还需要考虑信息更改。如果用户要更改他们的名字,如果这两个表被合并,那么它会好吗?如果您试图要求Jon Doe和PayPal期待Jonathan,对PayPal会有影响吗?可能不会,因为我怀疑PayPal正在进行名称查询。但是,您确实需要查看这些类型的可能性。您还需要考虑拥有多个PayPal账户(例如个人和工作)的用户的想法。在这种情况下,你的结构(无论你决定)会如何处理?

+0

为此+1 :-D – m4rc 2011-05-11 13:56:46

0

如果您从PayPal获取信息,您为什么要求提供信息?也许你甚至不需要从客户那里收集信息。客户是否必须注册某种帐户?

似乎多余。

相关问题