数据库学生成绩管理系统课程设计报告.docx

上传人:b****4 文档编号:716341 上传时间:2022-10-12 格式:DOCX 页数:11 大小:20.06KB
下载 相关 举报
数据库学生成绩管理系统课程设计报告.docx_第1页
第1页 / 共11页
数据库学生成绩管理系统课程设计报告.docx_第2页
第2页 / 共11页
数据库学生成绩管理系统课程设计报告.docx_第3页
第3页 / 共11页
数据库学生成绩管理系统课程设计报告.docx_第4页
第4页 / 共11页
数据库学生成绩管理系统课程设计报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据库学生成绩管理系统课程设计报告.docx

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

数据库学生成绩管理系统课程设计报告.docx

数据库学生成绩管理系统课程设计报告

数据库课程设计报告

 

1.功能需求

本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都进行详细的叙述。

该系统是利用SQL开发出来的。

通过SQL建立学生成绩管理系统,大大方便和简化了数据的查询和处理,管理员可以通过SQL语言对表内数据进行添加,删除,修改,查询等操作,还可以建立多用户,对其使用权限进行分配和回收。

报告分为4部分,第一部分是课题简介及设计的内容与目的,需求分析,此阶段是数据库设计的起点。

第二部分是概念设计,逻辑结构设计,它是将需求分析的用户需求抽象为信息结构,并将概念模型转换为某个DBMS所支持的数据模型。

第三部分是数据库的实施与运行,它包括数据的载入及数据困的运行和数据库和数据表的创建(代码)。

第四部分是课程设计的总结。

1.1开发环境及开发语言

本次课程设计是以学生信息管理系统为模拟模型,运用C++编程语言结合SQL数据库所开发系统。

开发平台为VC6.0和SQL2008。

1.2设计目的

随着学生数量的日益增多,学校对学生的管理要求也越来越高,为了使学生成绩的管理更加系统化,数字化,因此我们设计了该学生信息管理系统。

1.3设计内容

运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发学生成绩管理系统,完成学生成绩管理系统的全部功能。

首先做好需求分析,并完成数据流图,其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图,然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型。

最后利用SQL完成具体的实例。

1.4.需求分析

1、    问题的提出:

为了高效率的完成学生成绩的管理,决定开发学生成绩管理系统。

2、 需完成的功能:

(1)    能提供管理员及普通用户(除删除和修改)录入、注销、显示当前用户、修改、删除、查询、输出,学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。

(2)触发器,索引,存储过程的建立及使用。

2.概念设计

(1)(E-R图)

(2)物理结构设计

Student

ColumnName

DateType

Width

空值情况

Sno

nchar

10

主关键字

Sname

nchar

10

不为空

Sex

nchar

10

不为空

Birthday

numeric

10

可为空

Address

nchar

10

可为空

Grade

nchar

10

不为空

Po;itic

nchar

10

不为空

Cuture

nchar

10

不为空

Tel

Nchar

10

不为空

 

 

 

 

Cource

ColumnName

DateType

Width

空值情况

Sno

nchar

10

主关键字

Cno

nchar

10

不为空

Score

nchar

10

可为空

 

 

 

 

User

ColumnName

DateType

Width

空值情况

User_name

nchar

20

主关键字

User_Pswd

nchar

20

不为空

User_Type

int

 

可为空

 

 

 

 

(3)分析关系模式

对于关系模式Student(Sno|Sname|Sex|Age|Address|Grade|class|Tel|Politic|Cuture)假定姓名也具有唯一性,那么Student

就有两个码,这两个码都由单个属性组成,彼此不相交。

其它属性不存在对码的传递依赖与部分依赖,又因为Student中除学号、姓名外没有其它的因素,所以Student属于BCNF。

对于关系模式Cource(|Sno|Cno|Score|)有两个码,这两个码都由单个属性组成,彼此不相交,其它属性不存在对码的传递依赖与部分依赖,又因为成绩中除学号、课程号外没有其它的决定因素,所以成绩属于BCNF。

对于关系模式User(|UserName|UserType|UserPswd|)中,它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时用户名是唯一的决定因素,所以课程属于BCNF。

它和学生信息和成绩没有直接的联系,因此它是一张单独的表。

3.SQL语句

3.1创建表

学生表

createtableStudent

Snonchar(10)primarykey,

Snamenchar(10) notnull

Sexnchar(10) notnull

Agenumeric(10)

Addressnchar(10)

Classnchar(10) notnull

Gradenchar(10) notnull

Tel  nchar(10) notnull

