数据库课程设计--选修课程管理系统的设计与实现.doc_第1页
数据库课程设计--选修课程管理系统的设计与实现.doc_第2页
数据库课程设计--选修课程管理系统的设计与实现.doc_第3页
数据库课程设计--选修课程管理系统的设计与实现.doc_第4页
数据库课程设计--选修课程管理系统的设计与实现.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

存档资料 成绩: 华东交通大学理工学院课 程 设 计 报 告 书学号 20100210450123 学生姓名 frideric 所属课程名称 数据库技术及应用课程设计 题 目 选修课程管理系统的设计与实现 分 院 电 信 分 院 专业班级 2010级信息管理1班 指导教师 李正凡 2011年 6月15 日 23华东交通大学理工学院课 程 设 计任 务 书专 业10级信息管理 班 级 1班 姓名 frideric 一、课程设计题目 选修课程管理系统的设计与实现 二、课程设计工作:自 2011 年 6月 13日起至 2011年 6月 22日三、课程设计的内容要求:1、 通过SQL创建基本表格,修改基本表结构 。 2、 对上面创建好的表格添加基本元组。(在添加元组的时候要满足我们创建的约束条件)。 3、 通过SELECT语句对我们创建的表格进行相关的查询。 4、 对表格创建索引。 5、 对表格创建视图等等。 例如创建基本表格的语法格式如下: CREATE TABLE ( 列级完整性约束条件 , 列级完整性约束条件,) 序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5任务难度评价6设计中创新性评价7论文书写规范化评价8综合应用能力评价综合评定等级 学生签名: ( ) 2011年6月15号课程设计评阅意见评阅人 李正凡职称 教授 2011年 6月15日目 录第一章系统概述51.1系统开发的背景51.2系统开发的意义5第二章 系统需求分析62.1系统功能要求62.2.需求分析概述62.3系统层次划分72.4系统数据流程图72.5数据字典82.5.1数据项82.5.2数据结构92.5.3数据流92.5.4 数据存储10第三章系统总体设计113.1系统总体设计目标113.2系统概念设计113.2.1概念模型123.2.2关系模式12第四章数据库系统实现134.1 SQL Server 2005简介134.2人事管理系统实现13第五章程序清单155.1创建学生表实现155.2创建课程表和选课表代码如下:165.3元组信息的添加:165.4对学生信息进行查询175.5源程序17第六章结束语216.1设计总结21第七章参考文献22第一章系统概述1.1系统开发的背景 目前,我国的高等教育事业蓬勃发展,高校的规模不断扩大,同时,高校的教学改革也在全面推行,学分制在各高校全面启动。学分制允许学生在计划的指导下,根据自己的条件、能力、志趣,有选择地支配自己的学习。因此,学生的选课就成为推行学分制的重要管理任务。以往的选课均是在计划模式下进行:每位教师将所开的课程名称,个人简介,课程限选人数,限选专业等信息交给教务处,教务处再将这些信息统一成册,分发给各个班级班长,由班长将本班的选课情况统计并返回教务处。这是一个相当长的周期,并且耗费大量的人力、物力,对选择结果没有控制。针对这些问题,提出一种基于WEB的选课系统,该系统将课程的基本信息录入之后,即可由学生选课,受限制专业的学生将无法选择该课程,同样,选课按照先后顺序,超过限制的人数,也不能选择该课程。 学生选课系统能够让学生们在网络上自主选择选修课程,教务处的工作人员则通过网络来处理学生的选课信息。这个系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,同时提高了开发效率,从而实现了校园无纸化办公,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率。1.2系统开发的意义 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 因此,开发这样一套软件成为很有必要的事情。第二章 系统需求分析2.1系统功能要求管理员可以通过超级用户身份登录,对系统进行全面的管理,对新用户的添加,删除,对信息进行管理。管理员可以对老师及同学的帐户进行管理,老师、学生不同身份的用户进入不同的界面,进行不同的操作。教师可以发布自己本学期所要教的课程,以及对学生成绩进行管理。同学可以通过查询本学期所开设课程进行选择。 2.2.需求分析概述教师信息查询:教师用户登录后,进入教师操作功能单元,选择查询,在查询设置中的查询项目选择查询的项目,填写查询条件,点击查询,在教师信息列表就得到了该用户修改后的信息。教师信息修改:教师用户登录后,进入教师操作功能单元,选择修改,在教师基本信息中修改信息,点击数据操作中点击修改,在教师信息列表就得到了该用户修改后的信息。教师信息删除:教师用户登录后,进入教师操作功能单元,选择删除,提交之后就将该用户删除了。用户组里面将不存在改用户。学生选课:学生用户登录后,进入选课信息功能单元,如果是已经登录进入了,在查询设置中的查询项目选择查询的项目,填写查询条件,点击查询之后系统会在已存在的课程信息表中查询该生所属专业应修的课程,如果该门课程存在就可以看到选择的课程出现在了课程列表里面,同时该记录也会出现在已选课程信息里面。如果不存在则输出错误提示信息“没有相关信息”。成绩查询:学生用户登录后,进入成绩管理功能单元,如果是已经登录进入了,在查询项目中选择查询项目,在查询条件中填写条件,点击查询,就可以看到已选课程的成绩,和学期。2.3系统层次划分根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。2.4系统数据流程图D2 学生信息D3 课程信息1.6课程管理1.7管理1.8学生信息管理员用户1.5生成查询 D4 选课信息 1.2接受选课1.3更新信息1.4处理信息1.1查看选课D1 信息图2-12.5数据字典2.5.1数据项数据项名:学号含义说明:作为唯一标识该学生的主标识符,是主码数据类型:字符串型长度:八位,取值任意数据项名:课程编号含义说明:用来标识某一课程,是主码数据类型:字符型长度:五位数据项名:成绩含义说明:登记所有学生的成绩情况数据类型:数值型长度:十位数据项名:系名称含义说明:记录所有的系数据类型:字符型长度:十位数据项名:教师编号含义说明:登记所有选修课老师数据类型:字符型长度:十位数据项名:教室号码含义说明:记录所有教室的标号数据类型:字符型长度:十位2.5.2数据结构学生表学生登记表,登记学生的相关信息,组成:学号,姓名,年龄,所属院系,已选课情况学生成绩表成绩信息,记录学生成绩的相关信息,组成:学号,姓名,课程编号,课程名称,学分,成绩教师表教师登记表,登记教师的相关信息,组成:教师姓名,性别,年龄,学历,职称,毕业院校,健康状况教室信息表教室信息,记录教室的相关信息,组成:可容纳人数,空闲时间,备注2.5.3数据流数据流名:学生信息表来源:学生管理 流向:学生管理 组成:学号+姓名+所属院系+已选课情况 说明:对所有学生的信息进行查询,修改。数据流名:教室情况表 来源:教室管理流向:教室管理组成:可容纳人数+空闲时间说明:对教室的信息进行查询,添加和更改。数据流名:选课信息表 来源:选课管理流向:选课管理组成:学号+姓名+课程编号+课程姓名+任课教师+学生选课情况说明:对学生成绩进行录入和修改。数据流名:教师情况表来源:教师管理流向:教师管理组成:教师编号+教师姓名+性别+年龄+学历+职称+毕业院校+健康状况说明:对教师信息进行录入和查询2.5.4 数据存储数据存储名:学生信息输入数据:学生信息表输出数据:学生信息表说明:存储学生的所有相关信息数据存储名:系信息输入数据:系表输出数据:系表说明:存储系的所有相关信息数据存储名:教师信息输入数据:教师信息表输出数据:教师信息表说明:存储教师的所有相关信息数据存储名:选修课信息输入数据:选修信息表 输出数据:选修信息表 说明:存储学生选课的所有相关信息 第三章系统总体设计3.1系统总体设计目标 完成学生选课系统,学生通过该系统能够查询到,任课老师的相关信息,以及所在的教室。老师可以查看学生选择该课程的情况。学生选课管理信息系统学生信息管理教师信息管理教室信息管理学生成绩管理图3-13.2系统概念设计根据系统功能设计的要求以及功能模块的划分,各个系统的逻辑实现如下:1.对于学生选课系统数据库,可以列出以下数据项和数据结构: 学生信息:学号、学生姓名、学生的系名、学生性别、学生年龄、学生密码。2.对于教师信息维护数据库,可以列出以下数据项和数据结构: 教师个人信息:教师编号、教师名称、教师密码。3.对于后台管理数据库,可以列出以下数据项和数据结构: 管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系。 选课信息:课程号、学生学号、成绩。4. 数据流:学生管理员和教师分别有自己的权限,学生可以查看全部选修必修课程,查看自己的详细信息,进行网上选课,管理员可以修改,插入并删除学生,课程,还教师的信息,教师可以在网上进行成绩录入,有各自权限的用户将各自权限范围内的信息进行录入,然后保存信息到数据库中,有权限的人可以将这些库信息进行修改和删除。3.2.1概念模型 教室信息E-R图 学生信息E-R图教师信息教师姓名教室编号性别年龄学历职称毕业院校健康状况教师信息ER图 3.2.2关系模式教室(教室编号,可容纳人数,空余时间)教师(教室编号,教师姓名,性别,年龄,学历,职称,毕业院校,健康状况)学生(学号,姓名,所属院系,已选课程)成绩(课程编号,课程名称,任课教师,选课学生情况)第四章数据库系统实现4.1 SQL Server 2005简介 SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本书中介绍的是Microsoft SQL Server 以后简称为SQL Server或MS SQL Server。 SQL Server 2005 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。4.2人事管理系统实现根据系统需求分析要求,用数据库SQL功能创建学生表4-1如下所示表4-1根据系统功能需求分析要求,用数据库SQL功能创建学生成绩表4-2如下所示。表4-2根据系统功能需求分析要求,用数据库SQL功能创建教师信息表4-3如下所示。表4-3根据系统功能需求分析要求,用数据库SQL功能创建教师上课情况表4-4如下所示。表4-4根据系统功能需求分析要求,用数据库SQL功能创建教室信息表4-5如下所示。表4-5根据系统功能需求分析要求,用数据库SQL功能创建选课信息表4-6如下所示。表4-6数据库中表之间的关系如表4-7所示。表4-7第五章程序清单5.1创建学生表实现表5-15.2创建课程表和选课表代码如下:Create Table Course ( Cno CHAR(2) NOT NULL PRIMARY KEY(Cno),Cn VARCHAR(20),Cpno CHAR(2),Ct SMALLINT);Create Table SC( Sno CHAR(6) NOT NULL CONSTRAINT S_F FOREIGN KEY REFERENCES Student(Sno),Cno CHAR(2) NOT NULL,SCORE SMALLINT CHECK (SCORE IS NULL) OR (SCORE BETWEEN 0 AND 100),PRIMARY KEY(Sno,Cno),FOREIGN KEY(Cno) REFERENCES Course(Cno);5.3元组信息的添加:表5-25.4对学生信息进行查询表5-35.5源程序#include #includestruct courseint num;char name15;char xingzhi10;int time;int ttime;int etime;int mark;int term;struct studentint snum;int cnum;/*insert*/void insert() void menu(); FILE *fp; struct course c;if(fp=fopen(course.txt,a+)=NULL) printf(cannot open filen); printf(nt请输入课程信息 :n); printf(t输入课程编号,课程名称,课程性质,总学时,授课时间,实验或上机学时,开课学期:n);scanf(%d %s %s %d %d %d %d %d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c. etime,&c.mark,&c.term); fprintf(fp,%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*browse liu_lan*/void browser()void menu();FILE *fp;struct course c;if(fp=fopen(course.txt,r)=NULL)printf(nCannot open course!n);for(;!feof(fp);)fscanf(fp,%d%s%s%d%d%d%d%d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); printf(%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*search*/void search()void menu();FILE *fp;struct course c;int score;printf(ninput mark your wantto search:);scanf(%d,&score);if(fp=fopen(course.txt,r)=NULL)printf(nCannot open course!n);for(;!feof(fp);)fscanf(fp,%d %s %s %d %d %d %d %d,&c.num,&,&c.xingzhi,&c.time,&c.ttime,&c.etime,&c.mark,&c.term); if(c.mark=score)printf(%d %s %s %d %d %d %d %d,c.num,,c.xingzhi,c.time,c.ttime,c.etime,c.mark,c.term);fclose(fp);menu();/*tong ji xuan ke ren shu*/void xuanke_information()void menu();int total=0;FILE *fp;struct student c;int num;printf(ninput course -number your wantto search:); scanf(%d,&num);if(fp=fopen(student.txt,r)=NULL) printf(nCannot open student!n);for(;!feof(fp);)fscanf(fp,%d%d,&c.snum,&um); if(um=num) total+;printf(student_num=%d,course_num=%d,c.snum,um);fclose(fp);printf(n The number choose course_num %d is %d!,num,total);menu();/*xuanke*/void xuan_ke()void menu();int snum,cnum;FILE *fp;printf(nPlease input your student_number and course number you want to choose:);scanf(%d%d,&snum,&cnum);if(fp=fopen(student.txt,a+)=NULL)printf(nCannot open student!n);fprintf(fp,%d %d,snum,cnum);fclose(fp);menu();void menu() int n,w=0;printf(ntt 请输入一个数字 0 TO 5!); printf(nnnt*MENU*);printf(ntt 1 - 插入课程信息); printf(ntt 2 - 浏览课程信息); printf(ntt 3 - 查找选课信息); printf(ntt 4 - 统计选课情况);printf(ntt 5 - 进行选课 ); printf(ntt 0 - 退出系统); printf(nnnt*); printf(nnnnnntt请选择数字:); scanf(%d,&n);doif(n5|n0)printf(n错误! 请重新输入!);scanf(%d,&n);else w=1;while(w=0);switch(n)case 1:insert();break;case 2:browser();break;case 3:search();break;case 4:xuan_ke();break;case 5:xuanke_information();break;case 0:exit(0); main() menu();第六章结束语6.1设计总结数据库的课程设计结束了,通过对数据库的学习也初步掌握其各方面的知识,数据库的功能是强大的,面对目前的信息化社会,在整理、查询、分析数据方面是一款强有力的工具。在数据库上机中主要是用到的SQL(Structured Query Language)结构化查询语言,它是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。可以帮我们做到面向数据库执行查询、取回数据、插入新的记录、更新数据库中的数据、删除记录、创建新数据库、新表和视图、设置表、存储过程和视图的权限,功能非常强大。学习数据库的内容是从数据库、数据表的创建和修改开始的,表是建立关系数据库的基本结构,用来存储数据具有已定义的属性,在表的操作过程中,有查看表信息、查看表属性、修改表中的数据、删除表中的数据及修改表和删除表的操作。从课程中中让我更明白一些知识,表是数据最重要的一个数据对象,表的创建好坏直接关系到数数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际应用中多使用表,对表的规划和理解就会越深刻。在编程方面是需要我们对于编程有逻辑思维能力及一定的编程技巧。在数据库中插入表、表中的信息等都需要注意,不然很容易

温馨提示

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

评论

0/150

提交评论