数据库餐饮设计

第1章 系统概述

数据库系统设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据库操作要求。数据库设计的基本步骤包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行和维护。

1.1 系统概述

1.1.1 实验目的与要求

1、通过实验加深对数据完整性的理解,学会创建和使用触发器。

2、通过实验加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。

3、通过实验了解SQL Server的数据备份和恢复机制,掌握SQL Server中数据库备份和恢复的方法。

4、根据数据库系统设计的基本步骤,完成某一具体数据库系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施和数据库运行维护等功能。

1.1.2设计背景及意义

                 当前,我国社会稳定、人民生活水平不断提高,而餐饮服务行业也因此而发展迅猛,消费持续增长。但餐饮企业具有货品繁多、菜品多样、价格多变、折扣灵活、现金量大以及报表需求复杂多样等行业特点;这就迫切需要标准的、高效率的管理方式引导餐饮行业的发展。随着时代的发展,人们对于美食的热情日益高涨,对于各个菜系都有不同的需求,我们饭店把顾客的要求放在第一位,高新聘请几位名厨带着他们的拿手名菜,给顾客不同的美食享受。实行电子化的餐馆管理,可以让主管人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。餐馆管理信息系统的实现可以减轻比较繁琐的手工管理。本文主要为那些餐饮小企业规划,为了使他们在激烈的市场竞争中生意兴隆,也为了改善和保证广大消费者的切身利益而出谋划策。

第2章 系统分析

2.1 系统分析

2.1.1了解系统需求

    餐厅管理涉及的实体有:

    客人  属性有客人编号、桌号、人数、到达时间、客人类型

    菜单  属性有菜单编号、菜肴编号、份数、口味

    菜肴  属性有菜名、菜肴种类

    收银单  属性有收银单编号、应收金额、折扣、实收金额、收银时间

    账目  属性有帐目编号、消费金额、用餐持续时间、客户类型

这些实体之间的联系如下:

 一桌客人对应一个菜单,多桌客人可以使用相同的菜单,因此客人与菜单有多对一的联系。

 客人、收银单、账目之间存在一对一的关系,即一桌客人只对应一个收银单,一个收银单只对应一条账目记录,一个收银单只对应一桌客人。

菜肴和菜单之间存在一对一联系,一个菜肴编号对应一个菜名,用菜价来表示菜肴的价格。

2.1.2关系模型

客人(客人编号,桌号,人数,客人类型)

菜单(菜单编号,菜肴编号,份数,口味)

收银单(收银单编号,应收金额,折扣,实收金额)

账目(账目编号,客户类型,消费金额)

菜肴(菜肴,菜肴种类)

第3章 数据库设计

3.1数据库设计

3.1.1 概念结构设计

E-R图:

  客人

客人编号

桌号

人数

客人类型

菜单

口味

份数

菜肴编号

菜单编号

点菜

收银单

收银单编号

应收金额

折扣

实收金额

账目

账目编号

消费金额

客户类型

对应

菜肴

菜肴

菜肴种类

价格

菜价

1

1

1

n

1

1

1

  客人

客人编号

桌号

人数

客人类型

菜单

口味

份数

菜肴编号

菜单编号

账目

账目编号

消费金额

客户类型

菜肴

菜肴

菜肴种类

收银单

收银单编号

应收金额

折扣

实收金额

3.1.2逻辑结构设计:

总体表预览

表名称

表信息描述

CustomerInfo

客人信息表

FoodList

菜单信息表

FoodInfo2

菜肴信息表

       ChargeInfo

          收银信息表

AccountInfo

          账目信息表

       OrderInfo

点菜信息表

C_C_A

客人、收银单、账目对应关系

PriceInfo

价格信息表

 
           

客人信息表CustomerInfo

描述

字段

类型

客人编号

Cusno

Int

桌号

Tableno

shortint

人数

Cusnum

shortint

客人类型

Ctype

char(4)

菜单信息表FoodList

描述

字段

类型

菜单编号

Mno

Int

菜肴编号

Fno

smallint

份数

Fnum

smalltint

口味

Ftaste

Char(4)

菜肴信息表FoodInfo2

描述

字段

类型

菜名

Fname

varchar(20)

菜肴种类

Fkind

char(4)

 

收银信息表ChargeInfo

描述

字段

类型

收银单编号

Chargeno

Int

应收金额

Spay

int

折扣

Discount

int

实收金额

Rpay

int

账目信息表AccountInfo

描述

字段

类型

账目编号

