在我誠實的看法下,您最好的選擇是實施一對多或多對多的家庭賬戶關係。
兩種方式我可以想到做這樣的事情。 第一個(也可能不是最好的解決方案)是在帳戶表中添加一列以存儲家庭。就我個人而言,如果可能的話,我會遠離這一點。
第二,創建一個「家庭」表來存儲家庭PK,以及家庭交叉參考表來存儲家庭FK和賬戶FK。
然後,我將創建與任何編程語言的過程您使用(希望其面向對象的,你可以在未來建立一個「對象」,您可以使用下一個零件,然後爲好。
一旦數據庫設置完成,我會建立一個接受帳戶的「方法」,並通過ssn,客戶號碼和地址進行比較,並返回一個類似帳戶ID列表(這可能非常有用,可能會使您的初始過程更快)和/或返回類似賬戶可能屬於的家庭列表
這個是會擔心的部分e ......可能存在這樣的情況,即通過地址鏈接的賬戶可能或可能不屬於通過賬戶號碼鏈接的賬戶可能或不可能在的同一家庭),即,一個父母分居的「孩子」(一個客戶號碼)有一個由每個父母(兩個賬戶最有可能不同地址)設立的賬戶,以及他們的自有賬戶......等等......我親自來以某種形式的業務邏輯限制返回的家庭只有一個家庭......
在這一點上,通過擁有類似帳戶的列表,並且返回至少有一個類似帳戶的單一家庭一部分,然後您可以使用該家庭ID更新這些特定帳戶。
我會設置邏輯在這一點循環表中的每個帳戶,並通過過程中運行...是的這將是昂貴的....但你應該只需要做一次。
在此之後,隨着賬戶被輸入,建立一個進程自動查找並將賬戶放入家庭。
取決於您的前端,這可能或可能不是一個簡單的過程。
無論我還會開發一個流程/用戶界面,允許用戶(可預先設置的客戶服務代表)在家庭之間移除/移動賬戶。
這是一個開始,只是彈出想法。
對於輸入新/編輯現有「帳戶」的數據庫結構/編碼過程,您有多少控制權? – Patrick 2011-05-11 16:56:36
完全掌控一切。 – 2011-05-11 17:03:28
我認爲無論你採取什麼樣的路徑,都不會有一個乾淨/簡單的答案。 – Patrick 2011-05-11 17:17:49