1、学生信息管理系统数据库设计学生信息管理系统课程设计的内容和要求(包括原始数据、技术要求、工作要求等)(1)用户管理:系统分为管理员、教师及学生用户,每类用户对数据具有不同的操作权限。(2)学生基本信息管理:对学生的学号、姓名、性别等基本信息的录入、修改和删除。 (3)学生奖惩信息管理(4)各类信息的查询:按简单条件和复合条件对各类信息进行查询。(5)学生信息的统计:自己设计统计条件对学生信息进行统计。摘 要 学生信息管理系统是典型的管理信息系统(MIS),其系统开发主要包括数据库的规划设计与维护、客户端应用程序的开发两个方面。对于前者要求建立起的数据库具有完整性和一致性,且具有一定的数据安全性
2、,而对于后者则要求程序界面友好、功能完备,容易使用,具有流行软件的操作习惯等特点。经过详细的调查分析,我选用PHP作为前端开发工具,利用其提供的集成开发环境及支持面向对象的各种标准化的控件,尤其是对WEB的支持完成对数据库的各种操作,达到对学生学籍管理的目的。设计时首先在短时间内先建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的实际可行系统。学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理信息,这种管理方式存在着
3、许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生信息管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。关键词:学生信息, 管理, 数据库, 设计, 实现,PHP1 概述1.1 本课程设计的目的使学生掌握数据
4、库的基本概念,结合实际的操作和设计,巩固课堂教学内容;使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现;把理论课与实验课所学内容做一综合,并在此基础上强化学生的实践意识、提高其实际动手能力。课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。课程设计的目的:加深对数据库系统、软件工程、程序设计语言的理论知识的理解和应用水平;在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综
5、合提高;学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;为毕业设计和以后工作打下必要基础。1.2课程设计的内容和要求运用数据库基本理论与应用知识,在微机RDBMS(SQL Server)的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。(1)用户管理:系统分为管理员、教师及学生用户,每类用户对数据具有不同的操作权限。(2) 学生基本信息管理:对学生的学号、姓名、性别等基本信息的录入、修改和删除。 (3) 学生奖惩信息管理(4)各类
6、信息的查询:按简单条件和复合条件对各类信息进行查询。(5)学生信息的统计:自己设计统计条件对学生信息进行统计。2 需求分析 经过详细的调研,并多次在网上查询相关信息之后,首先加深了对学生信息管理业务的深刻了解,其次在充分熟悉学生档案管理业务的同时,我了解了整个学生信息管理系统需要的具体需求为:(1)学生信息:学生编号,姓名,性别,民族,生日,籍贯,身份证号,学生证号,家庭电话(2)院系信息:学生编号,姓名,院系编号,院系名称(3)课程信息:课程编号,课程名称,学生编号,成绩(4)学生奖惩信息:奖惩记录编号,奖惩日期,学生编号,奖惩类型,奖惩说明(5)学生教育经历信息:编号,学生编号,开始日期,
7、终止日期,学校名称,职务(6)用户信息:编号,用户名,密码,权限管理(0:admin;1:老师;2:学生)在学生信息管理系统中,通过权限管理学生只能查询到自己的相关信息,如:学生的各科成绩和获得的奖励情况,而不能修改和删除任何的信息;而管理员和老师除了可以查看学生的任何信息之外,还能添加,修改和删除任何学生的任何信息。2.1 构造系统的逻辑模型 构造系统的逻辑模型的工具是数据流图和数据字典。数据流图中没有任何具体的物理元素,只是用来描绘信息在系统中的流动和处理情况。数据流图共有四种基本符号:矩形表示数据的源点和终点(或称为外部项),圆或椭圆表示变换数据的处理,向右开口的矩形表示数据存储,箭头表
8、示数据流,即特定数据的流动方向。根据现行学生信息管理的业务流程,首先确定数据流图中的源点和终点都选定为学生,如此就得到了学生档案管理系统的基本系统模型。2.2 确定目标系统的功能 通过详细的用户调查,在现行的业务处理流程和数据流图的基础上,就可以基本确定目标系统要达到的目标了。需求分析的任务是确定系统必须完成的工作,也就是对目标系统提出完整、标准、清晰、具体的要求。在经过多方了解和调查后,基本清楚了学生档案信息管理的功能需求,学生档案管理系统必须完成以下功能:1数据添加功能:只有管理员和老师才能实现此功能2数据修改功能:当上述资料发生变化或有错误信息输入时,管理员或老师应能够及时对数据进行修改
9、和补充。3数据查询功能:该系统的主要功能致意即根据用户提供的相关信息,能够及时查找出对应的学生信息,系统应该提供多种查询方法,以便满足用户的不同需求,此功能对于学生和管理员还有老师都实用。2.3 数据分析概念模型分析需求分析阶段主要有两个方面的任务:分析用户的数据要求和分析用户的处理要求。通过以上分析,我们已经基本了解了用户对处理的要求,接下来需要的工作是分析用户对数据的要求。为了把用户的数据清晰明确地表达出来,系统分析员通常建立一个概念性的数学模型。概念性模型是一种面向问题的数学模型,是按用户的观点来对数据和信息建模。最常用的表示概念性数据模型的方法是实体-联系方法(Entity-Relat
10、ionship Approach)。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称为E-R模型,E-R图中共用三种符号:实体、属性和联系。通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示。联系有分为一对一、一对多和多对多三种类型。2.3.1 数据库建模 经过上面的分析,能够提取以下几个实体:学生、课程、院系,奖惩,用户等。它们的实体图分别如下图所示:图2.1 学生实体图图2.2 课程实体图图2.3 院系实体图图2.4 奖惩实体图图2.5 教育经历实体图图2.6 用户实体图 在找到所有实体的基础上,需要进一步分析各实体之间的联系。经过分析
11、两两实体之间的联系,然后进行合并,给出所有尸体的联系图即E-R图,如图所示。图2.7 学生信息管理的E-R图从以上E-R图中可以看到,学生和课程两个实体之间的联系的类型是多对多的,其他实体之间的类型都是属于一对一或一对多的联系。在考察多对多的联系中,一定要注意这时的联系“学”有时也可以有属性“成绩”,表示某位同学选修某门课程时必须给出其成绩,该属性既不属于实体学生,也不属于实体课程。特别需要提醒的是,一般只有多对多的联系才需要考虑其联系的属性。2.3.2 关系描述的设计根据以上各实体图和学生信息管理的E-R图,经过转换,可以导出各个关系。其转换规则为:首先每个实体转化为一个关系,有属性的联系也
12、应转化为一个关系,然后需要给出每个关系的关键字。根据以上规则,直接给出所有关系。(1)学生(学生编号,姓名、性别、民族、生日、籍贯、身份证号、学生证号、家庭电话)主码为学号。(2)院系(学生编号,姓名,院系编号,院系名称)(3)课程(课程编号,课程名称,学生编号,成绩)(4)学生奖惩情况(奖惩记录编号,奖惩日期,学生编号,奖惩类型,奖惩说明)(5)学生教育经历(编号,学生编号,开始日期,终止日期,学校名称,职务)(6)用户(编号,用户名,密码,权限管理(0:admin;1:老师;2:学生) 3 总体设计系统设计一般分为总体设计和详细设计。经过需求分析阶段的工作,已经清楚系统必须完成的工作,下面
13、的工作就应该是决定“如何做”的问题,总体设计的基本目的的就是“概要地说系统应该如何实现?”。通过该阶段的工作将划分出组成系统的物理元素程序、文件、数据库、文档等,另一方面的主要工作是设计软件的结构,即确定系统都由哪些模块组成及模块之间的相互关系。3.1 数据库的设计在需求分析阶段已完成了系统的数据分析。根据数据分析阶段建立的概念模型,已经得出满足第三范式的若干个关系描述,这阶段的主要工作就是把前一阶段的成果转化为具体的数据库。一般把数据库的设计分为数据库的逻辑设计和数据库的物理设计两个步骤。3.1.1 数据库的逻辑设计在完成数据的概念模型设计即E-R图后,即可进入数据库的逻辑设计阶段。数据库的
14、逻辑设计即把得到的满足第三范式的关系转化为特定的数据库管理系统下的数据库。根据前面得到的各个关系,现把它们转化为数据表。(1)学生信息:学生编号,姓名,性别,民族,生日,籍贯,身份证号,学生证号,家庭电话(2)院系信息:学生编号,姓名,院系编号,院系名称(3)课程信息:课程编号,课程名称,学生编号,成绩(4)学生奖惩信息:奖惩记录编号,奖惩日期,学生编号,奖惩类型,奖惩说明(5)学生教育经历信息:编号,学生编号,开始日期,终止日期,学校名称,职务(6)用户信息:编号,用户名,密码,权限管理(0:admin;1:老师;2:学生)3.1.2 数据库的物理设计在完成数据库的逻辑设计后,即可开始数据库
15、的物理设计。基于以上数据库的逻辑设计,考虑程序设计的简易性及通用性,本学生信息管理系统采用PHP的MyAdmin数据库,并在其下创建6个数据库,其结构分别如下:(1)学生信息表(xsXJ),共有9个字段,分别为:学生编号,姓名,性别,民族,生日,籍贯,身份证号,学生证号,家庭电话图3.1 学生信息表的创建(2)院系信息表:学生编号,姓名,院系编号,院系名称图3.2 院系信息表的创建(3)课程信息:课程编号,课程名称,学生编号,成绩图3.3 课程信息表的创建(4)学生奖惩信息:奖惩记录编号,奖惩日期,学生编号,奖惩类型,奖惩说明图3.4 奖惩信息表的创建(5)学生教育经历信息:编号,学生编号,开
16、始日期,终止日期,学校名称,职务图3.5 学生教育经历信息表的创建(6)用户信息:编号,用户名,密码,权限管理(0:admin;1:老师;2:学生)图3.6 用户信息信息表的创建4 详细设计详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在系统实现阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。把经过总体设计得到的各个模块详细的加以描述。图4.1 学生管理系统详细设计图4.1 PHP运行环境首先要连接到数据库学生信息管理系统首先要连接到数据库,所以用PHP写的连接到数据库的代码如: studentinfo ne
17、t.sourceforge.phpeclipse.parserbuilder net.sourceforge.phpeclipse.phpnature 4.1.1用户分为管理员Admin,老师和学生用户登录界面用PHP写的代码为:?phpSESSION_start();include_once(conn.php);if($_POSTlogin)$sql=SELECT *FROM users ;$query=mysql_query($sql,$conn);while($row=mysql_fetch_array($query) if($_POSTname=$rowname&$_POSTpwd=$
18、rowpwd) $_SESSIONname=$rowname; $_SESSIONpwd=$rowpwd; $_SESSIONjurisdiction=$rowjurisdiction; $_SESSIONid=$rowid; if($rowjurisdiction2) echo alert(你好:.$_SESSIONname.,成功登录!); window.location.href=index.php; return; else echo $_SESSIONid; echo alert(你好:.$_SESSIONname.同学,成功登录!); window.location.href=st
19、udent_index.php; return; 学生信息管理系统登陆 账号 密码 登录的界面为:图4.2 系统登录界面图由于学生信息管理系统中设置了权限,所以不同的用户登录之后会看见不同的结果,管理员和老师登录之后,能够查询、添加、修改、删除学生的各种信息以及受奖惩情况,而学生登录后只能看见和查询自己的相关情况,不能看见其他人的,也不能对自己的信息进行增添,修改和删除等等。4.2 老师和管理员登录的界面登录成功界面如下图所示:图4.3 系统登录成功提示4.2.1 老师和管理员登陆界面界面如下所示:图4.4 教师和管理员登录界面其代码为:1)echo window.location.href=
20、;return; 学生管理-奖惩管理- 学生成绩-返回登录4.2.2 添加学生信息老师和管理员登录的系统中对学生信息的添加界面:图4.5添加学生信息界面添加学生信息-回到主页面学生编号:姓名:性别:民族:生日:籍贯:身份证号:学生证号:家庭电话:a href=studentUpdate.php?id=修改a href=studentDelete.php?id=删除图4.6 添加学生信息详细界面代码如下:?phpinclude_once(conn.php);/ id 学生编号 name 姓名 sex 性别 nationality 民族 birth 生日 place 籍贯 card 身份证号 ba
21、dgeid 学生证号 phone 家庭电话if($_POSTstudentAdd) $sql=INSERT INTO test.student (id ,name ,sex ,nationality ,birth ,place ,card ,badgeid ,phone)VALUES (NULL , $_POSTname, $_POSTsex, $_POSTnationality, $_POSTbirth, $_POSTplace, $_POSTcard, $_POSTbadgeid, $_POSTphone);mysql_query($sql);echo window.location.hr
22、ef=studentAdmin.php; 姓名: 性别: 民族: 生日: 籍贯: 身份证号: 学生证号: 家庭电话: 4.2.3 修改学生信息代码如下:?phpinclude_once(conn.php);if($_POSTstudentUpdate)$sql=UPDATE test.student SET name = $_POSTname,sex = $_POSTsex,nationality = $_POSTnationality,birth = $_POSTbirth,place = $_POSTplace,card = $_POSTcard,badgeid = $_POSTbadge
23、id,phone = $_POSTphone WHERE student.id =$_POSTid LIMIT 1 ;$query=mysql_query($sql);echo window.location.href=studentAdmin.php;return;/ id 学生编号 name 姓名 sex 性别 nationality 民族 birth 生日 place 籍贯 card 身份证号 badgeid 学生证号 phone 家庭电话if($_GETid) $sql=select * from student where id =$_GETid; $query=mysql_query($sql); while($row=mysql_fetch_array($query)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1