数据库课程设计报告04Word下载.docx
《数据库课程设计报告04Word下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告04Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
系统管理员可以通过该应用程序对书籍全部信息进行管理
客户和系统管理员可以通过应用程序查询图书的全部信息
客户可以通过应用程序产生购书订单
系统管理员可以通过应用程序对订单信息进行管理
系统管理员可以通过应用程序对客户进行管理
内部功能需要通过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
Loginname
登录名
20
Address
地址
150
yes
Password
密码
16
Phone
电话
Email
电子邮件
50
Regtime
注册时间
Date()
表4-2图书表(Book)
BookID
图书ID
Bookname
书名
100
Bookcategory
图书类别
Author
作者
Publish
出版社
Price
价格
Saleprice
销售价格
Content
内容和目录
200
Descript
图书简介
Regate
入库时间
表4-3图书分类信息表(BookCategory)
CategoryID
图书分类ID
Categoryname
图书分类名称
表4-4订单详细信息表(OrderInfo)
OnlyID
唯一编号
OrderID
订单ID
32
Amount
数量
表4-5订单基本信息表(Order)
Submittime
提交时间
Data()
Totalprice
总金额
Float()
用户ID
Ordercontent
订单备注
Isdiliver
是否发货
Ispay
是否付款
五、详细设计
部分设计代码如下:
//图书出版管理系统View.cpp:
implementationoftheCMyViewclass
#include"
stdafx.h"
图书出版管理系统.h"
//开始声明
MyDlg1.h"
MyDlg2.h"
//结束声明
图书出版管理系统Set.h"
图书出版管理系统Doc.h"
图书出版管理系统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()
//CMyViewmessagehandlers
//增加记录按钮代码
voidCMyView:
OnButtonaddnew()
Addyourcontrolnotificationhandlercodehere
m_pSet->
AddNew();
UpdateData(FALSE);
//删除记录按钮代码
OnButtondeldte()
Delete();
MoveNext();
if(m_pSet->
IsEOF())
m_pSet->
MoveLast();
IsBOF())
SetFieldNull(NULL);
//刷新按钮代码
OnButtonupdate()
UpdateData();
Update();
Requery();
//m_pSet->
CancelUpdate();
//第一条按钮代码
OnButtonfirst()
MoveFirst();
{
MessageBox("
记录已经在第一条"
);
UpdateData(FALSE);
return;
}
//下一条按钮代码
OnButtonnext()
记录已经在最后一条"
MovePrev();
//前一条按钮代码
OnButtonprev()
//最后一条按钮代码
OnButtonlast()
//显示图书销售对话框代码
OnRadio1()
CMyDlg1MyDlg1;
MyDlg1.DoModal();
//显示图书分类对话框代码
OnRadio2()
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数据库开发实例精粹》作者:
徐国智汪孝宜等出版社: