1、教务管理系统数据库设计 教务管理系统1、项目计划1.1项目背景:教务系统管理平台充分利用互联网络B/S管理系统模式,以网络为平台,为各个学校教务系统的管理提供一个平台,帮助学校管理教务系统,用一个账号解决学校教务教学管理,并且学校可以自由选择学校需要的教务管理系统,灵活地定制符合学校自己实际情况的教务系统.1.2系统开发目的:提高学生,老师管理和操作事务的运作效率。1.3定义: 学生选课和老师评分必须在管理员的设置条件下进行。2、详细分析2.1、系统功能 设置学期时间:管理员登录系统后设置学期的时间,只有当时间为某个状态时,其他角色例如老师,才能做某些事情。学期时间只能由角色管理员操作:包括对
2、学期时间表的增加,删除,对某个学期时间状态的改变。学生选课:当管理员设置为学期开始时,学生可以选课,学生选课受学分影响,只能选择总学分为多少的课程。老师评分:当管理员设置为学期评分时,老师才可以评分。个人信息管理:对自己个人信息进行添加和修改。成绩查询:学生可以对自己成绩进行查询。个人课表查询:按时间的不同,每个角色都有自己不同的课表。2.2、系统结构功能描述:学生选课和老师评分必须在管理员设置学期的条件下进行。2.3、数据流图顶层图0层图2.4、户类型与职能(1)管理员: 对学期设置的管理每个阶段有不同的功能。(2)老师: 对选修了自己课程的学生评分。(3)学生: 选修科目。2.5、系统环境
3、需求系统模式 本系统采用B/S模式作为开发模式硬件环境服务器端: 高性能的计算机一台, 普通的双绞线作为连接。 客户端:普通的计算机或者工作站, 普通的双绞线作为连接。软件环境 服务器端:安装SQLSERVER2000的服务器版本3、系统概念设计 系统ER图 系统ER图说明:(1)同一的老师可以教多个科目,同一科目可以由多个老师教。(2)同一学生可以选修多老师的科目,同一个老师的科目可以让多个学生选修。4、逻辑设计4.1系统关系模型a) 选课成绩表(选课编号,平时成绩,期末成绩,综合成绩)b) 用户表(用户编号,用户名称,用户密码,性别,住址,电话)c) 班别表(班别编号,班别名称,班别描述)
4、d) 系别(系别编号,系别名称,系别电话)e) 学期时间(学期编号,学期名称,学期开始时间,学期结束时间,学期状态)f) 课室表(课室编号,课室名称,课室面积,课室最大人数)g) 课程表(课程编号,课程名称,课程学分,课程类型,课程学时)h) 角色表(角色编号,角色名称,角色权限)i) 老师授课表(授课编号,授课时间)j) 上课地点表(地点编号)4.2系统数据库表结构数据库表索引 表名中文名Score选课成绩表Sysuser用户表Classes班别表Dept系别表Items学期时间表Major课程表Classroom课室表Userstyle角色表Mdteacher老师授课表Majorroom上
5、课地点表用户表(Sysuser)字段名字段类型长度主/外键字段值约束对应中文名Idvarchar20PNot null用户编号classesidVarchar20fNot null班级编号UserstyleidVarchar10fNot null角色编号UsernameVarchar10Not null用户名PasswordVarchar10Not null密码Sex Varchar2Not null性别AddressVarchar 50住址PhoneVarchar10电话选课成绩表(Score)字段名字段类型长度主/外键字段值约束对应中文名ScidintPNot null选课成绩编号idVa
6、rchar20FNot null用户名称MuidIntFNot null课程编号ItemidVarchar20FNot null学期编号PacgradeInt平时成绩EndgradeInt期末成绩SyngradeInt综合成绩班别表(Classes)字段名字段类型长度主/外键字段值约束对应中文名Classesidvarchar20PNot null班别编号ClassesnameVarchar10Not null班别名称ClassescontextVarchar50Not null班别描述系别表(Dept)字段名字段类型长度主/外键字段值约束对应中文名Deptidvarchar20PNot nu
7、ll系别编号DeptnameVarchar10Not null系别名称DeptphoneVarchar10系电话DeptaddressVarchar20系地址学期时间表(Items)字段名字段类型长度主/外键字段值约束对应中文名Itemsidvarchar20PNot null学期编号ItnameVarchar10Not null学期名称StarttimeData10学期开始时间EndtimeData10学期结束时间ItstateVarchar10Not null学期状态课程表(Major)字段名字段类型长度主/外键字段值约束对应中文名MDidvarchar20PNot null课程编号Mdn
8、ameVarchar10Not null课程名称MdcreditVarchar10Not null课程学分MdstyleVarchar10Not null课程类型Mdstudytimevarchar10课程学时课室表(Classroom)字段名字段类型长度主/外键字段值约束对应中文名Roomedvarchar20PNot null课室编号RoomnameVarchar10Not null课室名称AreaIntNot null面积MaxnumIntNot null最大人数角色表(Userstyle)字段名字段类型长度主/外键字段值约束对应中文名Usersyleidvarchar20PNot nu
9、ll角色编号UserstylenameVarchar10Not null角色名称PermissionVarchar10Not null权限教师授课表(Mdteacher)字段名字段类型长度主/外键字段值约束对应中文名MuidIntPNot null授课编号IdVarchar10FNot null用户编号MdidVarchar10FNot null课程编号MtimeDatetime10Not null授课时间上课地点表(Majorroom)字段名字段类型长度主/外键字段值约束对应中文名Mridvarchar20PNot null上课地点编号RoomidVarchar10FNot null课室编号
10、MdidVarchar10FNot null课程编号5、源码/*=*/* 触发器:删除已存在表 */*=*/if exists (select * from sysobjects where id = object_id(Classes)drop table ClassesGOif exists (select * from sysobjects where id = object_id(Classroom)drop table ClassroomGOif exists (select * from sysobjects where id = object_id(Dept)drop table
11、 DeptGOif exists (select * from sysobjects where id = object_id(Items)drop table ItemsGOif exists (select * from sysobjects where id = object_id(Major)drop table MajorGOif exists (select * from sysobjects where id = object_id(Majorroom)drop table MajorroomGOif exists (select * from sysobjects where
12、id = object_id(Mdteacher)drop table MdteacherGOif exists (select * from sysobjects where id = object_id(Score)drop table ScoreGOif exists (select * from sysobjects where id = object_id(Sysuser)drop table SysuserGOif exists (select * from sysobjects where id = object_id(Userstyle)drop table Userstyle
13、GO/*=*/* Table: Classes */*=*/create table Classes( classesid varchar(20) not null, deptid varchar(20), classname varchar(20) unique, clacontext varchar(50), primary key (classesid)go/*=*/* Table: Classroom */*=*/create table Classroom( roomid varchar(20) not null, roomname varchar(20) unique, area
14、int check(area0), maxnum int check(maxnum0), primary key (roomid)go/*=*/* Table: Dept */*=*/create table Dept( deptid varchar(20) not null, deptname varchar(20) unique, depphone varchar(10) , primary key (deptid)go/*=*/* Table: Items */*=*/create table Items( itemsid int not null IDENTITY, itname va
15、rchar(20), starttime datetime, endtime datetime, itstate varchar(10) check(itstate in (0,1,2), primary key (itemsid)go/*=*/* Table: Major */*=*/create table Major( MDid varchar(20) not null, MDname varchar(10) unique, MDcredit int , MDstyle varchar(10) check(MDstyle in (公选课,选修课), MDstudytime int che
16、ck(MDstudytime 0), primary key (MDid)go/*=*/* Table: Majorroom */*=*/create table Majorroom( MRid int not null IDENTITY, roomid varchar(20), MDid varchar(20), primary key (MRid)go/*=*/* Table: Mdteacher */*=*/create table Mdteacher( muid int not null IDENTITY, id varchar(20), MDid varchar(20), Mtime
17、 datetime, primary key (muid)go/*=*/* Table: Score */*=*/create table Score( scid int not null IDENTITY, id varchar(20), muid int, itemsid int, pacgrade int , endgrade int, syngrade int, primary key (scid)go/*=*/* Table: Sysuser */*=*/create table Sysuser( id varchar(20) not null, classesid varchar(
18、20), userstyleid varchar(10), username varchar(20) unique, password varchar(10), sex varchar(10) check(sex in (男,女), address varchar(50), phone varchar(20), primary key (id)go/*=*/* Table: Userstyle */*=*/create table Userstyle( userstyleid varchar(10) not null, userstylename varchar(20) unique, per
19、mission varchar(50), primary key (userstyleid)goalter table Classes add constraint FK_Reference_11 foreign key (deptid) references Dept (deptid) on delete cascade on update cascade;alter table Majorroom add constraint FK_Reference_15 foreign key (MDid) references Major (MDid) on delete cascade on up
20、date cascade;alter table Majorroom add constraint FK_Reference_18 foreign key (roomid) references Classroom (roomid) on delete cascade on update cascade;alter table Mdteacher add constraint FK_Reference_10 foreign key (id) references Sysuser (id) on delete cascade on update cascade;alter table Mdtea
21、cher add constraint FK_Reference_16 foreign key (MDid) references Major (MDid) on delete cascade on update cascade;alter table Score add constraint FK_Reference_13 foreign key (muid) references Mdteacher (muid);alter table Score add constraint FK_Reference_19 foreign key (itemsid) references Items (
22、itemsid);alter table Score add constraint FK_Reference_4 foreign key (id) references Sysuser (id);alter table Sysuser add constraint FK_Reference_12 foreign key (userstyleid) references Userstyle (userstyleid) on delete cascade on update cascade;alter table Sysuser add constraint FK_Reference_14 for
23、eign key (classesid) references Classes (classesid) on delete cascade on update cascade;/*=*/*存储过程:查询选修某个老师课程的学生 */ /*=*/create procedure stu (tr char(20)asselect Sysuser.id,Sysuser.username from Sysuser,Score where Score.id=Sysuser.id and Score.muid in (select muid from Mdteacher,Sysuser where Mdteacher.id=Sysuser.id and Sysuser.username=tr);/*=*/*授权 */ /*=
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1