asp.net/c# 教务管理系统

数据库文件说明

教务管理系统

数据库设计

关系模型

管理员(主键,用户名,密码)

学院(主键,学院名,院长,学院介绍)

教师(主键,用户名,密码,姓名,教师编号,性别,年龄,职称,毕业院校,所属学院)

班级(主键,班级名,所属学院,班主任)

课程(主键,课程名,学分)

教室(主键,教室编号,地点)

排课安排(主键,课程,教师,上课教室,上课班级,上课时间安排)

数据字典

管理员表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

用户名

username

varchar(20)

not null;unique;

不可为空;字段唯一;

密码

password

varchar(20)

学院表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

学院名

name

varchar(18)

not null;

不可为空;

院长

manager

varchar(18)

not null;

不可为空;

学院介绍

description

varchar(255)

教师表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

用户名

username

varchar(20)

not null;unique;

不可为空;字段唯一;

密码

password

varchar(20)

姓名

name

varchar(18)

not null;

不可为空;

教师编号

numb

varchar(32)

not null;unique;

不可为空;字段唯一;

性别

gender

varchar(10)

年龄

age

int

职称

positionstr

varchar(20)

毕业院校

byyx

varchar(20)

所属学院

collegeid

varchar(255)

班级表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

班级名

name

varchar(18)

not null;unique;

不可为空;字段唯一;

所属学院

collegeid

varchar(255)

班主任

tid

varchar(255)

课程表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

课程名

name

varchar(18)

not null;

不可为空;

学分

score

int

教室表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

教室编号

name

varchar(18)

not null;unique;

不可为空;字段唯一;

地点

place

varchar(255)

排课安排表

字段名

字段

数据类型

约束

描述

主键

id

varchar(40)

primary key;

唯一标识

课程

courseid

varchar(255)

教师

teacherId

varchar(255)

上课教室

room

varchar(255)

上课班级

clazzId

varchar(255)

上课时间安排

coursetime

varchar(255)

删改查sql语句示范

