小型餐饮管理系统功能模块设计

合集下载

餐饮管理系统(设计文档)

餐饮管理系统(设计文档)

餐饮管理系统开发环境和运行环境:开发环境:WindowsXP运行环境:Windows2000/WindowsXp开发工具:Eclipse ,SQL-Server 2005编程语言:Java ,T-SQL系统简介:本餐饮管理系统是基于餐饮行业的需求而开发的,适用餐饮管理业务,拥有基本的餐饮管理功能如:系统主界面:1.来宾登记1)客开单:功能建立宾客消费帐,本模块为每位来店宾客指定一个包厢(餐台),是宾客消费的开始。

2)餐台状态:功能此项操作可手动修改处于非占用状态的餐台状态为”可供”、“预订”、“停用”等状态。

3)预订管理:功能此项功能可以完成增加预订、修改预订、删除预订,预订情况的查询、导出、打印等功能。

4)退出系统:功能此项操作可中断本系统的运行并退回到操作系统。

2.点单消费1)增加消费:功能凡在店接受服务(已登记)的宾客,可以通过点单操作提出消费要求,本模块将为接受消费的客人安排所需的消费服务并记录在册,本模块只对具体的消费项目进行登记。

2)个人消费明细查询: 功能此模块用来查询当前在店消费宾客已记录在册的消费清单(一般根据宾客的要求或某种特殊需要会用到此模块)。

3)服务生查询:功能此模块用来查询已记录在本系统的所有服务生的详细信息,可按服务生所在区域分类查询、导出、打印服务生信息。

3.收银结账1)宾客结账:功能本模块将自动统计每个登记客人在店时所发生的所有消费额和应付款额,并完成结帐收银操作。

2)挂账单结账功能本模块对已经离店但尚未结帐并进行挂账处理的帐单进行结帐操作。

3)结账状态查询:功能用分类查询结账宾客、挂账宾客、免费宾客、退单宾客的消费情况。

4.营业查询1)收银明细查询功能用于按收款人根据给定的时间分类查询其收款明细。

2)营业情况报表功能用于统计当天、当月或指定时间范围内的营业收入。

5.会员管理1)基本信息管理功能此模块用于增加会员、修改会员信息、删除会员、会员信息的查询、导出和打印等功能。

餐饮管理系统解决方案

餐饮管理系统解决方案

餐饮管理系统解决方案一、引言餐饮行业是一个竞争激烈且不断发展的行业,为了提高餐饮企业的管理效率和服务质量,餐饮管理系统应运而生。

本文将详细介绍餐饮管理系统的解决方案,包括系统的功能模块、技术架构、实施流程和预期效果等。

二、功能模块1. 餐厅管理模块:- 桌台管理:包括预订、开台、换台、并台等功能,能够实时显示餐位状态,提高用餐效率。

- 菜品管理:实现菜品的分类、上架、下架、价格调整等功能,方便餐厅进行菜品管理和调整。

- 库存管理:自动记录库存信息,提醒库存不足,避免因库存不足而影响餐厅运营。

- 人员管理:包括员工信息、工作排班、考勤管理等功能,提高员工管理的效率和准确性。

- 财务管理:实现收支记录、财务报表生成等功能,方便餐厅进行财务管理和分析。

2. 点餐系统模块:- 线上点餐:顾客可以通过手机或电脑访问餐厅的网站或应用,浏览菜单、下单并支付,提高点餐效率。

- 线下点餐:餐厅内设有自助点餐终端,顾客可以通过触摸屏自主选择菜品并支付,减少人工操作。

- 订单管理:自动记录顾客的点餐信息,并与后厨系统实时对接,提高订单处理的准确性和效率。

3. 后厨管理模块:- 订单接收:接收顾客点餐信息,自动打印订单票据或显示在厨房显示屏上,提高订单处理的及时性。

- 菜品制作:根据订单信息,显示菜品制作步骤和所需材料,减少制作错误和浪费。

- 出品管理:记录菜品的制作时间和出品时间,提供菜品出品效率的统计和分析。

4. 顾客服务模块:- 会员管理:提供会员注册、积分管理、优惠券发放等功能,增加顾客的黏性和忠诚度。

