数据库课程设计指导书.docx

上传人:b****2 文档编号:1743183 上传时间:2023-05-01 格式:DOCX 页数:75 大小:498.63KB
下载 相关 举报
数据库课程设计指导书.docx_第1页
第1页 / 共75页
数据库课程设计指导书.docx_第2页
第2页 / 共75页
数据库课程设计指导书.docx_第3页
第3页 / 共75页
数据库课程设计指导书.docx_第4页
第4页 / 共75页
数据库课程设计指导书.docx_第5页
第5页 / 共75页
数据库课程设计指导书.docx_第6页
第6页 / 共75页
数据库课程设计指导书.docx_第7页
第7页 / 共75页
数据库课程设计指导书.docx_第8页
第8页 / 共75页
数据库课程设计指导书.docx_第9页
第9页 / 共75页
数据库课程设计指导书.docx_第10页
第10页 / 共75页
数据库课程设计指导书.docx_第11页
第11页 / 共75页
数据库课程设计指导书.docx_第12页
第12页 / 共75页
数据库课程设计指导书.docx_第13页
第13页 / 共75页
数据库课程设计指导书.docx_第14页
第14页 / 共75页
数据库课程设计指导书.docx_第15页
第15页 / 共75页
数据库课程设计指导书.docx_第16页
第16页 / 共75页
数据库课程设计指导书.docx_第17页
第17页 / 共75页
数据库课程设计指导书.docx_第18页
第18页 / 共75页
数据库课程设计指导书.docx_第19页
第19页 / 共75页
数据库课程设计指导书.docx_第20页
第20页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计指导书.docx

《数据库课程设计指导书.docx》由会员分享,可在线阅读,更多相关《数据库课程设计指导书.docx(75页珍藏版)》请在冰点文库上搜索。

数据库课程设计指导书.docx

数据库课程设计指导书

 

数据库课程设计指导书

赵伟孙静波

 

长春工业大学计算机科学与工程学院

2006-6-1

 

数据库课程设计指导书

一、课程设计目的

数据库基础与应用课程设计是计算机专业集中实践性环节之一,是学习完《数据库系统概论》课程后进行的一次全面的综合练习。

其目的在于加深对数据库基础理论和基本知识的理解,掌握使用VB进行数据库开发的全过程,提高运用数据库解决实际问题的能力。

二、课程设计内容及要求

用VB或其它数据库管理系统制作一个小型管理系统。

所设计的小型管理系统应包含查询、插入、删除、修改、报表、统计、用户权限管理等基本功能,界面采用菜单的形式。

根据课程设计2周时间的安排选择适当大小的设计课题。

根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。

三、课程设计时间

课程设计时间第16周,在学习完《数据库系统概论》课程后进行。

四、课程设计说明书的编写规范

写出不少于3000字的课程设计说明书。

说明书中除了在封面应有题目、班级、姓名、学号以外,其正文一般有如下几个方面的内容:

1.需求分析2.概要设计3.详细设计4.调试分析5.用户使用说明6.测试结果7.附录或参考资料

五、提交内容:

1.在设计结束时要提交程序和设计说明书。

2.内容包括:

E-R图、精确化过程、程序代码。

3.设计说明书除包括以上三次阶段报告的基本内容,还要包括程序流程图和需求分析。

4.作业以书面的形式提交。

六、课程设计的考查

由指导教师根据学生完成任务的情况、课程设计说明书的质量和课程设计过程中的学习态度等综合打分。

成绩评定实行优秀、良好、中等、及格和不及格五个等级。

七、分组:

1.题目选择:

对你较熟悉的应用问题进行选择,任选其一。

2.题目编号相同的为一组,可以互相讨论研发。

八、指导教师

指导教师应认真组织,指导学生在规定的时间内完成课程设计的全过程。

指导教师:

赵伟孙静波

备注:

数据库管理系统的样式可以由学生自行定义,可以有自己的创意。

题目一:

人事管理系统

1、系统功能的基本要求:

Ø员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。

Ø员工各种信息的修改;

Ø对于转出、辞职、辞退、退休员工信息的删除;

Ø按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自的员工信息;

Ø对查询、统计的结果打印输出。

2、数据库要求:

在数据库中至少应该包含下列数据表:

Ø员工基本信息表;

Ø员工婚姻情况表,反映员工的配偶信息;

Ø员工学历信息表,反映员工的学历、专业、毕业时间、学校、外语情况等;

Ø企业工作岗位表;

Ø企业部门信息表。

3、本课题设计的基本要求:

(1)必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供);

(2)程序设计的报告:

包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)

(3)系统的源程序,包括数据库脚本程序。

题目二:

工资管理系统

1、系统功能的基本要求:

Ø员工每个工种基本工资的设定

Ø加班津贴管理,根据加班时间和类型给予不同的加班津贴;

Ø按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资;

Ø员工年终奖金的生成,员工的年终奖金计算公式=(员工本年度的工资总和+津贴的总和)/12;

Ø企业工资报表。

能够查询单个员工的工资情况、每个部门的工资情况、按月的工资统计,并能够打印;

2、数据库要求:

在数据库中至少应该包含下列数据表:

Ø员工考勤情况表;

Ø员工工种情况表,反映员工的工种、等级,基本工资等信息;

Ø员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等;

Ø员工基本信息表

Ø员工月工资表。

3、本课题设计的基本要求:

(1)必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供);

(2)程序设计的报告:

包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)

(3)系统的源程序,包括数据库脚本程序。

题目三:

机票预定系统

1、系统功能的基本要求:

Ø每个航班信息的输入。

Ø每个航班的坐位信息的输入;

Ø当旅客进行机票预定时,输入旅客基本信息,系统为旅客安排航班,打印取票通知和帐单;

Ø旅客在飞机起飞前一天凭取票通知交款取票;

Ø旅客能够退订机票;

Ø能够查询每个航班的预定情况、计算航班的满座率。

2、数据库要求:

在数据库中至少应该包含下列数据表:

Ø航班信息表;

Ø航班坐位情况表;

Ø旅客订票信息表;

Ø取票通知表;

Ø帐单。

本课题设计的基本要求:

(1)必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供);

(2)程序设计的报告:

包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)

(3)系统的源程序,包括数据库脚本程序。

题目四:

仓库管理系统

1、系统功能的基本要求:

Ø产品入库管理,可以填写入库单,确认产品入库;

Ø产品出库管理,可以填写出库单,确认出库;

Ø借出管理,凭借条借出,然后能够还库;

Ø初始库存设置,设置库存的初始值,库存的上下警戒限;

Ø可以进行盘库,反映每月、年的库存情况;

Ø可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进行查询;

2、数据库要求:

在数据库中至少应该包含下列数据表:

Ø库存情况表;

Ø出库单表;

Ø入库单表;

Ø出库台帐;

Ø入库台帐;

Ø借条信息表,反映,借出人,借出时间,借出产品,借出数量,还库时间等。

3、本课题设计的基本要求:

(4)必须提交系统分析报告,包括系统的功能分析、系统的功能模块设计、数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义(可以用SQL脚本提供);

(5)程序设计的报告:

包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)

(6)系统的源程序,包括数据库脚本程序。

(7)

题目五:

图书借阅管理

背景资料:

1)图书室有各种图书一万多册。

2)每种图书都有书名、书号(ISBN)、一名或多名作者(译者)、出版社、定价和内容简介。

3)借书证记录有借阅者的姓名、所在单位、职业等。

4)凭借书证借书,每次最多能借8本书。

借书期限最长为30天。

设计要求:

1)进行需求分析,编写数据字典。

2)设计E-R图。

3)实现新进图书的数据录入。

4)实现对所有购进图书的分类查询和分类统计。

5)能够按书名、作者等分类查询现有图书的数量。

6)记录借阅者的个人资料和所借图书的书名、书号数据等。

题目六:

员工薪资管理

背景资料:

5)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。

6)该单位下设4个科室,即经理室、财务科、技术科和销售科。

7)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。

8)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。

9)每月个人的最高工资不超过3000元。

工资按月发放,实际发放的工资金额为工资减去扣除。

设计要求:

1)进行需求分析,编写数据字典。

2)设计E-R图。

3)实现按照科室录入个人的基本资料、工资和扣除金额的数据。

4)计算个人的实际发放工资。

5)按科室、职业分类统计人数和工资金额。

6)实现分类查询。

7)能够删除辞职人员的数据。

题目七:

库存物资管理

背景资料:

10)有一个存放商品的仓库,每天都有商品出库和入库。

11)每种商品都有名称、生产厂家、型号、规格等。

12)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。

设计要求:

1)进行需求分析,编写数据字典。

2)设计E-R图。

3)设计出入库单据的录入。

4)实现按商品名称、出入库日期的查询。

5)实现分别按日、月和年对出入库商品数量的统计。

计算机科学与工程学院软件教研室2005-12-10

数据库系统设计实例

学生信息管理系统

系统设计

1系统功能分析

系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。

学生管理系统需要完成的功能主要有:

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

