✅更多源码 | 课设
✅ 🚀快速解决各种课设毕设,窗体、网站、管理系统,范围 (Java、C#、C/C++、数据库、Vue、小程序)
✅ 🚀 文末联系 源码 / 定做🚀
(小破站评论区置顶可获取源码)
第一阶段我们完成了:
管理员登录,增删改查学生信息、班级信息
学生登录注册、修改个人信息
其他:验证码、权限等
第二阶段学生选课管理系统,大致功能如下:
加入教师角色
教师可添加开课课程(限制选课人数)
学生选课,教师给自己选课班级的学生打分
统计和分析
上一阶段我们已经创建好了管理员,学生,班级表
这一阶段我们的功能需求细化一下
添加教师角色,管理员可以管理教师(教师编号,教师名)
教师发布课程提供给学生选课,并且只能在规定时间内选课,需要记录选课人数上限和已选课人数!
选课表应该记录选课时间,学生选课后,教师可以对其进行期末评价和打分
数据库创建新表
use stu_manage;-- 选中原来的数据库
-- 教师
create table tb_teacher (
tno varchar(20), -- 教师编号
password varchar(20), -- 密码
tname varchar(20),-- 教师名
PRIMARY KEY (`tno`)
);
-- 课程
create table tb_course (
cno varchar(20), -- 课程号
tno varchar(20),-- 教师号
cname varchar(20), -- 课程名
begindate date, -- 开始选课时间
enddate date, -- 选课结束时间
credits DECIMAL(3,1), -- 学分( 3,1 表示3位数,其中1位为小数,最大是99.9)
limi int, -- 限制人数
count int, -- 已选人数
content varchar(100), -- 课程内容
PRIMARY KEY (`cno`)
);
-- 插入测试数据
insert into tb_teacher values('001','123','王老师');
insert into tb_teacher values('002','123','张老师');
insert into tb_course values('A001','001','大二高数A','2024-11-07','2024-12-07',4.0,50,48,'高数学习');
insert into tb_course values('A002','001','大二高数B','2024-11-07','2024-12-07',4.0,50,48,'高数学习');
insert into tb_course values('A003','002','线性代数下','2024-11-07','2024-12-07',4.0,50,48,'高数学习');
-- 创建选课表
create table tb_stu_cou (
cno varchar(20), -- 课程号
sno varchar(20), -- 学生号
chosetime date, -- 选课时间
score DECIMAL(5,2), -- 期末得分( 5,2 表示5位数,其中2位为小数,最大是999.99)
evaluation varchar(100), -- 期末评价
PRIMARY KEY (cno, sno) -- 复合主键
);
-- 课程表关联教师外键
alter table tb_course add CONSTRAINT frn_course_teacher
FOREIGN KEY(tno) REFERENCES tb_teacher (tno);
-- 选课表关联学生和课程
alter table tb_stu_cou add CONSTRAINT frn_chose_student
FOREIGN KEY(sno) REFERENCES tb_student (sno);
alter table tb_stu_cou add CONSTRAINT frn_chose_course
FOREIGN KEY(cno) REFERENCES tb_course (cno);

由于我们已经有了增删改查的经验,后面做起来会快很多!大家和我一起化身CV战士吧!
学习教程视频推荐(小破站评论区置顶可获取源码)

796

被折叠的 条评论
为什么被折叠?



