我现在有一数据库student,其中有以下五个表,现在要通过学号即stu_id查找出对应学生的成绩,所在班级,专业名称,院系名称等信息,我现在的结构设计如下,感觉很不妥!一次要查好几个表,如果把它们集合起来感觉扩展性也不强,比如我要修改哪个表的东东的时候,可能会忘记去更新另一个表与之对应的东西!希望大家能给点意见,还有SQL语句参考一下!!!!!!!
/****************************************************
students学生表,大约10000条记录结构如下
stu_id int(4), //学号,自动增长
stu_name varchar(12), //姓名
class_id int(2) //对应班级/****************************************************
scores学生成绩表 大约150000条记录
sco_id int(2) int(4) //自动增长
stu_id int(4) int(4) //对应学生的学号
score int(2) int(2) //成绩/****************************************************
classes 班级表 大约250条记录
cla_id int(4), //班级对应的序号,自动增长
cla_name varchar(20), //班级名称
major_id int(4) //对应专业的序号/******************************************************majors 专业表 大约60条记录
maj_id int(4), //专业序号,自动增长
maj_name varchar(20), //专业名称
dep_id int(4) //对应院系序号/***************************************************
departments 院系表 大约10个记录
dep_id, int(4) //院系序号,自动增长
dep_name varchar(20) //院系名称/************************************************
写出SQL语句,如根据学生stu_id,查出他的姓名,专业,班级,院系,还有成绩,那SQL语句应该怎样写呢?我试了,用leftjoin,rightjoin很慢,各位有什么好的办法吗?
/****************************************************
students学生表,大约10000条记录结构如下
stu_id int(4), //学号,自动增长
stu_name varchar(12), //姓名
class_id int(2) //对应班级/****************************************************
scores学生成绩表 大约150000条记录
sco_id int(2) int(4) //自动增长
stu_id int(4) int(4) //对应学生的学号
score int(2) int(2) //成绩/****************************************************
classes 班级表 大约250条记录
cla_id int(4), //班级对应的序号,自动增长
cla_name varchar(20), //班级名称
major_id int(4) //对应专业的序号/******************************************************majors 专业表 大约60条记录
maj_id int(4), //专业序号,自动增长
maj_name varchar(20), //专业名称
dep_id int(4) //对应院系序号/***************************************************
departments 院系表 大约10个记录
dep_id, int(4) //院系序号,自动增长
dep_name varchar(20) //院系名称/************************************************
写出SQL语句,如根据学生stu_id,查出他的姓名,专业,班级,院系,还有成绩,那SQL语句应该怎样写呢?我试了,用leftjoin,rightjoin很慢,各位有什么好的办法吗?
students学生表,大约10000条记录结构如下
stu_id int(4), //学号,自动增长
stu_name varchar(12), //姓名
class_id int(2) //对应班级
score int(2) int(2) //成绩