排课系统数据库报告_第1页
排课系统数据库报告_第2页
排课系统数据库报告_第3页
排课系统数据库报告_第4页
排课系统数据库报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库课程设计 题 目 某中学排课管理系统 专业班级 姓 名 学 号 完成日期 2014-11-24 目录一、需求分析31.1数据字典31.2全系统的数据项41.3数据流图4二、概念结构设计52.1E-R图52.2系统说明书7三、逻辑结构设计163.1关系模型163.2参照完整性约束条件163.3系统结构图17四、数据库实施174.1关系模式174.2程序编码(C#语言)22五、课程设计的感想和心得体会27一、需求分析学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。总结出如下需求信息:1) 一个班级有多个学生;2) 一个学生有多门课,一门课对应多个学生;3) 一个教

2、师可以教授多门课,一门课可以由多个教师来教授;4) 一个班级对应一张班级课程表,一个教师也对应一张教师课程表;5) 一个教师可以教授多个班级;经过对上述系统功能的分析和需求总结,设计总结如下:1.1数据字典 1)学生信息表字段名称数据类型默认值允许空主键studentIDint是namechar(10)sexchar(2)是birthdaydatetime是classIDint是 2)班级信息表字段名称数据类型默认值允许空主键classIDint是classnamechar(20) 3)教师信息表字段名称数据类型默认值允许空主键teacherIDint是namechar(10)sexchar(

3、2)是ageint是courseIDint是 4) 课程信息表字段名称数据类型默认值允许空主键courseIDint是classnamechar(20)teacherIDint是 5)课程表信息表字段名称数据类型默认值允许空主键星期char(20)是第一节char(20)是.第八节char(20)是班级IDInt 6)用户信息表字段名称数据类型默认值允许空主键usersvarchar(50)是passwordvarchar(50)1.2全系统的数据项数据项:1) 学生信息:学生ID、姓名、性别、出生日期、所属班级。2) 班级信息:班级ID、所属年级。3) 教师信息:教师ID、姓名、性别、年龄。

4、4) 课程信息:课程ID、课程名称、教师ID。5) 课程表信息:星期、第一节、第二节、第三节、第四节、第五节、第六节、第七节、第八节、班级ID。1.3数据流图排课系统用户用户信息录入 排课系统 查询查询结果查询结果有效信息信息文件二、概念结构设计2.1E-R图学生1) 学生实体E-R图出生日期姓名学生ID班级ID性别2) 班级实体E-R图班级班级ID班级名称3) 教师实体E-R图教师教师ID姓名性别 年龄课程ID4) 课程实体E-R图教师ID课程课程ID课程名称5) 课程表实体E-R图班级ID 第一节第二节.课程表第八节6) 全局E-R图被包含包含被教授教授课程表教师被学习学习包含属于课程班级

5、学生2.2系统说明书1) 系统要求某中学的排课管理系统l 实现班级、课程等基本信息的管理;l 实现学生、教师信息的管理;l 实现班级课程及课程的任课教师和排课管理;l 创建存储过程检测指定教师、指定节次是否有课;l 创建存储过程生成指定班级的课程表;l 创建存储过程生成指定老师的课程表;l 建立数据库相关表之间的参照完整性约束。2) 方案和概图 a)设计方案学生注册班级设置课程信息设置班级信息输入排课信息录入学生信息输入课程信息输入班级信息管理学生信息管理课程表信息管理课程信息管理教师注册教师信息录入教师信息管理b)系统概图用户登录界面错误提示界面排课系统主界面教师信息主界面教师信息查询报错学

6、生信息查询主界面学生信息查询报错课程信息查询主界面课程信息查询班级信息查询报错 课表信息查询 班级课程表教师课程表查询学生课程表查询三、逻辑结构设计3.1关系模型1)学生(学生ID,姓名,性别,出生日期,班级ID) 主键:学生ID 外键:班级ID2)班级(班级ID,班级名称) 主键:班级ID 3)教师(教师ID,姓名,性别,年龄,) 主键:教师ID 4)课程(课程ID,课程名称,教师ID) 主键:课程名称 外键:教师ID 5)课程表1(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节) 主键:星期 外键:第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节 6)课

7、程表2(星期,第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节,课程名称) 主键:星期 外键:第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节3.2参照完整性约束条件学生班级 学生.班级ID=班级.班级ID教师课程 教师.课程ID=课程.课程ID课程表班级 课程表.班级ID=班级.班级ID课程表教师 课程表.教师ID=教师.教师ID3.3系统结构图排课管理系统教师信息管理学生信息管理课程信息管理班级信息管理系统用户管理课程表管理教室课程表管理班级课程表管理用户管理密码管理班级信息修改班级信息查询班级信息添加课程信息修改课程信息查询课程信息添加学生信息查询教师信息添加