- 顾客反馈:提供顾客反馈渠道,包括投诉、建议、评价等,帮助餐厅改进服务质量。

三、技术架构餐饮管理系统采用分布式架构,包括前端展示层、应用层、数据层和基础设施层。

1. 前端展示层:- 线上点餐网站或应用:采用响应式设计,适配各种终端设备,提供友好的用户界面和流畅的操作体验。

- 自助点餐终端:采用触摸屏设计,简洁直观的界面,方便顾客自主选择菜品和支付。

餐厅餐饮管理系统设计方案

餐厅餐饮管理系统设计方案

餐厅餐饮管理系统设计方案1. 引言餐厅餐饮管理系统是一种通过计算机技术来管理和优化餐厅餐饮业务的系统。

本文档将介绍餐厅餐饮管理系统的设计方案,包括系统目标、功能模块、技术选型和实施计划等。

2. 系统目标本餐厅餐饮管理系统的目标如下:- 提高餐厅运营效率:通过自动化处理订单、库存管理和人员调度等功能,减少人为错误和时间成本。

- 提升客户体验:通过在线订餐、点餐和支付等功能,提供便捷、高效的服务,增加客户的满意度。

- 精确统计数据:通过系统生成的数据报表,提供决策支持,帮助餐厅管理者更好地了解和优化业务。

3. 功能模块本餐厅餐饮管理系统将由以下功能模块组成:- 订单管理:包括在线预订、点餐、外卖订单等功能,实现订单的自动处理和跟踪。

- 库存管理:实时监控餐厅的库存状况,并生成自动采购建议。

- 菜单管理:用于管理菜品信息、价格和推荐等内容,便于更新和调整菜单。

- 人员调度:协助管理餐厅员工的排班和工作任务,提高人力资源利用效率。

- 数据分析:生成各类报表和统计数据,帮助餐厅管理者进行业务分析和决策。

4. 技术选型在本餐厅餐饮管理系统的设计中,我们将采用以下技术:- 后端开发:选择适合的后端开发语言和框架,如Java Spring、Python Django等,实现系统的业务逻辑和数据处理。

- 数据库:选用可靠的关系型数据库管理系统,如MySQL、Oracle等,存储和管理系统的数据。

- 安全性考虑:采用数据加密、访问控制和身份认证等安全机制来保护系统和用户数据的安全性。

5. 实施计划为了确保餐厅餐饮管理系统的顺利实施,我们将采取以下步骤:1. 需求分析:与餐厅管理者和员工进行深入沟通,了解他们的需求和期望。

2. 设计和开发:根据需求分析的结果,进行系统的设计和开发工作,包括数据库设计、前后端逻辑实现等。

3. 测试和优化:对系统进行全面测试,发现和修复可能存在的问题,并进行性能优化和功能完善。

4. 部署和培训:将系统部署到餐厅的服务器上,并对管理人员和员工进行培训,确保他们能够熟练使用系统。

餐饮管理系统解决方案

餐饮管理系统解决方案

餐饮管理系统解决方案一、引言餐饮行业作为服务行业的重要组成部分,对于提供高质量的餐饮服务和管理效率的提升有着重要的作用。

传统的餐饮管理方式已经无法满足日益增长的市场需求,因此,引入餐饮管理系统成为了一个必然的选择。

本文将详细介绍餐饮管理系统解决方案,包括系统的功能模块、技术架构、数据管理和用户体验等方面。

二、功能模块1. 订单管理模块:该模块包括订单的创建、修改、取消、查询等功能。

餐饮管理系统可以实现在线预订、外卖订单的管理,提供订单状态跟踪和配送管理等功能,方便餐厅管理人员进行订单的统一管理。

2. 菜单管理模块:该模块包括菜单的添加、修改、删除、查询等功能。

餐饮管理系统可以实现菜单的在线编辑和发布,支持多种菜品分类和推荐菜单的展示,方便顾客浏览和选择。

3. 库存管理模块:该模块包括库存的盘点、入库、出库等功能。

餐饮管理系统可以实时监控库存情况,提醒管理人员及时补充物料,避免因库存不足而导致的服务中断。

