[討論] 請問這樣的資料要怎麼設計?

作者: TeemoMustDie (提摩必須死!!)   2019-06-17 02:53:25
大家好,因為是新手,想請問一些問題。
我有很多個材料的檔案,想把它建成資料庫,方便日後管理。
假設一個材料名字:SSS-A0988
這個材料裡面的性質為:
- - - - - - - - - - - -
Wavelength | n | k |
- - - - - - - - - - - -
300 | 3.2 | 1.6 |
301 | 3.3 | 1.5 |
. . .
. . .
1000 | 4.2 | 2.3 |
- - - - - - - - - - - -
想請問我該如何設計這樣的資料庫比較好?
1. 建立一個資料表只放材料名字,再建立另一個資料表,
建立wavelength & n & k 的資料欄位,再建立一個欄位使用foreign key綁定比較好呢?
還是
2. 只建立一個資料表,然後建立名字,wavelength & n & k的欄位,
然後各個資料使用 " ; "儲存,要拿出來時再進行處理呢?
ex. 300;301;302;303;......
因為,感覺使用第一個方式,另一個存放資料的資料可能會有幾萬筆的資訊,
然後foreign key的欄位會一直存同一個資料,感覺很浪費。
使用第二種方式,又感覺一個欄位會存一大堆資料,如果要更改很像很麻煩....
想請問,不知道我該怎麼設計它會比較好呢?又或者有其他更好的方式可以使用呢?
如果問了蠢問題,很不好意思....再麻煩指教。
作者: konkonchou (卡卡貓)   2019-06-17 03:06:00
key/index建好,資料庫速度遠比你想像的快,選1通常是為了再搜尋,若資料只是純紀錄沒有要再搜尋或處理,當然組合塞一欄位也沒不好
作者: dennisxkimo (Dennis(一上B就糟糕))   2019-06-17 13:00:00
google 資料庫 正規化 看看有沒有幫助
作者: rockchangnew (rock)   2019-06-17 19:16:00
第二種作法就違反正規化了,不利搜尋
作者: TeemoMustDie (提摩必須死!!)   2019-06-18 21:13:00
好的,我知道了!謝謝樓上各位!
作者: bij831 (睡貓)   2019-06-25 12:24:00
幾萬筆就以好開發為主,有時千萬級筆的是不用正規化,反而得到較佳校能和好維護

Links booklink

Contact Us: admin [ a t ] ucptt.com