在做一个学生实习管理系统,有一个学生表,学生表中有学院、专业、班级、年级,这几个字段是不是需要另外建4个表?因为要通过这几个条件进行查询,比如有下拉框选择某一学院,查询该学院的所有学生,下拉框中的数据需要是不是需要从学院表中获得。这样表好像就有些多了,而且如果都有外键的话,那这个表的外键也太多了。第一次做一个比较大点的系统,不是太熟悉,希望大家指点指点。。
------解决方案--------------------
图书馆应该有类似的案例书,借来看看吧,一个贴怎么给你说清楚
------解决方案--------------------
建表的话看业务需要,不要怕多
表结构合理了,将来代码会少很多
1、学院、专业单独建表
2、可以考虑班级、年级建在一起,一般班级都是哪年哪班,如14-5班
------解决方案--------------------
我个人的经验是 适度优化,可以冗余 。
其实,现在的很多处理 都是先架上 ,再考虑优化的事情。 不要在刚开始就考虑太多的优化,而浪费太多的时间 。
是否单独建表,可以考虑是否有更多的独立信息。 比如就一个单独的学院字段,就一个名字,没有别的信息。 那就不要建表。
如果还涉及 学院的地址,邮编,联系电话啥的,最好还是分个单独的表出来较好。 后面还有可能扩展。
lz可以参考这个思路,结合自己的需求,处理一下。
------解决方案--------------------
学院、专业、班级、年级这些属于字典,就是基本上不会变动、最多每年添几条。单独开表保证没错的。
因为是字典,不存在关联删除的需求,学生表中有多少个外键都没关系。
既然都用到下列表选取了,靠程序就能保证关联性,数据库不建外键也没关系。