4. 员工管理模块:该模块包括员工信息的录入、修改、查询等功能。

餐饮管理系统可以记录员工的基本信息、工作时间和工资等数据,方便管理人员进行人力资源的调配和工资计算。

5. 财务管理模块:该模块包括财务报表的生成、收支记录的管理等功能。

餐饮管理系统可以自动生成财务报表,包括营业额、成本、利润等数据,方便管理人员进行财务分析和决策。

三、技术架构餐饮管理系统采用分布式架构,包括前端展示层、后端服务层和数据库层。

1. 前端展示层:采用Web前端技术,使用HTML、CSS和JavaScript等技术实现用户界面的展示和交互。

通过响应式设计,适配不同终端的设备,提供良好的用户体验。

2. 后端服务层:采用Java语言,使用Spring框架实现后端服务的开发。

通过RESTful API提供各个功能模块的接口,实现前后端的数据交互和业务逻辑的处理。

3. 数据库层:采用关系型数据库,如MySQL或Oracle等,存储系统的数据。

餐饮管理系统解决方案

餐饮管理系统解决方案

餐饮管理系统解决方案一、引言餐饮行业作为服务性行业的重要组成部分,对于提供高质量的餐饮服务和管理效率的提升有着重要的作用。

随着科技的发展和信息化的普及,餐饮管理系统成为了餐饮企业提升管理水平和服务质量的有效工具。

本文将详细介绍餐饮管理系统的解决方案,包括系统的功能模块、技术架构和实施步骤等。

二、系统功能模块1. 前台收银管理模块:该模块主要包括餐桌管理、点菜下单、结账等功能。

通过该模块,服务员可以实时掌握餐桌的使用情况,方便客人点餐,并进行结账操作。

同时,系统还可以提供菜品的推荐和促销活动的展示,提升客户的消费体验。

2. 后厨管理模块:该模块主要负责菜品的制作和配送管理。

通过该模块,厨师可以实时了解客人的点菜情况,并进行菜品的制作安排。

同时,系统还可以通过智能化的配送管理,提高菜品的配送效率和准确度。

3. 会员管理模块:该模块主要用于管理餐饮企业的会员信息和积分管理。

通过该模块,餐饮企业可以实现会员的注册、积分累积和兑换等功能,提升客户的忠诚度和消费频次。

4. 库存管理模块:该模块主要用于管理餐饮企业的原材料和库存情况。

通过该模块,餐饮企业可以实时了解原材料的进货情况和库存量,避免因库存不足或过多导致的经营风险。

5. 数据分析模块:该模块主要用于对餐饮企业的经营数据进行分析和报表生成。

通过该模块,餐饮企业可以实时了解营收情况、菜品销售情况和客户消费偏好等数据,为经营决策提供科学依据。

三、技术架构餐饮管理系统的技术架构包括前端展示层、后端业务逻辑层和数据存储层。

1. 前端展示层:采用响应式设计,支持多种终端的访问,包括PC端、移动端和平板端。

前端使用HTML5、CSS3和JavaScript等技术实现页面的布局和交互效果。

2. 后端业务逻辑层:采用Java语言开发,基于Spring框架实现业务逻辑的处理和管理。

同时,使用Spring MVC框架实现前后端的数据交互和页面跳转。

3. 数据存储层:采用关系型数据库MySQL进行数据的存储和管理。

小型餐饮管理系统功能模块设计

小型餐饮管理系统功能模块设计

小型餐饮管理系统功能模块设计一、设计目标为了实现餐饮行业管理的工作化,小型餐饮管理系统具有以下目标:1.提高餐厅效率——系统可以简化餐厅运营中的许多流程,并提供实时报告,使经理能够更快地做出决策。

2.减少人力和资源的浪费——展示销售数据,监控呼叫中心和为客户提供餐饮配送服务,将能使餐厅节省大量的人力和资源。

3.提高流程透明度——系统将增加透明度,使餐厅更容易找到问题。

4.数据分析——通过对餐厅销售数据和员工表现的分析,提供意见和改进方案,使餐厅更高效和优化。

