数据库课程设计学生信息管理系统.docx

上传人:b****5 文档编号:11897516 上传时间:2023-04-08 格式:DOCX 页数:31 大小:422.95KB
下载 相关 举报
数据库课程设计学生信息管理系统.docx_第1页
第1页 / 共31页
数据库课程设计学生信息管理系统.docx_第2页
第2页 / 共31页
数据库课程设计学生信息管理系统.docx_第3页
第3页 / 共31页
数据库课程设计学生信息管理系统.docx_第4页
第4页 / 共31页
数据库课程设计学生信息管理系统.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

数据库课程设计学生信息管理系统.docx

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

数据库课程设计学生信息管理系统.docx

数据库课程设计学生信息管理系统

 

数据库原理与开发

课程设计报告

 

设计题目:

学生信息管理系统

 

学生姓名

张留春

学号

110506224

专业名称

信息管理与信息系统

日期

2013.1.1

 

学生信息管理系统

学生姓名:

张留春

一、课程设计说明

数据库是信息系统的核心内容,信息系统的设计、开发、维护都建立在后台完备的数据库系统的基础之上。

本课程设计拟通过给定题目,要求学生选择指定的系统,按照数据库设计的一般要求和流程,分析并设计出该系统的数据库结构(包括逻辑结构和物理结构)。

并最终将所设计的数据库使用SQL语句在SQLServer2000数据库管理系统中建立相应的数据库。

二、系统功能描述:

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量成倍增长。

面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统可以做到规范管理、科学统计和快速查询,从而减少管理方面的工作量。

三、课程设计任务

需要完成的功能主要有:

Ø有关学籍等信息的输入,包括学生基本信息、所在班级、所学课程和成绩等

Ø学生信息的查询,包括学生基本信息、所在班级、所学课程和成绩等

Ø学生信息的修改

Ø班级管理信息的输入,包括班级设置、年级信息等

Ø班级管理信息的查询

Ø班级管理信息的修改

Ø学生基本课程信息的输入

Ø学生课程信息的修改

Ø学生课程的设置和修改

Ø学生成绩信息的输入

Ø学生成绩信息的修改

Ø学生成绩信息的查询

Ø学生成绩信息的统计

 

2系统结构分析

2.1需求分析

学生管理系统是适应时代发展的需要,提高管理的效率而开发设计的。

通过对信息的收集、存储、传递、统计、分析、综合查询、报表输出和信息共享,及时为管理者提供学生基础信息,违规记录,考试成绩信息的查询。

实现了学生信息管理的简单化和规划化,提高了学校日常的工作效率,从而提高学校日常管理的效率,满足管理者对信息的需求。

经过综合分析,确定了学生管理系统的主要包括以下功能:

(1)用户登陆功能

管理员登陆界面主要为管理员提供对系统使用者的操控,确保系统信息的安全性,可靠性,登陆后可以通用系统管理中的用户管理增加或修改用户帐户。

(2)学生信息管理功能

学生信息管理功能模块可以实现以下功能:

学生信息管理;

学生成绩录入;

(3)学生信息查询功能

学生成绩查询;

学生课程查询;

学生基础信息查询。

(4)关于对话框

显示有关该系统的信息。

2.2功能模块图

根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。

 

 

图2.1系统总体功能模块

“系统登陆”功能模块用于验证使用者的身分,其功能模块如图2.2所示。

 

图2.2系统登陆模块

“学生管理”功能模块用于学生信息管理,学生成绩录入,学生违规处理,成绩等级设置,其功能模块如图2.3所示。

 

图2.3学生管理模块

“查询管理”功能模块用于查询学生信息,学生成绩,违规信息,其功能模块如图2.4所示。

 

图2.4查询管理模块

“系统管理”功能模块用于修改或增加用户,退出系统,其功能模块如图2.5所示。

 

图2.5系统管理模块

3数据库设计

3.1概念结构设计

根据需求分析抽象出信息结构,可得该系统的E-R图。

(1)用户(tb_user)E-R图,主体为系统管理员,其包含两个属性,分别为用户名和密码。

如图3.1所示。

 

图3.1用户E-R图

(2)学生(tb_studentinfo)实体E-R图,主体为学生,其包含属性为学生姓名,学生编号,年龄,性别,地址,班级,联系电话。

如图3.2所示。

 

图3.2学生实体E-R图

(3)考试(tb_examkinds)实体E-R图,主体为考试,其包含属性学生编号,考试类别,考试科目,考试成绩,考试日期。

如图3.3所示。

 

 

图3.3考试实体E-R图

 

 

通过分析上述实体间的联系将分E-R图合并为学生管理系统的基本E-R图。

