2015-07-12 76 views
0

我們有一個票務軟件來管理我們的工作,每張票都被分配到一個領域的技術 - 正常的東西 - ,但現在我們要分配同一張票給幾個技術人員例如:tick 5432:tech_id(2,4,7)其中2,4,7是技術ID。PostgreSQL中是否有任何變量來存儲列表

當然,我們可以使用帶有技術ID和票證ID的單獨表格來做到這一點,但我們必須轉換數據。

回答

1

執行此操作的「正確」方法是有一個單獨的票 分配表。在數據庫端轉換這樣的數據相當簡單。 create table assign as select tech_id from ...,然後創建任何必要的外鍵約束。 重寫你的界面代碼可能會更棘手,但是你要去 必須這樣做,以允許多個技術。

您可以使用數組類型,但有時數據庫 接口不理解postgres數組類型。陣列中固有的任何東西都不會阻止重複或強制排序,但您可以使用適當的觸發器來做到這一點。

+0

我們嘗試數組類型,它工作正常。我們不使用任何數據庫接口,但問題是在查詢中如何顯示技術名稱,單獨的表格會更容易維護代碼。 – Starglider