Re: [問題] 資料庫正規化的必要性

看板Ajax作者 (多想兩分鐘 = =")時間14年前 (2010/01/08 20:26), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串2/7 (看更多)
※ 引述《tonilin (小強)》之銘言: : 因為牽扯到JSON所以就來這個版問了 : 我現在做了一個問卷系統 : 可以自行增加問題 : 而問題有很多種type,每一種type的attibute數量都不同 : 譬如說..單選題需要"答案選項",但是如果是文字空格就不需要"答案選項", : 我現在的作法是把每一題都視作一個物件,傳進php的時候只需要用json stringfy : 傳進去,接著把整個stringfy過後的物件存進table裡面, : 而table只有兩個欄位,一個是題號一個是stringfy過後的物件 : 這樣的好處是,我從資料庫拿出來或存進去都不用做非常複雜的分析 : query的時候也非常的簡單 : 存的時候整個丟進去就好了,要用的時候整個拿出來~ : 修改也只要覆蓋原本的~ : 我的問題是,有需要把物件裡面的元素拆成個別的attibute嗎? 沒什麼不能變的規定,程式寫得出來,需求也有達到,才是重點。 : 譬如說原本的table是 : question_num question_obj : 兩欄而已 : 改成 : question_num question_content question_notnull qustion_type ..... 一個問卷會產生一個table,想想問題好像也還好 通常一個 table跟幾個 table join起來的大資料表都是由一支程式處理, (純屬個人經驗…或者說習慣) 如果 table一直生,那對應的處理程式也要跟著生嗎? 如果是查整個 db看有幾個 table, 那為什麼不查整個 table看有幾份問卷就好 然後是如果不同的問卷結果要湊在一起比較,拆了一堆 table好像比較麻煩。 -- 嗯..只是跟我之前做過的不太一樣,所以覺得奇怪而已。 寄跟收的結構會互相呼應,「一個問卷會產生一個table」,有點出乎意料, 但如果程式寫得出來那就不用在意 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.245.75

01/08 23:17, , 1F
不過資料量多的時候都放在一個table笑能會很好笑
01/08 23:17, 1F

01/09 02:27, , 2F
為什麼table一直生處理程式也要一直生??
01/09 02:27, 2F

01/09 02:39, , 3F
用變數就可以找到對應的table了
01/09 02:39, 3F

01/09 02:39, , 4F
有別的table處理每個問卷的基本資料,所以不會對db問有幾
01/09 02:39, 4F

01/09 02:39, , 5F
個table
01/09 02:39, 5F

01/09 15:58, , 6F
所以tonilin說的就是它文中所謂的[對應的處理程式] ,
01/09 15:58, 6F

02/09 11:30, , 7F
如果設計的好效能跟只跟你要處理資料量有關,跟table裡的
02/09 11:30, 7F

02/09 11:31, , 8F
無關, 我之前做的系統, 一個table資料約幾千萬筆.
02/09 11:31, 8F

02/09 11:32, , 9F
照樣能每秒幾百個transactions.
02/09 11:32, 9F
文章代碼(AID): #1BHoI24a (Ajax)
討論串 (同標題文章)
文章代碼(AID): #1BHoI24a (Ajax)