logo资料库

基于shell和mysql的学生成绩管理系统.doc

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
Linux 三级项目报告 项目名称:基于 shell 和 mysql 的学生成绩管理系统 姓名:韩露 石雪景 李贺 庄颜 指导教师:冯建周 李季辉 李可 王世明 日期:2015/6/22
摘要: 信息技术在管理上有着深入广泛的应用,信息管理系统能够 更高效率的将内部活动组织起来。本系统的研发正是迎合高效的 信息管理系统,使教师对于学生信息的管理更加方便,有效,快 捷。 本系统应用于对学生个人信息及成绩信息的统计,实现对学 生信息的录入,删除,和基本的查询需要。本文将对该系统的需 求分析,设计模块,相关代码等进行介绍和展示。 关键字:3~5 个 学生信息 查询 录入 分布 删除
1.前言 本报告以学生信息管理系统的开发为背景,介绍了信息系统的开发环境 的构建,系统的基本功能模块与实现,系统的各部分代码,系统结果展示, 以及总结等五部分。信息系统是利用 shell 脚本实现,数据库是基于 MySQL 设计。 预期结果: 构建两个信息表,一个学生基本信息表 stu_info,一个学生成绩表 stu_grade。Stu_info 表中包括姓名,性别,联系方式,家庭住址等字段。 Stu_grade 表中包括 id,学号,姓名和任选三门课程名称作为字段。 在此基础上,完成以下基本操作:实现记录的插入、删除、查询和更 新等操作。并添加新功能 比如计算总分,计算平均分等。 项目组分工: 李贺:整体项目功能分析,划分,主界面的构建。 庄颜:基本功能代码的实现,对系统测试,改良。 石雪景:基本功能代码的实现,对系统测试,改良。 韩露:额外功能代码实现。
2. 研究报告正文 2.1 项目应用背景 随着教育水平逐渐提高,学生人数的急剧增长。需要管理的信息也变 得复杂,庞大。同时计算机技术已经成熟。本项目基于计算机实现信息管 理以提高学生信息管理工作的效率。 2.2 软件系统设计 该系统共分为 信息查询,信息插入,信息删除,制作成绩表,成绩分 布统计等功能。功能的实现是通过 shell 脚本对 mysql 进行的操作。另外设 计主界面,列举主要功能与用户进行交互。 信息查询: 查询功能分为个人信息查询和整体信息查询。个人信息查询的条件为 学生姓名。主要由 mysql 的 select ..from ..where 语句实现。 信息插入: 通过录入学生姓名,各科成绩等实现对学生信息的插入。 主要由 mysql 语句 insert 实现。 信息删除: 通过学生姓名,将学生的全部信息从表中删除。并弹出交互信息, 验证要删除信息的正确性,避免误删。 主要由 mysql 语句 delete 实现。 制作成绩表: 由用户输入排序条件,将成绩表按照一定序列排序。默认值为总成绩。 主要由 mysql 语句 order by 实现。 成绩分布: 对用户指定科目,进行成绩分布统计,分为 A(90~100)、B(80~90) C(60~80)、D(<60)四个等级,显示各级人数,及学生成绩信息。默认 值为学生的各科平均成绩。 主要由 mysql 语句的 where 限定条件实现。 2.3 数据库安装和配置 该系统使用的 DBMS 为 mysql,其安装于配置的过程如下: 1) 首先到 mysql 的下载中心上下载最新的 tar.gz 包.
2) 下载后得到文件 mysql-5.0.45-linux-i686-icc-glibc23.tar.gz,然后将其解 压,并重命名为 mysql,使用 mv 命令将其移到/usr/local 3) 创建的一个名为 mysql 的用户组和用户,来承载 mysql 数据库的运行 4) 接着进入 mysql 目录,修改 mysql 目录的拥有者,为 mysql 用户: 5) 安装 mysql,执行命令: sudo scripts/mysql_intstall_db --user=mysql 6) 执行完上面的命令后,其实就已经完成了 mysql 的安装,但为了数据库 的安全,可以将 mysql 目录的拥有者改为 root 用户,并将生成的系统依赖 数据赋给 mysql 用户. 7) 安装好 mysql 后,通过下面命令行启动它: sudo ./support_files/mysql.server start 8) 启动完 mysql 后,使用“./bin/mysql”命令来进入 mysql 数据库的控制 台,执行 SQL 命令 通过以上步骤我们就完成了 mysql 的安装于配置 2.4 shell 脚本文件的编码 数据库启动脚本 start.sh sudo /usr/local/mysql/support-files/mysql.server start 表创建脚本 create.sh /usr/local/mysql/bin/mysql -u root -p -e "create database han;" /usr/local/mysql/bin/mysql -u root -p -e " use han; create table stu_info (name varchar(20),phone_number char(20), address char(30));" /usr/local/mysql/bin/mysql -u root -p -e " use han; create table stu_grade ( id char (30),name varchar(20), C int(3), linux int(3),java int(3)); " 主界面 menu.sh
menu() { quit=0 while [ $quit -eq 0 ] do choice done } choice() { clear echo "welcome!" echo "Please enter your choice:" echo "query .................1" echo "delete.................2" echo "insert.................3" echo "update.................4" echo "grade list.............5" echo "chengji fenbu..............6" echo "exit read CHOICE case $CHOICE in .................7" 1) 2) 3) 4) 5) 6) 7) echo "query" query bash select.sh read n;; echo "delete" delete read n;; echo "insert" insert read n;; echo "update" update read n;; echo "grade list" grade_list read n;; echo "chengji fenbu" chengji read n;; echo "exit" quit=1 echo "BYE";; esac
} query() { echo "query individual information ...1" echo "query all information ..........2" echo "enter your choice:" read q_choice case $q_choice in 1) echo "enter your name :";; 2) ;; esac read q_name export q_name } echo "enter like : student_id name C linux java sex phone read i n c l j s p a bash insert.sh $i $n $c $l $j $s $p $a address " echo "enter name you want to delete:" read d_name echo "Are you sure delete all information of $d_name :(y/n)" read yn if [[ $yn = "y" ]] then bash delete.sh $d_name insert() { } delete() { fi } update() { echo "change grade or information :(g/i)" read u_cho if [[ $u_cho = "g" ]] then else tb="stu_grade" tb=stu_info fi export tb echo "enter name you want to update: " read u_name
分享到:
收藏