二、系统功能模块1.建立菜单管理模块菜单管理模块是小型餐饮系统最重要的模块之一。

它可以在员工之间创建共享并在多台计算机之间同步。

菜单管理模块应支持查询餐饮品种,并支持更改菜品价格,以及餐饮分类功能。

菜单管理模块应还可以查询菜品的销售情况,并在报表中展示数据。

2.建立订单管理模块订单管理模块使客户可以在餐厅现场或在线下订单。

在餐厅现场下单时,服务员应通过系统输入订单内容。

客户在线下订单时,在线平台将会自动创建新订单。

订单管理模块应支持选择送餐方式(预订、外卖或堂食)。

同时,订单管理模块还应支持订单状态查询,以便客户和经理可以随时查看。

3.建立点餐模块点餐模块应该被设计得易用性强,操作便捷。

使用该模块,客户可以在线或在餐厅现场点餐。

该模块应该支持快速搜索,并具有菜单支持。

另外,点餐模块还可以采用特别效果,例如更具交互性、动画效果、活动提示等。

4.建立库存管理模块餐饮业库存管理是一个复杂的问题。

库存管理模块可以监控餐厅的库存,并在必要时提醒经理。

库存管理模块还应该能够创建库存项,并共享与后厨。

其次,它也要支持禁止特定员工进行库存操作,以确保库存数据的准确性。

5.建立会员管理模块会员管理模块是一个有利可图的模块。

它可以帮助餐厅拥有忠诚的客户,并为会员提供优惠券和促销活动。

会员管理模块还可以提供常用于忠诚度分析,例如最近的行为; 消费最多的时间; 总消费额等。

智慧餐饮管理系统功能设计方案 (2)

智慧餐饮管理系统功能设计方案 (2)

智慧餐饮管理系统功能设计方案智慧餐饮管理系统是为了帮助餐饮行业提高效率和管理水平而设计的一种软件系统。

下面是该系统的功能设计方案:一、前台功能1. 点餐功能:包括菜品分类展示、菜品搜索、菜品详情展示、菜品加入购物车、购物车结算等功能,方便顾客快速浏览和选择菜品。

2. 收银功能:包括扫码支付、现金结算、会员卡支付、优惠券使用等功能,实现快速、准确的收银过程。

3. 预订功能:顾客可以通过系统进行桌位预订,包括选择桌位、预订时间、人数等信息,方便管理餐厅的桌位资源。

4. 排队叫号功能:对于没有预订的顾客,系统可以自动生成排队号,提升顾客等位体验。

二、后台功能1. 菜品管理:包括菜品添加、修改、删除、上架、下架等功能,方便餐厅管理菜品信息。

2. 库存管理:对菜品的库存进行管理,包括库存预警、库存调整、库存报表等功能,提高库存管理的效率和准确性。

3. 订单管理:对所有订单进行管理,包括订单查询、订单修改、订单取消等功能,方便餐厅跟踪订单状态。

4. 会员管理:包括会员信息管理、会员积分管理、会员等级管理等功能,提供个性化的会员服务。

5. 数据统计分析:根据订单数据进行统计和分析,包括销售额分析、菜品热度分析、顾客消费习惯分析等功能,为餐厅决策提供数据支持。

6. 营销活动管理:包括优惠券管理、促销活动管理、会员活动管理等功能,提供灵活的营销策略。

7. 员工管理:包括员工信息管理、考勤管理、权限管理等功能,提高员工管理的效率和工作积极性。

三、移动端功能1. 外卖下单:顾客可以通过移动端在系统中下单外卖,并选择送货时间和地址,方便用户在线购物。

2. 外卖配送:外卖配送员可以通过移动端接受外卖订单,并进行路线规划和配送操作,提高外卖配送效率。

3. 自助点餐:在餐桌上提供移动端设备,顾客可以通过移动端进行自助点菜和支付,减少人员等候时间。

四、技术支持1. 系统安全:系统应具备数据加密、防火墙、权限控制等安全机制,保护餐厅和顾客的数据安全。

易点餐饮管理系统V50餐饮管理系统功能模块介绍

易点餐饮管理系统V50餐饮管理系统功能模块介绍

