2009-05-20 64 views
0

我正在使用的軟件有2個表格,主管和客戶。當我們將產品出售給某人時,會在客戶表中使用主數據表中的數據(以及一些其他數據)創建一條記錄。關於存儲應該在同一個表中的數據的問題

目前這兩張表之間沒有關係。現在存在的最好方法是,主對象具有一個功能,可以在客戶表中查找具有相同電話號碼的記錄(希望在過去的5 - 10年中它們沒有改變過他們一直是我們的客戶 - 對每個潛在客戶進行這樣的搜索會在客戶表上生成一個%82交叉點)。沒有反向查找(客戶 - >領導)。

問題是我確實需要知道什麼客戶記錄與鉛記錄相關聯,反之亦然。

我認爲存儲客戶導致的fk和導致客戶導出的fk ...但是我使用的ORM會在fkeys存在時加載相關記錄時溢出。

將兩張桌子合併成一張「人」桌是我想要做的事,有一個標誌標識一個人是否是客戶......但是,時間表和預算不允許。

我不知道該怎麼做。

回答

2

你真的需要它走向兩個方向嗎(即1:M導致客戶和1:M客戶導致)?如果是這樣,一個坐在「兩者之間」的複合表格可能就是要走的路。每條記錄將包含來自客戶的PK和來自鉛的PK(連接兩者)。

如果您只需要知道有多少潛在客戶被鏈接到客戶,我會將FK添加到潛在客戶(指向客戶中的PK)。

+0

不幸的是,我確實需要兩種方式。電話銷售人員不想致電現有客戶,辦公室工作人員需要訪問爲銷售線索(銷售應用程序等)預訂的約會。我一直使用聯結表創建M:M關係,從不1:1 - 這就是爲什麼我最初(天真地)拋棄了這個想法。 – 2009-05-21 02:29:26

1

爲了唯一標識您的記錄(如果您還沒有),您需要在兩個表中的每個表中使用ID列。

而且您必須再添加一個鏈接(結)表來連接現有表。該表將包含兩列:LeadID和CustomerID。每行都包含Customer和Lead表中相應行的ID。

外鍵將連接您的表:LeadID - Lead表中的ID列; CustomerID - > Customer表中的ID列。

相關問題