《数据库课程设计报告-某中学的排课管理系统(16页).docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告-某中学的排课管理系统(16页).docx(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-数据库课程设计报告-某中学的排课管理系统某中学的排课管理系统课程设计报告题目:某中学的排课管理系统专业:网络工程班级:姓名:指导教师:成绩:计算机学院2017年12月8日目录一、设计内容及要求21.1研究的目的和意义21.2数据字典21.3全系统的数据项31.4数据流图4二、概要设计42.1E-R图4学生实体E-R图42.2系统说明书7三、系统关系模型及结构图143.1关系模型143.2参照完整性约束条件143.3系统结构图15四、程序代码154.1创建表154.2程序编码19五、参考文献23一、 设计内容及要求学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。总结
2、出如下需求信息:1) 一个班级有多个学生;2) 一个学生有多门课,一门课对应多个学生;3) 一个教师可以教授多门课,一门课可以由多个教师来教授;4) 一个班级对应一张班级课程表,一个教师也对应一张教师课程表;5) 一个教师可以教授多个班级;经过对上述系统功能的分析和需求总结,设计总结如下:1.1研究的目的和意义教务管理系统是学校最为核心的信息系统,排课系统又是教务管理系统中非常重要的一个子系统。学校的日常教学管理工作均围绕着它展开。排课系统体现了各学校不同于其它学校的个性化的特点,又将随着学校的人才培养模式的改革而变化。它不仅可以从侧面反映出学校领导的办学思想,也能体现出学校教育教学管理的能力
3、和水平。随着Internet和信息技术的发展,我国高校教育信息化建设成为信息化建设的前沿阵地和信息时代的弄潮先锋。在国家对高等教育大力发展政策的刺激下,高校教育事业得到了迅速发展,在新的教务管理模式和管理体制下,如何利用有限的资源,以最优化的形式满足教务管理的需要成为了目前急需要解决的重要课题。通过建立一个以网络应用为基础、高性能、高可靠性、高安全性的云南大学排课系统,并将管理思想与计算机技术、网络技术有机结合,开发出真正符合现代教育管理理念与学习规律、更稳定、功能更强,服务更全面的校院两级排课系统,才能更好地为学生和教学服务,让教务管理人员真正的将精力花在提高教学教务管理质量上,而不是简单和
4、繁重的日常事务处理上。经过对上述系统功能的分析和需求总结,设计总结如下:1.2数据字典 1)学生信息表字段名称数据类型默认值允许空主键studentIDint是namechar(10)sexchar(2)是birthdaydatetime是classIDint是 2)班级信息表字段名称数据类型默认值允许空主键classIDint是classnamechar(20) 3)教师信息表字段名称数据类型默认值允许空主键teacherIDint是namechar(10)sexchar(2)是ageint是courseIDint是 4) 课程信息表字段名称数据类型默认值允许空主键courseIDint是c
5、lassnamechar(20)teacherIDint是 5)课程表信息表字段名称数据类型默认值允许空主键星期char(20)是第一节char(20)是.第八节char(20)是班级IDInt 6)用户信息表字段名称数据类型默认值允许空主键usersvarchar(50)是passwordvarchar(50)1.3全系统的数据项数据项:1) 学生信息:学生ID、姓名、性别、出生日期、所属班级。2) 班级信息:班级ID、所属年级。3) 教师信息:教师ID、姓名、性别、年龄。4) 课程信息:课程ID、课程名称、教师ID。5) 课程表信息:星期、第一节、第二节、第三节、第四节、第五节、第六节、第
6、七节、第八节、班级ID。1.4数据流图管理员(用户)用户录入信息存储查询到的信息反馈排课系统按系统允许的条件查询信息信息库二、 概要设计2.1E-R图学生学生实体E-R图学生ID姓名性别出生日期班级ID班级实体E-R图班级班级ID班级名称教师实体E-R图教师教师ID姓名性别 年龄课程ID课程实体E-R图课程课程ID课程名称课程表实体E-R图第一节班级ID第二节课程表第八节全局E-R图属于包含学生班级学习被学习教授被教授教师课程被包含包含课程表2.2系统说明书1) 系统要求某中学的排课管理系统l 实现班级、课程等基本信息的管理;l 实现学生、教师信息的管理;l 实现班级课程及课程的任课教师和排课
7、管理;l 创建存储过程检测指定教师、指定节次是否有课;l 创建存储过程生成指定班级的课程表;l 创建存储过程生成指定老师的课程表;l 建立数据库相关表之间的参照完整性约束。2) 方案和概图 a)设计方案学生注册班级设置课程信息设置班级信息输入排课信息录入学生信息输入课程信息输入班级信息管理学生信息管理课程表信息管理课程信息管理教师注册教师信息录入教师信息管理b)系统概图用户登录界面错误提示界面排课系统主界面教师信息主界面教师信息查询报错学生信息查询主界面学生信息查询报错教师课表信息查询主界面课程信息查询班级信息查询报错 查询班级课程表教师课程表查询三、系统关系模型及结构图3.1关系模型1)学生
8、(学生ID,姓名,性别,出生日期,班级ID) 主键:学生ID 外键:班级ID2)班级(班级ID,班级名称) 主键:班级ID 3)教师(教师ID,姓名,性别,年龄,) 主键:教师ID 4)课程(课程ID,课程名称,教师ID) 主键:课程名称 外键:教师ID 5)课程表1(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节) 主键:星期 外键:第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节 6)课程表2(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节,课程名称) 主键:星期 外键:第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节
9、3.2参照完整性约束条件学生班级 学生.班级ID=班级.班级ID教师课程 教师.课程ID=课程.课程ID课程表班级 课程表.班级ID=班级.班级ID课程表教师 课程表.教师ID=教师.教师ID3.3系统结构图排课管理系统教师信息管理课程表管理学生信息管理课程信息管理班级信息管理系统用户管理用户管理密码管理班级信息修改班级信息查询班级信息添加课程信息修改课程信息查询课程信息添加学生信息查询教师信息添加学生信息添加学生信息修改教师信息修改教师信息查询班级课程表管理教室课程表管理班级课程添加班级课程查询班级课程修改教师课程查询教师课程添加教师课程修改四、程序代码4.1创建表1) class表CREA
10、TE TABLE dbo.class(classID int NOT NULL,classname nchar(20) NOT NULL, CONSTRAINT PK_class PRIMARY KEY CLUSTERED classID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY2) course表CREATE TABLE dbo.course(
11、courseID int NOT NULL,coursename nchar(20) NOT NULL,teacherID int NULL, CONSTRAINT PK_course PRIMARY KEY CLUSTERED coursename ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.course WITH
12、CHECK ADD CONSTRAINT FK_course_teacher1 FOREIGN KEY(teacherID)REFERENCES dbo.teacher (teacherID)ALTER TABLE dbo.course CHECK CONSTRAINT FK_course_teacher13) student表CREATE TABLE dbo.student(studentID int NOT NULL,name nchar(10) NOT NULL,sex nchar(2) NULL,birthday datetime NULL,classID int NULL, CONS
13、TRAINT PK_student PRIMARY KEY CLUSTERED studentID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.student WITH CHECK ADD CONSTRAINT FK_student_class FOREIGN KEY(classID)REFERENCES dbo.cl
14、ass (classID)ALTER TABLE dbo.student CHECK CONSTRAINT FK_student_class4) teacher表CREATE TABLE dbo.teacher(teacherID int NOT NULL,name nchar(10) NULL,sex nchar(2) NULL,age int NULL, CONSTRAINT PK_teacher PRIMARY KEY CLUSTERED teacherID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_D
15、UP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY5) courselist1表CREATE TABLE dbo.courselist1(第一节 nchar(20) NULL,第二节 nchar(20) NULL,第三节 nchar(20) NULL,第四节 nchar(20) NULL,第五节 nchar(20) NULL,第六节 nchar(20) NULL,第七节 nchar(20) NULL,第八节 nchar(20) NULL,星期 nchar(20) NULL) ON P
16、RIMARYALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course FOREIGN KEY(第一节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_courseALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course1 FOREIGN KEY(第二节)REFERENCE
17、S dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course1ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course2 FOREIGN KEY(第三节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course2ALTER TABLE db
18、o.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course3 FOREIGN KEY(第四节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course3ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course4 FOREIGN KEY(第五节)REFERENCES dbo.course (cour
19、sename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course4ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course5 FOREIGN KEY(第六节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course5ALTER TABLE dbo.courselist1 WITH
20、 CHECK ADD CONSTRAINT FK_courselist1_course6 FOREIGN KEY(第七节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course6ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course7 FOREIGN KEY(第八节)REFERENCES dbo.course (coursename)ALTER TABLE
21、 dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course76) courselist2表CREATE TABLE dbo.courselist2(第一节 nchar(20) NULL,第二节 nchar(20) NULL,第三节 nchar(20) NULL,第四节 nchar(20) NULL,第五节 nchar(20) NULL,第六节 nchar(20) NULL,第七节 nchar(20) NULL,第八节 nchar(20) NULL,星期 nchar(20) NULL) ON PRIMARYALTER TABLE dbo.cou
22、rselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course FOREIGN KEY(第一节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_courseALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course1 FOREIGN KEY(第二节)REFERENCES dbo.course (coursename)
23、ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course1ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course2 FOREIGN KEY(第三节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course2ALTER TABLE dbo.courselist2 WITH CHECK
24、ADD CONSTRAINT FK_courselist2_course3 FOREIGN KEY(第四节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course3ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course4 FOREIGN KEY(第五节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.co
25、urselist2 CHECK CONSTRAINT FK_courselist2_course4ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course5 FOREIGN KEY(第六节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course5ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_
26、courselist2_course6 FOREIGN KEY(第七节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course6ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course7 FOREIGN KEY(第八节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CO
27、NSTRAINT FK_courselist2_course77) 用户user表CREATE TABLE dbo.users(username varchar(50) NOT NULL,password varchar(50) NOT NULL, CONSTRAINT PK_users PRIMARY KEY CLUSTERED username ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
28、ON PRIMARY) ON PRIMARY8)创建存储过程生成指定班级的课程表 create proc up_class(classID int)asselect * from courselist1 where courselist1.classID=classID execute up_class 11019)创建存储过程生成指定老师的课程表create proc up_teacher(teacherID int)asselect * from courlist1 where courselist1.teacherID=teacherID execute up_teacher 110)创
29、建存储过程检测指定教师、指定节次是否有课 create proc up_teacheer(teacherID int,星期 nvarchar(50)asselect * from coueselist1 where courselist1.teacherID=teacherID and courselist1.星期=星期execute up_teacher 1,第一节4.2程序编码using System.Data.SqlClient;1) 用户登录关键代码if (textBox1.Text = ) MessageBox.Show(用户名不能为空!); return; if (textBox2
30、.Text = ) MessageBox.Show(密码不能为空!); return; string constr = server=.;database=中学排课系统;uid=sa;pwd=sa; SqlConnection conn = new SqlConnection(constr); conn.Open(); try string login = select * from users where username = + textBox1.Text.Trim() + and password = + textBox2.Text + ; SqlCommand sqlCmd = new
31、 SqlCommand(login, conn); SqlDataReader sqlReader = sqlCmd.ExecuteReader(); sqlReader.Read(); if (sqlReader.HasRows) sqlReader.Close(); start start = new start(); start.Show(); this.Hide(); else MessageBox.Show(用户名或密码错误!); catch (Exception ex) MessageBox.Show(ex.Message); MessageBox.Show(用户名或密码错误!);
32、 finally conn.Close();2) 查询关键代码(以教师信息查询为例)private void chaxun_Click(object sender, EventArgs e) if (ID.Text.Trim() = ) MessageBox.Show(请填写教师编号!); return; string constr = server=.;database=中学排课系统;uid=sa;pwd=sa; SqlConnection conn = new SqlConnection(constr); conn.Open(); string str = select * from te
33、acher where teacherID=+ID.Text.Trim(); SqlCommand command = new SqlCommand(str, conn); SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = command; DataSet dataSet = new DataSet(); adapter.Fill(dataSet, type); dataGridView1.DataSource = dataSet.Tables0; conn.Close(); ID.Text = ;3)
34、 添加关键代码(以教师信息添加为例)private void tianjia_Click(object sender, EventArgs e) if (ID.Text.Trim() = | na.Text.Trim() = | se.Text.Trim()= | ag.Text.Trim()=) MessageBox.Show(请填写完整信息!); return; string constr = server=.;database=中学排课系统;uid=sa;pwd=sa; SqlConnection conn = new SqlConnection(constr); conn.Open()
35、; try string str = insert into teacher values ( + ID.Text.Trim() + , + na.Text.Trim() + , + se.Text.Trim() + , + ag.Text.Trim() + ); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQ
36、uery(); MessageBox.Show(添加成功!); catch (Exception ex) MessageBox.Show(添加失败!); finally conn.Close(); teacherinformation_Load(sender, e);4) 删除关键代码(以教师信息删除为例)private void shanchu_Click(object sender, EventArgs e) if (ID.Text.Trim() = ) MessageBox.Show(请填写教职工号!); return; if (MessageBox.Show(确定删除吗?, 提示, M
37、essageBoxButtons.OKCancel) = DialogResult.OK) string constr = server=.;database=中学排课系统;uid=sa;pwd=sa; SqlConnection conn = new SqlConnection(constr); conn.Open(); try string str = delete from teacher where teacherID= + ID.Text.Trim(); SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection =
38、 conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); catch (Exception ex) MessageBox.Show(删除失败!); finally conn.Close(); teacherinformation_Load(sender, e);5) 修改关键代码(以教师信息修改为例)在下边的文本框中显示选中的行 string id = ; string mingzi = ; string xingbie = ; string nianling = ; private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) id = dataGridView1.Rowse.RowIndex.Cells0.Value.ToString();