学生档案管理系统集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]课程设计说明书(数据库技术及实训)题目:学生档案管理系统院系:计算机科学与工程学院专业班级:物联网工程12-2班学号:学生姓名:吴晓路指导教师:梁兴柱2014年5月21日安徽理工大学课程设计(论文)任务书计算机科学与工程学院数字媒体系学号学生姓名吴晓路专业(班级)物联网工程12-2设计题目学生档案管理系统设计技术参数数据库:SQLServer2005或2000开发语言:C#、JAVA、C++等(1)主要的数据表:学生信息数据表,专业班级数据表,系统用户数据表等。(2)主要功能模块系统管理:管理员帐号添加、修改、删除、密码修改等。专业班级管理:实现专业班级的添加、删除、修改、查询等功能。学生信息管理:实现学生信息的添加、删除、修改、查询等功能。学生检索:要求提供多种检索方式。设计要求(1)1~3人为一个小组,小组成员既要有团队协作精神,又要分工明确。每个学生都必须充分了解整个设计的全过程。(3)从开始的系统需求分析到最后的系统测试,都要有详细的计划,设计文档应按照软件工程的要求书写。(3)系统中的数据表设计应合理、高效,尽量减少数据冗余。(4)系统界面要友好、安全性高。工作量课程设计说明书字数要求3000以上,不包括图表。工作计划第6周:需求分析,总体设计第7~10周:详细设计,上机调试第11周:编写课程设计说明书及验收参考资料[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2005.[2]周奇.SQLServer2005数据库基础与应用技术[M].北京:电子工业出版社,2008[3]C#高级编程(第6版)中文版[M].指导教师签字教研室主任签字2014年4月1日安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日摘要学生档案管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。经过详细的调查分析,我选用JAVA作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。关键词:学生档案,管理,分析,设计,实现目录1系统分析一、概述1、项目背景:数据库原理课程设计2、编写目的:掌握数据库设计原理及相关软件的使用3、软件定义:学生档案管理系统4、开发环境:SQLServer2005二、需求分析1、问题的提出:为了高效率的完成学生档案的管理,决定开发学生档案管理系统。2、需完成的功能:(1)能录入、修改、查询、输出学生的档案信息,这些信息包括学生的基本情况、简历情况、获得奖励情况、受到处分情况、学生的家庭信息、学生的体检情况等。(2)能录入、修改、查询、输出学生的入校成绩、各学期各门课的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。2系统设计3、目的和意义:应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。4可行性分析①实现学生基本情况的录入,修改,删除等基本操作.②对学生基本信息提供灵活的查询方式.③完成一个班级的学期选课功能.④实现学生成绩的录入,修改,删除等基本操作.⑤能方便的对学生的各学期成绩进行查询.⑥具有成绩统计,排名等功能.2系统设计2.1数据字典表1学生信息表字段名字段类型长度主键或外键字段值约束学号int4PrimaryKeyNotNull姓名char10性别Char2出生日期Datetime班号char12联系电话Char11入学日期datetime年级char10专业char10学生档案管理系统学生信息管理选修课成绩管理删除学生信息修改学生信息查询学生信息班级选课课程选课添加成绩信息删除成绩信息修改成绩信息查询学生信息成绩排名统计添加学生信息教学内容教学内容安排学生留学休学状态char10表2课程信息表表3班级信息对应中文属性名字段类型长度主键或外键字段值约束班号Char12PrimaryKeyNotNull年级char10专业Char10班主任Char10表4选课表字段名字段类型长度主键或外键字段值约束学号int4ForeignKeyNotNull姓名Char10课程号Char10ForeignKeyNotNull课程名Char10学分Char10表5成绩信息表表3.5成绩信息表字段名字段类型长度主键或外键字段值约束学号int4ForeignKeyNotNull姓名Char10课程号Char10ForeignKeyNotNull课程名Char10学分Char10课程名Char10学期int4表.6教学计划表字段名字段类型长度主键或外键字段值约束年级int4ForeignKeyNotNull字段名字段类型长度主键或外键字段值约束课程号Char10PrimaryKeyNotNull课程名char10学分Char10课程类型char10班号Char12ForeignKeyNotNull专业Char10学期int4课程号Char10ForeignKeyNotNull课程名Char10关系图:学生信息:(学号,姓名,入学时间,班号,性别,联系电话,出生日期,专业,状态)课程信息:(课程号,课程名,课程类型,学分)班级信息:(班号,年级,专业,班主任)选课表:(学号,姓名,课程号,课程名)教学计划:(年级,专业,学期,课程名)学生联系电话年级家、姓名性别班号学号出生日期入学时间选修组成班级班号专业班主任课程课程号课程名课程类型教学计划安排年级成绩安排年级专业学分学期专业状态课程名民好好根3系统实现3.1主要代码⑴建立数据库对象,查询语句的全部SQL命令(存储过程)createtable学生信息(学号intprimarykeyNOTNULL,姓名char(10),性别char(2),出生日期datetime,班号char(12),年级char(10),电话号码char(11),入学日期datetime,专业char(10),状态char(10),)createtable课程信息(课程号char(10)primarykeynotnull,课程名char(10),课程类型char(10),学分char(10))createtable班级信息(班号char(12)primarykeynotnull,年级char(10),班主任char(10),专业char(10))createtable选课表(学号char(10),姓名char(10),年级char(10),课程号char(10),课程名char(10),)createtable成绩信息(学号intnotnull,姓名char(10),课程号char(10),课程名char(10),成绩float(8),学分char(10),学期int)Createtable教学计划表(年级char(10),专业char(10),班号char(12),学期int,课程号char(10),课程名char(10),)CREATEprocedure添加学生信息(@学号int,@姓名char(10),@性别char(2),@出生日期datetime,@班号char(12),@电话号码char(11),@入学日期datetime,@专业char(10),@状态char(10),@回复char(20)output)asifexists(select*from学生信息where学号=@学号)beginset@回复='本条记录已经存在'endelseinsertinto学生信息values(@学号,@姓名,@性别,@出生日期,@班号,@电话号码,@入学日期,@专业,@状态)GOCREATEprocedure删除学生信息(@学号int)asifexists(select*from学生信息where学号=@学号)DELETEFROM学生信息WHERE学号in(@学号)ifexists(select*from选课表where学号=@学号)DELETEFROM选课表WHERE学号in(@学号)ifexists(select*from成绩信息where学号=@学号)DELETEFROM成绩信息WHERE学号in(@学号)GoCREATEPROCEDURE修改学生信息(@学号int,@姓名char(10),@性别char(2),@出生日期datetime,@班号char(12),@电话号码char(11),@入学日期datetime,@专业char(10),@状态char(10))asUPDATE学生信息SET学号=@学号,姓名=@姓名,性别=@性别,出生日期=@出生日期,班号=@班号,电话号码=@电话号码,入学日期=@入学日期,专业=@专业,状态=无WHERE学号=@学号Gocreateprocedure查询学生信息@姓名char(10)asSELECT*FROM学生信息WHERE姓名=@姓名gocreateprocedure班级选课(@班号char(12),@年级char(10),@专业char(10),@学期int)AsInsertInto选课表Values('select学号from学生信息where(年级=@年级and班号=@班号and专业=@专业)','select姓名from学生信息where(年级=@年级and班号=@班号and专业=@专业)','select课程号from教学计划where(年级=@年级and班号=@班号and专业=@专业and学期=@学期)','select课程名from教学计划where(年级=@年级and班号=@班号and专业=@专业and学期=@学期),select学分from课程信息where课程号=(select课程号from教学计划where年级=@年级and班号=@班号and专业=@专业)')GoCreateprocedure添加成绩信息(@学号int,@姓名char(10),@课程号char(10),@课程名char(10),@成绩float(8),@学分char(10))AsInsertinto成绩信息Values(@学号,@姓名,@课程号,@课程名,@成绩,@学分)GoCreateprocedure删除成绩信息(@学号int)AsDELETEFROM成绩信息WHERE学号in(@学号)GoCreateprocedure修改成绩信息(@学号int,@姓名char(10),@课程号char(10),@课程名char(10),@成绩float(8),@学分char(10))AsUpdate成绩信息set学号=@学号,姓名=@姓名,课程号=@课程号,课程名=@课程名,成绩=@成绩,select学分from课程信息where课程号=@课程号where学号=@学号GoCreateprocedure成绩查询@学号,@学期AsSelect学号,姓名.成绩from成绩信息where学号=@学号and学期@学期、GoCreateprocedure成绩排名(@班号char(12),@年级char(10),@专业char(10))AsSelect学号,姓名,成绩from成绩信息,班级信息where成绩信息.(sel