数据库课程设计学生成绩管理范文.docx

上传人:b****6 文档编号:7474925 上传时间:2023-05-11 格式:DOCX 页数:11 大小:78.96KB
下载 相关 举报
数据库课程设计学生成绩管理范文.docx_第1页
第1页 / 共11页
数据库课程设计学生成绩管理范文.docx_第2页
第2页 / 共11页
数据库课程设计学生成绩管理范文.docx_第3页
第3页 / 共11页
数据库课程设计学生成绩管理范文.docx_第4页
第4页 / 共11页
数据库课程设计学生成绩管理范文.docx_第5页
第5页 / 共11页
数据库课程设计学生成绩管理范文.docx_第6页
第6页 / 共11页
数据库课程设计学生成绩管理范文.docx_第7页
第7页 / 共11页
数据库课程设计学生成绩管理范文.docx_第8页
第8页 / 共11页
数据库课程设计学生成绩管理范文.docx_第9页
第9页 / 共11页
数据库课程设计学生成绩管理范文.docx_第10页
第10页 / 共11页
数据库课程设计学生成绩管理范文.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计学生成绩管理范文.docx

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

数据库课程设计学生成绩管理范文.docx

数据库课程设计学生成绩管理范文

 

数据库课程设计学生成绩管理

 

哈尔滨**大学

软件学院

课程设计报告

课程

数据库课程设计

题目

学生成绩管理

班级

专业

姓名

学号

指导教师

日期

1.数据库的背景及功能需求

数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。

其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

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

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

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

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

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

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

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

1.1课题简介

随着数据处理的不断进步和计算机网络的迅速发展,使数据库应用系统不但在功能而且在结构上都有了深刻的变化,而且运用在生活的每一个方面。

经过学习关系代数,关系演算,函数依赖,关系模式分解,关系模式的规范化让我们建立了扎实的关系数据库理论基础。

而在掌握基本理论的基础上掌握关系数据库的设计方法,掌握现代信息系统的开发方法也显得尤为必要。

当前在关系数据库中用得最多的SQL数据库,开发数据库的语言工具多数用C++.。

因此对于计算机专业的学生来说掌握数据库应用的基本技术,熟悉编程语言与SQL数据库的结合运用是我们计算机专业学生之必备本事。

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

1.2设计目的

随着学生数量的日益增多,学校对学生的管理要求也越来越高,为了使信息技术与学生信息更好的结合在一起以及使学生成绩的管理更加系统化,数字化,因此我们设计了该学生信息管理系统。

1.3设计内容

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

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

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

1.4.需求分析

1、    问题的提出:

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

2、需完成的功能:

(1)    能录入、修改、查询、输出学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。

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

2.概念设计

(1)(E-R图)

(2)物理结构设计

Student

Column Name

 Date Type 

Width

空值情况

Sno 

nchar

20

主关键字

Sname  

nchar 

10

不为空

Sex 

 nchar   

2

不为空

Age

numeric

4

可为空

Address

nchar

20

可为空

Grade 

nchar

3

不为空

Class 

 nchar

3

不为空

Exam

Column Name

 Date Type

 Width

空值情况

Sno

nchar

20

主关键字

Cno

 nchar

20

不为空

Score

nchar

 3

可为空

Course

Column Name

 Date Type

 Width 

空值情况

Cno

 nchar

20

主关键字

Cname

nchar 

10

不为空

Tname

nchar 

  5

不为空

Bonus

Column Name

 Date Type

 Width

空值情况

Sno

nchar

20

主关键字

Sname

 nchar

20

不为空

Money

nchar

 10

可为空

Teacher

Column Name

 Date Type

 Width

空值情况

Tname

nchar

20

主关键字

Cname

 nchar

20

不为空

Sno

nchar

 10

可为空

(3)分析关系模式

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

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

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

对于关系模式Course(|Cno|Cname|Tnameer|)中,它只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时课程号是唯一的决定因素,因此课程属于BCNF。

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

3.SQL语句

3.1创立表

学生表

createtableStudent

Snonchar(20)primarykey,

Snamenchar(10)notnull

Sexnchar

(2)notnull

Agenumeric(4)

Addressnchar(20)

Classnchar(3)notnull

Gradenchar(3)notnull

考试表

createtableExam

Snonchar(20)primarykey//主键约束

Cnonchar(20)Notnull

Scorenchar(3)

foreignkey(Cno)referencesCourse//外键约束

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

课程表

createtableCourse

Cnonchar(20)primarykey

Cnamenchar(10)Notnull

Tnamenchar(5)Notnull

奖金表

createtableBonus

Snonchar(20)primarykey

Snamenchar(20)l

Moneynchar(10)

教师表

createtableTeacher

Tnamenchar(20)

Cnamenchar(20)

Snonchar(10)

3.2数据初始化

将学生类别加入表Student中

insertintoStudent

values('000’,’张明’,’M’,’’,’哈尔滨’,’软件一班’,’大一’)

insertintoStudent

values('001’,’李三’,’M’,’’,’长春’,’软件二班’,’大三’)

insertintoStudent

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

insertintoStudent

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

insertintoStudent

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

insertintoStudent

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

将考试类别加入Exam表中

insertintoExam

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

insertintoExam

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

insertintoExam

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

insertintoExam

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

insertintoExam

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

insertintoExam

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

将课程加入Course表中

insertintoCourse

values('A-123','高等数学','张老师')

insertintoCourse

values('B-123','数据库系统概念','李老师')

insertintoCourse

values('C-123','网络计算机','刘老师')

将奖金加入Bonus中

insertintoBonus

values('000’,’张明’,'400')

insertintoBonus

values('001’,’李三’,'0')

insertintoBonus

values('002’,’王强’,'800')

insertintoBonus

values('003’,’张雪’,'100')

insertintoBonus

values('004’,’李力’,'0')

insertintoBonus

values('005’,’张小’,'1500')

将教师信息加入Teacher中

insertintoTeacher

values('张老师','高等数学','000')

insertintoTeacher

values('张老师','高等数学','002')

insertintoTeacher

values('李老师','数据库系统概念','003')

insertintoTeacher

values('张老师','高等数学','005')

insertintoTeacher

values('李老师','网络计算机','001')

索引的使用

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进行数据库软件开发的方法,加深了对数据库课程知识的理解。

由于时间仓促,软件还有很多不足之处,如:

成绩查询部分不够完善,成绩输入模块不支持学生成绩批量输入,软件代码交冗余、效率不高等等,都是对SQL操作不熟练,对相关功能缺乏认识造成的。

在今后的学习中我会加强理论与实践的结合,经过不断的摸索来弥补自己在软件制作方面的差距

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2