学生成绩管理系统数据库项目设计报告_第1页
学生成绩管理系统数据库项目设计报告_第2页
学生成绩管理系统数据库项目设计报告_第3页
学生成绩管理系统数据库项目设计报告_第4页
学生成绩管理系统数据库项目设计报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机 1403学生成绩管理系统项目设计报告作者: 2015-11-23目录1项目背景及需求分析 .21.1项目背景 .21.2需求分析 .22概念结构设计 .32.1抽象出系统实体 .32.2局部 E-R图 .32.3全局 E-R图 .63逻辑结构设计 .64创建数据库及相关操作 .94.1创建数据库 .94.2建立视图 .104.3建立存储过程 .124.4建立触发器 .134.5查询问题及查询结果 .145 项目设计总结 .17项目背景及需求分析1.1 项目背景高校是教学和科研的重要基地,同时还是培养人才的重要场所。随着计算机技术的发展和互联网时代的到来,学校的教学管理受到了极大的挑战。

2、Internet技术持续迅猛的发展为传统的教学管理提出了新的模式。以现在计算机技术、网络技术为基础的数字化教学管理要依靠自身的人才优势,加强对信息资源的开发和利用,做好学校信息化的基础教学工作,是学校朝着信息化、网络化、现代化的目标迈进。这种新的管理模式,对于管理极为宝贵的特性,可以为新型管理模式的建构提供理想的基础。系统由授课教师来完成成绩录入,而学生可以自行查询成绩。这样除了减轻教学管理部门人员的工作负担,还可以减少信息错误的发生,同时为其他部门甚至全校教职工提供信息服务。开发的学生成绩管理系统则是以校园网为基础的管理系统,利用网络能快速、及时、准确的传递信息的作用,使部门的“信息孤岛 ”

3、过渡到紧密相关并在全校范围内都可用的数据。通过网络可以使管理部门能够更方便的管理学生的成绩系统;也使得教师能够方便的上传、校队学生成绩;还可以使学生能够快速查询成绩。这样管理部门对信息的管理和控制方式变成双向的,不但减少管理方面的工作量,而且可以做到信息管理规范化,从而得到科学的统计和快速的查询。1.2 需求分析针对河北工程大学的成绩管理工作量大、繁杂, 人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力, 大大减轻了管理人员的工作量, 并提高了处理的准确性。学生成绩管理系统的开发运用, 实现了学生成绩管理的自动化 , 不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩

4、管理模式中解放出来 , 而且对学生成绩的判断和整理更合理、更公正 , 同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。概念结构设计2.1 抽象出系统实体课程(课程编号、课程教师编号、课程名称);成绩(学号、课程编号、分数) ;学生(班级、姓名、学号、性别、专业);教师(教师号、姓名、所属专业、性别)。2.2 局部 E-R 图姓名系别教师号性别教师师m教师号授课教师号n课程课程号任课教师号课程名姓名系别教师号性别教师1教师号师教授学号n学生专业学号性别师姓名班级专业学号班级性别学生姓名1课程号师考试学号n成绩学号师课程编号分数班级学号课程号课程号专业学号性别学生姓名m师选修成绩n课程师课程

