数据库表的设计一般会有横表,纵表,多端表等设计方案。下面我来谈一些我对这些设计的理解。
先举个例子:有一张成绩表t_record表。字段如下
id 学号 科目 成绩
1 001 语文 80
2 001 数学 90
3 002 英语 90
纵表设计
id 学号 语文成绩 数学成绩 英语成绩
1 001 80 90
2 002 90
以上就是横纵表的设计,有什么好处呢?
横表的一行可能是纵表的多行。如果你想加个‘地理成绩’在横表里面则需要修改字段,而在纵表里面,你只需要添加一行记录即可。这样看来的话,纵表可扩展性强,但是数据量会很大。横表如果需要扩展则需要修改(或添加)字段了。
从上面可以看出,在数据库设计方面,如果一些数据不会经常修改,如上表的科目,如果没有什么修改的话则可以采用横表。如果在设计中发现此表信息更改频繁,则采用纵表。不过你还得考虑性能问题。
待续。。。。。。。。