2012-03-17 35 views
0

我有一個表單,其中有酒店客戶的首選項。例如,對於「飲料」類別,有很多偏好,有「古柯」,「酒」,「威士忌」。顧客可以進行多種選擇,例如,爲飲料選擇葡萄酒和古柯。我有一個名爲「customer_preferences」的表來將他們的偏好存儲在postgresql中。該表格將包括作爲主鍵的客戶ID和「飲料」和「休閒」等欄目。現在,當顧客選擇「古柯」和「葡萄酒」作爲飲料時,我怎樣才能存儲這兩個值?另外我打算將數據庫用於數據挖掘。我的問題是如何存儲多個首選項值和相應的插入語句? 謝謝。使用postgresql存儲來自java表單的多個客戶首選項

回答

2

您將擁有CUSTOMER和PREFERENCE表,它們之間具有一對多的關係。

您將有一個單一的交易,看起來像這樣:

  1. 插入客戶父記錄。
  2. 獲取新CUSTOMER記錄的生成主鍵。
  3. 使用新CUSTOMER記錄的主鍵作爲外鍵,爲每個PREFERENCE插入一條記錄。

因此,您將擁有(n + 1)個INSERT和一個SELECT用於單個CUSTOMER記錄和n個PREFERENCE記錄。