1、餐厅点餐记账数据库设计专业:姓名:学号:数据库大作业 机设肖齐 2009001622172目录1、大作业概述 22.需求分析 .2(1 ) 行业现状 2(2 )系统介绍 .2(3 ) 用户需求分析 .2(4 )数据字典 .33、概念结构设计 44、逻辑结构设计 85、物理结构设计 86、视图 167、应用设计 .178、总结 199 附表 20数据库大作业 机设肖齐 20090016221731、大作业概述(1 )数据库作业要求:包括 6 个方面:需求分析,概念结构,逻辑设计,视图,应用设计,总结(2 )自己独立完成,不可百度网上资料。2.需求分析(1 ) 行业现状我国今年来经济不断发展,人们
2、物质生活水平逐步提高,人们对生活质量的要求也越来越高,享受真正自动化、人性化的服务成为了人们追求高质量生活的重要内容。在大多数的餐饮场所点菜、查看菜谱等是人工完成的,速度慢,效率低,极易出错,造成人力物力的极大浪费。然而随着我国市场经济的快速发展,酒店餐饮点菜系统成为酒店提升服务档次,提高办公效率,提高竞争力的关键因素之餐饮业要想跟上发展形势,餐馆点餐的信息化进程也要加快脚步。(2 )系统介绍餐饮点菜系统拥有方便、快捷、效率高、掌控能力强等特点,所以,本系统是针对餐饮行业的点菜而开发的一个系统。开发本系统的总体任务是实现点菜、结帐、查询、统计、设置的功能,(3 ) 用户需求分析本系统的总目标是
3、为用户提供迅速、高效的服务,减免手工处理的繁琐与误差,及时、准确地反映餐厅的工作情况、经营情况,从而提高餐厅的服务质量,获得更好的经济效益。其具体目标包括:数据库大作业 机设肖齐 20090016221741)快速完成顾客的点餐。2)准确无误地记录顾客的每笔消费记录。3)实时、快速、准确地提供最新餐单。4)方便查询顾客消费情况。(4 )数据字典1) 数据项编号 数据项名称 说 明 部 分编号 数 据 项 名 称 说 明 部 分1 菜品编号 整型 有唯一性 2 菜品名称字符串类型 长度3 菜品价格 字符串类型 4 菜品类别字符串类型 特价,普价5 菜品备注字符串类型 有无库存,菜系 6 员工工号
4、整型类型 有唯一性7 员工姓名 字符串类型 8 员工性别字符串类型,男,女9 员工年龄 字符串类型 10 证件号字符串类型 有唯一性11 联系方式 字符串类型 12 点菜单编号整型类型,有唯一性13 点餐菜号 同 1 14 餐金汇总 字符串型15 餐桌桌号 整型类型 有唯一性 16 时间 日期型17 实收金额 字符串类型 18 应收金额 字符串类型19 餐桌名称 字符串类型,有唯一 20 账单编号 字符串类型数据库大作业 机设肖齐 2009001622175性21 就餐编号 整型,有唯一性 数据结构编 号 数 据 结 构 名 属 性1 菜单 菜 单 编 号 , 菜 品 名 称 , 菜 品 价
5、格 , 菜 品 类 型 , 菜 品 备 注2 员工 员 工 工 号 , 员 工 姓 名 , 员 工 性 别 , 员 工 年 龄 , 证 件 号 , 联 系 方 式3 点餐单 点餐单编号、就餐桌号、点餐菜号,餐金汇总,负责员工,时间4 顾客 就餐编号,就餐桌号,时间,人数5 餐桌 餐桌桌号,餐桌名称6 账单 账单编号,账单桌号,时间,应收金额,实收金额,负责员工3、概念结构设计概念结构设计是将分析得到的用户需求抽象为概念模型的过程,即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系的模型。概念结构的主要特点是能真实、充分地反映现实世界,易于理解,易于更改,易于向关系、网
6、状、层次等各种数据模型转换。描述概念模型的有力工具是 E-R 模型(1 )菜单信息 E-R 图菜单菜品类型菜品名称菜品价格数据库大作业 机设肖齐 2009001622176(2 )员工信息 E-R 图(3 )点餐单信息 E-R 图(4 )顾客信息 E-R 图菜品编号 菜品备注负责员工负责员工点餐时间点餐桌号餐金汇总 点餐编号点餐菜号证件号联系方式员工工号员工年龄员工姓名员工性别点餐单顾客时间就餐编号数据库大作业 机设肖齐 2009001622177(5 )账单信息 E-R 图(6 )餐桌信息 E-R 图人数就餐桌号账单实收金额负责员工时间账单编号应收金额餐桌桌号名称账单桌号数据库大作业 机设肖
7、齐 2009001622178(7 )点餐数据库信息 E-R 图菜单账单点餐单负责员工顾客就餐点餐菜品编号菜品价格菜品名称证件号菜品类别负责员工点餐编号餐金汇总点餐桌号点餐菜号菜品备注联系方式员工年龄就餐桌号人数账单编号时间员工姓名员工工号员工性别负责员工应收金额实收金额点餐时间就餐编号账单桌号时间数据库大作业 机设肖齐 20090016221794、逻辑结构设计逻辑结构设计的任务就是把概念模型结构转换成某个具体的 DBMS 所支持的数据模型。设计逻辑结构时,首先是将概念结构转换为一般的关系、网状、层次模型,其次是将转换来的关系、网状、层次模型向特定 DBMS 支持下的数据模型转换,最后是对数
8、据模型进行优化。将餐饮点菜系统的 E-R 图转换成关系数据模型。关系模式如下:菜单(cd): 菜 单 编 号 , 菜 品 名 称 , 菜 品 价 格 , 菜 品 类 型 , 菜 品 备 注员工(yg):员 工 工 号 , 员 工 姓 名 , 员 工 性 别 , 员 工 年 龄 , 证 件 号 , 联 系 方 式点餐单(dcd):点餐单编号、就餐桌号、点餐菜号,餐金汇总,负责员工,时间顾客(gk):就餐编号,就餐桌号,时间,人数餐桌(cz):餐桌桌号,餐桌名称账单(zd) :账单编号,账单桌号,时间,应收金额,实收金额,负责员工5、物理结构设计数据库的物理结构设计是对于给定的逻辑数据模型,选取一
9、个最合适应用环境的物理结构。数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法,它依赖于给定的计算机系统,是在数据库逻辑结构的基础上设计出一组能够满足实际需求的关系、约束、和索引等信息。餐饮点菜系统的数据库表结构如下:数据库大作业 机设肖齐 20090016221710菜单信息表 cd字段名 数据类型 长度 完整性约束 描述Cpbh int 8 Primary key 菜品编号cpnc Char 8 Not null 菜品名称cpjg Char 2 Not null 菜品价格cplx Char 10 Not null 菜品类型cpbz varchar 20 Not null 菜品备注
10、负责员工信息表 yg字段名 数据类型 长度 完整性约束 描述yggh int Primary key 员工工号ygxm Char 8 Not null 员工姓名ygxb Char 2 Not null 员工性别ygnl smallint Not null 员工年龄ygzjh char 20 Not null 证件号ygdh Char 8 Not null 联系方式数据库大作业 机设肖齐 20090016221711点餐单信息表 dcd字段名 数据类型 长度 完整性约束 描述Dcbh int Primary key 点餐编号dcch Int Foreign key 点餐菜号cjhz Char 1
11、0 Not null 餐金汇总dcsj date Not null 点餐时间fzyg int Foreign key 负责员工dczh int Foreign key 点餐桌号顾客信息表 gk字段名 数据类型长度 完整性约束 描述Jcbh Int Primary key 就餐编号Jczh int Foreign key 就餐桌号jcrs Char 8 Not null 人数Jcsj date Not null 就餐时间数据库大作业 机设肖齐 20090016221712(1 )创建餐桌表 cz账单信息表 zd字段名 数据类型长度 完整性约束 描述Zdbh int Primary key 账单编
12、号Zdzh Int Foreign key 账单桌号rqsj date Not null 日期时间ysje Char 10 Not null 应收金额ssje Char 10 Not null 实收金额fzyg int Foreign key 负责员工餐桌信息表 cz字段名 数据类型 长度 完整性约束 描述czmc Char 8 Not nul 餐桌名称czhm int Primary key 餐桌号码数据库大作业 机设肖齐 20090016221713(2 )创建菜单表 cd(3)创建员工表 yg数据库大作业 机设肖齐 20090016221714(4)创建点餐单表 dcd(5)创建顾客表
13、gk数据库大作业 机设肖齐 20090016221715(6)创建账单表 zd桌号表数据库大作业 机设肖齐 20090016221716菜单表员工表点餐单表数据库大作业 机设肖齐 20090016221717顾客表账单表6、视图视图的操作包括视图的建立删除查询,它是一个或者几个基本表的导出的表。建立特价菜的视图。Create view f_cd(f_cpbh,cpmc,cpjg,cplx,cpbz)AsSelect*From cdWhere cplx=特价;数据库大作业 机设肖齐 20090016221718程序视图建立结果7、应用设计应用设计内容基本上与前面的内容相重叠,至于安全问题则没在老
14、师要求范围内,自己也没自学,这里只说一下查询的应用:数据库大作业 机设肖齐 20090016221719(1 )查询所有员工信息Select*From yg(2 )查询 5 号桌的消费金额Select ssjeFrom zdWhere zdzh=5;数据库大作业 机设肖齐 200900162217208、总结大作业过程中感悟对于与约束条件有了充分的认识,特别是其中的外码,在建表的时候,应当先建立没有外码的表格,先后顺序明确。对于 E-R 图的设计,应当尽量的简介,特别是主属性的确定上,一定要统筹的安排好,明确主码程序设计的过程中完整性约束必须在自己的脑海中有个系统的模型,否则做不好严格按照设计
15、流程来做是最省时省力的方法了,第一次做的时候,跳过了物理结构这一环节,自己想着先把程序写出来,结果发现很难很难,浪费了大量的时间出现的问题通过数据库的设计发现自己在连接查询方面还有很多的不足,不能很好的对号入座。数据库大作业 机设肖齐 20090016221721整个数据库系统的建立根据自己所学的知识感觉很难做出来不像个数据库。没有成就感,感觉自己做的东西没有在饭馆吃饭的时候,看到的她们查账的那个系统牛叉。好像缺了很多东西建议能不能以后给下一级教学的时候把整个数据库的做的过程都讲完,那样做出一个完整的系统来,就比较好了,现在做的感觉有点四不像,也没时间自学把后面的整个系统做出来9附表语句(1)
16、创建数据库Creat database xiaoqi (2)创建 cz 餐桌信息表Create table cz(czhm int primary key,Czmc char (8) unique);(3)创建 cd 菜单信息表create table cd(cpbh int primary key,cpmc char(8) ,cpjg char(8),cplx char(10),cobz varchar(20);(3)创建 yg 员工信息表数据库大作业 机设肖齐 20090016221722create table yg(yggh int primary key,ygxm char(8) ,
17、ygxb char(2),ygnl smallint,ygzjh char(20),ygdh char(8);(4 )创建 dcd 点餐单信息表create table dcd(dcbh int primary key,dchm int foreign key references cd (cpbh),cjhz char(10),dcsj date,fzyg int foreign key references yg (yggh),dczh int foreign key references cz (czhm); (5)创建 gk 顾客信息表create table gk(jcbh int primary key,jczh intforeign key references cz (czhm),jcrs char(8),jzsj date);(6)创建 zd 账单信息表create table zd(zdbh int primary key,zdzh int数据库大作业 机设肖齐 20090016221723foreign key references cz (czhm),rqsj date,ysje char(8),ssje char(8),fzyg intforeign key references yg (yggh);