最近开始做数据库课设,很惭愧的是到大三才真正开始自己做东西,想把自己每天的经历和学到的新知识记录下来,如果有一天我停更了,那就是我又半途而废了……
数据库课设的题目是“学生选课管理系统”,顾名思义,网上也有很多相关的资料。我打算用B/S端,数据库用mysql,网页的话,因为之前只是粗浅的了解,所以只能边学边做了。说是数据库课设,但是其实大家都把精力主要放在了界面后台,数据库本身的设计并没有下太大功夫。旁边的妹子告诫我不要多加约束、不要加触发器(笑哭.jpg)。
首先学生选课管理系统的对象主要有学生、老师和管理员。其中部分老师为管理员。
学生端:个人信息(学号、姓名、性别、班级等),显示课表、显示成绩、退选课等
老师端:个人信息(工号、姓名、性别等),输入学生成绩、处理学生退选课等;
管理员:增删改学生信息、增删改老师信息、增删改课程信息等。
接下来是数据库,主要为4个表,学生表、课程表、老师表、成绩表
create table Student(
Sno char(9) not null primary key,//学号
Sname char(20) not null,//姓名
Ssex char(2) not null,//性别
Sdate date,//出生年月
Sdept char(20) not null//系别
);
create table Course(
Cno char(4) not null primary key,//课程号
Cname char(40) not null,//课程名
Csite char(30) not null,//课程地点
Credit decimal(4,1)//学分
);
create table Teacher(
Tno char(9) not null primary key,//工号
Tname char(20) not null,//姓名
Srights char(20),//权限,判断是否为管理员
Cno char(4)//课程号
);
alter table Teacher add foreign key(Cno) references Course(Cno);//添加外键约束
create table Score(
Sno char(9),//学号
Cno char(4),//课程号
Grade decimal(3,1)//成绩
);
alter table Score add foreign key(Sno) references Student(Sno);
alter table Score add foreign key(Cno) references Course(Cno);
这就是最基本的数据库了。接下来开始做界面。