数据库课程设计学生学籍管理系统设计与实现.docx

上传人:b****9 文档编号:25597547 上传时间:2023-06-10 格式:DOCX 页数:21 大小:140.95KB
下载 相关 举报
数据库课程设计学生学籍管理系统设计与实现.docx_第1页
第1页 / 共21页
数据库课程设计学生学籍管理系统设计与实现.docx_第2页
第2页 / 共21页
数据库课程设计学生学籍管理系统设计与实现.docx_第3页
第3页 / 共21页
数据库课程设计学生学籍管理系统设计与实现.docx_第4页
第4页 / 共21页
数据库课程设计学生学籍管理系统设计与实现.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据库课程设计学生学籍管理系统设计与实现.docx

《数据库课程设计学生学籍管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生学籍管理系统设计与实现.docx(21页珍藏版)》请在冰豆网上搜索。

数据库课程设计学生学籍管理系统设计与实现.docx

数据库课程设计学生学籍管理系统设计与实现

 

数据库原理及应用课程设计

学生学籍管理系统设计与实现

学生姓名

学号

班级

指导教师

 

2010年12月28日

 

课程设计任务书

2010—2011学年第一学期

专业:

信息与计算机科学学号:

姓名:

课程设计名称:

数据库原理及应用课程设计

设计题目:

学生学籍管理系统设计与实现

完成期限:

自2010年12月20日至2010年12月31日共2周

设计依据、要求及主要内容:

通过对学校学籍管理业务进行分析、调查,设计学生学籍管理系统。

主要内容及要求如下:

(1)建立数据库

根据系统功能设计的要求以及功能模块的划分,设计相关数据库。

(2)学生信息管理模块

实现学生基本情况的录入、修改、删除等基本操作;对学生基本信息能提供灵活的查询方式。

(3)学生成绩管理模块

实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行查询。

(4)完成一个班级的学期选课功能。

(5)统计功能;系统具有成绩统计、排名等功能。

 

关键词:

SQL2000server;VC程序设计;学生学籍管理系统;

1课题描述

随着社会的发展,基本上所有的具有一定数量数据的企事业单位或机关部门都开始使用计算机数据库来做管理。

在各大中小学校,用计算机管理学校的信息已经越来越普遍了。

用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性,提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。

该课程设计要求设计一个学籍管理的数据库系统,数据库中包含学生的基本信息,学校院系信息,班级信息以及课程设置的信息。

同时还要设计它们之间的关系,如学生与课程关系和学生的成绩等,最后还要对一些数据进行查询,如查询学生成绩的各种集合等。

而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。

我们通过该课程设计,应该达到的目的是把数据库理论知识更加的巩固加深,加强动手能力与实践能力,学以致用,与现实生活中的应用充分的结合起来。

2需求分析

需求分析就是分析用户的要求。

在需求分析阶段,系统分析员将分析结果用数据流程图和数据字典表示。

需求分析的结果是否能够准确地反用户的时间要求,将直接影响到后面各个阶段的设计,并影响到系统的设计是否合理和使用。

本次设计的基于SQLServer数据库技术实现学生学籍的管理,适合一般用户的需要。

2.1信息需求分析

学生:

学号,姓名,所在系,班号,性别,民族,出生日期,家庭住址等

课程:

课程号,课程名,课程类型,课程老师等

班级信息:

班号,年级,班主任等

成绩信息:

学生姓名,学生学号,课程名,班号,成绩,考试编号等。

2.2功能需求分析

系统要实现的主要功能有:

(1)建立数据库

根据系统功能设计的要求以及功能模块的划分,设计相关数据库。

(2)学生信息管理模块

实现学生基本情况的录入、修改、删除等基本操作;对学生基本信息能提供灵活的查询方式。

(3)学生成绩管理模块

实现学生成绩的录入、修改、删除等基本操作;能方便的对学生的各个学期成绩进行查询。

(4)完成一个班级的学期选课功能。

(5)统计功能;系统具有成绩统计、排名等功能。

