ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:530.10KB ,
资源ID:25522717      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25522717.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生学籍管理信息系统.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生学籍管理信息系统.docx

1、学生学籍管理信息系统大理学院数学与计算机学院数据库系统设计课程设计报告班级: 学号:XXXXXXX 姓名:XXXXXXX 系统名称:学生学籍管理信息系统 总分: 1、需求分析学生学籍管理工作包括学生档案、学籍、成绩、升学等内容的管理;面对大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。随着计算机技术及网络通讯技术的飞速发展,许多学校已经有了较好的计算机应用甚至网络硬件建设基础。因此为提高学校管理工作的现代化、科学化水平,保证信息处理的即时化、准确化,开发一套对学生学籍进行管理的软件是极其重要的。1.1 系统功能1.1.1本系统应完成的主要功能(1)学生档案的管理,即录入、修改、查询

2、、输出学生档案信息,这些信息包括学生基本情况、学生简历情况、学生奖励情况、学生处分情况、学生家庭信息、学生体检情况。 (2)学生成绩管理,录入修改、查询、输出学生入校成绩,各学期、各门课程的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。1.1.2 本系统功能需求(1)按系汇总各专业各年级的学生总数及其中的男、女生数,并统计全校总人数。要求:当任意输入系部名称、专业名称和年级均可返回相应信息。(2)按系汇总各年龄段的学生人数及其中的男、女生数。 要求:当任意输入系部名称、年龄时,均可返回相应信息。(3)按系统计各地区的学生人数。 要求:当任意输入系部名称、地区名称时,均可返回相应学生

3、人数。(4)按系统计学生中的党员、团员人数。 要求:当任意输入系部名称时,均可返回该系的学生党员和团员人数。(5)按系统计各民族的学生人数。 要求:当任意输入系部名称、民族时,均可返回相应信息。(6)按学年根据学生变更数据自动修改班级总人数(提示:用触发器实现)、系部总人数、学校总人数。(7)统计各门课程的成绩分布情况: 其中:1)(90-100、80-90、70-80、60-70、0-59)的人数及各自占实际考试人数的百分比数。2)统计缺考人数。3)统计及格、不及格人数。(8)统计每个学生的综合测评总成绩:1)总成绩=平均分*0.7+德体分*0.32)综合测评的排名。3)根据总成绩评定奖学金

4、等级(特等、一等、二等、三等)。4)按学年根据学生学习情况确定升、留级人选(补考三门(以上)不及格或毕业补考一门(以上)不及格)。(9)学生成绩查询(分别按学号、姓名、班级、课程、开设学期),显示信息自定。(10)更改信息时,相关表的相应记录也应随之更改。(如:留级、补考等)(11)触发器的应用:如:假设已存在“学生”、“成绩”、“课程”三个表,其中“学生”表包括学号,姓名等字段,“成绩”表包括学号,课程代码,成绩等字段,“课程”表包括课程代码,课程名称等字段。 当向“学生”表中添加一条新的学生信息后,在“成绩”表中添加该学生所学课程信息,并确保课程代码字段的取值是“课程”表中的已有数据。(1

5、2)子查询的应用:查找“计应041”班高于“计应042”班总评成绩最高分的学生记录。(13)创建如下视图并显示对应的数据:1)V_学生成绩:包括学生姓名、课程名称、成绩2)V_班级人数:包括班级名称、系别、专业名称、班级人数1.2 分析过程1.2.1本系统的数据流图(1)学生学籍管理信息系统数据流图(2)学生档案管理数据流图(3)学生学籍管理数据流图(4)学生成绩管理数据流图(5)系统管理数据流图1.2.2 数据字典(1)数据字典的用途进行详细的数据收集和数据分析所获得的主要结果(2) 数据字典的内容数据结构数据项数据流数据存储处理过程(3)表关系说明1)学生表字段名数据类型含义说明约束情况s

6、noChar(10)学号主关键字snameChar(10)姓名可为空ssexChar(2)性别可为空sageint年龄可为空smzChar(10)民族可为空sjgChar(10)籍贯可为空szzmmChar(10)政治面貌可为空sdepartChar(10)系部可为空smajorChar(10)专业可为空sgradeChar(10)年级可为空sclassint班级可为空srxcjsmallint入校成绩可为空ssfbyChar(10)是否毕业可为空sbyrqdatetime毕业日期可为空2)课程表字段名数据类型含义说明约束情况cnoint课程号主关键字cnamechar(10)课程名可为空cy