Accountno

Int

消费金额

Pay

Int

客户类型

Ctype

char(4)

点菜信息表OrderInfo

描述

字段

类型

客人编号

Cusno

Int

菜单编号

Mno

Int

 

客人、收银单、账目对应关系表C_C_A

描述

字段

类型

客人编号

Cusno

Int

收银单编号

Chargeno

Int

账目编号

Acountno

Int

价格信息表PriceInfo

描述

字段

       类型

菜名

Fname

varchar(20)

菜肴编号

Fno

smallint

价格

Price

smallint

3.1.3表的设计

创建数据库:

      create  database  inn;

创建表:

创建表CustomerInfo:

create  table  CustomerInfo (

          Cusno  int  primary key,

          Tableno  smallint  not null,    

          Cusnum  smallint  not null,

          Custype  char(4)  not null,

          check(Custype='普通' or Custype='VIP')

);

创建表FoodInfo2:

create  table  FoodInfo2(

          Fname  char(50) UNIQUE,         

          Fkind  char(10)  not null

);

创建表ChargeInfo:

create  table  ChargeInfo (

         Chargeno  int  primary key,

         Spay  int,

         Discount  int,

         Rpay  int

);

创建表AccountInfo:

create  table  AccountInfo (

         Accountno  int  primary key,

         Pay  int,

         Ctype  char(4)

);

创建表C_C_A:

create  table  C_C_A (

         Cusno  int  primary key,

         Chargeno  int  not null,

         Accountno  int  not null   

);

  创建表PriceInfo:

create  table  PriceInfo(

          Fno   int   primary key,  

           Fname   char(20)  not null,

          Price   int   not null 

);

创建表FoodList:

create  table  FoodList (

          Mno  int,

          Fno  int,  

          Fnum    int  not null,  

          Ftaste   char(4),

          primary  key(Mno,Fno),

          foreign  key (Fno)  references  PriceInfo(Fno)

);

创建表OrderInfo:

create table OrderInfo (

          Cusno  int,

          Mno  int,

          primary  key (Cusno,Mno),

          foreign  key (Cusno)  references  CustomerInfo(Cusno)

);

 3.1.4物理结构设计

     创建索引:

        create index index_PriceInfo on PriceInfo(Fno);

            create index index_FoodList on FoodList(Mno);

         create index index_OrderInfo on OrderInfo(Mno);

        create index index_FoodInfo2 on FoodInfo2(Fname);

        create index index_CustomerInfo on CustomerInfo(Cusno);

        create index index_ChargeInfo on ChargeInfo(Chargeno);

        create index index_C_C_A on C_C_A(Cusno);

        create index index_AccountInfo on AccountInfo(Accountno);

       创建视图:

         create view Kitchen

as

select Mno,Fname,Fnum,Ftaste

from FoodList,PriceInfo;

        

create view Delivery

         as

         select Tableno,Fname,Fnum,Cusnum

         from FoodList,CustomerInfo,OrderInfo,PriceInfo

         where FoodList.Mno=OrderInfo.Mno and OrderInfo.Cusno=

         CustomerInfo.Cusno and PriceInfo.Fno=FoodList.Fno;

3.1.5数据库实施

     1、 插入数据:

      插入数据到表FoodInfo:

                           insert into FoodInfo2 values('干锅千页豆腐','推荐');

insert into FoodInfo2 values('手撕包菜','素菜');

insert into FoodInfo2  values('水煮鱼片','荤菜');

insert into FoodInfo2  values('香干回锅肉','荤菜');

insert into FoodInfo2 values('油淋茄子','素菜');

插入数据到表PriceInfo:

insert into PriceInfo values(001,'干锅千页豆腐',16);

insert into PriceInfo values(002,'手撕包菜',6);

insert into PriceInfo values(003,'水煮鱼片',15);

insert into PriceInfo values(004,'香干回锅肉',10);

insert into PriceInfo values(005,'油淋茄子',6);

插入数据到顾客表:

insert into customerinfo values('01','1','5','vip');

insert into customerinfo values('02','2','4','普通');

insert into customerinfo values('04','1','5','vip');

insert into customerinfo values('04','1','5','vip');

insert into customerinfo values('05','1','5','vip');

insert into customerinfo values('06','1','5','vip');

insert into foodlist values('01','02','2','微辣');

insert into foodlist values('01','03','1','微辣');

insert into foodlist values('01','05','1','微辣');

insert into foodlist values('01','01','1','微辣');