易点餐饮管理系统V5.0餐饮管理系统功能模块介绍:V5.0餐饮管理系统采用了与世界同步的最先进技术,充分考虑餐饮操作的整个流程,结合大,中,小型各个规模餐饮模式特点开发,操作简单,功能全面,广泛适用于中西餐厅,大型,中型餐饮集团,酒楼,快餐店,酒吧,可任由您在酒楼模式和快餐模式自由切换,使点菜不再难。

本系统包块以下几个功能模块:一、菜品管理模块:对菜品资料进行折扣、会员价、收服务费、推销菜等菜品资料设置;填写供应商提供原料资料,对菜品进行原料配置;收款方式、退菜原因、厨打、菜品优惠券价格设置等二、库存管理模块:采购入库、供应商结算及查询、原料盘点盈亏及损益、原料调拨、报损等三、会员管理模块:会员发卡、充值、积分、会员结算、消费汇总、生日提醒等四、前台管理模块:开台、点菜、拆台、转台、赠菜、催菜、结算、预定、消费查询、结帐单据查询等五、数据查询模块:消费查询、收银查询、折扣查询、营业查询、外卖查询、发票记录查询等六、报表分析模块:营业分析、结算利润分析、销售排行榜、考勤统计、日物料损益、快餐客人信息分析等七、系统功能:营业模式、功能参数、账单格式 (可以自定义) 、打印机、客显、公司信息、操作员及权限、数据库备份设置等八、厨打监控:监控前台所点菜品并且打印出来,查询漏打、已打、待打菜品,补打出品单等九、点菜宝监控模块:手动增加基站和点菜机,保证点菜机和基站的正常通讯,并初始化数据生成点菜机下载数据一、菜品管理模块1、菜品资料设置:定义部门资料信息,对菜品进行分类,菜品资料配置,套菜明细设置。

菜品资料配置时可设置:a.会员价:一个出品菜可以设置三个等级的会员价b.停用:当菜品售完时c.折扣:指菜品参不参与打折d.套菜:如果设置了套菜,可以再去套菜明细中去设置e.收服务费:指菜品可以有服务员提成f.推销菜:可推销的菜品,并可以再后面设置推销提成的方式,有按金额或比例提成g.服务员提成:可以对该菜品设置服务员的提成,并设置提成率2、原料设置:填写供应商提供的原料基本资料,对各个菜品进行原料配置,对半成品进行原料配置3、菜品价格配置可以设置菜品时价、特价菜品、赠送菜品、菜品沽清(菜品已做完,不能再出售)4、其他设置设置菜品、原料单位,收款方式,服务员,退菜原因,出品做法分类,厨打方案,菜品优惠券价格二、库存管理模块1、入库管理录入供应商信息,申请采购,采购入库,已入库的采购单或库存的退货,供应商结算,供应商结算情况查询2、库存管理部门原料库存情况查询,盘点盈亏,盘点损益,库存报警3、其他业务a.调拨:仓库之间的原料的调入,调出b.报损:日常营业中,原料损耗需报损冲减库存三、会员管理1、会员卡资料设置会员卡种类,会员资料,菜品折扣方案,批量制卡2、会员卡管理可进行发卡、充值、退卡、作废3、积分管理计分、积分查询4、会员结算会员结算,付款查询,充值查询,消费汇总查询,生日提醒四、前台管理模块1、前台管理前台营业,设置楼层,台位的特殊收费方式,酒席预定,厨打设置,营业日结(每天都要做,不做就不能生成数据报表)a.前台营业,点击后进入点菜主界面,可进行开台,点菜,拆台,转台,合单,消台,催菜,赠菜,结算等2、前台查询前台消费查询,收银查询,当前台况查询,结账单据查询,交班记录,3、其他管理服务员考勤查询五、数据查询1、菜品消费查询按时间段、账单号对菜品的消费查询,退菜查询,折扣查询,赠送查询2、收银查询某段时间内对应的餐桌付款情况,免单查询,面额明细查询3、折扣查询推销员提成查询,服务员提成查询4、营业查询各个营业段的菜品大类的营业情况5、其他查询外卖查询,优惠券消费查询,礼券发放查询,发票记录查询六、报表分析1、营业分析日营业统计,时段营业分析2、结算利润分析a.销售结算统计:一个营业日内,销售情况和结算情况的一个对比b.营业利润分析:一个营业日内收入情况、耗料成本、提成情况和利润的统计3、销售排行榜可以按菜品和桌号查询某个营业日内的菜品销售排行4 、其他分析a.考勤统计b.日物料损益报表:查询一个营业日内,各个物料的期初、入库、耗量及损益量情况c.快餐客人信息分析:当前台以快餐模式消费后,查询某个短时间内消费额七、系统功能1、系统设置营业模式的选择,功能参数设置,账单格式设置(可以自定义),打印机设置,客显设置2、信息设置公司信息设置,操作员及权限设置3、数据维护数据库的备份,业务数据的清除,基础数据的导入、导出八、厨打监控启用该模块,监控程序会监控到前台所点菜品并打印出来,可以根据桌位,点菜时间,单号查询漏打菜品,已打菜品,待打菜品,取消打印记录,可以对查询出来的记录进行相关操作,如补打厨打单,补打出品单,补打厨打出品单等九、点菜宝监控该模块用于程序安装后,手动增加基站和点菜机,保证点菜机和基站的正常通讯,并初始化数据生成点菜机下载数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章设计任务与要求目的及意义:此小型餐饮业管理系统的设计主要是为了方便管理,对于各个进出账目,支出和收入的管理便于系统化,在每月汇总计算中分析运营趋势和餐馆的发展方向进行一定的规划。

