数据库实习 网上订餐系统_第1页
数据库实习 网上订餐系统_第2页
数据库实习 网上订餐系统_第3页
数据库实习 网上订餐系统_第4页
数据库实习 网上订餐系统_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1、*级*专业*班数据库应用系统课程设计课程论文信息工程学院数据库课程设计论文题 目:网上订餐系统数据库设计学 号:2010013048专业班级:信管102班姓 名:张 妙指导老师:英 明完成日期:2012-7-633数据库课程设计论文11需求分析31.1总体需求31.2数据需求41.3事务需求41.4数据流程图51.5数据字典52数据库结构设计62.1 概念设计62.1.1 分E-R图建立62.1.2 全局/整体E-R图82.2 逻辑设计82.2.1 建立关系模式82.2.2 关系模式规范化处理92.2.3 用户子模式建立103.数据库物理设计104数据库实施与测试104.1 在SQL Serv

2、er中数据库实施114.1.1 数据库及数据库对象建立114.1.2 数据入库144.2 数据库测试144.3 在Oracle中数据库实施204.3.1数据库及数据库对象建立205总结206附录21附录121附录225附录328网上订餐系统数据库设计张妙(信息工程学院信管10级2班)摘 要: 近年来,随着人民的生活水平的不断提高,餐饮业在服务业中的地位越来越重要,如何从激烈的竞争中脱颖而出,已成为每位餐饮经营者思考的问题。随着21世纪的进步,网络迅速崛起,进过多年的发展,网络逐步进入传统领域。然而,传统餐饮企业的日常运作还是靠人工管理,从原材料入库到客人点餐再到结账基本上由人工完成记录,这样做

3、不仅耗费人力资源而且容易导致记录丢失或重复等错误,造成管理水平低下。将餐饮业与计算机网络结合起来,就形成了网上订餐系统。顾客能足不出户就能享受美食,有能力的餐饮企业提供网上订餐服务,不仅可以提高服务质量,扩大知名度,也极大程度地方便了顾客。经过分析,本系统运用了Microsoft SQL Server2008和Oracle为数据库,系统实现了菜单维护、顾客订单管理、点菜、结账、送餐人员查询、营业额查询、消费额查询等功能。关键字:网上订餐系统,SQL Server,Oracle引言1.开发背景 随着21世纪的进步,生活节奏越来越快,传统的餐饮业面临这巨大的挑战。 网上订餐主要针对白领和大学生这些

4、特定群体,一些白领在中午时间或者晚上高峰时间就餐,许多顾客由于高峰拥挤根本没有时间享受美味,这样既可以提前订餐而不浪费午休时间,也可以和同事加深感情,更可以每天更换各种各样的菜式,保证每天的工作效率和身体健康。这些问题就产生了快捷订餐的要求。最方便的莫过于利用计算机网络,将餐饮业和计算机网络结合起来,就形成了网上订餐系统。2.研究意义随着人民生活水平的不断提高,餐饮业在服务业中的地位越来越重要,竞争也越来越激烈。经过多年的发展,对餐饮企业的管理以逐步由简单的人工管理,进入规范的科学管理阶段。在科学管理阶段的具体实现中,最有效的就是运用管理软件进行管理。将计算机网络应用于现代化的餐饮业,解决了传

5、统的记账、统计、结算等不便之处,操作容易、错误率低,提高了餐饮业管理水平。餐饮业是一种个性化、多样化的服务产业。随着网络技术的发展和普及,形成了方便、快捷的网上订餐系统。通过网上订餐,顾客不必亲临现场,便可以吃到计营养又实惠的美食,并解决了传统就餐高峰期排队拥挤、信息不能及时更新的现象,既节省了时间,也为广大用户提供了更多选择。3.任务目标本系统主要涉及餐厅的日常运营,包括点菜、结算、销售统计、员工管理等功能。(1)后台服务:实现顾客点菜/加菜/退菜(只有未签单的菜品可以退订)、预订、 签单、结账(打折)功能(所有菜品都签单后才能结账)。(2)后台管理:菜品管理、会员管理,送餐人员管理、留言管

