数据库设计-快餐店.docx_第1页
数据库设计-快餐店.docx_第2页
数据库设计-快餐店.docx_第3页
数据库设计-快餐店.docx_第4页
数据库设计-快餐店.docx_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库设计设计说明书姓 名 何国姣 学 号 3009216062 2012年 11 月 20日摘 要在眼下的信息经济时代,现代快餐业的快速增长离不开信息科技因素。近日,互联网上悄然兴起免费外卖网店服务,专门为从事快餐外卖的店主提供免费外卖网店服务,专门为快餐店、外卖餐厅提供类似于淘宝式的免费外卖网店服务,外卖经营者可以在该网站注册网店,然后免费发布自己的外卖店信息,比如外卖餐品、外卖范围、外卖电话等,还可以上传餐厅图片、餐厅简介,同时实现顾客在线订餐系统服务。传统的快餐外卖经营者都是依靠电话订餐、名片宣传、上门推销等手段进行经营,具有很多弊端,很难拓展宣传范围或者提升经营效率,比如电话订餐容易高峰期占线电话打不进来,名片宣传则经常遭到城管、大厦保安的围追堵截,上门推销更俨然是各类办公场所的“过街老鼠”。而快餐订餐系统对快餐外卖业者的经营弊端,提供全方位的外卖网店服务,通过网上订餐解决电话占线难题,通过网店全天24小时展示外卖餐谱信息且更详尽,让城市订外卖的白领们可以在家或者办公室,快捷上网,轻点鼠标,就能得到自己想要的外卖服务。按照实用性、先进性、前瞻性的建设原则,我对各个在线外卖网站(如www.ele.me)进行了查阅和调研,制定了一套“快餐订餐数据库管理系统”,主要针对于外卖订餐所涉及的数据进行完整的设计与规范,服务于外卖经营者和订餐客户,使一切工作规范化、系统化、程序化,提高了信息处理的速度和准确性,有利于管理员和客户能够及时、准确、有效的查询和修改相应的信息情况,基本上满足了用户需求。关键词:快餐;互联网;网上订餐;数据库;查询;修改;目 录 第一章 需求分析2 1.1 题目描述2 1.2 功能性需求分析31.2.1 登录功能及注册功能3 1.2.2 管理员用例分析4 1.2.3 顾客用例分析4 1.3 非功能性需求分析5 第二章 数据库设计6 2.1 e-r图设计6 2.2 数据库设计6 2.3 数据库介绍8 2.4 逻辑结构设计8 2.5 数据准备8 第三章 数据库实现9 3.1 系统流程图9 3.2 主要功能模块介绍113.2.1 客户信息模块133.2.2 快餐信息模块133.2.3 食品信息模块153.2.4 下订单模块163.2.5 订单查询模块173.2.6 客户评价模块183.2.7 应用开发环境18 第四章 系统使用说明20 4.1 软件安装204.1.1 搭建qt+vs2008开发环境20 4.2 系统使用说明24 参考文献25 2012年数据库设计设计说明书分工情况表: 姓名学号班级任务分工姓名独立完成第一章 需求分析1.1 题目描述我们为大家呈现的是 “网络连锁快餐店”这一创新服务模式,是快餐业的电子商务实现形式。随着计算机技术、网络通讯技术、安全技术、网络与金融系统、物流系统的结合,电子商务已成为国际性的时代潮流。特别象在上海这样的大都市人口密集,网络用户迅速膨胀,生活节奏快,人们越来越习惯网上购物等网络生活方式,这形成了电子商务存在的人文环境。而生活水平的提高和健康意识的增强,使人们再也不仅仅满足于吃饱,饮食的美味、营养健康、方便快捷、甚至时尚正成为现代人的追求。但目前能满足这方面的餐饮店为数不多,有相当一部分餐饮店存在设施、人员资源闲置的现象。基于此,我们有必要使闲置的资源得以充分利用,达到利润最大化,发展加盟连锁经营,并倡导、引领一种饮食文化新时尚。设计这一数据库有以下主要信息:产品特征:u 半成品,未包装;u 品种简单,主要为西式快餐;u 可由顾客选择所需口味;u 由厨房根据统一配料做出,各个分店中的产品完全一样。客户特征:u 在大都市工作或生活,中等收入以上;u 经常上网,懂得基本的网上交易知识;u 希望得到方便、快捷、足不出户的服务;u 希望根据自己需求,获得个性化的服务;u 追求时尚、高品质的美食;u 或希望根据自身需求,获得个性化的服务。订餐服务流程:u 连锁快餐店建立了自己的网站,客户通过在网站上注册id进行订餐。用户id为客户的唯一标识,我们根据id纪录客户的订餐历史;u 客户可以在订餐界面中选择离自己最近的分店,并对自己所选食品进行个性化的口味选择,比如微辣、加酱等等;u 客户需要在每一次订餐中确定自己本次订餐的地点和联系电话,以便于食品能够准确及时地送达;u 订餐信息及时传递到业务管理员,由管理员对客户进行电话确认,然后交由厨房进行加工包装;u 成品由配送人员送至客户处,并由客户签名确认后付帐;u 本次交易成功,注销帐单,根据id纪录该客户的本次交易;u 客户也可以通过电话订餐享受上述服务。根据以上信息我们可以设计一个订餐系统的数据库管理系统,以方便客户的订餐,同时为连锁经营的电子商务模式提供硬件支持。该数据库具有的功能:u 将客户在网页中注册的信息转移到数据库中,可以通过客户的id查询客户的详细资料;u 存放商店所提供食品的详细资料,可以通过产品号进行查询,以了解产品的具体特性;u 存放每一张订单的信息,可以通过订单id进行查询,已确定订单是否已完成,同时可以对产品的销售进行了解,最后,由账单的信息构成客户的消费历史。该该数据库管理系统要实现的目标:u 能够详细地记录客户的订餐历史,根据每位客户交易量的大小为客户提供不同的服务;u 通过建立订餐数据库为信息化管理提供坚实的硬件支持,管理人员可以方便的了解不同时间、不同分店的业务,能够地了解具体的客户信息以及及时接收客户的反馈;通过该数据库,管理层能够统计出产品以及服务的销售情况,了解客户的品味,以便对市场做出正确的预测。 1.2 功能性需求分析1.2.1 登录功能及注册功能 由于该系统服务于外卖经营者和顾客,因此只有登录该系统的用户才能享用应有的功能,该系统为不同的管理层和顾客提供注册、登录、修改个人信息以及注销等功能。图1.2.1 系统用户用例图1.2.2 管理员用例分析图1.2.2 管理员用例图如图1.2.2,管理员除了拥有普通客户的基本功能外,还应有添加、删除、修改饭店信息和食品信息,并且能随时接受客户订单,根据厨房制作食品过程修改订单状态,了解不同时间、不同分店的业务,了解具体的客户信息以及及时接收客户的反馈,统计出产品以及服务的销售情况,了解客户的品味,以便对市场做出正确的预测。1.2.3 顾客用例分析图1.2.3 顾客用例图如图1.2.3,顾客除了拥有基本的登录等功能外,还具有查询饭店信息和食品信息,并且在订餐界面中选择离自己最近的分店,并对自己所选食品进行个性化的口味选择,比如微辣、加酱等等,当然客户也可以通过电话订餐享受上述服务。1.3 非功能性需求1)健壮性 系统需要具有较强的抗干扰能力和健壮性。2)性能 系统需要响应时间快,效率高。3)易用性 系统需要人性化,操作简易。4) 可扩展性 系统需要具有可更新性,操作简易。 第二章 数据库设计2.1 e-r图设计图2.1 快餐订餐e-r图 2.2 数据表设计表1 用户信息表:clientinfo字段名描述数据类型长度是否允许为空键clientid用户id(本张表的主键)varchar20否pk,fkclientname用户登录名varchar20否clientpassword用户身份验证密码varchar20否phonenumber用户电话号码varchar20是clientaddress用户的住址varchar20是type用户类型varchar20默认值为“客户”表2 饭店信息表:restaurantinfo字段名描述数据类型长度是否允许为空键restname饭店名字(本张表的主键)varchar20否pk,fkrestaddress饭店地址varchar20否opentime营业时间date是restphone饭店电话varchar20是description饭店简介varchar50是表3 食品信息表:foodinfo字段名描述数据类型长度是否允许为空键foodid食品idvarchar20否pk,fkfoodname食品名varchar20否foodtaste食品口味varchar20是foodprice食品单价numeric是sellcount已售出量int是表4 食品饭店表:food_shop字段名描述数据类型长度是否允许为空 键restname饭店名varchar20否pkfoodid食品idvarchar20否pkfoodname食品名varchar20是表5 订单历史记录:orderhistory字段名描述数据类型长度是否允许为空键clientid客户idvarchar20否pkorderid订单idint否pktotalcost本张订单的消费总额numeric是orderdate订单时间date是表6 订单条目录:orderinfo字段名描述数据类型长度是否允许为空键orderid订单idint否pkfoodid食品idvarchar20否pkfoodname食品名varchar20是foodtaste食品口味varchar20是foodprice食品单价numeric是amount份数int是表7 评论信息:comment字段名描述数据类型长度是否允许为空键clientid客户idvarchar20否pkfoodid食品idvarchar20否pkcontent评论内容varchar50否2.3 数据库介绍 由于这些表的设计采用的是sqlite数据库,因此有必要介绍一下sqlite数据库。 sqlite expert personal是一款轻型的数据库,是遵守acid的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k的内存就够了。它能够支持windows/linux/unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 tcl、c#、php、java等,还有odbc接口,同样比起mysql、postgresql这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。2.4 逻辑结构设计 图2.4 逻辑数据结构设计图如图2.4所示,本系统采用的是集中式数据存储即所有数据都存储在同一个数据库里。为了保证所有重要数据因某个情况下不丢失,本站系统就会按照定时自动数据备份来备份一天内的工作记录。2.5 数据准备 本系统的数据主要来自于天津大学外卖-饿了么天津站(www.ele.me)。 第三章 数据库实现3.1 系统流程图 图3.1.1 客户流程图图3.1.2 管理员流程图3.2 主要功能模块介绍系统从功能角度看,主要分为六个模块,分别为客户信息管理模块、快餐店信息模块、食品信息模块、下订单模块、订单查询模块以及客户评价模块。主要实现功能如下:快餐订餐数据库管理系统 快餐店信息模块食品信息模块客户评价模块订单查询模块下订单模块客户信息管理模块查询订单查询历史消费记录查询饭店的食品查询个人信息注册添加菜单删除菜单添加评价查询评价查询食品信息查询饭店信息修改个人信息注销图3.2 系统功能模块图 当进入主界面时,只有登录按钮和注册按钮被激活,如果用户没有注册则必须进行注册后才能继续使用该系统,注册界面如图所示:用户注册界面系统主界面图当用户注册后,进行登录,登录界面如图所示,如果登录用户名或密码错误,系统会提示错误信息。登录界面图3.2.1 客户信息模块当用户登录后进入第一个模块,即客户信息模块:图3.2.1 客户信息模块图如图所示,为客户信息模块实现的图,用户可以修改个人信息以及注销等功能,同时可以根据客户id查询客户的详细信息,包括客户名、客户密码、联系方式以及住址等,也可以查看该客户的消费历史记录信息,根据该客户以消费的情况,判断该客户是否是会员,若是会员,可以享受一定优惠。如果数据库连接失败,系统会提示“数据库连接失败!”,如果客户没有注册,查询时系统会提示“该客户不存在!你可以进行注册!”。3.2.2 快餐店信息模块 当进入快餐店信息模块时,如果用户为普通客户,则只能搜索所有饭店信息以及该饭店的食品信息,如果用户为管理员则还可以添加、删除和修改饭店信息。图3.2.2 快餐店信息模块图如图所示为所有快餐店的信息,包括店名、地址、营业时间、电话以及饭店简介等信息,客户可以选择离自己最近的饭店并且查看该饭店所有的食品,选择自己喜欢的食品,进行去下订单。也可以双击该行跳转到该食品的详细信息界面。添加、修改饭店信息的界面如图所示:3.2.3 食品信息模块图3.2.3 食品信息模块如图所示,用户可以根据食品id查询该食品的详细信息,包括食品名、口味、价格以及已售出的数量。如果食品id不存在,则系统会提示“该客户不存在”。可以直接点击去下订单哦按钮进入下订单界面。3.2.4 下订单模块图3.2.4 下订单模块图如图所示,为客户下订单的图,当客户根据饭店在复选框里选择该饭店的食品后,会在界面的左下方出现你所选择的食品,在右上方选择你所要预订的食品id以及份数,将该菜单加入到订餐表中,如果客户又不想要已经在订餐表中的食品时可以选择该项,通过右上角的“删除”按钮删除该项食品,当预订完所有食品后,输入个人信息及密码,点击“确定”按钮,订餐表中的所有记录会构成一整张订单,该订单号由系统的随机函数产生,系统会将该整张订单信息添加到客户的消费历史记录里,与此同时会相应更新各个食品已售出的数量以及该客户消费历史记录里的总额。如果用户没有注册是不能下订单的,此时系统会出现如下警告:3.2.5 订单查询模块图3.2.5 订单查询模块如图所示,用户可以根据订单号查询该张订单表的整条目录信息。3.2.6 客户评价模块图3.2.6 评价模块图如图所示,客户可以根据食品id号查询客户对该食品的所有评价,同时客户也可以根据实际情况对该食品做出评价,以便于管理员能根据这些反馈改进服务,提高服务质量,当然管理员除了接收这些反馈,还可以根据各个食品的销售情况,对市场做出准确的预测。3.2.7 应用开发环境 程序语言:c+ 操作系统:windows 旗舰 平台:qt,vs2008,sqlite数据库 关键代码:qsqldatabase dbconn = qsqldatabase:adddatabase(qsqlite);/连接数据库dbconn.setdatabasename(d:/icon/db04.db);dbconn.open();if(!dbconn.open()qmessagebox:critical(null, qobject:tr(collection), qobject:tr(数据库连接失败!); return ;qsqlquery query_client1;/删除语句qstring deletestr=delete from clientinfo where clientid=+clientid1+;query_client1.exec(deletestr);qsqlquery query_client;/查询语句qstring query_clientid=select * from clientinfo where clientid=+clientid+; query_client.exec(query_clientid); qsqlquery updatequery1;/修改语句qstring updatestr1=update foodinfo set sellcount=+qstring:number(a5)+sellcount where foodid=+n1+;updatequery1.exec(updatestr1);qsqlquery icquery1;/插入语句 icquery1.prepare(insert into orderinfo (orderid,foodid, foodname, foodtaste,foodprice,amount) values (?,?,?,?,?,?); icquery1.addbindvalue(orderid); icquery1.addbindvalue(n1); icquery1.addbindvalue(n2); icquery1.addbindvalue(n3); icquery1.addbindvalue(n4); icquery1.addbindvalue(n5); icquery1.exec();第四章 系统使用说明4.1 软件安装4.1.1 搭建qt+vs2008开发环境(1) 安装vs2008,我这里安装的是中文版的vs2008并且也没有安装vs2008 sp1, 对于vs2008的安装过程这里省略了。(2)安装qt,访问qt官方网站/downloads-cn下载2个软件:a、下载vs2008编译好的qt4.7版本/qt/source

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论