如果我需要保留会员购买历史记录,但又想保持我的数据库尽可能高效(第3范式),我该如何保持重复数据?这就是我想出的:
粗体 =主键
会员( memberID ,firstName,lastName,地址,城市,州,邮编)
历史记录( historyID ,购买,日期,金额)
MemberHistory( memberID , historyID )
这个是我的历史表,它本身没有任何意义,连接表似乎会有一堆重复。任何人1)看到这个设计的问题,2)可以告诉我一个更好的方法来保持成员的历史?
答案 0 :(得分:1)
摆脱MemberHistory
,就像这样。
Member(memberID(PK), firstName, lastName, address, city, state, zip)
History(historyID(PK), memberID(PK/FK), purchase, date, amount)
没有多对多的关系,因此您不需要MemberHistory