insert into foodlist values('02','01','1','微辣');

insert into foodlist values('02','02','1','微辣');

insert into foodlist values('02','04','1','微辣');

创建触发器:

delimiter $$

create trigger DELETE_FOODINFO2 after delete

on FoodInfo2 for each row

begin

  delete from PriceInfo where PriceInfo.Fname=Fname;

end$$

delimiter ;

创建存储

create procedure p_s()

reads sql data

begin select * from priceinfo;

end$$

create procedure p_s2()

reads sql data

begin select * from foodinfo;

end$$

第4章 结束语

餐馆管理系统基本开发完毕。本系统所用到的知识中的大部分来自于《数据库系统概论》这本书。进行测试运行时,基本达到了目的。但由于时间仓促以及编程经验的不足和知识水平有限,系统存在的问题比较多,系统的功能太简单,可进行的操作太少,一些功能在实现起来也不太理想。

在本项目开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。一些以前没有学得很杂实的课程的内容,,经过一段时间的钻研,对与这些知识点的相关的背景,学习起来也越来越有兴趣。

由于我的经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,我会在学习过程中,根据设计的具体要求不断的完善,争取使该系统慢慢趋向完美。

补充:E-R图(上边图被转码转成鬼样子了只能截图放这里了)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/67466.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

点餐系统设计与实现

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于java的外卖点菜系统,管理员通过后台添加菜品,用户浏览器登录,查看菜品、购买、下单等。根据需求,本系统采用的是BS(Browser Server简称浏览器服…

餐饮数据可视化实例

目录 1、创建数据库以及表结构 2、向数据库导入数据 3、从数据库中提取数据 4、数据清洗 5、PowerPivot 6、体系指标的计算 指标①:销售金额 指标②:折扣金额 指标③ :折扣率 指标④: 台数 指标⑤: 翻台…

餐饮后台管理系统

一、项目介绍: 用于每天的菜品数据分析,客户的管理,员工的管理,查看订单信息,菜品的添加或者下架管理 二、项目使用技术栈: vue2全家桶、element-ui、axios、js、es6、echarts 三、主页效果图&#xff…

点餐系统(设计模式)

同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,结合设计模式(2种以上)至少实现系统的以下功能: 正常餐品结算和找零。 基本套餐结算和找零。 使用优惠劵购买餐品结…

餐饮企业数据可视化大屏(智慧餐饮)

随着信息技术的深入发展,数据大屏的适用场景日益广泛,集工作汇报、实时监控和预测分析等功能于一身。 数据可视化的本质是视觉对话,数据可视化将数据分析技术与图形技术结合,清晰有效地将分析结果信息进行解读和传达。 当前很多餐…

163邮箱和qq邮箱如何开启pop和IMAP授权

首先是163邮箱,首先在主页上选择设置在设置里选择接下来就要开启权限,打钩就行了选择客户端授权密码,设置在第三方邮件的登录密码,这个密码就是在第三方客户端登陆的密码。 QQ邮箱同样先选择设置,然后选择账户&#xf…

在Outlook2007中设置QQ邮箱为IMAP/SMTP服务器

写Outlook设置QQ邮箱的攻略很多,但是都设置成POP3服务器。原本以为设置IMAP服务器流程一致,没想到低估了outlook和腾讯的麻烦程度。搞了一上午终于正确设置,写下来给有需要的人参考。 ——————————————————————————…

oracle qq邮箱不能用,QQ邮箱怎么不能用?QQ邮箱崩了官方公告

很久不用一次的QQ邮箱出现了大规模的崩溃,在5月6日突然有小伙伴反映,QQ邮箱PC端出现报错,就算是换了浏览器也没有用,那么这究竟是什么情况?我们可以从官方给出的公告来了解,遇到这个问题的用户一起来看看吧…

语音识别使用推荐(讯飞、百度、腾讯、云知声等)

科大讯飞 http://www.xfyun.cn/default/online_demo 百度 https://www.baidu.com/link?urlGBbcO2NttzpFelhAWOSqrjSJ7EHyuFUT_R4c3PXMfVa&wd&eqiddbc31d4600009c600000000559e45bac 腾讯 https://cloud.tencent.com/product/asr 云知声 http://dev.hivoice.cn/ 推…

科大迅飞语音听写(流式版)WebAPI,Web前端、H5调用 语音识别,语音搜索,语音听写

前言 由于公司有个Web项目需要用到语音搜索功能,找了一些第三方库都不太理想,要么语音识别速度很慢,要么不能精确识别等等,最后选择了迅飞语音(迅飞语音听写(流式版)WebAPI)。迅飞语…

安卓接入讯飞语音识别

#因为该项目不适合图形展示,所以无图 需要使用录音功能,那么虚拟机是不行的,只能使用真机测试 集成到项目中,需要将讯飞SDK里的内容搬到项目对应位置 在AndroidMainfest.xml中添加相应权限,安卓多少版本需要在代码中动…

腾讯、百度、讯飞 语音识别

一、腾讯语音识别—一句话语音识别 1、账号申请 (1)搜索腾讯云官网 https://cloud.tencent.com/?fromSourcegwzcw.2212127.2212127.2212127&utm_mediumcpd&utm_idgwzcw.2212127.2212127.2212127 (2)打开语音识别 腾…

js pink老师

JS 基础 输入和输出语法 向body输出内容 document.write("<h1>眼泪为你唱歌</h1>")窗口弹出内容 alert("将军")控制台打印内容 console.log("勇敢的面对");输入语句 prompt("蓝色的雨")输入语句输出到页面 const n…

新增WebDB和ChatGPT组件,支持对ChatGPT资产进行纳管,JumpServer堡垒机v3.5.0发布

2023年7月24日&#xff0c;JumpServer开源堡垒机正式发布v3.5.0版本。在这一版本中&#xff0c;新生代数据库连接组件——问题终结者Chen强势来袭&#xff0c;替代原有的OmniDB组件&#xff0c;在兼容旧版本的同时&#xff0c;解决了旧组件性能不足的问题&#xff0c;为用户提供…

新增 WebDB 和 ChatGPT 组件,支持对 ChatGPT 资产进行纳管,JumpServer 堡垒机 v3.5.0 发布

▲图 1 新增 Web 可视化数据库连接组件 Chen&#xff0c;替代原有的 OmniDB 组件 2. 新增 GPT 资产连接组件 Kael&#xff0c;支持纳管 ChatGPT 资产 在 JumpServer v3.5.0 版本中&#xff0c;新增 Kael 组件。该组件集成了 GPT 平台&#xff0c;支持对 ChatGPT 资产进行纳管…

毕业设计\毕业论文论文下载查询\查重降重\PPT工具合集

目录 各类工科毕业设计源码下载 论文查询\下载 广西壮族自治区图书馆 国家哲学社会科学文献中心 OALib 查重 万方免费查重&#xff08;应届生免费一次&#xff09; 降重 秘塔写作猫 火龙果写作 PDF工具 PDF Shaper 思维导图 GitMind 开题报告\答辩 PPT 第一pp …

android绑定两个ip,安卓手机模拟器如何多开切换IP防封号的最新方法介绍

原标题&#xff1a;安卓手机模拟器如何多开切换IP防封号的最新方法介绍 很多手游玩家、工作室和网吧用户想在电脑上登手机游戏&#xff0c;其实在电脑上装一个手机模拟器就可以了&#xff0c; 而且可以改不同的IP地址&#xff0c;实现游戏无限多开&#xff0c;今天小编就来为大…

手机上什么App能连接mysql_这款APP让你的手机瞬间变身服务器,php+mysql,太硬核了!...

话不多说&#xff0c;开搞。 舞剑前面介绍了两款 Web 前端编辑神器&#xff0c;一款是 HopWeb&#xff0c; 适合新手开发小型项目&#xff0c;一款是 EasyWeb&#xff0c;适合进阶开发大型项目。 不管是小型项目还是大型项目&#xff0c;最终目的都是为了上线&#xff0c;这两款…

AndroidStudio连接不上真机的全面分析(真的超详细不是你打我)

前言 写这篇文章之前呢&#xff0c;我只想说我心很累。今天码代码码的好好的&#xff0c;结果在码好之后进行真机测试的时候突然发现连不上手机了 WDNMD&#xff01;&#xff01;&#xff01;本来被代码就搞得焦头烂额&#xff0c;这个时候仿佛我的手机也不嫌事大一般&#xf…

google android模拟器多系统,Android模拟器安装教程_体验google_Android系统手机

1、下载Android SDK&#xff1a;SDK由官方网站提供,官方下载地址&#xff1a;http://dl.google.com/android/android-sdk_r05-windows.zip (大小22M&#xff0c;如果点击不能下载&#xff0c;请复制地址到下载软件中进行下载)要了解更多也可以访问官方网站&#xff1a;http://d…