6、理。需要保证对于以上各种信息的管理能够同步反应到前台服务界面,防止出现点已删除菜品等情况。(3)销售统计:统计某一时间段的营业额。1需求分析从分析饭店的基本情况入手,根据餐饮行业的特点和实际情况,充分了解饭店的工作概况,明确用户各种需求,在此基础上进行系统的可行性分析,了解的管理特点和存在的问题,网上订餐系统应以餐饮业务为基础,在此基础上,进行详细分析,得出系统功能结构图。本系统主要是用于后台管理,重视营业数据分析等功能,从专业角度出发,努力为餐饮管理者提供科学有效地管理模式和数据分析功能。1.1总体需求本系统主要涉及餐厅的订餐功能,包括顾客点菜、送餐员安排、结算、销售统计、留言等功能。预订后

7、台服务 点菜/加菜/退菜结算(打折)菜品管理订单管理后台管理 送餐人员管理留言管理 1.2数据需求酒店储存有会员信息,包括折扣信息等。菜品信息有菜品编号,名称,价格和简介等。送餐人员信息,包括电话、是否在送餐等。供应商信息,包括电话、地址等。原料信息,包括价格,质量等。具体数据需求如下:l 点菜阶段需要的数据有:(1)菜品信息,包括其名称、价格、额外要求等。(2)会员信息,包括会员编号、折扣、历史消费总额等。(3)预订信息,包括预订菜品、菜品数量、用餐时间等。l 送餐人员管理需要数据有:编号、电话、是否送餐标记等。l 会员管理需要的数据有:会员编号、对应折扣等。1.3事务需求l 数据录入:(1

8、)录入公告信息(2)录入菜品信息(3)录入会员信息(4)录入送餐人员信息(5)录入供应商信息(6)录入原料信息l 数据更新/删除:(1)更新/删除公告信息(2)更新/删除菜品信息(3)更新/删除会员信息(4)更新/删除人员信息(5)更新/删除供应商信息(6)更新/删除原料信息l 数据查询:(1) 查询菜品信息(2)查询订单信息(3)查询会员折扣信息(4)查询送餐人员信息(5)查询某时间段的营业额(6)查询原料信息1.4数据流程图从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。处理功能可分解为若干个子功能,每个子功能还可以继续分解,直到把系统工作过程表示清楚为止。在处理子功能分

9、解的同时,他们所用的数据也逐级分解,形成若干层次的数据流程图。数据流程图表达了数据和处理之间的关系。在这个网上订餐系统中,数据流程图分为三层:顶层数据流程图、第一层数据流程图、第二层数据流程图;其中,第二层数据流程图又可分为:预定流程图、订单处理流程图、结账流程图。各个流程图反应了系统的功能。具体流程图见附录1。1.5数据字典数据字典是系统中各类数据描述的集合,是进行数据收集和数据分析所获得的主要成果。数据项通常包括数据项、数据结构、数据流、数据存储和处理过程这5个部分。具体数据字典见附录2。2数据库结构设计主要包括概念设计和逻辑设计两个部分。2.1 概念设计这一阶段的主要任务是将需求分析得到