7、earChar(10)开设学年可为空ctermChar(10)开设学期可为空3)成绩表字段名数据类型含义说明约束情况snoint学号主关键字cnoint课程号主关键字scoresmallint成绩可为空4)奖惩表字段名数据类型含义说明约束情况snoint学号主关键字rtypeChar(10)类型可为空rdatedata日期可为空5)班级表字段名数据类型含义说明约束情况bhint 编号主关键字yxChar(20)院系可为空mcChar(10)名称可为空rsint人数可为空6)教师表字段名数据类型含义说明约束情况tnoint教工号主关键字tnameChar(10)姓名可为空tsexChar(10)

8、性别可为空tprofessChar(10)职称可为空ttelint电话可为空2、数据库设计2.1 数据库概念设计数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。2.1.1 表的建立(1)学生表(2)课程表(3)成绩表(4)奖惩表(5)班级表(6)教师表2.1.2 表的信息(1)学生表(2)课程表(3)成绩表(4)奖惩表(5)班级表(6)教师表2.1.3 E-R图(1)学生实体包含学

9、号,姓名,性别,年龄,民族,籍贯,专业,年级,班级,政治面貌,入校成绩以及是否毕业等属性。(2)课程实体包含课程号,课程名,开设学年以及开设学期四个属性。(3)成绩实体有学号,课程号和成绩3个属性。(4)奖惩实体包括学号,类型以及日期三个属性。(4)班级实体包括编号,院系以及名称三个属性。(5) 教师实体包括教工号,姓名,性别,职称,电话等属性。(6)学生实体与课程实体是一个多对多(m:n)的选修关系,学生,课程和和成绩3个实体也是一个多对多(m:n:p)的考试关系。2.2数据库的逻辑设计2.2.1 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模

10、式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体型间的联系则有以下不同的情况:(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以

11、及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个m:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。(5)具有相同码的关系模式可合并。将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:1)学生(学号,姓名,性别,年龄,民族,籍贯,系部,专业,年级,班级,政治面貌,入校成绩,是否毕业,毕业日期)。2)课程(课程号

12、,课程名,开设学年,开设学期)。3)成绩(学号,课程号,成绩)。4)奖惩(学号,类型,日期)。5)班级(编号,院系,名称)。6)教师(教工号,姓名,性别,职称,电话)。 2.2.2 创建视图 (1)V_学生成绩:包括学生学号,姓名、课程名称、成绩Create view v_scoureAsSelect sno,sname,cname,scoreFrom student,coure,scoreWhere student.sno=score.sno(2)V_班级人数:包括班级名称、系别、专业名称、班级人数Create view v_classAsSelect cclass,sdepart,smaj

13、or,rsFrom student,coure,score 2.2.3 创建索引(1)创建学生表的索引学生表:先点击右键,然后选择修改。在弹出的界面中选择索引页面,索引名为index,类型为主索引,表达式为学号。 (2)创建课程表的索引课程表:先点击右键,然后选择修改。在弹出的界面中选择索引页面,索引名为index1,类型为主索引,表达式为课程号。 (3)创建成绩表的索引成绩表:先点击右键,然后选择修改。在弹出的界面中选择索引页面,索引名为index2,通索引,表达式为课程号;索引名为xh,类型为主索引,表达式为学号。(4)创建奖惩表的索引奖惩表:先点击右键,然后选择修改。在弹出的界面中选择索

14、引页面,索引名为index3,类型为主索引,表达式为学号。(5)创建班级表的索引(6)创建教师表的索引2.2.4 数据表之间的逻辑关系3、系统实现3.1 数据库访问(1)数据访问类及实现代码1)触发器触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。由于本系统的触发器比较多,在这里我只写出了其中的一部分触发器,具体如下所示。数据更新:CREATE TRIGGER studentupdate ON dbo.student FOR UPDATE ASUPDATE STUDENT SET

