佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1230|回复: 7

学校 DB

[复制链接]
发表于 27-5-2008 06:53 PM | 显示全部楼层 |阅读模式
我目前正在做一个数据库的功课。。
遇到难题, 希望各位朋友能提供意见!
我要设计一个学校的数据库。
目前我卡在学生 班级(class) 的问题上。
一间学校有许多班级,例如:1A,1B,1C,2A,2B,2C,3B.....
问题是,每一年,每个学生的班级都会改变,
例如:由 1A -> 2A 或者 3B -> 4B, 等等..
2003年 的 2C 名单不同于 2004年 的 2C 名单。

我想在我的 DB 里记录学生的每一年的班级,
好让 user 能够找到每个班级的学生名单,每一年的。

我应该怎么设计我的数据库呢?

希望各位能提供意见,感激不尽!
回复

使用道具 举报


ADVERTISEMENT

发表于 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年的资料就行了。
回复

使用道具 举报

Follow Us
 楼主| 发表于 28-5-2008 08:56 PM | 显示全部楼层
我大概理解geekman要表达的东西。谢谢!!
回复

使用道具 举报

发表于 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了
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 27-12-2025 07:46 AM , Processed in 0.106760 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表