作者grence (多想两分钟 = =")
看板Ajax
标题Re: [问题] 资料库正规化的必要性
时间Fri Jan 8 20:26:39 2010
※ 引述《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
1F:推 buganini:不过资料量多的时候都放在一个table笑能会很好笑 01/08 23:17
2F:推 tonilin:为什麽table一直生处理程式也要一直生?? 01/09 02:27
3F:推 tonilin:用变数就可以找到对应的table了 01/09 02:39
4F:→ tonilin:有别的table处理每个问卷的基本资料,所以不会对db问有几 01/09 02:39
5F:→ tonilin:个table 01/09 02:39
6F:→ TonyQ:所以tonilin说的就是它文中所谓的[对应的处理程式] , 01/09 15:58
7F:→ charleshu:如果设计的好效能跟只跟你要处理资料量有关,跟table里的 02/09 11:30
8F:→ charleshu:无关, 我之前做的系统, 一个table资料约几千万笔. 02/09 11:31
9F:→ charleshu:照样能每秒几百个transactions. 02/09 11:32