10、的用户需求抽象为信息结构。2.1.1 分E-R图建立选择中层数据流程图作为设计分ER图的依据,各个分ER图如下: (1)供应商 (2)原料(3)菜品 (4)顾客 (5)送餐人员 (6)店内公告 (7)留言板 (8)折扣规则2.1.2 全局/整体E-R图将上述分ER图进行合并,并且修改与重构,得到全局ER图。全局ER图如下:2.2 逻辑设计逻辑结构设计的任务是把概念结构设计阶段设计好的基本ER图转换为关系数据库所支持的关系模式。基于3NF对关系模式进行优化,确定模式内容,并且设计用户子模式。2.2.1 建立关系模式图转换成关系模式如下(下划线的属性为主码):供应商(供应商号、供应商名、电话、地址

11、)原料(原料号、原料名、价格、品质)供应(原料号、供应商编号、供应数量)送餐人员(送餐员号、姓名、电话、送餐标记)配料单(菜品号、原料号、使用数量)菜品(菜品号、菜品名、价格、简介)留言板(留言号、顾客号、留言内容、回复内容)店内公告(公告号、内容)顾客(顾客号、姓名、电话、地址、历史消费总额、VIP等级)折扣规则(VIP等级、折扣)订单(订单号、顾客号、用餐时间)顾客菜单(订单号、菜品号、数量、要求)送餐单(订单号、送餐员号)2.2.2 关系模式规范化处理关系模式优化分析如下:(1)供应商关系模式:供应商号>供应商名供应商号>供应商电话供应商号>供应商地址(2)原料关系模式

12、:原料号原料名原料号价格原料号品质(3)供应关系模式:(原料号,供应商号)>供应数量(4)菜品关系模式:菜品号>菜品名菜品号>菜品价格菜品号>菜品简介(5)配料单关系模式:(菜品号、原料号)>使用数量(6)顾客关系模式:顾客号>顾客姓名顾客号>电话顾客号>地址 顾客号>历史消费总额顾客号> VIP等级(7)订单关系模式:订单号>顾客号订单号>用餐时间 (8)顾客菜单关系模式: (订单号、菜品号)>额外要求(订单号、菜品号)>数量(9)留言板关系模式:(留言号、顾客号)>留言内容(留言号、顾客号)>回

13、复内容(10)送餐员关系模式:送餐员号>送餐员姓名送餐员号>送餐员电话送餐员号>送餐标记(11)店内公告关系模式:公告号>内容(12)折扣规则关系模式:VIP等级>折扣经过以上分析,上述关系模式不存在部分函数依赖和传递函数依赖,已达到3NF要求。2.2.3 用户子模式建立以下是建立的用户子模式,其功能和运用如描述:名称描述F_Consumer1供顾客查询菜品及其简介F_Consumer2供顾客查询菜品及其所用的主原料 F_Changer1管理员查询各个顾客点菜数量 F_Changger2管理员查询顾客的消费额3.数据库物理设计数据库在物理设备上的存储结构与存取方法

14、就是数据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构的过程,就是数据库的物理设计。这一阶段主要的任务是确定数据库的物理结构,并不断的进行优化处理,主要建立索引。以下是建立的索引,其功能和运用如描述:名字描述Selete_on_Dishname建立在菜品名上的索引allow_der建立在送餐员名字和送餐标记上的索引4数据库实施与测试主要包括数据库实施和测试两个部分。4.1 在SQL Server中数据库实施4.1.1 数据库及数据库对象建立建立数据库,命名为Order_Menu_Online,在其中建立数据库对象,主要包括:基本表、视图、

