我的數據庫有一個組織表和一個地址表。在地址表中,我想存儲用戶標識和組織標識,以便稍後查看這些標識,也可以爲組織分配多個地址,或者讓用戶能夠選擇爲其他組織添加的地址。這裏的一個例子是如果2個組織共享相同的財產。我還希望我的組織表存儲默認地址ID。然而,當在FuelPHP中使用ORM模型時,這樣做顯得很尷尬(可能與此無關,這只是讓我注意到了一個可能的設計弱點)。數據庫設計:默認地址
以上是一個選項,我可以想到2個更多的解決方案。一種是具有存儲組織ID和地址ID的默認地址表,地址表仍然可以存儲用戶和組織ID。然後,我可以從組織表中選擇默認的地址表,並從地址表中加入地址ID以檢索地址。
第二個選項是在我的地址表中有一個默認地址字段,類型爲bool。然後,我會在選舉中使用where語句在需要時檢索此地址。
第二個選項是我目前的首選選項,因爲這意味着我不必在我的PHP框架ORM模型中更改我的表格並添加鍵和設置關係,因此我不必做太多工作。但是,如果數據庫變大並且性能成爲問題,那麼這些方法哪一個最好?我還沒有考慮過其他方法嗎?
謝謝,這兩個好的答案,所以很難選擇一個 - 這是我到底做了什麼,但只有在固執地添加is_default字段添加到地址表中,並從組織表中刪除address_id。然後,沒有辦法將該地址唯一地引用到組織。應該爲自己節省一些麻煩,但這是學習你爲什麼做事或什麼時候以某種方式做的一個好方法!這也有助於教會我究竟是多麼多的關係。謝謝。 – 2012-04-04 07:06:27
沒問題,很高興我能幫到:-) – 2012-10-31 11:33:57