8、学生信息添加学生信息修改教师信息修改教师信息查询教师课程修改教师课程添加教师课程查询班级课程修改班级课程查询班级课程添加四、数据库实施4.1关系模式1) class表CREATE 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_LOC

9、KS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY2) course表CREATE TABLE dbo.course(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_

10、ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.course WITH 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 NUL

11、L,name nchar(10) NOT NULL,sex nchar(2) NULL,birthday datetime NULL,classID int NULL, CONSTRAINT 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 db

12、o.student WITH CHECK ADD CONSTRAINT FK_student_class FOREIGN KEY(classID)REFERENCES dbo.class (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

13、 KEY CLUSTERED (teacherID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_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,第五节 ncha

14、r(20) NULL,第六节 nchar(20) NULL,第七节 nchar(20) NULL,第八节 nchar(20) NULL,星期 nchar(20) NULL) ON PRIMARYALTER 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

15、 dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course1 FOREIGN KEY(第二节)REFERENCES 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 (c

16、oursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course2ALTER TABLE dbo.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 W

17、ITH CHECK ADD CONSTRAINT FK_courselist1_course4 FOREIGN KEY(第五节)REFERENCES dbo.course (coursename)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 TA

18、BLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course5ALTER TABLE dbo.courselist1 WITH 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 CONS

19、TRAINT FK_courselist1_course7 FOREIGN KEY(第八节)REFERENCES dbo.course (coursename)ALTER TABLE 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)

20、NULL,第七节 nchar(20) NULL,第八节 nchar(20) NULL,星期 nchar(20) NULL) ON PRIMARYALTER TABLE dbo.courselist2 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 CHE

21、CK ADD CONSTRAINT FK_courselist2_course1 FOREIGN KEY(第二节)REFERENCES dbo.course (coursename)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

22、.courselist2 CHECK CONSTRAINT FK_courselist2_course2ALTER TABLE dbo.courselist2 WITH CHECK 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

23、FK_courselist2_course4 FOREIGN KEY(第五节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 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

24、 CONSTRAINT FK_courselist2_course5ALTER TABLE dbo.courselist2 WITH CHECK ADD CONSTRAINT FK_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_cou

25、rse7 FOREIGN KEY(第八节)REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT 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, STATI

26、STICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY8)创建存储过程生成指定班级的课程表 create proc up_class(classID int)asselect * from courselist1 where courselist1.classID=classID execute up_class '1101'9)创建存储过程生成指定老师的课程表create proc up_teacher(

27、teacherID int)asselect * from courlist1 where courselist1.teacherID=teacherID execute up_teacher '1'10)创建存储过程检测指定教师、指定节次是否有课 create proc up_teacheer(teacherID int,星期 nvarchar(50)asselect * from coueselist1 where courselist1.teacherID=teacherID and courselist1.星期=星期execute up_teacher '1&#

28、39;,'第一节'4.2程序编码(C#语言)添加头文件:using System.Data.SqlClient;1) 用户登录关键代码if (textBox1.Text = "") MessageBox.Show("用户名不能为空!"); return; if (textBox2.Text = "") MessageBox.Show("密码不能为空!"); return; string constr = "server=.;database=中学排课系统;uid=sa;pwd=sa&quo

29、t; 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 SqlCommand(login, conn); SqlDataReader

30、 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("用户名或密码错误!"); finally conn.C

31、lose(); 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 s

32、tr = "select * from teacher 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 =

33、 dataSet.Tables0; conn.Close(); ID.Text = "" 3) 添加关键代码(以教师信息添加为例)private void tianjia_Click(object sender, EventArgs e) if (ID.Text.Trim() = "" | na.Text.Trim() = "" | se.Text.Trim()="" | ag.Text.Trim()="") MessageBox.Show("请填写完整信息!"); retu

34、rn; string constr = "server=.;database=中学排课系统;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection(constr); conn.Open(); try string str = "insert into teacher values ('" + ID.Text.Trim() + "', '" + na.Text.Trim() + "', '" + se.Text.Trim()

35、+ "', " + ag.Text.Trim() + ")" SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = conn; sqlCommand.CommandText = str; sqlCommand.CommandType = CommandType.Text; sqlCommand.ExecuteNonQuery(); MessageBox.Show("添加成功!"); catch (Exception ex) MessageBox.Sh

36、ow("添加失败!"); 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("确定删除吗?", "提示", Messag

37、eBoxButtons.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(); sqlCo

38、mmand.Connection = 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 = "&quo

39、t; string mingzi = "" string xingbie = "" string nianling = "" private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) id = dataGridView1.Rowse.RowIndex.Cells0.Value.ToString(); mingzi = dataGridView1.Rowse.RowIndex.Cells1.Value.ToString(); xingbie = dataGridView1.Rowse.RowIndex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论