由于用户这一实体它是用来确定使用该系统权限的于其他实体间无内在联系,故在此不考虑。

同时每个实体的属性在上面的分E-R图中已经给出,在此不予给出

 

图3.5系统基本E-R图

3.2逻辑结构设计

根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。

(1)数据库中数据表描述

本数据库包含以下4个表:

登录表tb_user,学生基础信息表tb_studentinfo,学生违规信息表tb_regbreakinfo,学生成绩信息表tb_examinfo_sub,成绩等级设置表tb_gradelevel,考试类型表tb_examkinds。

 

表3.1数据表描述表

编号

数据表名称

类型

内容

01

tb_user

辅助表

记录管理员帐号,密码

02

tb_studentinfo

主表

记录学生基础信息

03

tb_regbreakinfo

主表

记录学生违规信息

04

tb_examinfo_sub

主表

记录学生成绩信息

05

tb_gradelevel

主表

查询时设置查询范围

06

tb_examkinds

主表

记录考试的类型

本系统主要用于管理者的使用,即只有系统管理员用户。

系统管理员为xuwei,他可以管理所有信息。

前面是通过前台来实现系统安全性的,我们也可以对数据库进行身份验证,可以从系统中建一个登录名,使得本系统可以有多个管理员,从而实现对数据库的完善与管理,以此来及时更新系统中的学生信息管理。

(2)系统数据项表描述

表3.2tb_user表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

username

varchar

20

tb_user

用户名

2

pwd

varchar

10

tb_user

密码

 

表3.3tb_studentinfo表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

studentid

varchar

50

tb_studentinfo

学生编号

2

studentname

varchar

50

tb_studentinfo

学生姓名

3

phone

varchar

50

tb_studentinfo

联系电话

4

addr

varchar

50

tb_studentinfo

地址

5

age

float

8

tb_studentinfo

年龄

6

phone

varchar

50

tb_studentinfo

目录名

7

sex

varchar

50

tb_studentinfo

性别

 

表3.4tb_regbreakinfo表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

studentid

varchar

50

tb_regbreakinfo

学生编号

2

breakcontent

varchar

100

tb_regbreakinfo

违规内容

3

handleresult

varchar

100

tb_regbreakinfo

处理结果

4

memo

varchar

100

tb_regbreakinfo

备注

5

breaktime

smalldatetime

4

tb_regbreakinfo

时间

 

表3.5tb_examinfo_sub表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

studentid

varchar

50

tb_examinfo_sub

学生编号

2

code

varchar

50

tb_examinfo_sub

考试科目

3

grade

float

8

tb_examinfo_sub

成绩

4

kind

varchar

50

tb_examinfo_sub

考试类型

5

examdate

datetime

8

tb_examinfo_sub

考试时间

表3.6tb_gradelevel表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

grade_level

varchar

50

tb_gradelevel

成绩等级

2

up_grade

float

8

tb_gradelevel

最高分数

3

low_grade

float

8

tb_gradelevel

最低分数

 

表3.7tb_examkinds表数据项信息表

编号

标识符

类型

长度

所属表名

同义名

1

kind

varchar

50

tb_examkinds

考试类型

 

4系统实现

4.1数据库的连接

在该系统中数据库的连接使用ODBC。

ODBC是一种可以执行SQL语句的API。

ODBC有VC++6.0编程语言编写的类及接口组成,使用它可以将VC程序连接到SQLSever等多种关系型数据库中。

程序员通过ODBC可以编写成具有平台无关性的数据库应用程序。

首先配置ODBC数据源。

打开Windows控制面板,找到管理工具—>数据源(ODBC),双击打开此选项,数据源配置界面如图4.1所示:

图4.1数据源配置界面

选择添加(D)...,弹出“创建新数据源”界面,下拉选择框到最末尾,选择SQLServer。

点击完成按钮,弹出“创建到SQLServer的新数据源”界面,填写相关的内容,其中,名称(M)可以任意指定一个自己方便记忆的数据源名称(必须),描述(D)用来描述此数据源,可以不用填写,而服务器(S)来源于:

SQLSever服务管理器。

点击下一步按钮,不需要做任何改动。

点击下一步按钮,选择更改默认的数据库为(D):

自己定义的数据库,此处选择之前创建的数据库wang(重要),点击完成按钮,完成新数据源的创建工作。

数据源源配置成功之后进行测试,测试结果如图4.2所示。

图4.2数据源测试结果

4.2数据库备份和恢复方案

(1)应用辅助工具进行备份和恢复

应用数据库辅助工具(如sqlbackuptools…)进行备份,选择所需要备份的数据库和目标地址即可进行数据备份,恢复数据库只需要指定备份文件和需要恢复的数据库即可进行数据恢复。

