数据库课程设计报告范例.docx

上传人:b****6 文档编号:6466443 上传时间:2023-01-06 格式:DOCX 页数:26 大小:789.17KB
下载 相关 举报
数据库课程设计报告范例.docx_第1页
第1页 / 共26页
数据库课程设计报告范例.docx_第2页
第2页 / 共26页
数据库课程设计报告范例.docx_第3页
第3页 / 共26页
数据库课程设计报告范例.docx_第4页
第4页 / 共26页
数据库课程设计报告范例.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数据库课程设计报告范例.docx

《数据库课程设计报告范例.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告范例.docx(26页珍藏版)》请在冰豆网上搜索。

数据库课程设计报告范例.docx

数据库课程设计报告范例

(此文档为word格式,下载后您可任意编辑修改!

江苏城市职业学院信息工程系联办本科

数据库系统原理课程设计报告

 

设计题目:

班级:

学号:

姓名:

指导教师:

完成日期:

成绩:

摘要

本系统为学生学籍管理系统,是一个信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面。

经过分析,我使用了MICROSOFT公司的VISUALBASIC6.0开发工具,利用其提供的各种面向对象的开发工具,开发了登录模块主要用于验证用户身份,进行有效的操作。

在我们所开发的学生学籍管理系统中创建了两个用户——教师管理员和学生,通过身份验证后方可进入。

本系统还包含查询、插入、修改、删除等基本操作,在整个系统设计中充分利用了模块化的设计思想和开发方法,用户在从主界面模块在验证后进入每个子模块进行各个子系统的具体功能操作。

在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。

在下面的各章中我将以开发学生学籍管理系统,谈谈其具体开发过程和所涉及到的问题及解决方法。

目录

数据库系统原理课程设计报告1

摘要2

目录3

第一章系统概述1

第二章系统数据库设计部分2

2.1需求分析2

2.1.1需求描述2

2.1.2数据流图2

2.1.3数据词典2

2.2数据库概念结构设计3

2.2.1E-R图3

2.2.2实体及属性的定义3

2.3数据库逻辑结构设计3

2.3.1初始关系模式3

2.3.2规范化处理4

2.4数据库物理结构设计4

2.5数据库实施5

2.5.1数据库各表结构5

2.5.2关系图6

2.6数据库操作部分7

2.6.1数据库的插入操作7

2.6.2数据库的修改操作7

2.6.3数据库的删除记录操作8

第三章系统设计9

3.1数据录入、修改、删除界面设计10

3.2数据查询与打印输出设计11

3.3系统的维护、安全设计12

第四章总结14

主要参考文献15

附录一16

附录二20

第一章系统概述

《数据库原理及应用》课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。

本实验主要在于巩固学生对数据库的基本原理和基础理论的理解,掌握数据库应用系统的设计开发的基本方法,进一步提高学生的综合运用所学的知识能力。

为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。

我们按照以上几点开发了学生学籍管理系统数据库。

学生学籍管理系统要求读者较好的正我数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。

这里是利用相对简单易学易掌握的VisualBasic6.0开发工具来实现示例系统的。

这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。

在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。

初步列出如下:

韩信元是用VB制作前台的界面;惠城旗和赵晓霞担任的工作是对系统的需求分析、构思数据流图、把E-R图转化成关系模型并对其进行规范化处理、用SQL语言建表、视图以及文档的初步编写等。

刘方山和张熙磊的工作是负责画数据流图和E-R图,以及转化初始关系模型,和内容摘要等的编写。

徐冰是我们组的组长,除对我们所制作单个模块审核外还担任了WORD文档的总结排版。

这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。

第二章系统数据库设计部分

2.1需求分析

2.1.1需求描述

随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。

学生学籍管理系统要求实用性强、使用方便、效率高和安全可靠等特点。

经分析我们认为学生学籍管理系统的具体要求为:

1..能全面管理学校教学相关的各类主体,如院系信息、教师信息、班级信息、学生信息、课程信息、专业信息等

2通过使用计算机能方便的维护(包括插入、删除、修改)各信息表

3.能方便的实现基于多个表的连接查询

4.系统具有操作方便、简捷等特点

因而,我们所开发的管理系统正是围绕以上几个方面进行的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求。

本文主要论述学生学籍管理系统的开发过程。

2.1.2数据流图

图2.1数据流图

(1)

图2.2数据流图

(2)

2.1.3数据词典

表2.1数据词典

数据元素

数据类型

长度

数据来源

系编号

varchar

50

院系表

系名

varchar

50

院系表

主任工号

varchar

50

院系表

电话

varchar

50

院系表

专业号

varchar

50

专业表

专业名

varchar

50

专业表

班号

varchar

50

班级表

班名

varchar

50

班级表

人数

varchar

50

班级表

教师号

varchar

50

教师表

姓名

varchar

50

教师表

性别

varchar

50

教师表

学号

varchar

50

学生表

姓名

varchar

50

学生表

性别

varchar

50

学生表

出生年月

smalldatetime

8

学生表

籍贯

varchar

50

学生表

名族

varchar

50

学生表

政治面貌

varchar

50

学生表

院系

varchar

50

学生表

专业班级

varchar

50

学生表

照片

image

16

学生表

电话

varchar

50

学生表

课号

varchar

50

课程表

课名

varchar

50

课程表

学分

float

8

课程表

类别

varchar

50

课程表

开课院系

varchar

50

课程表

任课老师

varchar

50

课程表

学时

varchar

50

课程表

成绩

varchar

50

选课表

效果

varchar

50

讲授表

2.2数据库概念结构设计

2.2.1E-R图

图2.3系统实体及联系图

图2.4系统部分实体及其属性

图2.5系统主要联系及其属性

2.2.2实体及属性的定义

在此系统中实体有:

院系、专业、班级、教师、学生、课程

多对多联系有:

选课、讲授

……

2.3数据库逻辑结构设计

2.3.1初始关系模式

将E-R图转换成关系数据模式,其中,每个实体转换成一个关系模式,多对多联系转换成独立的关系模式,一对多联系并入多端实体,得到以下初始关系模式:

院系(系编号,系名,主任工号,电话)

专业(专业号,专业名,系编号)

班级(班号,班名,人数,专业号,教师号)

教师(教师号,姓名,性别,系编号)

学生(学号,姓名,性别,出生年月,籍贯,民族,政治面貌,院系,电话,班号)

课程(课号,课名,讲课学时,开课院系,任课老师,学分)

选课(学号,课号,成绩)

讲授(教师号,课号,效果)

2.3.2规范化处理

经过对初始关系模式的规范化处理,以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。

(=代表主码,≈代表外码)

院系(系编号,系名,主任工号,电话)

专业(专业号,专业名,系编号)

班级(班号,班名,人数,专业号,教师号)

教师(教师号,姓名,性别,系编号)

学生(学号,姓名,性别,出生年月,籍贯,民族,政治面貌,院系,电话,班号)

课程(课号,课名,讲课学时,开课院系,任课老师,学分)

选课(学号,课号,成绩)

讲授(教师号,课号,效果)

2.4数据库物理结构设计

为了加快数据查询处理速度,为各个关系模式创建如下索引:

院系:

专业:

班级:

教师:

学生:

课程:

选课:

讲授:

2.5数据库实施

2.5.1数据库各表结构

表2.2院系表

属性名

数据类型

长度

是否允许为空

有无索引

系编号

varchar

50

不允许

系名

varchar

50

允许

主任工号

varchar

50

允许

电话

varchar

50

允许

表2.3专业表

属性名

数据类型

长度

是否允许为空

有无索引

专业号

varchar

50

不允许

专业名

varchar

50

允许

系编号

varchar

50

不允许

表2.4班级表

属性名

数据类型

长度

是否允许为空

有无索引

班号

varchar

50

不允许

班名

varchar

50

允许

人数

varchar

50

允许

专业号

varchar

50

不允许

教师号

varchar

50

不允许

表2.5教师表

属性名

数据类型

长度

是否允许为空

有无索引

教师号

varchar

50

不允许

姓名

varchar

50

允许

性别

varchar

50

允许

系编号

varchar

50

不允许

表2.6学生表

属性名

数据类型

长度

是否允许为空

有无索引

学号

varchar

50

不允许

姓名

varchar

50

允许

性别

varchar

50

允许

出生年月

smalldatetime

8

允许

籍贯

varchar

50

允许

名族

varchar

50

允许

政治面貌

varchar

50

允许

院系

varchar

50

允许

专业班级

varchar

50

允许

照片

Image

16

允许

电话

varchar

50

允许

班号

varchar

50

不允许

表2.7课程表

属性名

数据类型

长度

是否允许为空

有无索引

课号

varchar

50

不允许

课名

varchar

50

允许

学时

varchar

50

允许

类别

varchar

50

允许

讲课学时

varchar

50

允许

开课院系

varchar

50

允许

任课老师

varchar

50

允许

学分

varchar

50

允许

表2.8选课表

属性名

数据类型

长度

是否允许为空

有无索引

学号

varchar

50

不允许

课号

varchar

50

不允许

成绩

Float

8

允许

表2.9讲授表

属性名

数据类型

长度

是否允许为空

有无索引

教师号

varchar

50

不允许

课号

varchar

50

不允许

效果

Float

8

允许

2.5.2关系图

通过设置各表的主键和外键,在各个关系间建立联系,得到以下关系图:

图2.6关系图

2.6数据库操作部分

2.6.1数据库的插入操作

INSERT

INTO<表名>[(<属性列1>[,<属性列2>…)]

VALUES(<常量1>[,<常量2>]);

例如:

在学生表中插入一个新同学的相关信息(注:

学号是主码,故不可以相同)

INSERT

INTO学生表(学号,姓名,性别,出生年月,籍贯,政治面貌,名族,院系,电话)

VALUES(‘34’,’丁一’,’女’,’1986年1月1号’,’北京’,’团员’,’汉族’,’信息工程系’,’’)

2.6.2数据库的修改操作

UPDATE<表名>

SET<列名>=<表达式>

[WHERE<条件>];

例如:

在学生表中修改学号为’’的院系为’人文科学系’。

UPDATE学生表

SET院系=人文科学系

WHERE学号=

2.6.3数据库的删除记录操作

DELETE

FROM<表名>

[WHERE<条件>];

例如:

删除学号为’’的相关信息

DELETE

FROM学生表

WHERE学号=

第三章系统设计

本章格式不规范

基于VISUALBASIC6.0开发工具

1:

主窗体类型为“展示屏幕”,命名为frmSplash如下图所示:

该窗体有两个作用,一为系统启动时的窗体,二为系统运行时的“关于...”窗体,而mbAbout即为标识

若mbAbout为true,则表示为系统启动时的窗体

若mbAbout为false,则表示为系统运行时的“关于...”窗体

2:

接下来鼠标单击进入用户权限登陆界面,其为“登陆对话框”的;;类型,命名为frmLogin。

窗体的界面如下图所示:

以上为老师的登陆界面,

教师身份如adminadmin见数据库的Admin表

以上为其中之一的学生的登陆界面

学生身份以学生名字为用户名,学号为其密码

如韩信元见数据库的Student表

3:

进入与SQLserver2000的连接界面。

其数据库名为“xin”

3.1数据录入、修改、删除界面设计

进入学生信息管理系统。

其为“frmStudent”的窗体,如下图:

该窗体的流程图如下图所示:

在该界面内,可以进行修改,编辑,添加等操作。

由于时间的限制,不足的地方是“以报表形式显示学生记录”没完成,暂时实现不了。

希望以后能够完成这个版块的功能。

3.2数据查询与打印输出设计

单击“自定义查询”按钮,将会出现自定义查询窗体frmFind。

窗体的设计界面如下图所示:

进入某个学生信息界面如下所示,其窗体为frmView。

在该窗体下,学生只许可查看自己的信息,而且不能进行修改

3.3系统的维护、安全设计

与SQLserver2000的具体连接如下图所示:

第四章总结

经过这些天的设计和开发,学生学籍管理系统基本开发完毕。

本系统基本能够完成学生学籍信息和学生的成绩的查询、插入、删除、修改等。

这次的课程设计是分组讨论和制作的。

在制作的过程中,我学到的不仅是知识,我还认识到许多事情。

这次设计对我们的综合能力是一次很好的锻炼,使我的编程水平提高了一大步,同时也使我充分的认识到合作的可贵。

在我们所制作的学生学籍管理系统中,涉及到数据库、VB等,前台是用VB制作的,其中包括主界面和一些按扭等,后台用到的是我们所学的数据库的知识,建立了基本表和角色等,权限在前台已经制作,故在后台不再重复。

最后按照老师的要求编写成文档,从中也对WORD的运用提高了一步。

但是该系统还有许多不尽如人意的地方,比如用户界面与SQL语言的连接上并不是很完善,这是因为我们对VB不是很了解。

还有就是由于我们对数据库知识的掌握有限和不牢固,角色和视图的创建没有想象中的完美,备份和还原也只是初步的形成,以致学生学籍管理系统只是达到了基本要求,有待进一步改善,希望老师给予批评。

主要参考文献

[1]数据库系统概论作者:

王珊萨师煊第四版高等教育出版社2006年

[2]VisualBasic6.0数据库系统开发实例导航作者:

刘韬、骆娟、何旭洪

[3]数据库原理及应用实验指导作者:

钱雪忠陶向东北京邮电大学出版社2005

附录一

1.用SQL语言分别建立院系表、专业表、教师表、班级表、学生、课程和选课表、讲授表。

代码如下:

院系表

CREATETable院系表

系编号varchar(50)notnullprimarykey(系编号),

系名varchar(50),

主任工号varchar(50),

电话varchar(50)

INSERTINTO院系表VALUES('05','信息工程系','1','07978');

专业表

CREATETable专业表

专业号varchar(50)notnullprimarykey(系编号),

专业名varchar(50),

系编号varchar(50),

foreignkey(系编号)references院系表(系编号)

教师表

CREATETable教师表

教师号varchar(50)notnullprimarykey(教师号),

姓名varchar(50),

性别varchar(50),

系编号varchar(50),

foreignkey(系编号)references院系表(系编号)

班级表

CREATETable班级表

班号varchar(50)notnullprimarykey(班号),

班名varchar(50),

人数varchar(50),

专业号varchar(50),

教师号varchar(50),

学生表

CREATETable学生表

学号varchar(50)notnullprimarykey(学号),

姓名varchar(50)notnull,

性别varchar(50),

出生年月varchar(50),

籍贯varchar(50),

民族varchar(50),

政治面貌varchar(50),

院系varchar(50),

专业班级varchar(50),

电话varchar(50)

INSERTINTO学生表VALUES('','赵晓霞','女','1985','河北省','汉族','预备党员','信息工程系','计算机051','0797—');

INSERTINTO学生表VALUES('','张熙磊','男','1985','河北省','蒙古族','团员','信息工程系','计算机051','');

INSERTINTO学生表VALUES('','惠城旗','男','1986','江苏省','汉族','团员','信息工程系','计算机051','');

INSERTINTO学生表VALUES('','刘方山','男','1986','江西省','汉族','团员','信息工程系','计算机051','0797');

INSERTINTO学生表VALUES('','徐冰','男','1987','江西省','汉族','团员','信息工程系','计算机051','0797');

INSERTINTO学生表VALUES('','韩信元','男','1987','海南省','汉族','团员','信息工程系','计算机051','0797');

INSERTINTO学生表VALUES('','张三','男','1987','海南省','汉族','团员','信息工程系','计算机051','0797');

课程表

CREATETable课程表

课号varchar(50)notnullprimarykey(课号),

课名varchar(50),

类别varchar(50),

学时varchar(50)notnull,

开课院系varchar(50),

任课老师varchar(50),

学分float(8)

INSERTINTO课程表VALUES('1','计算机导论','理工','72','信息工程系','曹老师','4');

INSERTINTO课程表VALUES('2','C语言','理工','72','信息工程系','徐老师','4.5');

INSERTINTO课程表VALUES('3','C++','理工','72','信息工程系','陈老师','4');

INSERTINTO课程表VALUES('4','数据结构','理工','72','信息工程系','吴老师','5');

INSERTINTO课程表VALUES('5','数据库','理工','72','信息工程系','曾老师','4.5');

INSERTINTO课程表VALUES('6','计算机网络','理工','72','信息工程系','陈老师','4');

INSERTINTO课程表VALUES('7','中国近代史','理工','72','人文科学系','黄老师','4');

选课表

CREATETable选课表

学号varchar(50)notnull,

课号varchar(50)notnull,

成绩float(8),

primarykey(学号,课号)

insertinto选课表values('','5','92');

insertinto选课表values('','1','80');

insertinto选课表values('','2','80');

insertinto选课表values('','7','85');

insertinto选课表values('','5','83');

insertinto选课表values('','6','90');

insertinto选课表values('','3','76');

讲授表

CREATETable讲授表

教师号varchar(50)notnull,

课号varchar(50)notnull,

效果varchar(50),

primarykey(教师号,课号))

2.建立索引的代码

createuniqueindex院系_系编号on院系表(系编号)

createuniqueindex专业_专业号on专业表(专业号)

createuniqueindex班级_班号on班级表(班号)

createuniqueindex教师_教师号on教师表(教师号)

createuniqueindex学生_学号on学生表(学号)

createuniqueindex课程_课号on课程表(课号)

附录二

用VB建立的界面代码

1:

窗体frmLogin的的代码如下:

OptionExplicit

'表示当前用户登录所选择的身份,即用户类型,0-表示教务管理人员;1-表示学生

DimmnUserTypeAsInteger

PrivateSubcmdCancel_Click()

UnloadMe

EndSub

Priva

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

当前位置:首页 > 表格模板 > 合同协议

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

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