2.3数据流图

数据流图:

简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

使用逐步求精的方法,从顶层流程图逐一分解,到最终流程图。

经过详细的调查,弄清了业务流程,在此基础上,构造出系统的逻辑模型,并通过数据流图表示。

如下图

2.4数据字典

数据字典(Datadictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。

数据字典有一下几个要点:

数据项:

数据项是不可再分的数据单位,它直接反映事物的某一特征。

数据结构:

反映了数据之间的组合关系。

数据流:

数据流是数据结构在系统内传输的路径。

数据文件:

数据文件是数据项停留或保存的地方,也是数据流的来源和去向之一。

本系统所需有的数据字典卡片列表如下:

名字:

学生学籍信息

别名:

描述:

学籍管理中存储的所有学生信息(包括所有学生查询的所需信息)

定义:

学生信息=学生学号+学生姓名+学生性别+所在系+学生班号+出生日期+民族+家庭住址

位置:

存储输出供查询

名字:

课程信息

别名:

描述:

学校开设的课程的基本信息

定义:

课程信息=课程名称+课程编号+课程类型+课程老师

位置:

存储

输出供选择

名字:

成绩信息

别名:

描述:

学生课程的考试成绩

定义:

成绩信息=考试编号+选择班号+选择学号+学生姓名+课程号+得分

位置:

存储

输出供查询

名字:

查询信息

描述:

用户所提出的查询请求

定义:

查询信息=[学生信息查询信息|课程得分查询信息]

学生信息查询信息=[学生姓名|学生学号|学生班号]

课程得分查询信息=[学生姓名|学生学号|学生班号]

位置:

学生学籍管理系统

课程得分管理系统

名字:

查询结果

描述:

系统完成用户查询请求后所得结果

定义:

查询结果=[学生信息查询信息|课程得分查询信息|选课信息查询信息]

学生信息理查询结果=学生学号+学生姓名+学生性别+所在系+学生班号+出生日期+民族+家庭住址

课程得分理查询结果=考试编号+选择班号+选择学号+学生姓名+课程名称+得分

位置:

学生学籍管理系统

课程得分管理系统

数据项如下:

属性名

类型

长度

位置

字段值约束

含义说明

学号

字符型

10

学生表

NotNull

唯一标识每个学生

姓名

字符型

10

学生表

用来表示每个学生的姓名

性别

字符型

2

学生表

来表明学生的性别{男,女}

出生日期

字符型

12

学生表

来说明学生的出生日期

班号

字符型

10

学生表

确定每个学生所在班的班号

民族

字符型

10

学生表

表明学生所属民族

所在系

字符型

10

学生表

说明学生所属的系别

地址

字符型

6

学生表

确定学生地址

 

属性名

类型

长度

位置

字段值约束

含义说明

课程编号

字符型

10

课程表

NotNull

唯一标识一门课程

课程名称

字符型

20

课程表

标识课程的名称

课程类型

字符型

4

课程表

说明课程的类型{必修,选修}

课程老师

字符型

10

课程表

标识每门课程的任课老师

属性名

类型

长度

位置

字段值约束

对应中文属性名

班号

字符型

10

班级表

NotNull

说明学生说在班级的班级号

年级

字符型

4

班级表

NotNull

它可以和班号一起唯一标识一个班

班主任

字符型

20

班级表

NotNull

用来说明每个班级的负责人

 

对应中文属性名

类型

长度

字段值约束

位置

含义说明

考试编码

字符型

10

NotNull

成绩表

唯一标识考试的编码

学号

字符型

10

NotNull

成绩表

标识考试的学生的学号

学生姓名

字符型

10

成绩表

标识学生姓名

班号

字符型

10

NotNull

成绩表

标识学生所在班班号

课程号

字符型

10

NotNull

成绩表

标识学生选课课程号

成绩

字符型

10

成绩表

标识学生考试成绩

属性名

类型

长度

字段值约束

位置

含义说明

用户名称

字符型

10

NotNull

用户表

标识登录用户的名称

用户密码

字符型

10

NotNull

用户表

标识登录用户的密码

 

 

3系统设计

系统设计的任务是确定系统的数据模式、功能结构和系统结构,确定系统支持环境、实现方法和技术。

系统设计的基本内容为:

(1)选择数据库管理系统,建立数据模式。

(2)选择系统支持环境,包括支持系统运行的硬件和软件要求,确定系统实现

功能和方法。

(3)选择系统的基本架构和技术。

3.1数据库概念设计

这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为逻辑结构设计打下基础。

这个阶段用到的工具是E—R图(实体--联系图)。

本系统中有四个实体集:

·学生实体集

·课程实体集

·成绩信息实体集

·班级实体集

E-R图如下

 

图3.1学生实体E-R图

 

课程

课程编号

课程老师

课程名称

 

 

图3.2课程实体E-R图

 

 

图3.3成绩实体E-R图

 

图3.4班级实体E-R图

 

学生

性别

学号

姓名

出生日期

民族

地址

班号

 

m

m

 

m

n

n

 

n

n

 

1

 

图3.5系统总体E-R图

3.2逻辑设计

逻辑结构设计的主要目标是将概念结构转换为一个特定的DBMS可处理的数据模型和数据库模式。

该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。

该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。

根据总E-R图有五个实体但仓库实体在本系统中作用不大而且仅涉及到一个仓库,所以仓库不再单独设计一张表。

再加上一个多对多关系(本系统不考虑供应关系)总共五个关系模式:

学生信息(学号,性别,姓名,班号,入校日期,出生日期,联系电话,家庭住址,备注)

班级信息(班号,年级,班主任,教室)

课程信息(课程编号,课程名称,课程类型,课程描述)

成绩信息(考试编号,姓名,课程,成绩)

3.3物理设计

从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下,利用DBMS提供的各种手段设计数据库的内模式,即设计数据的存储结构和存取方法。

数据库物理结构设计是对于给定的逻辑数据模型,选择一个适合的物理结构,主要涉及存取方法与存储结构,它依赖于计算机系统。

1.关系模式

关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库系统大都是关系数据库系统。

通过对关系模式的优化,得到六个基本表。

表3.1学生信息表

字段名

字段类型

长度

主键或外键

字段值约束

对应中文属性名

student_sno

Char

10

PrimaryKey

NotNull

学号

student_sname

Char

10

姓名

student_ssex

Char

2

性别

borndate

Char

12

出生日期

Classno

Char

10

班号

Nation

Char

10

民族

Sdept

Char

10

所在系

address

Char

6

地址

表3.2课程信息表

字段名

字段类型

长度

主键或外键

字段值约束

对应中文属性名

course_cno

Char

10

PrimaryKey

NotNull

课程编号

course_cname

Char

20

课程名称

course_ctype

Char

4

课程类型

course_teacher

Char

10

课程老师

表3.3班级信息

字段名

字段类型

长度

主键或外键

字段值约束

对应中文属性名

classno

Char

10

NotNull

班号

grade

char

4

NotNull

年级

director

Char

20

NotNull

班主任

表3.4成绩信息表

字段名

字段类型

长度

主键或外键

字段值约束

对应中文属性名

examno

Char

10

PrimaryKey

NotNull

考试编码

sno

char

10

ForeignKey

NotNull

学号

sname

Char

10

学生姓名

classno

Char

10

ForeignKey

NotNull

班号

course_cno

Char

10

ForeignKey

NotNull

课程号

result

char

10

成绩

表3.5用户登录表

字段名

字段类型

长度

主键或外键

字段值约束

对应中文属性名

user_uno

Char

10

PrimaryKey

NotNull

用户名称

user_PWD

Char

10

NotNull

用户密码

2.简单物理设计

在SQLServer2000中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的student数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。

要建立各个表,选择student数据库中的表,单击鼠标右键,在弹出的菜单中选择“新建表”。

下面的表均使用上述方法制作。

具体在Sqlserver2000环境下,用查询分析器设计用户表,程序代码如下所示:

1,建立学生信息表:

createtablestudent/*学生表*/(

snochar(10)primarykey,

snamechar(10),

sdeptchar(10),

ssexchar

(2)check(ssexin('男','女')),

borndatechar(12),

addresschar(6),

classnochar(10),

nationchar(10)

);

在数据库中,右击student_Info表,返回所有值,然后输入原始数据。

snosnamesdeptssexborndateaddressclassnonation

01张三信息男1988-1-1北京11汉

02李四物理男1989-1-1新疆11回

2,建立课程信息表:

createtablecourse(

cnochar(10)primarykey,

cnamechar(20),

teacherchar(10),

ctypechar(4)check(ctypein('必修','选修'))

);

在数据库中,右击course_Info表,返回所有值,然后输入原始数据。

cnocnameteacherctype

1高数谢老师必修

2科技英语陈老师选修

3概率邢老师必修

4数学分析谢老师必修

3建立班级信息表:

createtableclass(

classnochar(10)primarykey,

directorchar(20),

gradechar(4)

);

在数据库中,右击class_Info表,返回所有值,然后输入原始数据。

classnodirectorgrade

11王老师08

12李老师09

4建立成绩信息表:

createtableexam(

examnochar(10),

snochar(10),

cnochar(10),

snamechar(10),

classnochar(10),

resultchar(4),

primarykey(examno,sno,cno,classno),

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno),

foreignkey(classno)referencesclass(classno)

);

