|
|
我目前正在做一个数据库的功课。。
遇到难题, 希望各位朋友能提供意见!
我要设计一个学校的数据库。
目前我卡在学生 班级(class) 的问题上。
一间学校有许多班级,例如:1A,1B,1C,2A,2B,2C,3B.....
问题是,每一年,每个学生的班级都会改变,
例如:由 1A -> 2A 或者 3B -> 4B, 等等..
2003年 的 2C 名单不同于 2004年 的 2C 名单。
我想在我的 DB 里记录学生的每一年的班级,
好让 user 能够找到每个班级的学生名单,每一年的。
我应该怎么设计我的数据库呢?
希望各位能提供意见,感激不尽! |
|
|
|
|
|
|
|
|
|
|
发表于 27-5-2008 07:03 PM
|
显示全部楼层
先想想先,可以先画出一个草图。。。这其实不嫩 |
|
|
|
|
|
|
|
|
|
|
发表于 27-5-2008 07:13 PM
|
显示全部楼层
|
给每个学生的资料里加上6个栏目(Field)分别记载着他们的六个年级的班级。。。这有什么难的? |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 27-5-2008 07:07 PM
|
显示全部楼层
回复 2# KsKoo 的帖子
我想了很就久了, 想不到,加上我是新手。
kskoo 有什么高见吗?
谢谢! |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 27-5-2008 08:00 PM
|
显示全部楼层
回复 4# geekman 的帖子
就这么简单?谢了,geekman!
那么如果类似的做法用于记录更多(超过20年)的资料合理吗?
谢谢! |
|
|
|
|
|
|
|
|
|
|
发表于 27-5-2008 10:40 PM
|
显示全部楼层
如果你的DB需要记录长期的档案,我建议你在学生资料里增加一个项目,那就是学生上一年级的那年的年份。通过搜寻和计算这个年份资料,你可以寻找到任何一届的学生的资料。打个比方,如果你要找2000年就读2年级的学生,你只需要寻找入学年份为 2000 -(年级-1)= 1999 年入学的学生就可以了。当然,你也可以使用学生的出生年份,不过如果遇到迟入学的学生就会面对问题。在拥有入学年份的情况下,班级纪录就纯粹用于参考用途了。
再举个例子,如果你要寻找1982年毕业的学生,那你就只需寻找入学年份为1982 -(6 - 1)= 1977 的学生,然后你就可以知道他六年来(如果他不是插班生或转校生)所就读的班级。另一方面,如果你要寻找一个在1999年就读5A班的学生,你只需寻找第五年班级纪录为A班,入学年份为1995年的资料就行了。 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 28-5-2008 08:56 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 3-6-2008 06:13 PM
|
显示全部楼层
LZ你需要3个table
1个table是class名
1个table是student名
1个table是joint class和student
这个table有class id和student id还有学年
这样就方便很多sql scipt了 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|