15、索引、触发器以及存储过程。 (1)基本表 create table Supplier( Sno varchar(10)primary key, Sname varchar(20)not null, Sph varchar(15)not null, Sadd varchar(20)create table Good( Gno varchar(10) primary key, Gname varchar(20) not null, Gprice float, Gquatity varchar(10)create table Supply( Gno varchar(10), Sno varchar(

16、10), Snum int, Sdate date, primary key(Gno,Sno), foreign key(Sno)references Supplier(Sno), foreign key(Gno)references Good(Gno)create table Dish( Dno varchar(10) primary key, Dname varchar(20) not null, Dprice float, Dintro varchar(100)create table GforD( Dno varchar(10), Gno varchar(10), Usenum flo

17、at, primary key(Dno,Gno), foreign key(Dno)references Dish(Dno), foreign key(Dno)references Dish(Dno)create table DeliverPer( Deliverno varchar(10) primary key, Delivername varchar(20) not null, Deliverph char(15) not null, isDeliver int)create table Discount_ruler( Vgrade int primary key, discount f

18、loat not null unique )create table Consumer( Cno varchar(10) primary key, Cname varchar(20) not null, Cph varchar(15)not null, Cadd varchar(20) not null, Cmon float, Vgrade int, foreign key(Vgrade)references Discount_ruler(Vgrade)create table OrderMenu( Orderno varchar(10) primary key, Cno varchar(1

19、0) not null, eatTime datetime not null, foreign key(Cno) references Consumer(Cno)create table DishMenu( Orderno varchar(10), Dno varchar(10), Dishnum int not null, Exquest varchar(50), primary key(Orderno,Dno), foreign key(Orderno)references OrderMenu(Orderno), foreign key(Dno)references Dish(Dno)cr

20、eate table DeliverMenu( Orderno varchar(10), Deliverno varchar(10), primary key(Orderno,Deliverno), foreign key(Orderno)references OrderMenu(Orderno), foreign key(Deliverno)references DeliverPer(Deliverno)create table Notice( Nno varchar(10) primary key, Ncontent varchar(100) not null)create table B

21、oard( Bno varchar(10), Cno varchar(10), Content varchar(100) not null, ReplyContent varchar(100), primary key(Bno,Cno), foreign key (Cno) references Consumer(Cno)(2) 视图:create view F_Consumer1(菜名,所用原料)asselect Dname,Gnamefrom Dish,Good,GforDwhere Dish.Dno=GforD.Dno and Good.Gno=GforD.Gno;create view

22、 F_Consumer2(菜名,简介)asselect Dname,Dintrofrom Dishcreate view F_Changer1(顾客名,总点菜数)asselect Cname,COUNT(Dno)from Consumer,OrderMenu,DishMenuwhere Consumer.Cno=OrderMenu.Cno and OrderMenu.Orderno=DishMenu.Ordernogroup by Consumer.Cname;create view F_changer2(顾客名,本次消费额)asselect Cname,SUM(Dprice*Dishnum)

23、from Consumer,Dish,OrderMenu,DishMenuwhere Consumer.Cno=OrderMenu.Cno and Dish.Dno=DishMenu.Dno and DishMenu.Orderno=OrderMenu.Ordernogroup by Consumer.Cname;(3)索引create unique index Selete_on_Dishname on Dish(Dname)create unique index allow_der on DeliverPer(Delivername,isDeliver)4.1.2 数据入库对各个主要数据表

24、要录入20条以上的记录,方法可用EXCEL批量导入,也可以逐条录入。4.2 数据库测试(1) 存储过程测试create procedure 查询预订Consumerno varchar(10),Delivername varchar(20) output,Deliverph varchar(15) output as beginif exists(select* from OrderMenu where Cno=Consumerno)beginprint '已预订'select Delivername=Delivername,Deliverph=Deliverphfrom De

25、liverMenu ,DeliverPerwhere DeliverMenu.Deliverno=DeliverPer.Delivernoprint '送餐员姓名为:'+Delivernameprint '送餐员电话为:'+Deliverphendelse print '未预定'enddeclare name varchar(20),ph varchar(15)exec 查询预订 '022',name output,ph outputdeclare name varchar(20),ph varchar(15)exec 查询预订

26、'008',name output,ph outputcreate procedure 预订 Orderno varchar(10), Cname varchar(20), eatTime datetime as declare Cno varchar(100) if exists(select * from Consumer where Cname=Cname) begin print('欢迎您再次光临本店,请预订') select Cno=Cno from Consumer where Cname=Cname insert into OrderMenu va

27、lues(Orderno,Cno,eatTime) end else print('欢迎光临本店,请先注册')exec 预订 '022','杨小绿','2012-6-30 12:00' exec 预订 '022','吕叶馨','2012-6-30 12:00'create procedure 点菜 Orderno varchar(10), Dname varchar(10), Dishnum int, Exquest varchar(50) as declare no varchar

28、(10) select no=Dno from Dish where Dname=Dname if exists (select * from OrderMenu where Orderno=Orderno) insert into DishMenu values(Orderno,no,Dishnum,Exquest) else print('没有预订信息,请预订后再点餐')exec 点菜 '023','南芥草莓饼',1,''exec 点菜 '022','九转大肠',1,''exec

29、 点菜 '022','滑藕片小炒',2,''exec 点菜 '022','白斩鸡',1,'记得送佐料'exec 点菜 '022','冬瓜盅',1,''exec 点菜 '022','小黄鱼炒年糕',1,'' create procedure 修改菜单 Orderno varchar(10), Dno varchar(10) as delete from DishMenu where Orderno=Orde

30、rno and Dno=Dnoexec 修改菜单 '022','D4'输入顾客号,计算本次应付金额create procedure 实际消费金额 Cno varchar(10), Expend float output as select Expend=本次消费额 from F_changer2,Consumer where Consumer.Cname=F_changer2.顾客名 and Consumer.Cno=Cnodeclare Consumerno varchar(10)='002',expendnum float exec 实际消费

31、金额 Consumerno,expendnum output select Cname,expendnum from Consumer where Consumer.Cno=Consumernocreate procedure 开消费单 Cno varchar(10), totalpay float as declare Cname varchar(20),actualpay float,getTime date select Cname=Cname from Consumer where Cno=Cno-根据顾客号找出顾客姓名 select actualpay=(本次消费额*(discoun

32、t*0.1)-计算顾客打折后应付实际金额 from F_changer2,Consumer,Discount_ruler where F_changer2.顾客名=Consumer.Cname and Consumer.Cno=Cno and Consumer.Vgrade=Discount_ruler.Vgrade select getTime=eatTime-获取顾客要求送饭时间,作为开发票的时间 from OrderMenu where OrderMenu.Cno=Cno print'用户名:'+' '+Cname print'实付:'+s

33、tr(totalpay,10,2) print'应付:'+str(actualpay,10,2) print'找零:'+str(totalpay-actualpay,10,2) print'时间:'+' '+cast(getTime as varchar(10) print'谢谢您的光临,欢迎下次再来!' declare consumerno varchar(10)='002',consumerpay float=200 exec 开消费单 consumerno ,consumerpaycreate

34、 proc 查询营业额begintime datetime,endtime datetime,sum_of_turnover float outputAsselect sum_of_turnover=SUM(本次消费额*(discount*0.1)from F_changer2,Consumer,OrderMenu,Discount_rulerwhere eatTime>=begintime and eatTime<endtime and F_changer2.顾客名=Consumer.Cnameand Consumer.Cno=OrderMenu.Cnoand Consumer.

35、Vgrade=Discount_ruler.Vgradeprint '从时间:'+ cast( begintime as varchar(20)+' 到时间:'+ cast( endtime as varchar(20)+' 的营业总额为:'+str(sum_of_turnover, 10, 2)declare sum float exec 查询营业额 '2012-6-25','2012-7-1',sum outputselect sumcreate procedure 查询顾客订餐 time datetime a

36、s declare Cname varchar(20),Caddress varchar(50),Cph varchar(10) declare c1 cursor for select Cname,Cadd,Cph from Consumer,OrderMenu where Consumer.Cno=OrderMenu.Cno and eatTime=time print cast(time as varchar(10)+'订餐的顾客有:' open c1 fetch next from c1 into Cname,Caddress,Cph while(fetch_statu

37、s=0) begin print'顾客姓名:'+' '+Cname print'顾客地址:'+' '+Caddress print'顾客电话:'+' '+Cph fetch next from c1 into Cname,Caddress,Cph end close c1 deallocate c1(1) 触发器测试create trigger trig_Upgrade_of_VIPgrade on Consumerafter update asdeclare no varchar(20),tota

38、lexpend float,grade int select no = Cno, totalexpend=Cmon, grade = Vgradefrom insertedif(totalexpend < 100)set grade = 0else if(totalexpend >= 100 and totalexpend < 200)set grade = 1else if(totalexpend >= 200 and totalexpend < 300)set grade = 2else if(totalexpend >= 300 and totalex

39、pend < 400)set grade = 3else if(totalexpend >= 400 and totalexpend< 500)set grade = 4else if(totalexpend >= 500 and totalexpend < 600)set grade = 5else if(totalexpend >= 600 and totalexpend < 700)set grade = 6else if(totalexpend >= 700 and totalexpend < 800)set grade = 7el

40、se if(totalexpend >= 800 and totalexpend < 900)set grade = 8else if(totalexpend >= 900 and totalexpend < 1000)set grade = 9else set grade=10update Consumer set Vgrade = grade where Cno = noupdate Consumer set Cmon=200 where Cname='玄冰'update Consumer set Cmon=228 where Cname='

41、吕叶馨'4.3 在Oracle中数据库实施4.3.1数据库及数据库对象建立 见附录35总结本次数据库课程设计为期15天。在这15天中虽然要兼顾考试和实习,显得忙碌,但在整个实习过程中,感觉挺有收获。虽然上课很认真的听讲,平时实验课内容觉得简单,但在这次实习中还是遇到不少问题。例如,从数据流程图中抽取数据项和数据处理时,觉得有点乱;刚开始ER图画的不到位,导致关系模式反复返工。这次实习让我初步了解了了解如何开发数据库,为以后的职业生涯肯定会有帮助。此外,在这次实习中,我了解并比较熟悉了如何运用SQL Server2008 数据库开发数据库系统,并且初步接触了ORACLE ,运用ORACL

42、E 进行基本的操作,虽然在将数据库移植到oracle中时,困难重重,但我一一解决,让我感觉收获很大。在此还要感谢辅导老师对我热情的指导,感谢许多同学的帮助,是他们在程序调试中帮我改正错误,提出合理化的建议,增强程序的功能,借阅各种书籍,在你们的帮助下,我及时纠正自己的错误,修改方案,才完成了这次实习,否则这三周就白白浪费了。6附录附录1 数据流程图(1) 顶层数据流程图(2) 第一层数据流程图:(3) 第二层数据流程图预订流程图订单处理流程图结账流程图附录2 (1) 数据项:数据项编号 数据项名数据项含义数据类型长度DI-1Dishno菜品编号char5DI-2Dishname菜品的名称cha

43、r10DI-3Dishprice菜品的价格floatDI-4Dishintro菜品的介绍及原料nvarchar100DI-5Cno顾客编号char5DI-6Cname顾客姓名char10DI-7Cad顾客地址nvarchar20DI-8Cmon顾客历史消费总额float6DI-9Cph顾客电话char15DI-10Vgrade顾客VIP等级int3DI-11Oderno订单编号char5DI-12Time用餐时间char10DI-13Exrequest顾客的额外要求nvarchar50DI-14Sno供应商编号char5DI-15Sname供应商名称char10DI-16Sph供应商电话cha

44、r15DI-17Saddress供应商地址nvarchar20DI-18Goodno原料的编号char5DI-19Goodname原料的名称char10DI-20Goodprice原料的价格floatDI-21Qutity原料的品质char10DI-22Boardno留言编号char5DI-23Boardcontent留言内容nvarchar200DI-24Boardreply回复内容nvarchar200DI-25Delierno送餐员编号char5DI-26Delivername送餐员名字char10DI-27Deliverph送餐员电话char15DI-28Noticeno店内公告编号c

45、har5DI-29Noticecontent店内公告内容char100DI-30discount折扣float(2)数据结构:数据结构编号数据结构名数据结构含义组成DT-1Dishes菜品Dishno、Dishname、Dishprice、DishintroDT-2OrderForm订单Oderno、Cno、TimeDT-3Consumer顾客Cno、Cname、Cad、Cph、Cmon、VgradeDT-4Supplier供应商Sno、Sname、Sph、SaddressDT-5DeliverPer送餐人员Delierno、Deliername、Delierph、isDeliverDT-6G

46、ood原料Goodno、Goodname、Goodprice、QualityDT-7BuyForm采购单Sno、Goodno、NumDT-8Board留言板Boardno、Boardcontent、BoardreplyDT-9Notice店内公告Noticeno、NoticecontentDT-10Discount折扣规则Vgrade、DisnumDT-11Dform配送单Oderno、DelivernoDT-12GforD配料单Orderno、Goodno、numDT-13DishMenu顾客菜单Orderno、Dishno、Dishnum、quest(3) 数据处理:处理编号处理名称简述输

47、入数据流处理输出数据流处理频率1盘存采购采购人员采购原料原料清单根据清单确认采购原料订货单30次/ 月2退货检验原料不合格退货不合格单确定退货退货单2次/月3预定菜单顾客下订单顾客预定的菜品信息确认订单菜单30000次/月4菜单处理分配送餐人员菜单分配送餐人员配送单27000次/月5结账统计顾客消费总额菜单处理账单消费单27000次/月(4)数据存储:数据存储编号数据存储名称简述数据存储组成1菜品单改变菜品单菜品的所有信息2顾客信息顾客信息更新顾客的基本信息3送餐员信息判断送餐员忙闲送餐员的基本信息和送餐标记4订单存储存储用户订单订餐的各项要求5配送单顾客的消费信息订单号+送餐员号(5)数据流

48、:数据流编号数据流名称简述数据流来源数据流去向数据流组成数据流量高峰流量1采购单采购人员采购原料的单据供应商采购人员原料号+供应商号+进货量30次/月60次/月3退货单采购人员发出的退货单采购员供应商原料号+供应商号+退货量2次/月5次/月4顾客订单顾客给酒店的订单顾客酒店管理员订单号+菜品号+用餐时间+要求30000次/月50000次/月5配送单酒店安排送餐并返回给顾客的消费单酒店顾客订单号+送餐员27000次/月46000次/月6退订单顾客给酒店的退订单顾客酒店订单号+菜品编号+用餐日期300次/月400次/月附录3 (1)基本表:create table Supplier( Sno va

49、rchar(10)primary key, Sname varchar(20)not null, Sph varchar(15)not null, Sadd varchar(20)create table Good( Gno varchar(10) primary key, Gname varchar(20) not null, Gprice number, Gquatity varchar(10)create table Supply( Gno varchar(10), Sno varchar(10), Snum number, Sdate date, primary key(Gno,Sno

50、), foreign key(Sno)references Supplier(Sno), foreign key(Gno)references Good(Gno)create table Dish( Dno varchar(10) primary key, Dname varchar(20) not null, Dprice number, Dintro varchar(100)create table GforD( Dno varchar(10), Gno varchar(10), Usenum number, primary key(Dno,Gno), foreign key(Dno)re

51、ferences Dish(Dno), foreign key(Dno)references Dish(Dno)create table DeliverPer( Deliverno varchar(10) primary key, Delivername varchar(20) not null, Deliverph char(15) not null, isDeliver number check(IsDeliver in(0,1)create table Discount_ruler( Vgrade int primary key, discount float not null uniq

52、ue )create table Consumer( Cno varchar(10) primary key, Cname varchar(20) not null, Cph varchar(15)not null, Cadd varchar(20) not null, Cmon number, Vgrade number, foreign key(Vgrade)references Discount_ruler(Vgrade)create table OrderMenu( Orderno varchar(10) primary key, Cno varchar(10) not null, e

53、atTime datetime not null, foreign key(Cno) references Consumer(Cno)create table DishMenu( Orderno varchar(10), Dno varchar(10), Dishnum number not null, Exquest varchar(50), primary key(Orderno,Dno), foreign key(Orderno)references OrderMenu(Orderno), foreign key(Dno)references Dish(Dno)create table DeliverMenu( Orderno varchar(10), Deliverno varchar(10), primary key(Orderno,Deliverno), foreign key(Ordern

温馨提示

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

评论

0/150

提交评论