通过各个月的盈利进行对比,分析那种方式更适合餐馆的有利运营和更好地服务顾客。

实现对餐馆内部各种管理的电子化、自动化,提高各个模块之间的办公效率,为高质量餐馆服务提供保证。

任务:1.能够实现对该系统进行管理的人员的权限限制;2.使餐馆能够及时并灵活的对菜品品种其价位等进行管理;3.为餐馆提供从客户点餐到结算等一系列操作的服务,使之能简单易行、方便、清楚地进行管理第二章系统功能分析一.功能需求:餐饮管理系统中主要包括对以下几种管理:账单管理,财务管理,订餐管理,菜品管理,系统管理。

(1)系统管理:系统管理包括用户名和密码,主要用于用户登陆界面登陆和查询。

(2)账单管理:账单管理包括账单号和餐台,每一个餐台对应一个一个账单号,通过餐台号的记录来对对应的餐台进行记账管理,即就是记录每一个餐台的消费金额。

账单管理是财务管理的一个小分支,是服务于财务管理的。

(3)财务管理:包括账单号,时间和账目。

账目用于记录账单号的消费金额及时间,以便用于结算和汇总。

每日的结算要通过对每个餐台号的消费金额汇总来记录,然后由每日的结算汇总得出每月的结算。

帐务系统功能的完整性。

一旦该系统正式运行,餐厅每日营业帐和全部往来客户帐务的操作结算都将依靠计算机,该系统面对当前餐饮业各种复杂的结算要求应具有很强的应变能力。

(4)订餐管理:订餐管理仅包括单价。

订餐管理是便于顾客订餐和账单管理时对各个菜品消费金额的记录,这样便于账单管理和财务汇总。

(5)菜品管理:菜品管理包括菜名,菜品类别和菜品品种。

菜品管理便于顾客点菜和记录各个餐台的消费记账,菜品品种也便于餐馆的食材采购。

二. 数据需求:账单管理中账单号是主键,每一个餐台对应一个账单号。

财务管理中账单号是主键,每一个账单号都有对应的时间和账目记录。

订餐管理中单价就是主键。

菜品管理中菜名是主键。

系统管理中用户名是主键。

三. 性能需求:该餐饮系统操作简单方便可适应各类中小型餐馆。

第三章系统功能模块设计一. 在该系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如下功能模块图。

图1 系统功能模块图二. 数据库设计1. 概念结构设计2. 逻辑结构设计3. 数据库实施1) 数据库及表结构的创建设本系统使用的数据库名为小型餐饮业管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQL Server 6.x数据库系统中实现这些逻辑结构。

