Saturday, February 24, 2018

今天參訪其他地區的同行, 其他機關給他們一種很久以前使用的資料檔結構, 而同行的年輕人覺得茫然.

而看了一下, 就知道是以前電文傳送常用的格式:
Hhhhhiiiijjjjjj (表頭)
Bbbbbbxxxxx (表身1)
Bcccccclllll (表身2)
Oooooo (其他備註)
Bbbbbbxxxxx (表身1)
Oooooo (其他備註)

所以要先從找到表頭開始, 還好這是建物檔, 所以有地址, 基本上地址不是表頭就是其他, 然後同行手邊有其他單位提供的 Table Layout , 所以表頭救出來了.

然後重新排列成
H1 B1 O1
H1 B2 O1
H2 B1 O1
再把 Hhhhhiiiijjjjjj 拆開成三欄, Bbbbbbxxxxx , Bcccccclllll 拆成兩欄, Oooooo 維持一欄.

這樣就可以獲得現在常用的關聯式資料庫, 用幾張 table 去 cross 出來的大表了.

然後再用正規化的順序, 拆開欄位保留 key 值, 重新產生 distinct 的結果....

不過這是技術上的作法, 行政上向其他單位重要一份 DB dump 資料比較快.... XD