假設你有以下架構。數據建模,我應該使用多少個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