15、SNO = (SELECT SNO FROM INSERTED)WHERE SNO = (SELECT SNO FROM DELETED); CREATE TRIGGER courseupdate ON dbo.course /FOR UPDATE ASUPDATE COURSE SET SNO = (SELECT CNO FROM INSERTED)WHERE SNO = (SELECT CNO FROM DELETED);CREATE TRIGGER scoreupdate ON dbo.student FOR UPDATE ASUPDATE SCORE SET SNO = (SELECT

16、 SNO FROM INSERTED)WHERE SNO = (SELECT SNO FROM DELETED);CREATE TRIGGER student1 ON dbo.major FOR UPDATE ASUPDATE STUDENT SET MNO = (SELECT MNO FROM INSERTED) WHERE MNO = (SELECT MNO FROM DELETED); CREATE TRIGGER student2update ON dbo.departFOR UPDATE ASUPDATE STUDENTSET DMPNO = (SELECT DMPNO FROM I

17、NSERTED)WHERE DMPNO = (SELECT DMPNO FROM DELETED); 数据删除:CREATE TRIGGER teach1update ON dbo.teacher FOR DELETE ASUPDATE TEACH SET TNO = NULL WHERE TNO = (SELECT TNO FROM DELETED);CREATE TRIGGER stu_majorupdate ON dbo.major FOR DELETE ASUPDATE STUDENT SET MNO = NULL WHERE MNO = (SELECT MNO FROM DELETE

18、D);CREATE TRIGGER teacherupdate ON dbo.depart FOR DELETE ASUPDATE TEACHER SET DMPNO = NULL WHERE DMPNO = (SELECT DMPNO FROM DELETED) 2)java访问数据库及代码package DBCONN;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;

19、public class Conmysql /这是mysql的连接字符串private static String url = jdbc:mysql:/127.0.0.1:3306/finaltest?useUnicode=true&characterEncoding=UTF-8;static Connection conn = null;/定义一个空连接,后面用static Statement stmt = null;/定义一个空查询语句,后面用static ResultSet rs = null;/定义一个空的返回结果集,后面用static Object result;public sta

20、tic Object exqutesql(String sql) try /注册mssql驱动Class.forName(com.mysql.jdbc.Driver);/连接数据库conn = DriverManager.getConnection(url, root, root);/准备查询语句stmt = conn.createStatement();String beginsql = ;beginsql = sql.trim().substring(0, 1);/ boolean execute = stmt.execute(sql);/判断sql的类型,是insert/select/d

21、elete/update/注意:只有select才能是executeQuery,其他三种都是executeUpdateif (beginsql.equalsIgnoreCase(i) result = stmt.executeUpdate(sql);/ System.out.println(result); /if (beginsql.equalsIgnoreCase(s) result = stmt.executeQuery(sql);/保存查询结果到result,下同if (beginsql.equalsIgnoreCase(d) result = stmt.executeUpdate(s

22、ql);if (beginsql.equalsIgnoreCase(u) result = stmt.executeUpdate(sql);System.out.println(result);/ System.out.println(tag); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally /注意:

23、最后的时候要关闭所有连接,首先是stmt,然后是conn/ try / stmt.close();/ conn.close();/ catch (SQLException e) / / TODO Auto-generated catch block/ e.printStackTrace();/ return result;(2) SQL语句USE xsxjglGO/* 对象: Table dbo.student 脚本日期: 05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ON

24、GOCREATE TABLE dbo.student( sno char(10) NOT NULL, sname char(10) NULL, ssex char(2) NULL, sage int NULL, smz char(10) NULL, sjg char(10) NULL, sdepart char(30) NULL, smajor char(30) NULL, sgrade int NULL, sclass smallint NULL, szzmm char(10) NULL, srxcj smallint NULL, ssfby char(10) NULL, sbyrq dat

25、etime NULL, CONSTRAINT PK_student PRIMARY KEY CLUSTERED ( sno ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象: Table dbo.rewardpunish 脚本日期: 05/07/2014 11:07:39 */SET ANSI_N

26、ULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.rewardpunish( sno int NOT NULL, rtype char(10) NULL, rdate datetime NULL) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象: Table dbo.class 脚本日期: 05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCR

27、EATE TABLE dbo.class( bh int NOT NULL, yx char(20) NULL, mc char(20) NULL, rs int NULL, CONSTRAINT PK_class PRIMARY KEY CLUSTERED ( bh ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING

28、OFFGO/* 对象: Table dbo.teacher 脚本日期: 05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.teacher( tno int NOT NULL, tname char(10) NULL, tsex char(2) NULL, tprofess char(10) NULL, ttel char(10) NULL, CONSTRAINT PK_teacher PRIMARY KEY CLUSTERED ( tno ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* 对象: Table dbo.score

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1