餐饮下单管理系统设计内容摘要:

费时间,餐桌编号,服务员编号) 菜谱 _订单( 订单编号,菜品编号 ,菜品名称,菜品数量) 消费记录( 订单号 ,消费金额,折扣后金额,账单时间) 折扣规则( 消费金额 ,折扣) 优化处理 1) 确定数据依赖。 2) 对各 个关系模式间的数据依赖进行极小化分析,减小冗余。 3) 按照数据依赖的理论对关系模式进行分析,看是否存在部分函数依赖或函数传递或多值依赖等,确保各关系模式满足第三范式。 4) 按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。 5) 对关系模式进行必要的分解,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。 用户子模式建立 . 名称 描述 插入新顾客信息 若是新顾客,则插入顾客的信息,姓名,性别等 下单就位 顾客来餐,下订单, 分配餐桌 点菜 存储顾客所点的菜品 删除菜品 删除顾客所点的某菜品 修改菜品数量 修改顾客所点的某菜品的数量 查询顾客点菜信息 查询顾客所点的菜品 消费总额 计算顾客本次消费的总额。 顾客支付完账单时,把消费信息存档到消费记录中 结账后更改餐桌状态 当顾客结账后,把餐桌状态改为“空” 删除菜谱中菜品 删除菜谱中存在的某菜品 修改菜品价格 修改菜谱中某菜品的价格 向菜谱添加菜品 向菜谱添加新菜品 trig_discount 触发器,顾客进行结账时,消费金额在不同的区间会有不同的折扣。 trig_Sales_bill 触发器,当消费金额达到一定额数时,会送相应优惠券 trig_Menus 触发器,当向菜谱添加新菜品,若该菜品名称含有“红”字,会发出“ 此后生意必定红红火火 ”的祝福语。 数据库在物理设备上的存储结构与存取方法就是数据库的物理结构,它依赖于选定的数据库管理系统,为一个给定的逻辑数据模型选取一个最合适的应用环境的物理结构过程,就是数据库的物理设计。 这一阶段主要任务时确定数据库的物理结构,并不断的进行优化处理,主要建立索引,触发器,存储过程。 . 存储过程 存储过程可以实现数据库操作的增删改功能,在执行时需要调用。 御用像函数一样,也可以有参数的参与。 定义存储过程提供了过程封装的效果,执行只需要调用,在更大程度上简化了数据处理过程。 餐饮管理具体存储过程名称和作用详见 ,具体代码详见第 部分 触发器 餐饮管理具体触发器的名称和作用详见 ,具体代码详见第 部分 在 SQL 中数据库实施 数据库及数据库对象的建立 create database Restaurant_Management 建表 create table Menus 菜谱 (Dishno varchar(10) primary key, Dishname varchar(10), Dishclass varchar(10), Dishprice float, ) create table Customer 顾客 (Customerno varchar(10) primary key, Customername varchar(10) not null, Customersex varchar(4) check (Customersex=39。 男 39。 or Customersex=39。 女 39。 ) not null, Customerphoneno varchar(20) unique not null, ) create table Foodtable . 餐桌 (Foodtableno varchar(10) primary key, seatingno int not null, Foodtablestate varchar(6)check(Foodtablestate=39。 空 39。 or Foodtablestate=39。 有人 39。 ), ) drop table Oder create table Oder 订单 (Oderno varchar(10) primary key, Customerno varchar(10) not null, consumetime datetime not null, Foodtableno varchar(10) not null, Workerno varchar(10) not null, foreign key(Customerno) references Customer(Customerno), foreign key(Foodtableno)references Foodtable(Foodtableno), foreign key(Workerno) references Worker(Workerno), ) create table Worker 员工 (Workerno varchar(10) primary key, Workername varchar(10), Workersex varchar(4) check(Workersex=39。 男 39。 or Workersex=39。 女 39。 ), Workerage int, Workersalary int, ) drop table Menus_Oder create table Menus_Oder 点菜 (Oderno varchar(10), Dishno varchar(10), Disnname varchar(10), Dish_amount int not null, Primary key(Dishno,Oderno), foreign key(Dishno) references Menus(Dishno), foreign key(Oderno) references Oder(Oderno), ) drop table Sales_bill create table Sales_bill 销售账单 ( Oderno varchar(10) primary key , . Consumption float, after_discount float, Billtime datetime, foreign key(Oderno) references Oder(Oderno) ) drop table Discount_rules create table Discount_rules 折扣规则 (Consumption float primary key, Discount float, ) 数据入库 本系统采用将数据逐条录入的方法。 数据库测试 对建立的数据库及数据库对象进行测试 ( 1) 存储过程 插入 新顾客信息 drop procedure 插入新顾客信息 create procedure 插入新顾客信息 (@Customerno varchar(10), @Customername varchar(10), @Customersex varchar(4), @Customerphoneno varchar(20) ) as insert into Customer values(@Customerno,@Customername,@Customersex,@Customerphoneno) select * from Customer 验证 execute 插入新顾客信息 39。 11269939。 ,39。 李阳 39。 ,39。 男 39。 ,39。 1341384306539。 下单就位 . drop procedure 下单就位 create procedure 下单就位 (@Oderno varchar(10) , @Customerno varchar(10), @consumetime datetime, @Foodtableno varchar(10), @Wokerno varchar(10) ) as begin transaction 开始事务 insert into Oder values(@Oderno,@Customerno,@consumetime,@Foodtableno,@Wokerno ) if ((select Foodtablestate from Foodtable where Foodtableno=@Foodtableno)39。 空 39。 ) begin print 39。 该餐桌有人,请重选餐桌。 39。 Rollback tran return end else begin update Foodtable set Foodtablestate =39。 有人 39。 where Foodtableno=@Foodtableno print 39。 下单成功,请就位开始点菜 39。 end mi。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。