[讨论] 请问这样的资料要怎么设计?

楼主: 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