我正在竞选公职,并创建了一个网络应用程序,用于跟踪我在家中向选民敲门的情况。该数据库包含一个名为的表voters
,其中包含有关我社区中选民的所有必要信息。我正在使用 mysql。
我想添加一个新功能来跟踪我的竞选活动的捐助者。并非所有这些捐助者都住在社区,也不在我竞选公职的地区投票。我不需要为这些人跟踪与我为选民所做的相同类型的信息,因此我将这些人放入一个名为的表中nonvoters.
现在,我voters
表中的个人也可以进行捐赠,我也想跟踪这些人。
最后,我还想跟踪组织的捐赠,因此我还需要一个organizations
表来存储有关组织的信息。
为了跟踪来自选民、非选民和组织的捐赠,我想建立一个名为donations.
该表的新表,该表将包含有关每笔捐赠的适当详细信息。
但我不确定其最好的结构是什么样的连接donations
表的voters
,nonvoters
和organizations
表应该是。如果我donor_id
在表中创建一个名为的列以将其键入捐赠者信息,则无法知道该 ID 指的是哪个表。那么我是否设置三列,nonvoter_id
,voter_id
和org_id
并根据捐赠者是否是选民将 ID 插入适用的列中?这看起来很奇怪。
或者,我可能会在三个表中的每一个中创建一个新列,称为donor_id
我可以用来将我的数据链接到捐赠表。如果我走这条路,似乎我必须做一些幕后工作,以确保donor_id 是唯一的,并且与捐赠表中的数据相关联。
或者也许还有其他我不熟悉的方法。任何指导表示赞赏。