在数据库中,右击exam_Info表,返回所有值,然后输入原始数据。

examnosnocnosnameclassnoresult

a011张三1187

b022李四1188

5建立用户表:

createtableusers(

upwdchar(10)primarykey,

unochar(10)

);

在数据库中,右击users_Info表,返回所有值,然后输入原始数据。

upwduno

011101

021102

031103

4系统实现

通过上面系统需求分析,数据库的逻辑结构与物理结构的设计,本章节便可以实现系统。

4.1系统功能结构

具体功能模块图如下:

图4.1系统功能图

 

总结体会

课程设计是培养学生综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节。

是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数据库系统越来越热门,它应用于各行各业.

回顾起此次数据库课程设计,至今我仍感慨颇多。

从选题到设计,从理论到实践,在短短的几天里来完成确实是一件很不容易的事情,尤其是我没怎么学过什么编辑语言,只有看着C++书一步一步来,可以说得是苦远远多于甜,为了能够按时完成我们的目标我也曾夜战通宵,最近的几天我休息的时间很少了,甚至三天就有两天彻夜未眠,有个很小的错误都要看好长时间才能看出来,一次一次的尝试一次一次的失败,心里想的就好似再来。

但是,我依然没有感到很疲倦。

因为看到自己设计的系统一步一步的能够比较好的的完成预定的目标,完成了各种功能。

无论是界面还是其他的方面我们都尽了最大的努力,为了能很好的调试系统,我一直坐在那里好几个小时,最后看到了自己设计的系统能很好的运行,确实是一件很高兴的事情,什么疲倦都抛到脑后了。

同时我也深深感受到了软件设计者的辛苦。

但是可以学到很多很多的新东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,书本上和课堂上的东西远远不能满足我们需要,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,毕竟我们是第一次课程设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固等等。

经过这次的课程设计我会在以后的时间里努力的学习一些课外的知识不能仅仅局限在课堂上。

我还懂得了,软件的设计部仅仅是写一条代码,它有需求的分析,数据的设计,用户界面的设计等等。

系统的设计依赖于用户的需求,也就是说你开发的系统要有实用的价值。

还有软件是有程序和文档组成的,我们在开发软件的同时要写有一份具体的使用说明。

我们做任何的事情都要有一定的规范。

我们写程序时这样,写设计说明也是这样,今后做任何的事情都要有这样的心态,要有责任感和做好肯吃苦的准备。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

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

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