选课系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
某高校学生选课管理系统
1.实例的业务信息和管理工作的要求
●实现学生信息、课程学生管理;
●实现教师及任课信息管理;
●实现选课登记,要保证学生不能选修重复的课程(实用触发器实现);
●创建存储过程统计各学生指定学期选修课程的总学分数;
●创建视图查询2006-2007学年,没有被选修的课程;
●创建存储过程统计各教师任课的学生人数;
●创建表间关系。
2.功能需求
(1)学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。
3. 实体之间的联系
(1)根据需求分析,归结出合适的联系:
1、一个学生最多能够选两门课,一门课可以被多个学生选
2、一个老师最多能教一门课,一门课可以被多个老师教授,
3、教师中只有一个是管理员
4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生
5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授(1)学生课程联系E-R图
(2)教师课程关系E-R 图
(3)学生临时班级联系E-R 图
图3-2 教师课程关系E-R 图
图3-1学生课程联系E-R 图
(4)管理员教师关系实体E-R图
图3-4 管理员教师关系E-R图(5)教师班级关系实体E-R图
图3-5 教师临时班级联系E-R图
(6)课程临时班级关系实体E-R图
建立添加学生触发器tri_addstudent
CREATE TRIGGER tri_addstudent ON tb_student
FOR INSERT,UPDATE
AS
IF(SELECT COUNT(*) FROM tb_major,inserted
WHERE tb_major.MajorNum=inserted.MajorNum)=0
BEGIN
PRINT '未找到该学生的专业信息,请添加相应专业后重试!' ROLLBACK
END
ELSE IF
(SELECT COUNT(*) FROM tb_student,inserted
WHERE tb_student.StudentNum=inserted.StudentNum)>0 BEGIN
PRINT '学号产生冲突,请核对后重试!'
ROLLBACK
END