所以我有三個表,隨後三個型號,以及:這3個表的歸一化數據庫形式是什麼?
Company (table: companies)
Person (table: people)
Address (table: addresses)
如何將這些連接在一起,考慮到每一個個人或公司可以有多個addressess,但由於地址是相同的格式我想喜歡使用單個「地址」表,所以處理/管理地址可以通過單個模型完成?
由於這種結構:
companies(id, name, ...)
people(id,name, ...)
addresses(id, foreign_id, foreign_model, ...)
似乎有點格格不入我。基本上這是目前的結構。 'foreign_model'字段是一個字符串,它指定了該地址屬於哪個模型(即公司或人員)。
所有這在Cakephp下,但我有這個結構很多問題,我應該用什麼?
我認爲你需要更多的表sinc你有'多'關係。您可以在CompanyAdresses表中使用公司和地址的鍵,PersonAdresses也是如此。 –
感謝Mikael,這確實是我的第一想法,但我真的試圖避免它。我的意思是我們可以添加具有地址的新實體,然後我們每次都需要添加一個連接表? – Opi
np,是的,每個公司地址組合都會有一行。 –