5、名任课教师号2.3 全局 E-R 图任课教师号课程编号课程名称教师号教师号姓名系别性别课程讲授n1成绩拥有学号选修1课程号成绩考试n学号课程编号分数1课程号课程名1学号班级教师1教授n学生姓名教师号学号专业性别学号逻辑结构设计E-R 图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程( course )、学生( student )、成绩( sc)、教师( teacher )四个关系 , 其关系模式中对每个实体定义的属性如下:course 表: ( 课程号( cno),教师号( tno ),课程名( cname

6、) )此为联系 “course 表”所对应的关系模式。课程号和教师号为该关系的候选码 , 满足第三范式。student 表:( 学号( sno),班级( sclass ),姓名( sname),性别( ssex ),专业( smajor ) )此为联系 “student 表 ”所对应的关系模式。学号为该关系的候选码,满足第三范式。sc 表:(学号( sno),课程号( cno),成绩( degree )此为联系 “sc 表” 所对应的关系模式。学号和课程号为该关系的候选,满足第三范式。teacher 表:(教师姓名( tname)、性别( tsex )、教师号( tno )、专业tmajor

7、)此为联系 “teacher 表 ”所对应的关系模式。教师号为该关系的候选码,满足第三范式。数据库中包含 4 个表,即课程信息 (course) ,学生信息 (student),成绩信息(sc) ,教师信息( teacher )。course 表的表结构列名数据类型长度小数位数是否允许 NULL说明值cnochar5否主码cnamevarchar20否tnochar3否student表的表结构列名数据类型长度小数位数是否允许 NULL说明值snochar9否主码snamechar8是ssexchar2是取值:男或女smajorchar20是sclasschar10是sc 表的表结构列名数据类型

8、长度小数位数是否允许 NULL说明值snochar10否组合主码,外码degreedecimal41是取值 1-100cnochar5否组合主码,外码teacher 表的表结构列名数据类型长度小数位数是否允许 NULL说明值tnochar3否主码tnamevarchar8是tsexchar2是取值:男或女tdeptchar16是创建数据库及相关操作4.1 创建数据库CREATE database test; /* 创建 test 数据库 */创建表CREATE TABLE course(/ 创建课程信息表cno char(5) NOT NULL,cname varchar(20) NOT NU

9、LL,tno char(3) NOT NULL,CONSTRAINT C1 PRIMARY KEY(cno);CREATE TABLE student( sno char(9) PRIMARY KEY, sname char(8),/ 创建学生信息表ssex char(2),smajor char(20),sclass char(10);CREATE TABLE sc(/ 创建成绩表sno char(10) NOT NULL,degree decimal(4,1) ,cno char(5) NOT NULL,CONSTRAINT A1 PRIMARY KEY(sno,cno), CONSTRA

10、INT A2 CHECK(degree=0 and degree=100) );CREATE TABLE teacher(/ 创建教师表tno char(3) NOT NULL,tname varchar(8),tsex char(2),tdept char(16),CONSTRAINT C1 PRIMARY KEY(tno);添加记录course 表添加示例:INSERT INTO courseVALUES( C01科学导,论 , 101;)为了简化,其余用Navicat 添加student 表添加示例:INSERT INTO studentVALUES( 140210316叶何斌, ,男计

11、,机科学与技术算 计,算机 1403 );为了简化,其余用 Navicat 添加。sc 表添加示例:INSERT INTO scVALUES( 140210316 ,, C01;87)为了简化,其余用Navicat 添加teacher 表添加示例:INSERT INTO teacherVALUES( 140210316叶何斌, ,男计,机科学与技术算 计,算机 1403 );为了简化,其余用 Navicat 添加4.2 建立视图定义视图 v_student,查询所有选修科学导论的课程的学生的学号( sno),姓名( sname),成绩( degree)。代码:CREATE VIEW v_stu

12、dentASSELECT A.sno,sname,degreeFROM student A,course B,sc CWHERE A.sno=C.sno AND B.cno=C.cno AND cname=科学导论 ;查询定义视图 v_student代码:SELECT *FROM v_student;结果:利用视图向表 sc 中插入一条数据。 view_sc 是创建的视图代码:CREATE VIEW view_sc/ 创建ASSELECT sno,degree,cnoFROM sc;INSERT INTO view_sc/ 执行VALUES(140210321,88,C01);SELECT s

13、no,degree,cno/ 查看结果FROM sc;结果:在 sc 表中已经正确插入。DELETE FROM view_sc WHERE sno= 140210321/删;除结果:已经正确删除。修改视图 view_sc 的代码为: ALTER VIEW view_sc AS SELECT sno,degree,cno;删除视图 view_sc 的代码为: DROP VIEW view_sc;4.3 建立存储过程创建一个存储过程,从 student 表中检索出所有班级为 “计算机 1403”的学生的学号,姓名。代码:DELIMITER /* 将 MYSQL的结束符设置为 /*/CREATE P

14、ROCEDURE proc_stud()READS SQL DATABEGINSELECT sno,sname,smajor FROM studentWHERE sclass LIKE计%算机 1403% ORDER BY sno; END /DELIMITER ;/* 将结束符恢复成分号 */执行存储过程: CALL proc_stud;结果:创建一个 num_sc 的存储过程,统计一个同学的课程成绩个数。代码:DELIMITER /* 将 MYSQL的结束符设置为 /*/CREATE PROCEDURE num_sc(IN tmp_sno char(9), OUT count_num IN

15、T)READS SQL DATABEGINSELECT COUNT(*) INTO count_num FROM scWHERE sno=tmp_sno;END /DELIMITER ;/* 将结束符恢复成分号 */4.4 建立触发器在数据库的 student 表中,定义一个触发器,当一个学生被删除时,把该学生的学号和姓名添加到 delstudent 表中。代码:CREATE TABLE delstudent SELECT sno,sname FROM student WHERE 1=0;/ 创建一个空表用于接受删除后的数据CREATE TRIGGER trig_student / 创建 st

16、udent 表的触发器 AFTER DELETE ON student FOR EACH R0WINSERT INTO delstudent(sno,sname) values(old.sno, old.sname);DELETE FROM student WHERE sname=李甜甜 ;/ 删除一个学生,验证触发器是否触发。select * from delstudent;/ 查看接受删除数据表结果:触发器已经触发。4.5 查询问题及查询结果查询所有学生的学号、姓名、性别和专业代码:select sno,sname,ssex,smajorfrom student;结果:计算 “C01” 课

17、程的平均成绩。代码:SELECT AVG(degree) FROM scWHERE cno=C01;结果:查询选修课程名为 “高等数学 ”的学生学号和姓名。代码:SELECT A.sno,snameFROM student A INNER JOIN sc B ON A.sno=B.sno INNER JOIN course C ON B.cno=C.cno WHERE C.cname=高等数学 ;结果:查询 “C03” 课程不及格的学生信息代码:SELECT A.sno,sname,ssex,smajor,sclassFROM student A INNER JOIN sc B ON A.sn

18、o=B.sno INNER JOIN course C ON B.cno=C.cnoWHERE C.cno=C03 AND B.degree60;结果:查询不讲授 “C01” 课程的教师姓名。代码:SELECT tnameFROM teacherWHERE tno=ANY(SELECT tno FROM course WHERE cno!=C01 ); 结果:插入学号为 “140210322”、姓名为 “ 曾淑亮 ”、性别为 “ 男”的学生信息。代码:INSERT INTO student (sno,sname,ssex)VALUES (140210322,曾淑亮 ,男 );结果:项目设计总结这次学生成绩管理系统设计,我们主要采用的是命令行,然后 Navicat 图形界面辅助操作的方式完成设计。通过这次程序设计,加深了对课程设计的理解。在这次课程设计中,我们回顾了很多以前的东西,也发现了很多的问题,以前都没遇见过的,收获很大。在对不同的功能代码是不一定可以完整的执行的,不过大概都是一样的。看着自己做的系统,我们自己就会又欣慰又难过,欣慰的是终于把它做出来了,虽然遇到很多困难,难过的是自己知道还有很多的不足,但是由于知识的有限,无法去完善,才知道 “ 书到用时方恨少 ”。此次成绩管理系统的设计让我们对 Mysql 数据库的了解更加深入,在整个是设计过程中,通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论