Re: [請益] 這種資料的紀錄用怎樣的資料結構比較好?
※ 引述《danielguo (Daniel Guo)》之銘言:
: : 3:使用紀錄 (rec) + 集合資料(collect)
: : 紀錄ID 日期 時數(min) 零件集合ID
: : 001 20110401 50 01
: : 002 20110402 100 02
: : 集合ID 主元件ID 零件ID
: : 01 A 001
: : 01 A 002
: : 01 A 003
: : 02 B 002
: : 02 B 003
: : 這樣的話,統計會方便點、資料量也會比較少。
: : 可是集合的編輯似乎會比較麻煩點,可能會變成同樣的集合重複的出現。
: : 看起來也只是把1的方法更正規化一點。
: : 請問是否還可以有更理想的資料結構呢?
: 3 比較適合, 不過這邊欄位不對, 應該是
嗯,因為主元件實體上還是會有一個不可變動的主體在。
零件是裝在主體上,所以我還是意屬把主件ID跟集合ID綁在一起。
: 紀錄ID 日期 時數(min) 主元件ID 零件集合ID
: 001 20110401 50 A 01
: 002 20110402 100 B 02
: 集合ID 零件ID
: 01 001
: 01 002
: 01 003
: 02 002
: 02 003
: 設定主鍵為 (集合ID, 零件ID), 這樣便一定不會重複 (當然應用程式應該先檢查)
: 3 更正了之後基本上和 2 儲存的資料量相同
: 除非有其他額外欄位要考慮, 不然應該這樣用沒錯
既然如此,再順勢問一下相關的判斷法
如果我要做零件的變動,例如把零件01移到主元件B去用。
然後過一陣子又再變動回來主元A時。
在SQL如何判斷這種集合是曾經搭配過的?
主件ID
B
集合ID
03
零件ID
001 ==>001調回主件A時,判斷這個組合曾經出現在集合ID 01
002 不用再去新增一筆集合ID。
003
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.131.50
推
04/26 02:58, , 1F
04/26 02:58, 1F
→
04/26 03:32, , 2F
04/26 03:32, 2F
→
04/26 10:12, , 3F
04/26 10:12, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):