数据库课程设计报告04.docx

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

数据库课程设计报告04.docx

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

数据库课程设计报告04.docx

数据库课程设计报告04

 

数据库系统原理及其应用教程

课程设计报告

题目名称:

图书出版管理系统

 

 

任课教师:

王青龙曹伟

姓名:

央宗

学号:

2402070204

 

2009年12月29日

目录

一、需求分析4

二、系统功能分析4

三、E-R图5

四、数据库设计8

五、详细设计11

六、运行效果15

七、总结与体会19

八、参考文献20

一、需求分析

根据出版社图书的规模日益扩增,图书类别的日益繁琐,经销商与出版社频繁交易,行业竞争日益激烈,面对诸多问题时:

一款优秀的出版社图书管理软件是每一个从事出版社图书销售与管理的必备的工具。

出版社图书出版管理是一个庞大的任务,传统方式的图书管理将会造成巨大的人力和物力的浪费,本系统的设计可以使工作人员实现计算机管理。

减轻工作量,实现图书出版管理的高效化。

功能需求:

系统管理员可以通过该应用程序对书籍全部信息进行管理

客户和系统管理员可以通过应用程序查询图书的全部信息

客户可以通过应用程序产生购书订单

系统管理员可以通过应用程序对订单信息进行管理

系统管理员可以通过应用程序对客户进行管理

内部功能需要通过SQL语言,对数据库的查询,修改,插入和删除等操作。

二、系统功能分析

 

根据需求分析,给出模块图

系统主控界面

图书基本信息查询

图书高级信息查询

出版图书信息

出版图书分类模块

图书编号、名称、作者等信息。

增加记录、删除记录、刷新纪录。

出版图书的销售模块

 

模块说明

功能

1

增加记录

用于将新的图书信息添加到图书基本信息表中

2

删除记录

用于删除图书基本信息表中的图书信息

3

刷新纪录

增加记录和删除记录完成后点次按钮更新

4

第一条

用于显示图书基本信息表中的第一条信息

5

下一条

用于显示当前信息的下一条信息

6

前一条

用于显示当前信息的前一条信息

7

最后一条

用于显示图书基本信息表中的最后一条信息

8

图书销售

用于显示出版图书的出售价格、数量等信息

9

图书分类

用于显示出版图书的类别编号

三、E-R图

(1)用户ER图:

(2)图书ER图:

(3)产品分类ER图:

 

(4)订单基本信息ER图:

(5)订单详细信息ER图:

 

综合ER图

出版社图书管理ER图

四、数据库设计

用户表(用户ID号,登录名,地址,密码,电话,电子邮件,注册时间),主码为ID号,符合三范式。

图书表(图书ID,书名,图书类别,作者,出版社,价格,销售价格,内容和目录,图书简介,入库时间),主码为图书ID,符合三范式。

图书分类信息表(图书分类ID,图书分类名称)主码为图书分类ID,符合三范式。

订单基本信息表(订单ID,提交时间,总金额,用户ID,订单备注,是否发货,是否付款)主码为订单ID,符合三范式。

订单详细信息表(唯一编号,订单ID,图书ID,数量)主码为唯一编号,符合三范式

 

表4-1用户表(User)

列名

含义

长度

类型

NULL

DEFAULT

UserID

用户ID号

10

Char()

no

no

Loginname

登录名

20

Char()

no

no

Address

地址

150

Char()

yes

no

Password

密码

16

Char()

no

no

Phone

电话

16

Char()

yes

no

Email

电子邮件

50

Char()

yes

no

Regtime

注册时间

8

Date()

no

no

表4-2图书表(Book)

列名

含义

长度

类型

NULL

DEFAULT

BookID

图书ID

10

Char()

no

no

Bookname

书名

100

Char()

no

no

Bookcategory

图书类别

10

Char()

no

no

Author

作者

50

Char()

no

no

Publish

出版社

50

Char()

no

no

Price

价格

50

Char()

no

no

Saleprice

销售价格

50

Char()

no

no

Content

内容和目录

200

Char()

no

no

Descript

图书简介

200

Char()

no

no

Regate

入库时间

8

Date()

no

no

 

表4-3图书分类信息表(BookCategory)

列名

含义

长度

类型

NULL

DEFAULT

CategoryID

图书分类ID

10

Char()

no

no

Categoryname

图书分类名称

50

Char()

no

no

表4-4订单详细信息表(OrderInfo)

列名

含义

长度

类型

NULL

DEFAULT

OnlyID

唯一编号

10

Char()

no

no

OrderID

订单ID

32

Char()

no

no

BookID

图书ID

10

Char()

no

no

Amount

数量

10

Char()

no

no

表4-5订单基本信息表(Order)

列名

含义

长度

类型

NULL

DEFAULT

OrderID

订单ID

32

Char()

no

no

Submittime

提交时间

8

Data()

no

no

Totalprice

总金额

50

Float()

no

no

UserID

用户ID

10

Char()

no

no

Ordercontent

订单备注

200

Char()

no

no

Isdiliver

是否发货

10

Char()

no

no

Ispay

是否付款

10

Char()

no

no

五、详细设计

部分设计代码如下:

//图书出版管理系统View.cpp:

implementationoftheCMyViewclass

#include"stdafx.h"

#include"图书出版管理系统.h"

//开始声明

#include"MyDlg1.h"

#include"MyDlg2.h"

//结束声明

#include"图书出版管理系统Set.h"

#include"图书出版管理系统Doc.h"

#include"图书出版管理系统View.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

CMyView:

:

CMyView()

:

CRecordView(CMyView:

:

IDD)

{

//{{AFX_DATA_INIT(CMyView)

m_pSet=NULL;

//}}AFX_DATA_INIT

//TODO:

addconstructioncodehere

}