-- ----------------------------
-- TODO1 创建Mysql数据库和表,只需执行一次
-- ----------------------------
Create Database If Not Exists c22052422jiaowu Character Set UTF8;
use c22052422jiaowu;-- ----------------------------
-- 创建表:管理员
-- ----------------------------
create table tb_admin (id varchar(40) , -- 主键username varchar(20) , -- 用户名password varchar(20) , -- 密码PRIMARY KEY (`id`)
);
-- 默认插入一条管理员 数据
insert into tb_admin (id,username,password) values('1234567890','1','1');
-- ----------------------------
-- 创建表:学院
-- ----------------------------
create table tb_college (id varchar(40) , -- 主键name varchar(18) , -- 学院名manager varchar(18) , -- 院长description varchar(255) , -- 学院介绍PRIMARY KEY (`id`)
);
-- ----------------------------
-- 创建表:教师
-- ----------------------------
create table tb_teacher (id varchar(40) , -- 主键username varchar(20) , -- 用户名password varchar(20) , -- 密码name varchar(18) , -- 姓名numb varchar(32) , -- 教师编号gender varchar(10) , -- 性别age int , -- 年龄positionstr varchar(20) , -- 职称byyx varchar(20) , -- 毕业院校collegeid varchar(255) , -- 所属学院PRIMARY KEY (`id`)
);
-- ----------------------------
-- 创建表:班级
-- ----------------------------
create table tb_clazz (id varchar(40) , -- 主键name varchar(18) , -- 班级名collegeid varchar(255) , -- 所属学院tid varchar(255) , -- 班主任PRIMARY KEY (`id`)
);
-- ----------------------------
-- 创建表:课程
-- ----------------------------
create table tb_course (id varchar(40) , -- 主键name varchar(18) , -- 课程名score int , -- 学分PRIMARY KEY (`id`)
);
-- ----------------------------
-- 创建表:教室
-- ----------------------------
create table tb_classroom (id varchar(40) , -- 主键name varchar(18) , -- 教室编号place varchar(255) , -- 地点PRIMARY KEY (`id`)
);
-- ----------------------------
-- 创建表:排课安排
-- ----------------------------
create table tb_record (id varchar(40) , -- 主键courseid varchar(255) , -- 课程teacherId varchar(255) , -- 教师room varchar(255) , -- 上课教室clazzId varchar(255) , -- 上课班级coursetime varchar(255) , -- 上课时间安排PRIMARY KEY (`id`)
);-- 创建 用户名 唯一索引
ALTER TABLE tb_admin ADD UNIQUE INDEX index_tb_admin_username(username);-- 创建 用户名 唯一索引
ALTER TABLE tb_teacher ADD UNIQUE INDEX index_tb_teacher_username(username);
-- 创建 教师编号 唯一索引
ALTER TABLE tb_teacher ADD UNIQUE INDEX index_tb_teacher_numb(numb);
-- 创建 性别 字段限制
alter table tb_teacher add constraint check_tb_teacher_gender check(gender in('男','女'));
-- 创建 所属学院 外键约束,创建后,删除已经绑定了外键的学院 会报错
-- alter table tb_teacher add CONSTRAINT frn_teacher_college FOREIGN KEY(collegeid) REFERENCES tb_college (id);-- 创建 班级名 唯一索引
ALTER TABLE tb_clazz ADD UNIQUE INDEX index_tb_clazz_name(name);
-- 创建 所属学院 外键约束,创建后,删除已经绑定了外键的学院 会报错
-- alter table tb_clazz add CONSTRAINT frn_clazz_college FOREIGN KEY(collegeid) REFERENCES tb_college (id);
-- 创建 班主任 外键约束,创建后,删除已经绑定了外键的教师 会报错
-- alter table tb_clazz add CONSTRAINT frn_clazz_teacher FOREIGN KEY(tid) REFERENCES tb_teacher (id);-- 创建 教室编号 唯一索引
ALTER TABLE tb_classroom ADD UNIQUE INDEX index_tb_classroom_name(name);-- 创建 课程 外键约束,创建后,删除已经绑定了外键的课程 会报错
-- alter table tb_record add CONSTRAINT frn_record_course FOREIGN KEY(courseid) REFERENCES tb_course (id);
-- 创建 教师 外键约束,创建后,删除已经绑定了外键的教师 会报错
-- alter table tb_record add CONSTRAINT frn_record_teacher FOREIGN KEY(teacherId) REFERENCES tb_teacher (id);
-- 创建 上课教室 外键约束,创建后,删除已经绑定了外键的教室 会报错
-- alter table tb_record add CONSTRAINT frn_record_classroom FOREIGN KEY(room) REFERENCES tb_classroom (id);
-- 创建 上课班级 外键约束,创建后,删除已经绑定了外键的班级 会报错
-- alter table tb_record add CONSTRAINT frn_record_clazz FOREIGN KEY(clazzId) REFERENCES tb_clazz (id);-- ----------------------------
-- TODO2 创建 视图和存储过程等
-- ------------------------------ ----------------------------
-- 创建视图:教师 表 和对应外键信息的视图
-- ----------------------------
create  view view_teacher as
select t.id as 主键 ,t.username as 用户名,t.password as 密码,t.name as 姓名,t.numb as 教师编号,t.gender as 性别,t.age as 年龄,t.positionstr as 职称,t.byyx as 毕业院校,collegeid.name as 所属学院
from tb_teacher as t ,tb_college collegeid
where 1=1  and t.collegeid=collegeid.id  ;-- ----------------------------
-- 创建视图:班级 表 和对应外键信息的视图
-- ----------------------------
create  view view_clazz as
select t.id as 主键 ,t.name as 班级名,collegeid.name as 所属学院,tid.name as 班主任
from tb_clazz as t ,tb_college collegeid,tb_teacher tid
where 1=1  and t.collegeid=collegeid.id  and t.tid=tid.id  ;-- ----------------------------
-- 创建视图:排课安排 表 和对应外键信息的视图
-- ----------------------------
create  view view_record as
select t.id as 主键 ,courseid.name as 课程,teacherId.name as 教师,room.name as 上课教室,clazzId.name as 上课班级,t.coursetime as 上课时间安排
from tb_record as t ,tb_course courseid,tb_teacher teacherId,tb_classroom room,tb_clazz clazzId
where 1=1  and t.courseid=courseid.id  and t.teacherId=teacherId.id  and t.room=room.id  and t.clazzId=clazzId.id  ;-- -------------------
-- PROCEDURE:login
-- 返回结果success和message:1表成功 0 表失败,message是提示消息
-- -------------------
-- 执行下句测试,会显示1,login success。
-- call proc_login ('1','1');
-- -------------------
create PROCEDURE proc_login(in usernameP varchar(20),passwordP varchar(20))
beginif exists(select * from tb_admin where usernameP=username) THEN-- 判断用户是否存在beginif exists(select * from tb_admin where usernameP=username and passwordP=password)THEN-- 判断密码正确select 1 as success,'login success' as message;elseselect 0 as success,'login fail' as message;END IF;end;elsebeginselect 0 as success,'user_does_not_exist' as message;end;END IF;
end;-- -------------------
-- PROCEDURE:register
-- 返回结果success和message:1表成功 0 表失败,message是提示消息
-- ------------------
-- 执行以下测试,会显示0,username_already_exists。
-- call proc_register( '1','1');
-- -------------------
create PROCEDURE proc_register(in usernameP varchar(20),passwordP varchar(20))
beginif exists(select * from tb_admin where usernameP=username) thenselect 0 as success,'username_already_exists' as message;elsebegininsert into tb_admin (id,username,password) values(Replace(UUID(),'-',''),usernameP,passwordP);select 1 as success,'registration_success' as message;end;end if;
end;-- --------------------------------------
-- 存储过程:添加或者修改学院
-- --------------------------------------
create PROCEDURE proc_college (in idP varchar(255) ,nameP varchar(18),managerP varchar(18),descriptionP varchar(255))
beginif exists(select id from tb_College where idP=id) then -- updatebeginupdate tb_College set name=nameP,manager=managerP,description=descriptionP where id=idP;select 1 as success,'update-successfully' as message;end;else -- addbegininsert into tb_College values(Replace(UUID(),'-','') ,nameP,managerP,descriptionP );select 1 as success,'added-successfully' as message;end;end if;
end;-- --------------------------------------
-- 存储过程:添加或者修改班级
-- --------------------------------------
create PROCEDURE proc_clazz (in idP varchar(255) ,nameP varchar(18),collegeidP varchar(255),tidP varchar(255))
beginif exists(select id from tb_Clazz where idP=id) then -- updatebeginupdate tb_Clazz set name=nameP,collegeid=collegeidP,tid=tidP where id=idP;select 1 as success,'update-successfully' as message;end;else -- addbegininsert into tb_Clazz values(Replace(UUID(),'-','') ,nameP,collegeidP,tidP );select 1 as success,'added-successfully' as message;end;end if;
end;-- --------------------------------------
-- 存储过程:添加或者修改课程
-- --------------------------------------
create PROCEDURE proc_course (in idP varchar(255) ,nameP varchar(18),scoreP int)
beginif exists(select id from tb_Course where idP=id) then -- updatebeginupdate tb_Course set name=nameP,score=scoreP where id=idP;select 1 as success,'update-successfully' as message;end;else -- addbegininsert into tb_Course values(Replace(UUID(),'-','') ,nameP,scoreP );select 1 as success,'added-successfully' as message;end;end if;
end;-- --------------------------------------
-- 存储过程:添加或者修改教室
-- --------------------------------------
create PROCEDURE proc_classroom (in idP varchar(255) ,nameP varchar(18),placeP varchar(255))
beginif exists(select id from tb_Classroom where idP=id) then -- updatebeginupdate tb_Classroom set name=nameP,place=placeP where id=idP;select 1 as success,'update-successfully' as message;end;else -- addbegininsert into tb_Classroom values(Replace(UUID(),'-','') ,nameP,placeP );select 1 as success,'added-successfully' as message;end;end if;
end;-- --------------------------------------
-- 存储过程:添加或者修改排课安排
-- --------------------------------------
create PROCEDURE proc_record (in idP varchar(255) ,courseidP varchar(255),teacherIdP varchar(255),roomP varchar(255),clazzIdP varchar(255),coursetimeP varchar(255))
beginif exists(select id from tb_Record where idP=id) then -- updatebeginupdate tb_Record set courseid=courseidP,teacherId=teacherIdP,room=roomP,clazzId=clazzIdP,coursetime=coursetimeP where id=idP;select 1 as success,'update-successfully' as message;end;else -- addbegininsert into tb_Record values(Replace(UUID(),'-','') ,courseidP,teacherIdP,roomP,clazzIdP,coursetimeP );select 1 as success,'added-successfully' as message;end;end if;
end;-- ----------------------------------------------
-- trigger
-- ----------------------------------------------
CREATE TRIGGER trigger_insert_admin
BEFORE INSERT ON tb_admin FOR EACH ROW
BEGINif LENGTH(new.password)<1 thenset new.password = '123456';end if;
END;CREATE TRIGGER trigger_insert_teacher
BEFORE INSERT ON tb_teacher FOR EACH ROW
BEGINif LENGTH(new.password)<1 thenset new.password = '123456';end if;
END;-- -----------------
-- TODO3 创建用户并授权
-- -----------------
CREATE USER 'c22052422jiaowu'@'%' IDENTIFIED BY 'c22052422jiaowu';
GRANT ALL ON c22052422jiaowu.* TO 'c22052422jiaowu'@'%';

系统截图

 

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部