“政客可以从许多公民那里得到金钱,而同一公民可能会向多个政客捐款”
我想知道这是否会是多对多的关系,是否会意味着该模型中包含三个实体:公民,政治人物以及诸如资本之类的第三实体
最佳答案
您是正确的,这是一个多对多关系,链接表本身也是一个完整实体。政治家,公民和捐赠。
Politicians
ID
Name
...
Citizens
ID
Name
...
Donations
ID
CitizenID
PoliticianID
Amount
Timestamp
商业交易的任何记录都遵循相同的模式:ThingsForSale,客户,购买。
所有这些都是您要搜索的内容,因此所有这些都有自己的唯一ID,甚至链接表也是如此。有人可以多次购买同一件商品,因此CitizenID,PoliticianID没有唯一的限制。实际上,时间戳对区分多次购买非常有帮助。
您还希望避免使用
CASCADE ON DELETE
之类的东西,因为购买记录通常应永久存在。关于mysql - SQL中的数据建模,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35730754/