CMyView:

:

~CMyView()

{

}

//CMyViewmessagehandlers

//增加记录按钮代码

voidCMyView:

:

OnButtonaddnew()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->AddNew();

UpdateData(FALSE);

}

//删除记录按钮代码

voidCMyView:

:

OnButtondeldte()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->Delete();

m_pSet->MoveNext();

if(m_pSet->IsEOF())

m_pSet->MoveLast();

if(m_pSet->IsBOF())

m_pSet->SetFieldNull(NULL);

UpdateData(FALSE);

}

//刷新按钮代码

voidCMyView:

:

OnButtonupdate()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData();

m_pSet->Update();

m_pSet->Requery();

//m_pSet->CancelUpdate();

}

//第一条按钮代码

voidCMyView:

:

OnButtonfirst()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveFirst();

if(m_pSet->IsBOF())

{

MessageBox("记录已经在第一条");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

//下一条按钮代码

voidCMyView:

:

OnButtonnext()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveNext();

if(m_pSet->IsEOF())

{

MessageBox("记录已经在最后一条");

m_pSet->MovePrev();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

//前一条按钮代码

voidCMyView:

:

OnButtonprev()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MovePrev();

if(m_pSet->IsBOF())

{

MessageBox("记录已经在第一条");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

//最后一条按钮代码

voidCMyView:

:

OnButtonlast()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveLast();

if(m_pSet->IsEOF())

{

MessageBox("记录已经在最后一条");

m_pSet->MovePrev();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

//显示图书销售对话框代码

voidCMyView:

:

OnRadio1()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CMyDlg1MyDlg1;

MyDlg1.DoModal();

}

//显示图书分类对话框代码

voidCMyView:

:

OnRadio2()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CMyDlg2MyDlg2;

MyDlg2.DoModal();

}

代码说明:

1、MainFrm.cpp//主框架实现文件,该文件说明程序主框架中的类、头文件声明和对主框架的实现记录。

2、MyDlg1.cpp//该文件为图书销售对话框文件。

3、MyDlg2.cpp//该文件为图书分类对话框文件。

4、stdafx.cpp//该文件主要包括标准的文件,如预定义头文件等。

3、图书出版管理系统.cpp//该文件主要用于为工程定义类的行为。

5、图书出版管理系统Doc.cpp//该文件主要用于记录类的文件。

6、图书出版管理系统Set.cpp//该文件主要用于说明关于类的设置,它将说明数据环境、数据连接等的设置过程。

7、图书出版管理系统View.cpp//该文件可以对类进行查看并查看它的实现过程,它包括前面的工程中全部的文件的执行过程。

8、图书出版管理系统2000.mdb//图书出版管理系统数据库。

六、运行结果

本系统的运行环境为VisualC++6.0,程序的执行后主界面如下图所示:

(1)

当点击下一条按钮后,显示图书出版系统数据库中的出版图书基本信息表中的第二条图书信息,如下图所示:

(2)

当点击“前一条”按钮时,显示出版图书基本信息表中前一条图书信息。

当点击“增加记录”按钮时,可以在出现的主界面中往数据库中的出版图书基本信息表中添加新的信息。

点击刷新按钮后出版图书基本信息表中就会有刚才添加的内容。

点击“删除按钮”后,删除当前主界面显示的内容,点击刷新按钮出版图书基本信息表中本条信息被删除。

当点击右组框里的“图书销售”按钮后,显示图书的销售情况。

图书销售对话框如下图所示:

图(3)

可以点击图书销售浏览查询控件的左右箭头按钮进行查询,如点击右箭头图书销售信息栏中的箭头指向下一条信息。

图(4)

当点击“确定”按钮后退出图书销售对话框。

当点击右组框里的“图书分类”按钮后,显示图书的分类情况。

图书分类对话框如下图所示:

图(5)

具体操作与图书销售对话框相同。

 

七、总结与体会

本次课程设计使我真正的学到了不少知识,由于之前对MFC的知识积累不够,尤其是在数据库与VC++连接上存在很大漏洞,使得本次课程设计遇到了许多困难。

但正是伴随着这些困难得一个个的被解决,我学到了许多知识,每次解决一个问题都会收获不少的知识,第一次感受到数据库与编程语言的结合实在是太完美了,使我更加明确了以后的努力方向。

本次课程设计让我有机会能把之前学的数据库知识系统的串联起来。

尤其是对数据库的建立与操作都上了一个台阶,包括怎么建立更简洁,没有冗余又很完备的数据库系统,怎样对数据库结构模型的设计,主键的定义,更重要的是前期对概念模型,也就是E-R图的规划,深刻的体会到前期工作的重要性,只有正确详尽的对系统进行分析以后,才能更高效率的完成系统的开发。

最后,要特别感谢我的辅导老师曹伟老师,是在曹老师的热情关怀和悉心指导下,该课程设计才得以顺利完成。

 

八、参考文献

1、揣锦华著《C++面向对象程序设计》西安电子科技大学大学出版社。

2、甘玲主编《面向对象技术与VisualC++》清华大学出版社。

3、(美)AIWilliams著《MFC技术内幕》机械工业出版社。

4、李云、贾云霞主编《VisualC++项目开发实践》中国铁道出版社。

5、钱能主编《C++程序设计语言》清华大学出版社

6、《数据库系统概论》作者:

王珊萨师煊出版社:

高等教育出版社

7、《SQLServer2005中文版关系数据库基础与实践教程》作者:

周峰

出版社:

电子工业出版社。

8、《SQLServer数据库开发实例精粹》作者:

徐国智汪孝宜等出版社:

电子工业出版社。

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

当前位置:首页 > 人文社科 > 广告传媒

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

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