我正在构建一个数据库系统,但在设计我的一张表时遇到了问题。
在这个系统中有一个用户表、一个对象表、一个项目表和一个成本表。
成本表中的唯一记录由用户、对象、项目和年份确定。但是,如果项目不同,则可以有多个具有相同年份的记录。
层次结构为用户->对象->项目->年份,每个项目多个唯一年份,每个对象多个唯一项目,每个用户多个唯一对象,多个唯一用户。
设计成本表的最佳方法是什么?
我正在考虑将 userid、objectid 和 itemid 作为外键,然后使用由 userid、objecid、itemid 和 costyear 组成的复合键。我听说复合键的设计很糟糕,但我不确定如何构造它以摆脱使用复合键。如您所知,我的数据库构建技能有点生疏。
谢谢!
PS如果重要的话,这是一个interbase db。