您好,欢迎访问三七文档
.班级管理系统摘要:班级管理系统用计算机管理班级信息的一种计算机应用技术的创新,在计算机还未普及之前班级管理都是又教师以及班干部来承担的方式来操作的。现在一般学校都采用了信息化管理的方式即采用计算机作为工具的实用的计算机班级信息管理程序来帮助班主任进行更有效的班级管理。系统需求分析1该“班级管理系统”只是对数据库应用技术的一个样本数据库的实例,重在对数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入(在此从略),最后完成一些简单的关系运算表达式的表达和相关的Select查询语句的使用。2目标:1班主任以及管理员能够方便地对信息进行添加、编辑、删除、查询等操作。2教务人员可以方便地查询所需成绩信息,并得到相应的统计报表。在完成上述任务前提下力求界面人性化,数据处理的可靠以及程序的安全性的性能。3系统结构简述:本系统包括六个实体:学生;课程;教师;宿舍;成绩;班级;(1)一个学生只属于一个班级,而一个班级可以有很多个学生,所以学生与班级的关系是多对一(m:1)的关系(2)一个学生只住一个宿舍,而有很多学生住在一个宿舍,所以学生与宿舍的关系是多对一(n:1)的关系(3)一个学生可以有很多个老师,而一个老师也可以有很多个学生,所以学生与教师的关系是多对多(m:n)的关系(4)一个学生可以选修多门课程,而一门课程也可以由多名学生选修,所以学生与课程的关系是多对多(m;n)的关系(5)一个老师可以教多门课程,而一门课程也可以由不同的老师教,所以老师与课程的关系是多对多(m:n)的关系4该数据库需要进行如下数据处理:(1)要查询所有学生的个人信息:学号,姓名,性别,民族,出生年月,籍贯,身份证号,学院编号,所在专业,寝室编号。(2)学生要查询本学期所开课程详细情况(成绩除外),并按“课程类型”分组输入:学号输出:学号,姓名,课程名,学分数,学时数,课程类型,课程编号,任课老师,上课教室。(3)某位教师想查询自己本学期所代的课程及其上课情况:输入:教师姓名输出:教师编号,姓名,性别,课程名,课程类型,上课教室,上课时间。(4)某学生想查询班级情况:输入:班级编号输出:班级编号,辅导员,课程编号,所属专业,班级人数。二、概念模型设计先定义各局部概念机构,在逐步整合画出E-R图。首先,根据需求分析得出,该系统应该包括学生、课程、教师、成绩、宿舍、班级。学生实体包括学生学号、姓名、性别、籍贯、出生日期、兴趣爱好、联系方式、家庭住址,所属院系、寝室编号属性。班级实体包括班级编号、课程编号,班级人数,所属专业、辅导员属性。课程实体包括课程名称、课程编号、任课老师、上课教室属性。教师实体包括教师编号,姓名,性别,备注,学历,家庭住址,电话。然后画出局部E-R图,即每个实体的E-R图。如图所示。再根据全局设计概念模式,将局部E-R图根据联系综合成一个完整的全局E-R图。(1)一个学生只属于一个班级,而一个班级可以有很多个学生,所以学生与班级的关系是多对一(m:1)的关系。设计局部E-R模型如图所示。(2)一个学生只住一个宿舍,而有很多学生住在一个宿舍,所以学生与宿舍的关系是多对一(n:1)的关系。设计局部E-R模型如图所示。(3)一个学生可以有很多个老师,而一个老师也可以有很多个学生,所以学生与教师的关系是多对多(m:n)的关系。设计局部E-R模型如图所示。宿舍学生住宿班级学生有(4)一个学生可以选修多门课程,而一门课程也可以由多名学生选修,所以学生与课程的关系是多对多(m;n)的关系(5)一个老师可以教多门课程,而课表中的每一门课必须有一位老师教,所以老师与课程的关系是多对多(1:n)的关系。设计局部E-R模型如图所示。1以学生为实体的E—R模型教师学生教教师课表讲授课表学生成绩2以班级为实体的E—R模型3以课程为实体的E-R模型学生姓名籍贯出生日期联系方式所属院系班级编号家庭地址寝室编号性别学号班级班级编号辅导员课程编号所属专业班级人数4以教师为实体的E-R模型课程课时上课教室课程名称任课老师课程编号教师编号教师姓名家庭住址职称性别电话5以宿舍为实体的E-R模型归纳上述5个局部E-R模型综合成全局E-R模型宿舍编号宿舍学生姓名宿舍人数三、关系模式设计将E-R图转换为关系模式如下:班级信息表(班级编号,班级人数,课程编号,所属专业,辅导员);PK=班级编号NOTNULL学生信息表(学号,姓名,籍贯,性别,出生日期,家庭地址,寝室编号,政治面貌,联系方式,班级编号);PK=学号NOTNULL班级课程学生选修管理课程编号姓名学号联系方式上课教室考查方式班级编号专业班级人数任课教师教授讲授寝室编号住宿FK=班级编号课程信息表(课程编号,课程名称,任课老师,课时,上课教室);PK=课程编号NOTNULL教师信息表(教工号,姓名,性别,职称,电话号码,家庭住址);PK=课程编号NOTNULL宿舍信息表(宿舍编号,学生姓名,宿舍人数);PK=宿舍编号NOTNULL数据项表1班级基本信息表表2学生基本信息表序号字段别名数据类型数据长度码1Sno学号char10Y2Sname姓名varchar10N3Ssex性别Char2N4birthplace籍贯varchar10N5Cno班级编号varchar8N6tel电话intN7Sdorm寝室编号varchar10N8symbol政治面貌varchar10N9birthday出生日期timestape13N10homeaddr家庭地址varchar20N课程基本信息表序号字段别名数据类型数据长度码1mno班级编号char10Y2sno班级人数varchar10N3mname专业名char10N4Cno课程编号varchar10N5guarder辅导员char10N序号字段别名数据类型数据长度码1Cno课程编号号varchar5Y2Cname课程名varchar15N3sch课时varchar10N4teatcher任课老师varchar10N5classroom上课教室varchar10N老师基本信息表序号字段别名数据类型数据长度码1tno教工号char10Y2tname姓名varchar10N3tsex性别Char2N4profess职称varchar10N5homeaddr家庭住址varchar20N6tel电话varchar13N宿舍基本信息表在班级关系模式中,每个学生实体的学生学号取值不可重复,可以唯一标识每个学生,所以学生学号是主码;在班级关系模式中,每个班级实体的班级编号取值不可重复,可以唯一标识每个班级,所以班级编号是主码;在课程关系模式中,每个课程名称取值不可重复,可以唯一标识每个课程,所以课程编号是主码。在教师关系模式中,每个教师编号取值不可重复,可以唯一标识每个教师,所以教工号是主码。在宿舍关系模式中,宿舍编号取值不可重复,可以唯一标识,所以宿舍编号是主码。序号字段别名数据类型数据长度码1Dno宿舍编号char10Y2Sname学生姓名varchar10N3Dnumber宿舍人数char10NSQL语句:班级管理系统学生表脚本设计1建立数据库CRETEDATABASE班级管理系统2用SQL语言定义表的结构CREATETABLE班级(班级编号CHAR(10)NOTNULL,辅导员CHAR(10)NOTNULL,课程编号CHAR(10)NOTNULL,所属专业CHAR(10)NOTNULL,班级人数CHAR(10)NOTNULL,PRIMARYKEY(班级编号))CREATETABLE学生(学号CHAR(10)NOTNULL,姓名CHAR(10)NOTNULL,性别CHAR(2)NOTNULL,籍贯CHAR(10)NOTNULL,政治面貌CHAR(20)NOTNULL,寝室编号CHAR(10)NOTNULL,家庭地址CHAR(20)NOTNULL,联系方式CHAR(13)NOTNULL,出生日期DATENOTNULL,班级编号SMALLINT,PRIMARYKEY(学号),FOREINGKEY(班级编号)REFERENCES班级(班级编号))CREATETABLE课程(课程编号CHAR(10)NOTNULL,课程名称CHAR(15)NOTNULL,任课老师CHAR(10)NOTNULL,课时CHAR(10)NOTNULL,上课教室CHAR(10)NOTNULL,PRIMARYKEY(课程编号),FOREINGKEY(课程编号)REFERENCES班级(课程编号))CREATETABLE教师(教工号CHAR(10)NOTNULL,姓名CHAR(10)NOTNULL,性别CHAR(2)NOTNULL,学历CHAR(10)NOTNULL,家庭住址VCHAR(20),电话号码CHAR(12),班级代号SMALLINT,PRIMARYKEY(教工号),FOREINGKEY(班级代号)REFERENCES班级(班级代号))CREATETABLE宿舍(宿舍编号CHAR(10)NOTNULL,学生姓名CHAR(10)NOTNULL,宿舍人数CHAR(10)NOTNULL,PRIMARYKEY(宿舍编号),FOREINGKEY(宿舍编号),REFERENCES学生(宿舍编号))登陆用户创建部分代码如下Privatevoidbtn_loginClick(objectsender,Eventargse){if(check()){SqlConnectionconn=newDBCon().getCoon();Sqlcommandcomm=newsqlcommand(user_login,conn);comm.CommandType=CommandType.StoredProcedure;}数据的插入:USEElective_ClassGOINSERTINTOStudent(Sno,Sname,Sage,Ssex,Stel,Sdept)VALUES(‘2009090201’‘张山’,;‘男’,‘21’,‘15211460001’‘数学系’)INSERTINTOStudent(Sno,Sname,Sage,Ssex,Stel,Sdept)VALUES(‘2009090221’‘王一’,;‘男’,‘20’,‘15211460021’‘数学系’)数据的修改:USEElective_ClassGOUPDATEClassSETTsex=‘女’,Tage=‘25’WHERETno=’200909022’数据的删除:USEElective_ClassGODELETEFROMClassWHERESno='2009090221’数据的查询:USEElective_ClassGOSELECTSnoAS学号,SnameAS姓名.SageAS年龄,SsexAS性别,StelAS电话FROMStudentWHERESdept=‘数学系’结语通过这次课程设计,让我巩固了数据库理论知识,对SQL语言运用更为熟悉了,也掌握了数据库的设计方法,为了去设计,看书、上网找资料,让我对数据库的了解更深一步,但是由于这不是我的专业,所以这系统还有许多不尽人意的地方,有待进一步完善。参考文献:吕静骅,史进译SQLServer2000基础教程。北京:清华大学出版社,2001张迎新,数据库原理、方法与应用。北京:高等教育出版社,2004陈志泊等.数据库原理及应用教程.北京:人民邮电出版社,2002Ryank.Stephens,RonaldR.Plew著.数据库设计.何玉洁等译.北京:机械工业出版社,2001崔巍.数据库系统及应用.北京:高等教育出版社,1999丁宝康等.数据库实用教程.北京:清华大学出版社,2001
本文标题:数据库班级管理系统
链接地址:https://www.777doc.com/doc-3878148 .html