我需要創建一個表(postgresql 9.1),我卡住了。你能幫忙嗎?postgreSQL表設計
輸入數據可以假定或者兩種格式:
- 客戶端ID(INT),店鋪ID(INT),ASOF(日期),數量
- 客戶端ID(INT),ASOF (日期),數量
給定傳入CSV模板:{客戶端ID,店鋪ID,店鋪類型,商店類型,ASOF,數量}
在第一種情況,關鍵是 - 客戶ID,商店ID,asof
在第二種情況下,關鍵是 - 客戶端ID,商店類型,商店流派,ASOF
我想是這樣的:
create table(
client_id int references...,
shop_id int references...,
shop_type int references...,
shop_genre varchar(30),
asof date,
quantity real,
primary key(client_id, shop_id, shop_type, shop_genre, asof)
);
但後來我遇到了一個問題。當數據格式爲1時,由於pk中的空值,插入失敗。
客戶端中的查詢可以是商店ID,也可以是商店類型和流派的組合。類型的部分或正則表達式匹配沒有用例。
什麼是合適的設計?我必須將它分成2個表格,然後將搜索結果聯合起來?或者,習慣上將0和空白作爲缺失值並移動?
如果重要,一旦載入所有歷史數據,該表預計將有1億到5億行。
謝謝。
這是一個很好的解決方案...-D-D –
謝謝。我認爲這應該可以解決我的問題。 – Dinesh