database 設計

我整緊個 存成績既 database
eg 會考,高考成績

開左個叫student 既table,
入面既field 有 名,age,tel, 成績等
但係 會考,高考咁多科,咪要開好多個field
我數過,4x個field.....

請問應該點解改善?定係咁係無問題?

拆開2個table, 一個基本 資料,1個成績,用個 stu_id 連埋會唔會好d?

TOP

本帖最後由 tonald 於 2010-5-8 11:59 編輯

我夠知咩叫normalization
即使我放晒去一個table ,無犯到任何normalization 既規則
全部都 depend on primary key

但咁多個field ,效率會唔會差?

TOP

本帖最後由 wilsont 於 2010-5-8 11:48 編輯

當然係拆開2個table

"會考,高考咁多科" <-科目既野可以增減,   而一個TABLE field 既數目唔應該係dynamic

如果下年多左一科, 你咪要改個table 開多個field?
同埋多數學生都係讀其中幾科, 如果你開4x 個field 咁佢無讀果d field 咪null 曬? (<-有無violate normalization 自己諗)

TOP

我估你D科加埋冇幾十萬個record下話..怕佢慢??

TOP

TOP

本帖最後由 tonald 於 2010-5-8 12:01 編輯

唔該你地

但你地既意見好似相反咁

空既 field 有無 violate normalization
我唔識呀,請賜教
而家拆左出黎,唔係都會null咩?

TOP

you should have at least 3 tables in this case

student
std, name, class, etc

course
course_id, , name, type, etc

studentcourse
std_id, course_id, grade, etc

TOP

本帖最後由 tonald 於 2010-5-8 13:16 編輯
you should have at least 3 tables in this case

student
std, name, class, etc

course
course_id, , n ...
wilsont 發表於 2010-5-8 12:07


但係第2個table 其實無咩擺…
just id name grade

TOP

回復 9# tonald


   1 row 1 科...唔係1col 1科...

如果連依個基本都未識..你再要溫下書先得...

TOP