VC++数据库课程设计报告.docx
- 文档编号:4346156
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:43
- 大小:366.28KB
VC++数据库课程设计报告.docx
《VC++数据库课程设计报告.docx》由会员分享,可在线阅读,更多相关《VC++数据库课程设计报告.docx(43页珍藏版)》请在冰豆网上搜索。
VC++数据库课程设计报告
HarbinInstituteofTechnologyatWeihai
数据库系统课程设计报告
设计题目:
美发店会员管理系统
班级:
110420215
组号:
8
学号:
110420215
姓名:
周超
验收日期:
2012.08.24
哈尔滨工业大学(威海)计算机学院
二零一二年八月
数据库系统课程设计任务书
院(系):
数学系专业:
信息与计算科学
姓名:
陈兆卿学号:
080610115
课程设计题目:
小当当外卖订餐平台
问题阐述与分析
(主要阐述设计题目背景、设计实现意义及所要解决的主要问题)
随着生活节奏的加快,快餐饮食越来越受到人们的青睐,外卖也逐渐成为人们日常饮食的的一部分。
另外,高新技术和计算机飞速发展,电脑普及时代即将到来,网络技术也逐渐完善,互联网发展已深入家庭。
网上订餐这个课题的提出,是为了方便人们生活,提高人们的生活效率。
信息技术的发展将更快的推动互联网的发展,订餐系统的重要性也将逐渐凸显出来。
1.1网上订餐系统的市场趋势
随着越来越多的人接受了电子商务这种便捷、快速的交易形式,网上订餐的发展也将很快受到大家的欢迎。
互联网的应用及普及,为网络订餐提供了良好的发展空间。
同时网上订餐服务的直观、有效、便捷等优点是传统的电话订餐业务无法比拟的。
调查数据显示,白领、学生更乐于网上订餐服务,网上订餐将是以后订餐的发展趋势。
网上订餐随着互联网的成长会逐渐被人们所喜爱,正如几年前的手机移动短信一样。
在互联网世界里面,谁早一步在应用上创新,谁就掌握了未来的方向,品牌也将会一炮打红。
网络订餐的未来将会充满希望。
1.2网络订餐的市场优势
目前的订餐主要以电话订餐为主,但电话订餐有其缺点。
与电话订餐相比网络订餐更具有竞争力,主要便现在:
电话订餐菜单不直观,网络订餐可通过色彩、图片、动画、文字说明等形式对产品进行宣传,达到了餐饮也得“色型”要求。
实现产品管理方便,起到了立竿见影的效果,不用为更改菜色而从新印刷。
只要在后台用鼠标轻轻一点,菜单马上更新。
网络订餐避免了电话订餐口头传递信息中的错误,优化服务;网站不会跟电话一样占线,在高峰期对订餐的处理也可以游刃有余,只看屏幕点击打印即可,就可下厨配菜配送,地址也不会轻易丢失。
订餐途径有了较好的改善,网络订餐成为电话订餐的又一有力补充,可扩大客流,从而整体提高业务量。
倡导一种时尚,订餐的定位为更是网络化、时尚化,具备更为勃勃的生机。
缓解了食堂的拥挤困境,为食堂提供更为轻松的环境。
有时间的提前性,方便安排集中处理。
采用会员制度,设立积分换赠送,营销手段更是利用的淋漓尽致。
可以设立团体会员制,利用赠品或优惠,扩大市场份额。
利用网页技术,展示本公司的精品,增强吸引力。
详细介绍每一个产品,展现公司的周到、细微的服务。
容易形成品牌和连锁经营,即使没有合适的店面,主要配送队伍健全,一个店面就可以做生意。
订餐者省去了电话费。
注:
由于时间等诸多因素限制,在本次设计中只完成针对大学生订餐的部分功能。
工作量
(本项主要说明课程设计的工作量体现之所在,具体的设计模块)
设计者在本次设计中的主要工作有
●设计进度的把握和任务的分配。
资料的查询及相关技术的选择。
●参与数据库需求分析,概要设计。
●参与应用程序的需求分析,概要设计。
●商家模块所有功能的代码编写,调试。
●程序整体的调试,模块之间的通信等。
工作计划安排
第一周:
1~2:
课题的选定,课题分析。
实现语言的确定:
VC++MFC与SQLSERVER2000。
接口技术的确定:
ODBC技术。
2~4:
数据库需求分析,概念设计,逻辑设计,物理设计。
5~7:
相关技术资料的查询与学习。
对应用程序做需求分析。
第二周:
1~5:
完成应用程序个模块代码的编写和调试。
5~7:
完成各模块之间的调用和通信,对系统整体进行调试和优化。
同组设计者及分工
(本项主要说明小组成员的分工情况,要分工明确,详细给出各成员所要完成的设计工作
组员陈兆卿:
设计进度的把握和任务的分配。
资料的查询及相关技术的选择。
参与数据库需求分析,概要设计。
参与应用程序的需求分析,概要设计。
商家模块所有功能的代码编写,调试(包括子模块:
订单模块,菜单模块,信息修改模块,销售信息模块等)。
程序整体的调试,模块之间的通信等。
组员王怡东:
参与数据库需求分析,概要设计。
参与应用程序的需求分析,概要设计。
买家模块所有功能的代码编写和调试(包括子模块:
订购模块,查询模块,订单模块,信息修改模块等)参与程序整体的调试,模块之间的通信等。
组员张金狮:
参与数据库需求分析,概要设计。
参与应用程序的需求分析,概要设计。
完成数据库的建立。
登录注册模块和管理员模块的代码编写与调试(包括子模块:
注册信息获取模块,注册信息删除模块等)。
参与程序整体的调试,模块之间的通信等。
说明:
课程设计报告每人一份,组内成员不能内容相同,每个人都从自己的角度去写。
1绪论
1.1项目简介
本系统主要实现网上订餐功能,为买家和卖家提供一个信息交互的平台。
主要面向对象为大学生和周边饭店。
1.2设计目的
方便同学们订餐,方便卖家统计订餐信息和计划送餐。
提高从订餐者获得订餐信息——订餐者订餐——饭店收到定餐信息——饭店完成餐饮的制作——饭店制定送餐计划——饭店完成送餐任务事务链的效率,以实现饭店更快捷的服务。
1.3设计内容
主要包括:
买家和卖家的注册和登录;买家对菜品及供应饭店的查询与菜品的订购,订单的查询及确认,注册信息的修改。
卖家菜品的增、删、改、查,订单的查询与确认、注册信息的修改及销售信息的统计;管理员的相关操作。
1.4应用范围
本系统适用于理论研究。
即用来对平台功能的增减,修改及相关算法优化等做研究。
2需求分析
2.1数据需求
系统需要处理哪些数据
总体分为用户输入的数据和从数据库中获得的数据。
主要数据类型包括:
CString类型数据、double类型数据、int类型数据和CTime类型数据。
2.2事务需求
系统涉及哪些人员,各能做什么事务
买家:
注册、登录、菜品查询、订购、订单查询及确认和注册信息修改。
买家:
注册、登录、菜品的增删改查,订单的查询及确认,销售信息查询。
管理员:
对买家及卖家的信息部分查询和删除。
2.3详细功能分析
2.4数据字典
2.5开发运行环境
DBMS:
sqlserver2000personal
开发工具:
VisualStudio6.0
编程语言:
C++
使用技术:
ODBC,MFC
Windowsxpsp3;
2.6安全保障
如何保障系统的安全性
3概念设计
3.1实体及联系抽象
实体:
顾客(买家)属性:
顾客ID顾客扥牢固密码顾客姓名顾客联系方式顾客联系地址类型均为VARCHAR(10)
饭店(卖家)属性:
饭店ID饭店登录密码饭店名称饭店联系方式饭店联系地址类型均为VARCHAR(10)
菜品信息菜品ID菜品名称菜品类型类型均为VARCHAR(10)
联系:
菜单(二元联系)属性:
菜品ID(VARCHAR(10))菜品所属饭店ID(VARCHAR(10))菜品价格(float)菜品评价(int)菜品简介(VARCHAR(10))
订单(三元联系)属性:
订单ID(VARCHAR(10))顾客ID(VARCHAR(10))饭店ID(VARCHAR(10))菜单ID(VARCHAR(10))下单时间(datetime)送餐时间(datetime)结束时间(datetime)状态(smallint)
3.2E-R图
采用从下到上的策略,先画出各部分E-R图,最后合成总的E-R图,并注意做优化
3.3关系模式
把E-R图转换为关系模式,并画出关系模式图。
尽量规范到3NF。
CUST(CID,CAN,PASSWORD,CTEL,CADD)
REST(RID,RNA,RPASSWORD,RTEL,RADD)
DISHES(DID,DNA,STYLE)
RD(RID,DID,MARKS,REMARKS,PRICE)
ORDER(ONO,RIDMDID,CID,STIME,ETIME,ETIEM,STADE)
4逻辑设计
4.1各表功能
给出数据库所有表的名称及各自功能
CUST储存顾客(买家)信息
REST储存饭店(卖家)信息
DISHES储存存在菜品的自然属性
RD储存饭店拥有菜品的具体信息
ORDER储存订单相关的全部信息
4.2各表结构
给出各表的详细字段组成,包括数据类型、长度、主外码、约束等。
createtableCUST(
CIDvarchar(10)notnull,
CNAvarchar(10)notnull,
CPASSWORDvarchar(16)notnull,
CTELvarchar(50)notnull,
CADDvarchar(100)notnull,
primarykey(CID),
check(len(CPASSWORD)>=5))
createtableDISHES(
DIDvarchar(10)notnull,
DNAvarchar(10)notnull,
STYLEvarchar(10)notnull,
primarykey(DID)
)
createtableREST(
RIDvarchar(10)notnull,
RNAvarchar(10)notnull,
RPASSWORDvarchar(16)notnull,
RTELvarchar(50)notnull,
RADDvarchar(100),
primarykey(RID),
check(len(RPASSWORD)>=5)
)
createtable"ORDER"(
ONOvarchar(10)notnull,
RIDvarchar(10)notnull,
DIDvarchar(10)notnull,
CIDvarchar(10)notnull,
STIMEdatetimenotnull,
DTIMEdatetimenotnull,
ETIMEdatetime,
STATEsmallintnotnull,
primarykey(ONO),
foreignkey(RID)referencesREST(RID),
foreignkey(DID)referencesDISHES(DID),
foreignkey(CID)referencesCUST(CID),
check(STATEbetween0and3))
createtableRD(
RIDvarchar(10)notnull,
DIDvarchar(10)notnull,
MARKSint,
REMARKSvarchar(100),
PRICEfloat,
primarykey(RID,DID),
foreignkey(RID)referencesREST(RID),
foreignkey(DID)referencesDISHES(DID),
check(MARKS>0))
4.3表关系图
在SQLServer中直接找到关系图并截取出来。
5物理设计
5.1物理存储
给出数据库文件的存储位置、如何备份、还原等
\\数据库\\BACKUP\\FMDATABASE
还原数据库名字为:
FMDATABASE
5.2完整性约束
check(len(CPASSWORD)>=5))
check(len(RPASSWORD)>=5)
check(STATEbetween0and3))
check(MARKS>0))
5.3视图设计
CREATEVIEWdbo.VIEW_ALL
AS
SELECTdbo.DISHES.DID,dbo.DISHES.DNA,dbo.DISHES.STYLE,dbo.RD.PRICE,
dbo.RD.MARKS,dbo.RD.REMARKS,dbo.REST.RID,dbo.REST.RNA,dbo.REST.RTEL,
dbo.REST.RADD
FROMdbo.DISHESINNERJOIN
dbo.RDONdbo.DISHES.DID=dbo.RD.DIDINNERJOIN
dbo.RESTONdbo.RD.RID=dbo.REST.RID
CREATEVIEWdbo.VIEW_LINKALL
AS
SELECTdbo.[ORDER].ONO,dbo.DISHES.DNA,dbo.RD.PRICE,dbo.CUST.CNA,
dbo.[ORDER].RID,dbo.RD.MARKS,dbo.[ORDER].STIME,dbo.[ORDER].DTIME,
dbo.[ORDER].ETIME,dbo.[ORDER].STATE
FROMdbo.[ORDER]INNERJOIN
dbo.DISHESONdbo.[ORDER].DID=dbo.DISHES.DIDINNERJOIN
dbo.RESTONdbo.[ORDER].RID=dbo.REST.RIDINNERJOIN
dbo.RDONdbo.REST.RID=dbo.RD.RIDAND
dbo.DISHES.DID=dbo.RD.DIDINNERJOIN
dbo.CUSTONdbo.[ORDER].CID=dbo.CUST.CID
CREATEVIEWdbo.VIEW_ORDERLIST
AS
SELECTdbo.[ORDER].ONO,dbo.DISHES.DNA,dbo.RD.PRICE,dbo.REST.RNA,dbo.RD.DID,dbo.DISHES.STYLE,dbo.RD.MARKS,dbo.[ORDER].STIME,dbo.[ORDER].DTIME,
dbo.[ORDER].ETIME,dbo.[ORDER].STATE,dbo.[ORDER].CID,dbo.REST.RID
FROMdbo.[ORDER]INNERJOIN
dbo.DISHESONdbo.[ORDER].DID=dbo.DISHES.DIDINNERJOIN
dbo.RESTONdbo.[ORDER].RID=dbo.REST.RIDINNERJOIN
dbo.RDONdbo.REST.RID=dbo.RD.RIDANDdbo.DISHES.DID=dbo.RD.DID
CREATEVIEWdbo.VIEW_RSELLINFO
AS
SELECTDNA,STYLE,PRICE,MARKS,RID,DID
FROMdbo.VIEW_ORDERLIST
CREATEVIEWdbo.VIEWDISHESSTYLE
AS
SELECTDISTINCTSTYLE
FROMdbo.DISHES
5.4触发器设计
6系统实现与维护
6.1模块1
菜单管理界面截图
voidCRestView:
:
OnInitialUpdate()
{
…
…
if(m_viewallSet.IsOpen()==TRUE)
{
m_viewallSet.Close();
}
m_viewallSet.m_strFilter="RID='"+CPublic:
:
ERID+"'";
m_viewallSet.Open();
if(!
m_viewallSet.IsEOF())
{
m_viewallSet.MoveFirst();
while(!
m_viewallSet.IsEOF())
{
m_viewallSet.MoveNext();
}
m_viewallSet.MoveFirst();
}
m_dishlist.SetRows(m_viewallSet.GetRecordCount()+1);
m_dishlist.SetCols(7);
m_dishlist.SetColWidth(0,500);
m_dishlist.SetColWidth(1,800);
m_dishlist.SetColWidth(2,1400);
m_dishlist.SetColWidth(3,800);
m_dishlist.SetColWidth(4,1000);
m_dishlist.SetColWidth(5,800);
m_dishlist.SetColWidth(6,5000);
m_dishlist.SetColAlignment(-1,4);
m_dishlist.SetColAlignment(6,1);
m_dishlist.SetRow(0);
m_dishlist.SetCol
(1);
m_dishlist.SetText("菜品ID");
m_dishlist.SetRow(0);
m_dishlist.SetCol
(2);
m_dishlist.SetText("菜名");
m_dishlist.SetRow(0);
m_dishlist.SetCol(3);
m_dishlist.SetText("类别");
m_dishlist.SetRow(0);
m_dishlist.SetCol(4);
m_dishlist.SetText("价格");
m_dishlist.SetRow(0);
m_dishlist.SetCol(5);
m_dishlist.SetText("满意度");
m_dishlist.SetRow(0);
m_dishlist.SetCol(6);
m_dishlist.SetText("简介");
intiRow=1;
while(!
m_viewallSet.IsEOF())
{
CStringstr;
str.Format("%d",iRow);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol(0);
m_dishlist.SetText(str);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol
(1);
m_dishlist.SetText(m_viewallSet.m_DID);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol
(2);
m_dishlist.SetText(m_viewallSet.m_DNA);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol(3);
m_dishlist.SetText(m_viewallSet.m_STYLE);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol(4);
CStringtemp1;
temp1.Format("%f",m_viewallSet.m_PRICE);
temp1=temp1.Left(temp1.GetLength()-4);
m_dishlist.SetText(temp1);
//m_dishlist.SetText(m_rdSet.m_PRICE);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol(6);
m_dishlist.SetText(m_viewallSet.m_REMARKS);
m_dishlist.SetRow(iRow);
m_dishlist.SetCol(5);
chartemp[6]="";
_itot(m_viewallSet.m_MARKS,temp,10);
m_dishlist.SetText(temp);
iRow++;
m_viewallSet.MoveNext();
}
m_viewallSet.Close();
m_dishlist.SetRow(0);
m_dishlist.SetCol(0);
}
voidCRestView:
:
OnClickDishlist()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
m_did=m_dishlist.GetTextMatrix(m_dishlist.GetRowSel(),1);
if(m_did!
="")
{
GetDlgItem(IDC_R_MODIFY)->EnableWindow(TRUE);
GetDlgItem(IDC_R_DELETE)->EnableWindow(TRUE);
}
}
voidCRestView:
:
OnModify()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CDish2Dlgdlg;
dlg.t_did=m_did;
if(m_viewallSet.IsOpen()==TRUE)
{
m_viewallSet.Close();
}
m_viewallSet.m_strFilter="DID='"+m_did+"'AND"+"RID='"+CPublic:
:
ERID+"'";
m_viewallSet.Open();
dlg.m_dna=m_viewallSet.m_DNA;
dlg.m_price=m_viewallSet.m_PRICE;
dlg.m_remarks=m_viewallSet.m_REMARKS;
dlg.m_style=m_viewallSet.m_STYLE;
dlg.DoModal();
}
菜品添加对话框
voidCRestView:
:
OnAdd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
CDishDlgdlg;
dlg.m_price=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 数据库 课程设计 报告