●学生信息的查询,包括输入学生基本信息、所在班级、已学课程和成绩等。

●学生信息的修改。

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

●班级管理信息的查询。

●班级管理信息的修改。

●学校基本课程信息的输入。

●基本课程信息的修改。

●学生课程的设置和修改。

●学生成绩信息的输入。

●学生成绩信息的修改。

●学生成绩信息的查询。

●学生成绩信息的统计。

2系统功能模块设计

对上述各功能进行集中、分块、按照结构化程序设计的要求,得到如图1-1所示的系统功能模块图。

图1-1系统功能模块图

数据库设计

1数据库需求分析

●学生基本信息:

包括的数据项有:

学生学号、学生姓名、性别、出生日期、班号、联系电话、入校日期、家庭地址、备注等。

●班级信息:

包括的数据项有:

班号、所在年级、班主任姓名、所在教室等。

●课程基本信息:

包括的数据项有:

课程号、课程名称、课程类别、课程描述等。

●课程设置信息:

包括的数据项有:

年级信息、所学课程等。

●学生成绩信息:

包括的数据项有:

考试编号、所在班号、学生学号、学生

姓名、所学课程、考试分数等。

图1-2学生管理系统数据流程图

2数据库概念结构设计

本系统的实体有:

学生实体、班级实体、年级实体、课程实体。

各个实体具体的描述E-R图如图1-3到图1-7所示。

图1-3学生实体E—R图

图1-4班级实体E—R图

图1-5课程实体E—R图

图1-6年级实体E—R图

图1-7实体之间关系E—R图

3数据库逻辑结构设计

现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

学生管理系统数据库中各个表格的设计结果如下面的几个表所示。

每个表表示在数据库中的一个数据表。

表1-1student-info学生基本信息表

表1-2class-info班级基本信息表

表1-3course-info课程基本信息表

表1-4gradecourse-info年级课程设置表格

表1-5result-info学生成绩基本信息表

表1-6user-info系统用户表

4数据库结构的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。

现在就可以在SQLServr2000数据库系统中实现该逻辑结构。

这是利用SQLServer2000数据库系统中SQL查询分析器实现的。

下面给出创建这些表格的SQL语句。

(1)创建系统用户表格user_info

CREATETABLE[dbo].[user_Info](

[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,

[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(2)创建学生基本信息表格student_info

CREATETABLE[dbo].[student_Info](

[student_ID][int]NOTNULL,

[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[student_Sex][char]

(2)COLLATEChinese_PRC_CI_ASNULL,

[born_Date][datetime]NULL,

[class_NO][int]NULL,

[tele_Number][char](10)COLLATEChinese_PRC_CI_ASNULL,

[ru_Date][datetime]NULL,

[address][varchar](50)COLLATEChinese_PRC_CI_ASNULL,

[comment][varchar](200)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(3)创建班级信息表格class-info

CREATETABLE[dbo].[class_Info](

[class_No][int]NOTNULL,

[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,

[director][char](10)COLLATEChinese_PRC_CI_ASNULL,

[classroom_No][char](10)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(4)创建课程基本信息表格course-info

CREATETABLE[dbo].[course_Info](

[course_No][int]NOTNULL,

[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[course_Type][char](10)COLLATEChinese_PRC_CI_ASNULL,

[course_Des][char](50)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(5)创建年级课程设置信息表gradecourse-info

CREATETABLE[dbo].[gradecourse_Info](

[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,

[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(6)创建学生成绩信息表result-info

CREATETABLE[dbo].[result_Info](

[exam_No][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[student_ID][int]NOTNULL,

[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[class_No][int]NULL,

[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[result][float]NULL

)ON[PRIMARY]

GO

学生管理系统主窗体的创建

上面的SQL语句在SQLServer2000中查询分析器执行后,将自动产生需要的所有表。

有关数据库结构的所有后台工作已经完成。

现在将通过学生管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。

1.创建工程项目——Student-MIS

为了用VisualBasic创建应用程序,应当使用工程。

一个工程是用来建造应用程序的文件的集合,它包括:

●跟踪所有部件的工程文件(.vbp)。

●每个窗体的文件(.frm)。

●每个窗体的二进制数据文件(.frx),它含有窗体上控件的属性数据。

对含有二进制属性的任何.frm文件都是不可编辑的,这些文件都是自动产生的。

●每个类模块的一个文件(.cls),该文件是可选项。

●每个标准模块的一个文件(.bas),该文件是可选项。

●一个或多个包含ActiveX控件的文件(.ocx),该文件是可选项。

●单个资源文件(.res),该文件是可选项。

启动VisualBasic后,单击File|NewProject菜单,如图所示的工程模块中选择StandardEXE,VisualBasic将自动产生一个Form窗体,属性都是缺省设置。

这里我们删除这个窗体,单击File|NewProject菜单,将这个工程项目命名为Student-MIS。

如图1-8:

创建Student-MIS项目

2.创建学生管理系统的主窗体

VisualBasic创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。

在SDI的程序中,每个窗体之间是独立的。

而MDI的程序中,有一个窗体是主窗体,可以包含其他窗体,它的类型是MDIForm。

本系统采用多文档界面,这样可以使程序更加美观,整齐有序。

单击工具栏的“ADDMDIForm”按钮,生成一个如图1-9所示的窗体,属性设置见表1-7,主菜单的设置方法将在后面介绍。

图1-9程序主窗体

表1-7主窗体及控件属性设置

3.创建主窗体的菜单

在如图1-9所示的主窗体中,单击鼠标右键,选择弹出式菜单中的“MenuEditor”命令,创建如图1-10所示的菜单结构。

图1-10主窗体中菜单结构

4.创建公用模块

在VisualBasic中可以用共用模块来存放整个工程项目公用的函数、全局变量等。

整个工程项目中的任何地方都可以调用公用模块中的函数、变量,这样可以极大地提高代码的效率。

在项目资源管理器中为项目添加一个Module,保存为Module.bas。

下面就可以开始添加需要的代码。

由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。

添加函数ExecuteSQL,代码如下:

PublicFunctionExecuteSQL(ByValSQL_

AsString,MsgStringAsString)_

AsADODB.Recordset

'传递参数SQL查询语句,MsgString传递查询信息

'自身以一个数据集对象的形式返回

DimcnnAsADODB.Connection

'定义连接

DimrstAsADODB.Recordset

'定义字符串

DimsTokens()AsString

'异常处理

OnErrorGoToExecuteSQL_Error

'用Split函数产生一个包含各个子串的数组

sTokens=Split(SQL)

'创建连接

Setcnn=NewADODB.Connection

cnn.OpenConnectString

'判断字符串中是否有指定内容

IfInStr("INSERT,DELETE,UPDATE",_

UCase$(sTokens(0)))Then

'执行查询语句

cnn.ExecuteSQL

'返回查询信息

MsgString=sTokens(0)&_

"querysuccessful"

Else

'创建数据集对象

Setrst=NewADODB.Recordset

'返回查询结果

rst.OpenTrim$(SQL),cnn,_

adOpenKeyset,_

adLockOptimistic

'rst.MoveLast'getRecordCount

SetExecuteSQL=rst

MsgString="查询到"&rst.RecordCount&_

EndIf

ExecuteSQL_Exit:

'清空数据集对象

Setrst=Nothing

'中断连接

Setcnn=Nothing

ExitFunction

'错误类型判断

ExecuteSQL_Error:

MsgString="查询错误:

"&_

Err.Description

ResumeExecuteSQL_Exit

EndFunction

ExecuteSQL函数有两了参数:

SQL和MsgString。

其中SQL用来存放需要执行的SQL语句,MsgString用来返回执行的提示信息。

函数执行时,首先判断SQL语句中包含的内容。

当执行查询操作时,ExecuteSQL函数将返回一个与函数同名的记录名对象(Recordset),所有满足条件的记录包含在对象中。

当执行如删除、更新、添加等操作时,不返回记录集对象。

在ExecuteSQL函数中使用ConnectString函数,这个函数用来连接数据库,代码如下:

PublicFunctionConnectString()_

AsString

'返回一个数据库连接

ConnectString="FileDSN=studentinfo.dsn;UID=sa;PWD="

EndFunction

由于在后面的程序中,需要频繁检查各种文本框的内容是否为空,这里定义了Testtxt函数,代码如下:

PublicFunctionTesttxt(txtAsString)AsBoolean

IfTrim(txt)=""Then

Testtxt=False

Else

Testtxt=True

EndIf

EndFunction

由于学生管理系统启动后,需要对用户进行判断。

如果登录者是授权用户,将进入系统,否则将停止程序的执行。

这个判断需要在系统运行的最初进行,因此将代码放在公用模块中,代码如下:

PublicfMainFormAsfrmMain

PublicUserNameAsString

SubMain()

DimfLoginAsNewfrmLogin

'显示登陆窗体

fLogin.ShowvbModal

'判断是否授权用户

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

当前位置:首页 > 总结汇报 > 学习总结

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

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