(2)分离数据库法

在企业管理器中右击需要备份的数据库,选择“所有任务”,“分离数据库”,执行分析操作,拷贝数据库MDF文件和LDF文件。

恢复方案:

在企业管理器的控制台树中选择“数据库”节点,右击,“所有任务”,“附加数据库”,找到待恢复数据库的MDF文件,确定。

4.3系统功能模块设置

本系统的用户界面用VC++6.0编写,主要由1个主界面和10个辅助对话框组成。

主界面集合系统主要基本功能按键,辅助对话框负责采集用户输入信息和做基本的信息处理。

(1)系统类文件功能描述

NO.

类名

类型

功能

01

CMystudentsysDlg

Frame

主窗口类,提供系统主要功能的调用接口

02

CMystudentsysApp

辅助类

封装系统主要数据和方法,为其它类提供信息处理功能

03

CRegbreak_finddig

Dialog

查询学生的违规信息

04

CUserdlg

Dialog

管理员信息修改对话框,修改管理员密码,删除管理员

05

CInput_regbreakdlg

Dialog

学生违规信息的录入

06

CInfoStudent

Dialog

学生基础信息的录入

07

CGrade_levelinfodig

Dialog

学生成绩等级的设置

08

CExaminfo_submarkdlg

Dialog

学生成绩的录入

09

CLogin

Dialog

管理员登陆对话框,提供登陆界面,检查登陆信息

表4.1类文件作用描述表

(2)系统数据流表描述

表4.3数据流表

编号

名称

来源

去向

组成

1

登陆信息

管理员

应用系统

用户名+密码

2

授权信息

应用系统

管理员

3

错误身份信息

应用系统

管理员

4

查询请求

管理员

应用系统

待查询对象识别符(如Cid,Ono)

5

查询结果

应用系统

管理员

被查询对象具体信息

6

管理请求

管理员

应用系统

识别符(Cid,Ono等)+管理类型

7

管理结果信息

应用系统

管理员

被管理对象处理结果

8

非法请求

应用系统

管理员

非法请求提示信息

5功能测试

5.1测试方案

由于系统规模较小,所以没有安排单独的白盒测试,而是相应地将这部分测试归并到系统编码过程中。

整个测试过程基于自顶向下测试的组装模块的方法,先对主模块进行基本测试,然后在按深度优先策略逐一将子模块组装到主模块上进行测试,最后再对系统进行全面的整体测试。

5.2测试过程

(1)登陆测试

双击可执行文件mystudentsys.exe打开应用系统,可见登陆界面如图5.1所示:

图5.1系统登陆界面

若输入用户名和密码错误,用户无法登陆如图5.2所示:

图5.2登陆错误提示信息

输入正确用户名和密码,用户正常登陆。

(2)学生管理功能测试

A:

学生信息管理:

选择“学生信息管理”,填写学生信息(或者单击添加按钮),单击“保存”按钮,即可将当前输入的学生信息保存到数据库中,如图5.3所示:

图5.3学生信息保存

B:

单击“第一条”,“上一条”,“下一条”,“末一条”按钮,可分别查看数据中以录入的学生信息,如图5.4所示:

图5.4查看学生信息

C:

选中学生信息页面,单击删除按钮,及可删除相应的学生信息,如图5.5所示:

图5.5删除学生信息

D:

学生成绩录入:

“学生管理”,“学生成绩录入”,单击“保存”按钮,即可保存输入的成绩信息。

如图5.6所示:

图5.6学生成绩录入

A:

学生成绩查询:

“查询管理”,“学生成绩查询”,输入学生编号,单击查询按钮即可显示查询学生的信息。

如图5.10所示:

图5.10学生成绩查询

C:

学生基础信息查询:

“查询管理”,“学生违规查询”,输入学生编号,单击“查询”按钮,即可查看所查询学生的信息。

如图5.12所示:

图5.12学生基本信息查询

(4)系统管理功能测试

A:

用户管理:

“系统管理”,“用户管理”,出现用户管理界面,如图5.13所示。

在该界面可以为系统添加管理员,删除管理员,修改管理员,增加系统的管理人数以及修改变更。

图5.13用户管理

B:

退出系统:

如图5.14所示:

图5.14退出系统

(5)关于作者信息,显示作者的信息.如图5.15所示:

图5.15关于作者

 

程序代码

 

CREATEDATABASExuwei

GO

CREATETABLEtb_examinfo_sub(

studentidvarchar(50)NOTNULL,

codevarchar(50)NOTNULL,

gradefloatNOTNULL,

kindvarchar(50)NOTNULL,

examdatedatetimeNOTNULL

);

