假设你有以下架构。数据建模,我应该使用多少个fk?
用户有很多部门,(FK user_I'd)
各部门HV许多办公室(FK department_I'd)
每个办公室HV许多交易(遭遇S)(FK office_id)
现在的问题是,如果我想要获得用户的所有遇到的情况,我将需要搜索用户的部门中的办公室中的所有用例。
这是许多加入不ü认为?
然而,如果我在遇到表中包含树的所有外键?然后,我可以做select * from encounters where user_I'd = X
然而,这使我的表看起来丑陋,含有大量的父母我会重复的数据!
所以我的问题是,什么是在这种情况下,最好的做法? 更多fk或更少并使用连接?
什么是你的商业模式遭遇?我认为答案也可能取决于您需要多少次请求遇到用户而不是遇到办公室。如果你只关心用户遇到的情况,那么你应该改变你的模型,以减少对这个请求的连接。如果这是一个罕见的要求,那么最慢的一个可以用于更自然的设计。 – Pierre
丹ehr系统,遇到的是通常发生在办公室内的病人 - 医生互动 - 只有一次遭遇可以有许多医生..我保持简单,为了例子 – Zalaboza