非重复数据库设计

时间:2013-01-29 23:07:19

标签: database-design relational-database database-schema

如果我需要保留会员购买历史记录,但又想保持我的数据库尽可能高效(第3范式),我该如何保持重复数据?这就是我想出的:

粗体 =主键

会员( memberID ,firstName,lastName,地址,城市,州,邮编)

历史记录( historyID ,购买,日期,金额)

MemberHistory( memberID historyID

这个是我的历史表,它本身没有任何意义,连接表似乎会有一堆重复。任何人1)看到这个设计的问题,2)可以告诉我一个更好的方法来保持成员的历史?

1 个答案:

答案 0 :(得分:1)

摆脱MemberHistory,就像这样。

Member(memberID(PK), firstName, lastName, address, city, state, zip)

History(historyID(PK), memberID(PK/FK), purchase, date, amount)

没有多对多的关系,因此您不需要MemberHistory