GO

CREATETABLEtb_regbreakinfo(

studentidvarchar(50)NOTNULL,

breakcontentvarchar(100)NOTNULL,

[handleresult][varchar](100)NOTNULL,

memovarchar(100),

breaktimesmalldatetimeNOTNULL

);

GO

CREATETABLEtb_studentinfo(

studentidvarchar(50)NOTNULL,

studentnamevarchar(50)NOTNULL,

sexvarchar(50)NOTNULL,

agefloatNOTNULL,

addrvarchar(60),

phonevarchar(50),

classvarchar(50)NOTNULL

);

GO

CREATETABLEtb_user(

usernamevarchar(20)NOTNULL,

pwdvarchar(10)

);

GO

CREATETABLEtb_gradelevel(

grade_levelvarchar(50)NOTNULL,

up_gradefloatNOTNULL,

low_gradefloatNOTNULL

);

GO

CREATETABLEtb_examkinds(

kindvarchar(50)NOTNULL

);

GO

//程序名称:

mystudentsys.cpp

//程序功能:

取得应用程序与数据库系统的连接

try

{

CStringstrConnect;

strConnect.Format("DSN=mystudentsys;");

if(m_DB.Open(NULL,false,false,"ODBC;DSN=xuwei;UID=Sa;PWD=123;")==0)

{

AfxMessageBox("UnabletoConnecttotheSpecifiedDataSource");

returnFALSE;

}

}

catch(CDBException*pE)

{

pE->ReportError();

pE->Delete();

returnFALSE;

}

//基于对话框的MFC程序,运行完了App函数之后便运行initial函数

CLogindlg;

if(dlg.DoModal()!

=IDOK)//在登录对话框显示后若用户按取消按钮则执行if语句销毁登录对话框

{

OnOK();//执行本函数的ONOK函数,销毁登录对话框

}

//返回true显示出MystudentsysDlg对话框

returnTRUE;//returnTRUEunlessyousetthefocustoacontrol

}

//程序名称:

Login.cpp

//程序功能:

系统登陆

voidCLogin:

:

OnOK()

{

//TODO:

Addextravalidationhere

UpdateData(TRUE);

if(m_Name.IsEmpty()||m_PassWord.IsEmpty())

{

MessageBox("用户名或密码不能为空");

return;

}

m_Num++;

CStringsql;

sql.Format("select*fromtb_userwhereusername='%s'andpwd='%s'",

m_Name,m_PassWord);

m_LoginSet=newCLoginSet(&((CMystudentsysApp*)AfxGetApp())->m_DB);

if(!

m_LoginSet->Open(AFX_DB_USE_DEFAULT_TYPE,sql))

{

AfxMessageBox("tb_studentinfo表打开失败!

");

}

if(m_LoginSet->GetRecordCount()!

=0)

{

CDialog:

:

OnOK();//核对密码成功,销毁登录对话框

}

else

{

if(m_Num==3)

{

MessageBox("密码3次不正确");

CDialog:

:

OnCancel();

}

else

{

MessageBox("用户名或密码不正确");

m_Name="";

m_PassWord="";

UpdateData(FALSE);

}

}

if(m_LoginSet->IsOpen())

{

m_LoginSet->Close();

deletem_LoginSet;

}

}

//程序名称:

Studentinfo_finddlg.cpp

//程序功能:

学生基本信息录入

BOOLCStudentinfo_finddlg:

:

OnInitDialog()

{

CDialog:

:

OnInitDialog();

//TODO:

Addextrainitializationhere

m_List.InsertColumn(0,"学生姓名");

m_List.InsertColumn(1,"性别");

m_List.InsertColumn(2,"年龄");

m_List.InsertColumn(3,"住址");

m_List.InsertColumn(4,"电话");

m_List.InsertColumn(5,"班级");

RECTrect;

m_List.GetWindowRect(&rect);

intwid=rect.right-rect.left;

m_List.SetColumnWidth(0,wid/6);

m_List.SetColumnWidth(1,wid/6);

m_List.SetColumnWidth(2,wid/6);

m_List.SetColumnWidth(3,wid/6);

m_List.SetColumnWidth(4,wid/6);

m_List.SetColumnWidth(5,wid/6);

m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);

returnTRUE;

}

voidCStudentinfo_finddlg:

:

OnClose()

{

//TODO:

Addyourmessagehandlercodehereand/orcalldefault

CDialog:

:

OnClose();

}

voidCStudentinfo_finddlg:

:

Onfindstudentinfo()

{

//TODO:

Addyourcontro

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

当前位置:首页 > 初中教育 > 政史地

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

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