




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计题 目中学排课管理系统专业班级姓名学号完成日期2014-11-24目录一、需求分析 21.1 数据字典 21.2 全系统的数据项 31.3 数据流图 3二、概念结构设计 42.1 E-R 图 42.2 系统说明书 5三、逻辑结构设计 153.1 关系模型 153.2 参照完整性约束条件 153.3 系统结构图 16四、数据库实施 164.1 关系模式 164.2 程序编码(C#语言)21五、课程设计的感想和心得体会 27需求分析学生隶属班级,班级按照课程表上课,课程由老师教授,这些都要有管理人员来管理。总结出如下需求信息:1) 一个班级有多个学生;2) 一个学生有多门课,一门课对
2、应多个学生;3) 一个教师可以教授多门课,一门课可以由多个教师来教授;4) 一个班级对应一张班级课程表,一个教师也对应一张教师课程表;5) 一个教师可以教授多个班级;经过对上述系统功能的分析和需求总结,设计总结如下:1.1 数据字典1)学生信息表字段名称数据类型默认值允许空主键studentIDint是namechar(10)sexchar(2)是birthdaydatetime是classIDint是2)班级信息表字段名称数据类型默认值允许空主键classIDint是classnamechar(20)3)教师信息表字段名称数据类型默认值允许空主键teacherIDint是namechar(1
3、0)sexchar(2)是ageint是courseIDint是4)课程信息表字段名称数据类型默认值允许空主键courseIDint是classnamechar(20)teacherIDint是5 )课程表/息表字段名称数据类型默认值允许空主键星期char(20)是第一节char(20)是第八节char(20)是班级IDInt6)用户信息表字段名称数据类型默认值允许空主键usersvarchar(50)是passwordvarchar(50)1.2 全系统的数据项数据项:1)学生信息:学生2) 班级信息:班级3)教师信息:教师4) 课程信息:课程ID、姓名、性别、出生日期、所属班级。ID、所属
4、年级。ID、姓名、性别、年龄。ID、课程名称、教师ID。5)课程表信息:星期、第一节、第二节、第三节、第四节、第五节、 第六节、第七节、第八节、班级 ID。1.3 数据流图二、概念结构设计2.1 E-R 图1) 学生实体E-R图3)教师实体E-R图4)课程实体E-R图5) 课程表实体E-R图6)全局E-R图 属于学生 X班级 '包含 学习包含课程表2.2 系统说明书2.3 统要求某中学的排课管理系统实现班级、课程等基本信息的管理;实现学生、教师信息的管理;实现班级课程及课程的任课教师和排课管理; 创建存储过程检测指定教师、指定节次是否有课;创建存储过程生成指定班级的课程表; 创建存储过
5、程生成指定老师的课程表; 建立数据库相关表之间的参照完整性约束。2)方案和概图a)设计方案课程表信息管理b)系统概图用户登录界面错误提示界面排课系统主界面教师信息主界面教师信息查询报错学生信息查询主界面学生信息查询报错课程信息查询主界面课程信息查询班级信息查询报错课表信息查询班级课程表教师课程表查询学生课程表查询三、逻辑结构设计3.1 关系模型1)学生(学生2)班级(班级3)教师(教师4)课程(课程学生(学生主键:学生班级(班级主键:班级教师(教师主键:教师课程(课程ID,IDID, ID ID, IDID)外键:班级ID班级名称)姓名,性别,年龄,)ID,课程名称,教师ID)主键:课程名称外
6、键:教师ID5)课程表1(星期,第一节,第二节,第三节,第四节,第五节, 第六节,第七节,第八节)主键:星期外键:第一节,第二节,第三节,第四6)课程表节,第五节,第六节,第七节,第八节2(星期,第一节,第二节,第三节,第四节,第五节, 第六节,第七节,第八节,课程名称)主键:星期外键:第一节,第二节,第三节,第四节,第五节,第六节,第七节,第八节3.2 参照完整性约束条件学生班级 教师课程 课程表班级 课程表教师学生.班级ID二班级.班级ID 教师.课程ID二课程.课程ID 课程表.班级ID二班级.班级ID 课程表.教师ID二教师.教师ID3.3系统结构图排课管理系统课程表管理系统用户管理班
7、 级 信 息 管课程信息管理学生信息管理教师信息管理教师信息添加教师信息查询教师信息修改学生信息添加学生信息查询学生信息修改课程信息添加课程信息查询课程信息修改班级信息添加班级信息查询班级信息修改密码管理-用户管理班级课程表管理教室课程表管理教师课程修改教师课程查询教师课程添加班级课程修改班级课程查询班级课程添加四、数据库实施4.1 关系模式1) class 表CREATE TABLE dbo.class(classID int NOT NULL,classname nchar(20) NOT NULL,CONSTRAINT PK_class PRIMARY KEY CLUSTERED(cla
8、ssID 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(courseID int NOT NULL,coursename nchar(20) NOT NULL,teacherID int NULL,CONSTRAINT PK_course PRIMARY KEY CLUSTERED(
9、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 CHECK ADD CONSTRAINT FK_course_teacher1FOREIGN KEY(teacherID)REFERENCES dbo.teacher (teacherID)ALTER TABLE dbo.cour
10、se 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,CONSTRAINT PK_student PRIMARY KEY CLUSTERED(studentID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DU
11、P_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYALTER TABLE dbo.student WITH CHECK ADD CONSTRAINT FK_student_classFOREIGN KEY(classID)REFERENCES dbo.class (classID)ALTER TABLE dbo.student CHECK CONSTRAINT FK_student_class4) teacher 表CREATE TABLE dbo.teacher(teacherID
12、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_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY5) courselist1 表CREATE TABLE dbo.cou
13、rselist1( 第一节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.courselist1 WITH CHECK ADD CONSTRAINTFK_courselist1_course FOREIGN KEY( 第一节 )REFERENCES dbo.c
14、ourse (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_courseALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINTFK_courselist1_course1 FOREIGN KEY( 第二节 )REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course1ALTER TABLE dbo.cours
15、elist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course2 FOREIGN KEY( 第三节 ) REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course2ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course3 FOREIGN KEY( 第四节 ) REFERENCES dbo.course (cours
16、ename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course3ALTER TABLE dbo.courselist1 WITH CHECK ADD CONSTRAINT FK_courselist1_course4 FOREIGN KEY( 第五节 ) REFERENCES dbo.course (coursename)ALTER TABLE dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course4ALTER TABLE dbo.courselist1 WI
17、TH 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 CHECK ADD CONSTRAINT FK_courselist1_course6 FOREIGN KEY( 第七节 ) REFERENCES dbo.course (coursename)ALT
18、ER 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 dbo.courselist1 CHECK CONSTRAINT FK_courselist1_course76) courselist2 表CREATE TABLE dbo.course
19、list2( 第一节 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.courselist2 WITH CHECK ADD CONSTRAINT FK_courselist2_course FOREIGN KEY( 第一节 )REFERENCES
20、 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)ALTER TABLE dbo.courselist2 CHECK CONSTRAINT FK_courselist2_course1ALTER TABLE d
21、bo.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 ADD CONSTRAINT FK_courselist2_course3 FOREIGN KEY( 第四节 ) REFERENCES dbo.cours
22、e (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.courselist2 CHECK CONSTRAINT FK_courselist2_course4ALTER TABLE dbo.course
23、list2 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_courselist2_course6 FOREIGN KEY( 第七节 ) REFERENCES dbo.course (course
24、name)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 CONSTRAINT FK_courselist2_course7 7)用户user 表CREATE TABLE dbo.use
25、rs(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) ON PRIMARY)ON PRIMARY8)创建存储过程生成指定班级的课程表create proc up_class(cl
26、assID int)asselect * from courselistl where courselist1.classID=classIDexecute up_class '1101'9)创建存储过程生成指定老师的课程表create proc up_teacher(teacherID int)asselect * from courlistl where courselist1.teacherID=teacherIDexecute up_teacher '1'10)创建存储过程检测指定教师、指定节次是否有课create proc up_teacheer(te
27、acherID int,星期 nvarchar(50)asselect * from coueselist1 where courselist1.teacherID=teacherID andcourselist1. 星期=!期execute up_teacher '1',' 第一节'7) 2程序编码(C#语言)添加头文件:using System.Data.SqlClient;1)用户登录关键代码if (textBox1.Text ="")MessageBoxShow("用户名不能为空!"); return ; Iif
28、(textBox2.Text ="") MessageBoxShow("密码不能为空!"); return ; string constr = "server=.;database= 中学排课系统;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection (constr);I conn.Open();Itry Istring login = "select * from users where username = '"+textBox1.Text.Trim
29、() +"' and password = '"+ textBox2.Text +"'" ;|ISqlCommandsqlCmd = new SqlCommandlogin, conn); IISqlDataReader sqlReader = sqlCmd.ExecuteReader(); IsqlReader.Read();if (sqlReader.HasRows) sqlReader.Close(); start start = new start (); start.Show();|this .Hide(); else
30、MessageBoxShow("用户名或密码错误!"); Icatch ( Exception ex)MessageBoxShow(ex.Message);MessageBoxShow("用户名或密码错误!");Ifinallyconn.Close();2)查询关键代码(以教师信息查询为例)private void chaxun_Click( object sender, EventArgs e)if (ID.Text.Trim()="")MessageBoxShow("请填写教师编号!”);Ireturn ;string
31、constr = "server=.;database= 中学排课系统;uid=sa;pwd=sa"SqlConnection conn = new SqlConnection (constr);conn.Open();Istring str = "select * from teacher whereteacherID=" +ID.Text.Trim(); |SqlCommandcommand = new SqlCommandstr, conn);ISqlDataAdapter adapter = new SqlDataAdapter ();adapt
32、er.SelectCommand = command;DataSet dataSet = new DataSet ();adapter.Fill(dataSet,"type" ); |dataGridViewl.DataSource = dataSet.Tables0;conn.Close();IID.Text =""3)添加关键代码(以教师信息添加为例)private void tianjia_Click( object sender, EventArgs e)|if (ID.Text.Trim() ="" | na.Text.Tr
33、im() ="" |se.Text.Trim()= "" | ag.Text.Trim()= "")MessageBoxShow("请填写完整信息!");return ;string constr = "server=.;database= 中学排课系统;uid=sa;pwd=sa" SqlConnection conn = new SqlConnection (constr);conn.Open(); try Istring str = "insert into teacher va
34、lues ('"+ ID.Text.Trim()+ "', '"+ na.Text.Trim() +"', '"+ se.Text.Trim() +"', "+ ag.Text.Trim() +")"ISqlCommandsqlCommand = new SqlCommand);sqlCommand.Connection = conn;IsqlCommand.CommandText = str;IIsqlCommand.CommandType =Comman
35、dTypText;sqlCommand.ExecuteNonQuery();MessageBoxShow("添力口成功!");Icatch ( Exception ex)MessageBoxShow("添力口失败!");|finallyconn.Close();teacherinformation_Load(sender, e);4)删除关键代码(以教师信息删除为例) private void shanchu_Click( object sender, EventArgs e) if (ID.Text.Trim()="")Messag
36、eBoxShow("请填写教耳R工号!"); return ; if ( MessageBoxShow("确定删除吗?","提示",MessageBoxButtons .OKCancel) = DialogResult .OK)string constr = "server=.;database= 中学排课系 统;uid=sa;pwd=sa"ISqlConnection conn = new SqlConnection (constr);conn.Open();Itry string str = "del
37、ete from teacher where teacherID="ID.Text.Trim();SqlCommandsqlCommand = new SqlCommand);IsqlCommand.Connection = conn;IIsqlCommand.CommandText = str;IsqlCommand.CommandType =CommandTypeText;IsqlCommand.ExecuteNonQuery();IIcatch ( Exception ex)MessageBoxShow("删除失败!"); finally conn.Clos
38、e(); teacherinformation_Load(sender, e); 5)修改关键代码(以教师信息修改为例) 在下边的文本框中显示选中的行| string id ="" ; |string mingzi =""Istring xingbie =""string nianling =""private void dataGridView1_RowHeaderMouseClick( object sender,DataGridViewCellMouseEventArgs e)I id = dataGridView1.Rowse.RowIndex.Cells0.Value.ToString(); mingzi =dataGridView1.Rowse.RowIndex.Cells1.Value.ToString();Ixingbie =dataGridView1.Rowse.RowIndex.Cells2.Valu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舞蹈艺术在艺术市场趋势分析与发展预测考核试卷
- 萍乡学院《药物化学》2023-2024学年第一学期期末试卷
- 沈阳科技学院《科伦理与学术规范博士》2023-2024学年第二学期期末试卷
- 山西省朔州市右玉县2025届四下数学期末学业质量监测模拟试题含解析
- 兰州信息科技学院《口译理论与实践》2023-2024学年第一学期期末试卷
- 山东省聊城市文苑中学2025年高三3月综合测试历史试题含解析
- 山东菏泽定陶区2025年初三年级第二次模拟考试数学试题含解析
- 山东杏林科技职业学院《入侵检测与防御》2023-2024学年第二学期期末试卷
- 石嘴山市2024-2025学年四年级数学第二学期期末统考试题含解析
- 江西司法警官职业学院《心肺康复》2023-2024学年第一学期期末试卷
- 创新与发明-按图索骥、循章创新智慧树知到期末考试答案章节答案2024年广州大学
- 3.1.4 禁止编入列车的机车车辆课件讲解
- 租赁托管合同模板
- 居间人居间费用分配协议范本
- 锂电池起火应急演练
- 2022年四川省阿坝州中考数学试卷
- 分布式光伏经济评价规范
- 2024年江苏交通控股有限公司招聘笔试参考题库附带答案详解
- 银行理财双录培训课件
- 乾坤未定吾皆黑马+高考冲刺百日誓师主题班会
- 2025年4月自考00160审计学押题及答案解析
评论
0/150
提交评论