下面是创建基本表的SQL语句:/* ============================================================ *//* Table: CAIPINGL *//* ============================================================ */create table CAIPINGL(CPGL_NAME char(20) not null,CPGL_DANJIA integer not null,CPGL_LEIBIE char(8) null ,CPGL_PINGZHONG char(8) null ,CPGL_DIANCAI integer null ,constraint PK_CAIPINGL primary key (CPGL_NAME, CPGL_DANJIA))go/* ============================================================ */ /* Table: XTGL */ /* ============================================================ */ create table XTGL(USERNAME char(20) not null,PASSWORD char(8) not null,constraint PK_XTGL primary key (USERNAME, PASSWORD))go/* ============================================================ */ /* Table: ZHANGDAGL */ /* ============================================================ */ create table ZHANGDAGL(ZHANGDAN_NUMBER numeric not null,ZHANGDAN_CANTAI numeric null ,CAI_ZHANGDAN_NUMBER numeric null ,constraint PK_ZHANGDAGL primary key (ZHANGDAN_NUMBER))go/* ============================================================ */ /* Index: RELATION_383_FK */ /* ============================================================ */ create index RELATION_383_FK on ZHANGDAGL (CAI_ZHANGDAN_NUMBER)go/* ============================================================ */ /* Table: CAIWUGL */ /* ============================================================ */ create table CAIWUGL(ZHANGDAN_NUMBER numeric not null,CAIWU_TIME timestamp null ,CAIWU_AMOUNT char(10) null ,constraint PK_CAIWUGL primary key (ZHANGDAN_NUMBER))go/* ============================================================ */ /* Table: DINGCANGL */ /* ============================================================ */create table DINGCANGL(ZHANGDAN_NUMBER numeric not null,DCGL_NAME char(20) not null,DCGL_DANJIA int not null,constraint PK_DINGCANGL primary key (ZHANGDAN_NUMBER, DCGL_NAME, DCGL_DANJIA))go/* ============================================================ *//* Index: RELATION_451_FK *//* ============================================================ */create index RELATION_451_FK on DINGCANGL (ZHANGDAN_NUMBER)go建立相关触发器,执行级联删除* ============================================================ *//* Database name: MODEL_1 *//* DBMS name: Microsoft SQL Server 6.x *//* Created on: 2010-1-21 18:15 *//* ============================================================ *//* Insert trigger "ti_caiwugl" for table "CAIWUGL" */create trigger ti_caiwugl on CAIWUGL for insert asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "ZHANGDAGL" must exist when inserting a child in "CAIWUGL" */if update(ZHANGDAN_NUMBER)beginif (select count(*)from ZHANGDAGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrowsbeginselect @errno = 30002,@errmsg = 'Parent does not exist in "ZHANGDAGL". Cannot create child in "CAIWUG L".'goto errorendendreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Update trigger "tu_caiwugl" for table "CAIWUGL" */create trigger tu_caiwugl on CAIWUGL for update asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "ZHANGDAGL" must exist when updating a child in "CAIWUGL" */if update(ZHANGDAN_NUMBER)beginif (select count(*)from ZHANGDAGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrowsbeginselect @errno = 30003,@errmsg = '"ZHANGDAGL" does not exist. Cannot modify child in "CAIWUGL".' goto errorendend/* Modify parent code of "CAIWUGL" for all children in "ZHANGDAGL" */if update(ZHANGDAN_NUMBER)beginupdate ZHANGDAGLset CAI_ZHANGDAN_NUMBER = i1.ZHANGDAN_NUMBERfrom ZHANGDAGL t2, inserted i1, deleted d1where t2.CAI_ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBERand (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER)endreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Delete trigger "td_caiwugl" for table "CAIWUGL" */create trigger td_caiwugl on CAIWUGL for delete asbegindeclare@numrows int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Delete all children in "ZHANGDAGL" */delete ZHANGDAGLfrom ZHANGDAGL t2, deleted t1where t2.CAI_ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBERreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Insert trigger "ti_dingcangl" for table "DINGCANGL" */create trigger ti_dingcangl on DINGCANGL for insert asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "ZHANGDAGL" must exist when inserting a child in "DINGCANGL" */ if update(ZHANGDAN_NUMBER)beginif (select count(*)from ZHANGDAGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrowsbeginselect @errno = 30002,@errmsg = 'Parent does not exist in "ZHANGDAGL". Cannot create child in "DINGCA NGL".'goto errorendendreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Update trigger "tu_dingcangl" for table "DINGCANGL" */create trigger tu_dingcangl on DINGCANGL for update asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "ZHANGDAGL" must exist when updating a child in "DINGCANGL" */if update(ZHANGDAN_NUMBER)beginif (select count(*)from ZHANGDAGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.ZHANGDAN_NUMBER) != @numrowsbeginselect @errno = 30003,@errmsg = '"ZHANGDAGL" does not exist. Cannot modify child in "DINGCANGL".' goto errorendendreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Insert trigger "ti_zhangdagl" for table "ZHANGDAGL" */create trigger ti_zhangdagl on ZHANGDAGL for insert asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "CAIWUGL" must exist when inserting a child in "ZHANGDAGL" */if update(CAI_ZHANGDAN_NUMBER)beginselect @numnull = (select count(*)from insertedwhere CAI_ZHANGDAN_NUMBER is null)if @numnull != @numrowsif (select count(*)from CAIWUGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.CAI_ZHANGDAN_NUMBER) != @numrows - @numnullbeginselect @errno = 30002,@errmsg = 'Parent does not exist in "CAIWUGL". Cannot create child in "ZHANGDAG L".'goto errorendendreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Update trigger "tu_zhangdagl" for table "ZHANGDAGL" */create trigger tu_zhangdagl on ZHANGDAGL for update asbegindeclare@numrows int,@numnull int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Parent "CAIWUGL" must exist when updating a child in "ZHANGDAGL" */if update(CAI_ZHANGDAN_NUMBER)beginselect @numnull = (select count(*)from insertedwhere CAI_ZHANGDAN_NUMBER is null)if @numnull != @numrowsif (select count(*)from CAIWUGL t1, inserted t2where t1.ZHANGDAN_NUMBER = t2.CAI_ZHANGDAN_NUMBER) != @numrows - @numnullbeginselect @errno = 30003,@errmsg = '"CAIWUGL" does not exist. Cannot modify child in "ZHANGDAGL".' goto errorendend/* Modify parent code of "ZHANGDAGL" for all children in "CAIWUGL" */if update(ZHANGDAN_NUMBER)beginupdate CAIWUGLset ZHANGDAN_NUMBER = i1.ZHANGDAN_NUMBERfrom CAIWUGL t2, inserted i1, deleted d1where t2.ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBERand (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER)end/* Modify parent code of "ZHANGDAGL" for all children in "DINGCANGL" */if update(ZHANGDAN_NUMBER)beginupdate DINGCANGLset ZHANGDAN_NUMBER = i1.ZHANGDAN_NUMBERfrom DINGCANGL t2, inserted i1, deleted d1where t2.ZHANGDAN_NUMBER = d1.ZHANGDAN_NUMBERand (i1.ZHANGDAN_NUMBER != d1.ZHANGDAN_NUMBER)endreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo/* Delete trigger "td_zhangdagl" for table "ZHANGDAGL" */create trigger td_zhangdagl on ZHANGDAGL for delete asbegindeclare@numrows int,@errno int,@errmsg varchar(255)select @numrows = @@rowcountif @numrows = 0return/* Delete all children in "CAIWUGL" */delete CAIWUGLfrom CAIWUGL t2, deleted t1where t2.ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBER/* Delete all children in "DINGCANGL" */delete DINGCANGLfrom DINGCANGL t2, deleted t1where t2.ZHANGDAN_NUMBER = t1.ZHANGDAN_NUMBERreturn/* Errors handling */error:raiserror @errno @errmsgrollback transactionendgo2) 数据库前台的设计根据数据库的设计,该餐饮业管理系统可以分成四个子模块:▪订餐管理根据客户的点菜单,采用checkbox从已有菜品中选定菜品,并记录。

相关文档
最新文档