




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、五山快餐店订餐系统1、 背景及需求分析随着互联网的发展,社会生活步骤的加快,电子商务逐渐走进人们的生活,满足了人们生活步骤的需要。高效,低成本使其成为了新兴的经营模式和理念。“民以食为天”,随着生活水平的提高,餐饮业在服务行业中站有越来越重要的地位。同时人们也需要一种更有效、更快速、更便捷的方法来解决吃饭的时间问题。而网上订餐系统也营运而生,其便捷、快速等使受人们所欢迎。根据观察和调查,五山路这一带在校学生订餐情况和附近快餐店的情况,目前大多数订餐都手工订餐,效率比较低,特别是在高峰期时。手工订餐也存在一些问题:(1)浪费电话费(2)工作人员记录信息较麻烦且容易出错(3)取消或更改订餐信息时麻
2、烦(4)繁忙时段无法拨通电话(5)信息更新速度慢。本系统主要针对五山路一带快餐店和附近的人们而设计的,来解决平时人们只能手工订快餐或订座的情况。该系统较大方便了人们快速订餐订座,同时提供了多家快餐店的信息,同时也提供了一些饮食健康的知识浏览。系统要满足了人们的快速生活节奏的需要,同时也要满足了快餐店营业的需要和宣传快餐店的需要。五山订餐系统基于互联网的B/S模式的网上订餐系统,能为客户提供网络选择快餐店、浏览菜色介绍、点菜订餐等服务,极大提高快餐店管理水平。根据以上分析,该系统主要有三种使用者:管理者、快餐店、顾客。三种使用者的需求分析如下:管理员:该系统的管理者和维护者,能够进行系统的日常维
3、护,进行,对数据库进行维护备份等。根据需要,对会员和快餐店信息进行各种管理,例如删除、添加、修改等。对系统的公告和饮食健康知识进行更新。快餐店:是该系统的投入者。对本其快餐店信息和订餐订座信息进行管理和维护。顾客:进行基本的浏览信息操作,选择快餐店进行订餐。2、 功能设计该系统具有数据备份和数据恢复功能。根据需求分析,针对不同的使用者设计不同的功能。管理员功能:登陆系统、查询管理员账号、添加普通会员和快餐店会员,修改所有会员信息,删除普通会员和快餐店会员,对系统进行日常的维护,管理留言板、公告、健康知识模块等。快餐店功能:注册系统、登陆系统、维护本快餐店、修改更新快餐店信息、添加、删除、修改菜
4、色信息,管理本快餐店的订单信息。分析统计订餐率和营业收入。顾客功能:注册账号、登陆系统、留言、浏览查询公告信息、留言、浏览健康知识、选择快餐店、订餐、订座、查询快餐店信息、查询菜色信息等。3、E-R模型根据需求分析和功能需要,五山订餐系统共建立了10个实体:HOTEL、BILL、BILLORDER、CUSTOMER、reservation、reservationorder、USER、COMMENT、gonggao、jiankang。各个实体情况如下:(1)快餐店(HOTEL)实体:用来记录各个快餐店的基本信息,包括六个属性,分别为:快餐店名(hotelname)、联系电话(hotelphone
5、)、快餐店地址(hoteladdress)、快餐店邮箱(hotelemail)、快餐店的简介(hoteldescription)、密码(hotelpassword)。其中快餐店名字(hotelname)作为实体的标识。如图1所示:图 1 HOTEL实体(2)菜单(BILL)实体:用来记录各个快餐店的菜单信息,包括6个属性,分别为:菜单编号(billid)、菜色名(billname)、类型(type)、菜单简介(billdescription)、价格(price)、菜单图片(billphoto)。其中菜单号(billid)作为这个实体的标识。如图 2所示。图 2(3)菜单订单(BILLORDER
6、)实体:用来记录订餐订单信息,包括4个属性,分别为:订单编号(orderid)、数量(number)、总价(extendedprice)、订餐时间。其中订单号作为实体标识。如图3所示。图 3(4)顾客(CUSTOMER)实体:用来记录下顾客的基本信息,包括5个属性,分别为:顾客编号(customerid)、姓名(name)、地址(address)、联系电话(phone)、邮箱(email)。如图4所示。图 4(5)座位(reservation)实体:用来记录快餐店订座订座信息,其中包括3个属性,分别为:座位编号(reservationid)、快餐店名(hotelname)、座位状态(booke
7、d)。其中reservationid和hotelname共同组成一个混合标识。如图5所示。图 5(6)座位订单(reservationorder)实体:用来记录订座订单的基本信息,包括4个属性,分别为:订座编号(bookid)、订座时间(booktime)、人数(peoplenumber)、用餐时间(eattingtime)。如图6所示。图 6(7)用户(USER)实体:用来记录系统用户的基本信息,包括7个属性,分别为:用户名(username)、密码(password)、真实姓名(realname)、邮箱(email)、QQ(qq)、角色(role)、性别(sex)。如图7所示。图 7(8)
8、留言板(COMMENT)实体:用来记录留言板的基本信息,包括留言编号(commentid)、内容(content)、留言时间(commentdate)。如图8所示。图 8(9)公告(gonggao)实体:用来记录系统的公告信息,包括4个属性,分别为:公告编号(ggid)、公告内容(ggcontent)、公告时间(ggtime)、公告标题(ggtitle)。如图9所示。图 9(10健康知识(jiankang)实体:用来记录系统健康知识的基本信息,包括6个属性,分别为:健康知识编号(jkid)、内容(jkcontent)、发表时间(jktime)、标题(jktitle)、作者(author)、来源
9、(source)。如图10 所示。图 10各个实体之间的联系,如图 11、12、13、所示。图 11图 12图 134、转化为关系模式根据各个实体的E-R模型和实体之间的关系,将各个实体转化为关系模式,如下:快餐店(快餐店名、联系电话、快餐店地址、快餐店邮箱、快餐店简介、密码)菜单(菜单编号、快餐店名、类型、菜单简介、价格、菜单图片);菜单订单(订单编号、菜单编号、顾客编号、数量、总价、订餐时间);顾客(顾客编号、姓名、地址、联系电话、邮箱);座位(座位编号、快餐店名、座位状态);座位订单(订座编号、座位编号、快餐店名、订座时间、人数、用餐时间);用户(用户名、密码、真实姓名、邮箱、QQ、角色
10、、性别);留言板(留言编号、用户名、内容、留言时间);公告(公告编号、公告内容、公告时间、公告标题);健康知识(健康知识编号、内容、发表时间、标题、作者、来源)。5、表结构设计根据关系模式,将各个关系进行表结构设计,如下各表所示。表 1 快餐店信息数据表字段名数据类型长度备注字段含义hotelnamechar50主键快餐店名hotelphonechar20不为空联系电话hoteladdressvarchar100不为空快餐店地址hotelemailchar30允许空快餐店邮箱hoteldescriptionvarchar1000允许空快餐店简介hotelpasswordchar20不为空密码表
11、 2 菜单信息数据表字段名数据类型长度备注字段含义billidint4主键菜单编号hotelnamechar50外键快餐店名billnamechar30不为空菜色名typechar15允许空类型billdescriptionvarcahr300允许空菜单简介pricemoney8不为空价格billphotoimage16允许空菜单图片表 3 菜单订单信息数据表字段名数据类型长度备注字段含义orderidint4主键订单编号customeridint4外键顾客编号billidint4外键菜单编号numberint4不为空数量Extendedpricemoney8允许空总价ordertimedat
12、etime8允许空订餐时间表 4 顾客信息数据表字段名数据类型长度备注字段含义customeridint4主键顾客编号namechar10不为空姓名addresschar50不为空地址phonechar15不为空联系电话emailchar30允许空邮箱表 5 座位信息数据表字段名数据类型长度备注字段含义reservationidint4主键座位编号hotelnamechar50主键、外键快餐店名bookedbit1不为空座位状态表 6 座位订单信息数据表字段名数据类型长度备注字段含义bookedidint4主键订座编号reservationidint4外键座位编号hotelnamechar50
13、外键快餐店名customeridint4外键顾客编号Booktimedatetime8允许空订座时间peoplenumberint4不为空人数eatingtimedatetime8不为空用餐时间表 7 用户信息数据表字段名数据类型长度备注字段含义usernamechar20主键用户名passwordchar18不为空密码realnamechar20不为空真实姓名emailchar30允许空邮箱qqchar20允许空QQroleint4不为空角色sexchar2不为空性别表 8 留言板信息数据表字段名数据类型长度备注字段含义commentidInt4主键UsernameChar20外键用户名Co
14、ntentVarcahr300不为空内容commentdatedatetime8允许空留言时间表 9 公告信息数据表字段名数据类型长度备注字段含义ggidint4主键公告编号ggcontentvarchar300不为空公告内容ggtimedatetime8允许空公告发表时间ggtitlechar30不为空公告内容表 10 健康知识信息数据表字段名数据类型长度备注字段含义jkidint4主键健康知识编号jkcontenttext16不为空内容jktimedatetime8允许空发表时间jktitlechar50不为空标题authorchar30不为空作者sourcechar50不为空来源6、完整
15、性设计(1)快餐店信息数据表完整性设计标识列:hotelname为空性:hotelemail、hoteldescription这两列允许为空,其他列不为空唯一性:hotelphone、hotelemail值唯一(2)菜单信息数据表完整性设计主键约束:强制键,种子为1,增量为1.外键约束:列hotelname必须存在于快餐店信息数据表主键hotelname,级联更新和级联删除。为空性:列type、billdescription、billphoto三列允许为空,其余列都不为空。标识列:billid。(3)菜单订单信息数据表完整性设计主键约束:强制键,种子为1,增量为1.外键约束:列customer
16、id必须存在于顾客信息数据表的customerid列,级联删除。列billid必须存在于菜单信息数据表billid列,级联删除。为空性:全部列都不允许为空。默认值约束:列number的默认值为1.标识列:orderid(4)顾客信息数据表完整性设计主键约束:强制键,种子为1,增量为1为空性:列email允许为空,其余列都不允许为空。标识列:customerid。(5)座位信息数据表完整性设计为空性:全部列都不为空外键约束:列hotelname必须存在于快餐店信息数据表列hotelname,级联删除,级联更新默认值约束:列booked的值默认为0,代表还没有被预定。标识列:reservation
17、id、hotelname(6)座位订单信息数据表完整性设计主键约束:强制键、种子为1,增量为1.外键约束:列reservationid和列hotelname必须存在于座位信息数据表列reservationid列和hotelname列,级联删除,级联更新。列customerid必须存在于顾客信息数据表,级联删除。检查约束:列booktime列eatingtime为空性:全部列都不允许为空。标识列:bookedid(7)用户信息数据表完整性设计为空性:列email、qq两列允许为空,其余列不允许为空检查约束:列sex的值只能为:男或女。标识列:username。(8)留言板信息数据表完整性设计主键
18、约束:强制键,种子为1,增量为1.外键约束:列username必须存在于用户信心数据表列username,级联删除,级联更新。为空性:全部列都不允许为空。标识列:commentid。7、数据库对象设计7.1 视图设计(1)顾客在查询菜单时,需要知道菜色的价格、简介、图片介绍,其余的对顾客来说应该是不可见的,所以建立一个视图。其中代码为:create view view_CB asselect billdescription,price,billphotofrom BILL(2)快餐店用户在查询订单基本信息时,需要知道订单的日期、菜色、数量、价格、顾客的基本信息等,为了由于这涉及到了几个表的查询
19、,为了方便查询,需要建立HB(订餐订单信息)的视图,HR(订座信息)的视图,代码如下:create view HBasselect billname,price,number,extendedprice,ordertime,name,address,phonefrom BILL B join BILLORDER BO on B.billid=BO.billidjoin CUSTOMER C on BO.customerid=C.customeridcreate view HRas select R.reservationid,R.hotelname,booktime,eatingtime,pe
20、oplenumber,name,phonefrom reservation R join reservationorder RO on R.reservationid=RO.reservationidjoin CUSTOMER C on RO.customerid=C.customerid(3)在用户查询留言板时,需要留言时间、留言人、留言内容等信息,为了方便查询留言信息,建立LC视图,代码如下:create view LCasselect U.username,content,commentdatefrom user U join comment CO on U.username=CO.us
21、ername7.2 存储过程设计(1)统计快餐店一天的总收入,建立存储过程 sumday2代码为;create procedure sumday2year int,month int,day int,hotelname char(50)asselect sum(extendedprice)from HOTEL H join BILL B on H.hotelname=B.hotelnamejoin BILLORDER BO on B.billid=BO.billidwhere H.hotelname=hotelnameand year(ordertime)=yearand month(orde
22、rtime)=monthand day(ordertime)=day(2)统计快餐店每日每种菜色的销售量和日收入,建立存储过程LDB3,代码为:CREATE procedure LBD3year int,month int,day int,hotelname char(50)asselect distinct convert(char(10),BO1.ordertime,120) as date,BO.billid,B.billname,BO.totalnumber as 日销售量,BO.totalprice as 日收益from(select billid,sum(number) as to
23、talnumber,sum(extendedprice) as totalpricefrom BILLORDERgroup by billid) BO join BILL B on BO.billid=B.billidjoin HOTEL H on H.hotelname=B.hotelnamejoin BILLORDER BO1 on BO1.billid=B.billidwhere year(BO1.ordertime)=yearand month(BO1.ordertime)=monthand day(BO1.ordertime)=dayand H.hotelname=hotelname
24、(3)统计快餐店月收益,建立存储过程summonthCREATE procedure summonthyear int,month int,hotelname char(50)asselect distinct convert(char(7) ,ordertime,120) as 日期,S.monthincome as 月收入from (select B.hotelname, sum(extendedprice) as monthincomefrom BILLORDER BO join BILL B on B.billid=BO.billidjoin HOTEL H on H.hotelnam
25、e=B.hotelname group by B.hotelname) S join HOTEL H on H.hotelname=S.hotelnamejoin BILL B on H.hotelname=B.hotelnamejoin BILLORDER BO on B.billid=BO.billidwhere H.hotelname=hotelnameand year(ordertime)=yearand month(ordertime)=month(4)统计快餐店每种菜色的月销售量和收益,建立存储过程monthB。CREATE procedure monthByear int,mon
26、th int,hotelname char(50)asselect distinct convert(char(7),BO1.ordertime,120) as date,BO.billid,B.billname,BO.totalnumber as 月销售量,BO.totalprice as 月收益from(select billid,sum(number) as totalnumber,sum(extendedprice) as totalpricefrom BILLORDERgroup by billid) BO join BILL B on BO.billid=B.billidjoin
27、HOTEL H on H.hotelname=B.hotelnamejoin BILLORDER BO1 on BO1.billid=B.billidwhere year(BO1.ordertime)=yearand month(BO1.ordertime)=monthand H.hotelname=hotelname7.3 触发器设计(1)订餐下订单时,订餐时间默认取值为系统时间,当插入数据自动插入时间数据,代码如下:CREATE trigger brtime1on dbo.BILLORDER for insertasdeclare now datetime,id intset now=ge
28、tdate()select id=orderidfrom insertedupdate BILLORDERset ordertime=nowwhere orderid=id(2)在订餐订单基本信息数据表,当增加数据时,订单需支付的钱采用默认值:支付的钱数量*价格,创建一触发器来实现这个功能:CREATE trigger totalpon BILLORDERfor insertasdeclareprice money,number int,id intselect number=number,price=price,id=I.orderidfrom inserted I join BILL B
29、on I.billid=B.billidupdate BILLORDERset extendedprice=number*pricewhere orderid=id(3)分别创建触发器booktime、ggtime、jktime、commenttime来实现当插入数据时,时间自动默认为系统当前的时间。触发器booktime:CREATE trigger booktimeon reservationorder for insertasdeclare id intselect id=bookidfrom insertedupdate reservationorderset booktime=get
30、date()where bookid=id触发器ggtime:CREATE trigger ggtimeon dbo.gonggao for insertasdeclare id intselect id=ggidfrom insertedupdate gonggaoset ggtime=getdate()where ggid=id触发器jktime:CREATE trigger jktimeon dbo.jiankang for insertasdeclare id intselect id=jkidfrom insertedupdate jiankangset jktime=getdate()where jkid=id触发器commenttime:create trigger commenttimeon ment for insertasdeclare id intselect id=commen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东佛山市季华中学招聘编制教师2人考前自测高频考点模拟试题及一套完整答案详解
- 2025北京市海淀区教师进修学校附属实验学校教育集团招聘模拟试卷及答案详解参考
- 2025广东清远市清城区公路事务中心招聘1人考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025安徽医科大学第一附属医院博士后岗位招聘考前自测高频考点模拟试题及答案详解(必刷)
- 2025年齐齐哈尔工程学院博士人才招聘50人考前自测高频考点模拟试题及答案详解(必刷)
- 2025北京大学地球与空间科学学院智慧能源和公共安全研究中心招聘科研助理1人考前自测高频考点模拟试题及答案详解1套
- 2025江西南昌市东方航空配餐有限公司招聘劳务派遣人员1人考前自测高频考点模拟试题及答案详解(有一套)
- 第一单元 第一课 我的家在哪里(第1课时 从社区看我家)教学设计-人教版历史与社会七年级上册
- 2025辽宁本溪高新区国有企业招聘6人考前自测高频考点模拟试题有完整答案详解
- 2025山东金钟科技集团股份有限公司招聘38名笔试题库历年考点版附带答案详解
- 康复养老护理辅具研发
- 2024(苏教版)劳动六年级上册全册教学案
- 植筋锚固深度计算表格
- 切肉机安全操作规程
- 110KV、220KV线路迁改工程施工组织设计.11588
- 钢箱梁支架搭设检查验收表
- 植物病理学课件
- 广西基本医疗保险门诊特殊慢性病申报表
- 幼儿园小班语言活动教案《我会看书》
- DB62∕T 3171-2019 双向螺旋挤土灌注桩技术规程
- 历史时期的气候变迁PPT课件
评论
0/150
提交评论