Politic  nchar(10)  notnull

Cuture  nchar(10)  notnull

成绩表

createtableExam

Snonchar(10)primarykey //主键约束

Cnonchar(10) Notnull

Scorenchar(10)

foreignkey(Cno)referencesCourse //外键约束

check(Score>=0) //完整性约束

用户表

createtableTeacher

Username nchar(10)  notnull

UserPswd nchar(10) notnull

UserType nchar(10)  notnull

3.2数据初始化

将学生类别加入表Student中

insertintoStudent

values('000’,’张明’,’M’,’’,’哈尔滨’,’计科一班’,’大一’,’15880000’,

’无’,’群众’)

insertintoStudent

values('001’,’李三’,’M’,’’,’长春’,’计科二班’,’大三’’15233000’.’无’,

’群众’)

insertintoStudent

values('002’,’王强’,’M’,’’,’哈尔滨’,’软件二班’,’大二’’15850040’.’无’,

’群众’)

insertintoStudent

values('003’,’张雪’,’F’,’’,’哈尔滨’,’软件一班’,’大一’’156809802’.’无’,

’群众’)

insertintoStudent

values('004’,’李力’,’M’,’’,’大连’,’软件一班’,’大三’’15980000’.’无’,

’群众’)

insertintoStudent

values('005’,’张小’,’M’,’’,’哈尔滨’,’软件三班’,’大一’’15884444’.’无’,

’群众’)

将考试类别加入Cource表中

insertintoCource 

values('000','A-123','85')

insertintoCource 

values('001','B-123','77')

insertintoCource 

values('002','C-123','91')

insertintoCource

values('003','A-123','80')

insertintoCource

values('004','B-123','75')

insertintoCource

values('005','A-123','89')

将课程加入User表中

insertintoUser 

values('阿生','921','0')

insertintoUser

values('光光','111','1')

insertintoUser

values('甜甜','111','1')

索引的使用

usestudent

createuniquenonclusteredindexindex_snoonStudent

(sno)

触发器

createtriggerreminder

onstudent

afterinsert,update

asraiserror('你在插入或修改学生的数据',16,10)

droptrigger‘reminder’

select*               

fromStudent

wheresno=002

存储过程

createprocedureusp_getStudent

@namenchar(40)

as

select*fromStudentwhereSname=@name

执行存储过程

executeusp_getStudent '张明'

4、SQL与C++结合(可视化的界面管理)

1、准备创建好的数据库,创建数据源

在创建数据库的应用程序之前,必须有一个可供应用程序使用的数据库。

2、

(1)建立了数据库之后,必须配备ODBC数据源,使其指向刚刚建立的数据库。

选择“控制面板”中“管理工具”下的“数据源(ODBC)”项。

双击ODBC图标,弹出“ODBC数据源管理器”对话框。

在这里用户可以设置ODBC数据源的一些信息,其中的“用户DSN”选项卡是用户定义的在本地计算机上使用的数据源名(DSN),

(2) 为新的数据源选择数据库驱动程序。

由于使用的是Access数据库,所以选择Driver

doMicrosoftAccess(*.mdb)选项,并单击“完成”按钮。

(3)“ODBC Microsoft Access安装”对话框中,为该数据源起一

个简短的名称。

本例为TeacherDB,可以在下一个编辑框中输入对该数据库的说明。

(4) 指定数据库的位置。

单击“选择”按钮,然后指定所创建的Access数据库。

(5) 单击“确定”按钮,刚才创建的用户数据源被添加在“用户DSN”选项卡的“用

户数据源”列表框中。

3. 创建MFCAppWizard应用程序

用MFCAppWizard(exe)创建一个对话框应用程序TeacherMIS。

为了使程序能支持数据库对象,在头文件stdafx.h中加入#include

4. 用ClassWizard为数据库中的每一个表映射一个记录集类

首先为表Users映射记录集类CUserSet。

打开项目工作区的ClassView选项卡,

选择项目名称,右击,弹出快捷菜单,选择NewClass命令弹出的NewClass对话框,输入记录集类名称CUserSet,并为其选择基类CRecordset,单击OK按钮,弹出的DatabaseOptions对话框,为记录集类选择ODBC数据源TeacherDB,单击OK按钮,弹出SelectDatabaseTables对话框,为记录集类选择数据库表Users,单击OK按钮,即完成记录集类CUserSet的定义。

5、根据类属性之间的关系添加如下类:

6、C++中实现对数据库的管理(及增加、删除、修改、查找、退出

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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