1、酒店管理系统可用于数据库课程设计第一章 前言科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的内部和外部信息量迅速地膨胀起来。面对激烈的市场竞争,人们对这些信息进行收集、加工、传递等过程的时间性和准确性提出了更高的要求。这一切使得传统的手工作业为基础的信息系统陷入了机构日益庞大,效率日益降低的困境。电子计算机的出现为摆脱这种困境找到了出路。计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准确的要求。管理信息系统(MIS,Managemen
2、t Information System)是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。管理信息系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存和使用。因此,管理信息系统是一个信息处理系统。数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据
3、对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行环境。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。第二章 数据库设计需求分析和系统设计1.1 需求分析由于软件技术的不断发展,应用软件已经遍及到社会的各行各业,大到厂矿校企,小到餐饮洗浴,并且正在以其独特的优势,服务于社会的各行各业。讲应用软件应用到现代的餐饮业,为解决传统的记账、统计、核算方式,既费时、费力、又容易出错的问题,通过使用酒店管理系统,可以快速的完成营业记账工作,并且可以
4、轻松的对营业额进行统计核算,原来既费时费力的工作,现在只需要轻轻点击下鼠标和键盘,就可以轻松完成,既提高了效率、又节省了人力资源,为餐饮业的快速发展创造了巨大的空间。经过调查用户的实际需求,确定了该系统的主要需求和功能为:1、系统维护:菜系的管理,包括菜系的增删查;菜品的管理,包括菜品的增删改查;餐台管理,包括餐台的增删改查。2、销售统计:日销售统计,月销售统计,年销售统计。选定要统计的时间段,统计并分析,并以图表的形式显示统计分析信息。3、人员管理:档案管理,管理该酒店员工的职工资料;管理员管理,即权限管理,管理登陆本系统用户的使用权限。4、初始化系统:对系统进行初始化。系统恢复初始化状态,
5、所有用户数据清空。该功能只有具有该使用权的用户才可以操作。 5、修改密码:对登陆用户的用户密码进行修改。6、业务功能:开单,先选择台号,操作员使用助记码添加商品后,商品名称、单位、单价由系统自动从数据库中提取,操作员添加消费数量以后,签单之后,系统自动计算出消费金额,并显示,同时消费信息显示在签单列表中,开台信息显示在开台列表中。用户付款后,操作员添加实收金额,当金额足够支付时,方可结账。同时显示找零金额。签单列表和开台列表清空。在结账之前,可以取消本次消费。7、前台功能:显示当前时间和当前操作员信息;交接班,更换操作员;锁定系统,系统锁定后,操作员可以临时离开操作台,默认使用本操作员登陆密码
6、解锁系统;系统登录;退出系统。1.2 任务概述1.2.1目标本酒店管理的应用对象定位在小型酒店,没有订房退房功能。因此在进行需求分析时主要考虑小型酒店的具体需求,并将设计目标确定为小型酒店提供基本的酒店管理功能。1.2.2运行环境服务器配置包括硬件配置和软件配置,它们各自都有详细的要求,下面将分别进行介绍.、服务器端配置 (1)、硬件配置 安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求: 233兆赫(MHZ)Pentium或更高的微处理器(或与之相当的处理器)使用256内存(RAM最小为64MB,最大为4GB) 不小于40MB的可用硬盘空间(2)、软件配置 安装本软件之前,需要
7、确保计算机已安装:Micorsoft Windows XP及以上的操作系统2、客户端配置本软件开发所需要的硬件配置和软件配置分别介绍如下:硬件配置: 1台奔腾级别电脑软件配置:JDK1.6 Eclipse-INDIGO SQLServer 2005 1.3数据字典1.3.1数据项消费单编号数据项名:消费单编号说 明:用来唯一标识每张消费单类 型:字符型长 度:9别 名:消费号取值范围:000000001-9999999991.3.2数据结构 消费单数据结构:消费单含 义:记录消费者消费信息,包括消费项目及其数据组成部分:消费单编号 消费餐台 消费时间 消费金额操作用户1.33数据流签单数据流数
8、据流名:签单 说 明:结算消费者本次消费,合计消费金额,生成消费单和订单项来 源:餐台表 菜品表 雇员表 去 向:消费单表 消费项目表数据结构:餐台表 菜品表 雇员表1.3.4数据存储消费项目表数据存储名:消费项目表说 明:记录消费者消费的每种菜品编号、数量、总金额和所在消费单编号输入数据流:签单列表输出数据流:结账数据描述: 菜品编号、数量、总金额、所在消费单数据量: 根据消费单中消费项目多少而定存取方式: 随机存取频度: 约100-1000次/天1.3.5处理过程处理过程名:结账说 明:用户选定菜品后,操作员开单签单后,计算出应付的消费单费用输入数据: 签单列表 数据存储: 消费项目 输出
9、数据: 消费单1.4数据流图图2.1 系统数据流图第三章 概念结构设计3.1 概念结构在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。概念结构主要特点:(1) 能真是、充分地反映显示世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个只是模型;(2) 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;(4)易于向关系、网状、层次等各种数据模型转换;概念结构时各种数据模型的共同基础,它比数据模型更独立
10、于机器、更抽象,从而更加稳定。3.2酒店管理系统概念结构设计现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。由于这个系统并不复杂,因此可采用自顶向下的设计方法。自顶向下设计的关键是确定系统的核心活动。所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。确定了核心活动之后,系统就有了可扩展的余地。对于这个酒店管理系统,其核心活动是开单、签单,菜品与订单之间是通过开单签单发生联系的。因此,此系统包含的实体有:(1)餐台=餐台编号,座位数(2)菜系=序号,名称(3)菜品=编号,名称,所属菜系,助记码,计量单位,单价(4)消费项目=序号,所属消费单,消费菜品,
11、消费数量,消费额(5)消费单=编号,消费餐台,消费时间,消费金额,操作用户(6)雇员=雇员编号,姓名,性别,生日,身份证号,家庭住址,状态3.2.1 系统实体E-R图图3.1餐台信息 图3.2菜系信息 图3.3菜品信息 图3.4消费单信息 图3.5消费项目信息图3.6管理员管理信息图3.7雇员信息 3.2.2 酒店管理系统系统E-R图图3.6 系统E-R图第四章 逻辑结构设计4.1 E-R图向关系模式的转换 有了基本的E-R模型就可以进行逻辑结构设计,也就是设计基本的关系模式。设计基本的关系模式主要从E-R模型出发,将其直接转换为关系模式。根据转换规则,这个E-R转换的关系模式为:(1)餐台信
12、息(餐台编号,座位数)主码:餐台号;(2)菜系信息(菜系序号,名称)主码:菜系序号;(3)菜品信息(菜品编号,名称,所属菜系,助记码,计量单位,单价)主码:菜品编号,外码:所属菜系;(4)消费项目信息(消费项目序号,所属消费单,消费菜品,消费数量,消费额)主码:消费项目序号,外码:所属消费单;(5)消费单信息(消费单编号,消费餐台,消费时间,消费金额,操作用户)主码:消费单编号;(6)雇员信息表(雇员编号,姓名,性别,生日,身份证号,家庭住址,状态) 主码:雇员编号;(7) 管理员管理信息(管理员序号,档案编号,密码,系统维护,销售统计,人员管理,初始化系统,状态)主码:管理员序号;主要属性、
13、含义及约束属性含义和约束条件餐台编号唯一标识每个餐台的编号菜系序号唯一标识每个菜系的编号菜品编号唯一标识每个菜品的编号消费项目序号唯一标识每个消费项目的编号消费单编号唯一标识每个消费单的编号雇员编号唯一标识每个雇员的编号管理员序号唯一标识一个管理人员的权限编号4.2关系模式的规范化 4.2.1分析并规范化现有的关系模式经分析,本系统中的所有关系模式中的所有属性,均是不可再分的基本数据项,因此,本系统现有的关系模式都达到了1NF。(1)餐台信息:只有一个非主属性:座位和一个主码:台号。显然:每一个决定因素都包含码,所以该关系模式属于BCNF。(2)菜系信息:只有一个非主属性:名称和一个主码:菜系
14、序号。显然:每一个决定因素都包含码,所以该关系模式属于BCNF。(3)菜品信息:只有一个主码:菜品编号,其余全部为非主属性,且全部完全函数依赖于码,并且不存在传递。因此,该关系模式达到了BCNF。(4)消费项目信息:只有一个主码:消费项目序号,其余全部为非主属性,非主属性完全函数依赖于码,且不存在传递依赖,所以达到了BCNF。(5)消费单信息:只有一个主码:消费单编号,其余全部为非主属性,非主属性完全函数依赖于码,且不存在传递依赖,所以达到了BCNF。(6)雇员信息表:该关系模式中,不把身份证号作为候选码,因此本关系模式只有一个主码:雇员编号,其余全部为非主属性,所以,达到了BCNF。(7)
15、管理员管理信息:只有一个主码:管理员序号,其余全部为非主属性,所以,达到了BCNF。总结:本系统中的关系模式均达到了BCNF,在函数依赖的范畴内,已经显示了彻底的分离,已经消除了插入和删除异常。因此不需要再进行优化。4.2.2确定完整性约束 对规范好的关系模式加以约束。数据项约束、表级约束及表间约束。检查约束、主码约束、参照完整性约束。1、将餐台编号、菜系序号、菜品编号、消费项目序号、消费单编号、雇员编号、管理员序号设置为它们所处表中的主键约束。2、消费项目信息中:设置所属消费单为外键约束。3、消费单信息表中:设置消费餐台号为外键约束。4、管理员管理信息中:设置档案编号为外键约束。4.2.3用
16、户视图的确定1、管理员管理视图,将档案信息和权限表关联,作为视图显示。提高数据安全性,方便对管理员管理的操作。该视图信息来自管理表和人员档案表,包含:档案表中的主码和姓名、管理权限表的密码、系统维护、销售统计、人员管理、初始化系统属性;使用档案表的主码作为该视主码。2、菜系菜品系视图,将菜品表和菜系表关联,作为视图,方便前台提取菜品。该视图信息来自菜单表、和菜系表,包含菜系表中的菜系名、菜单表中的编号、菜名、助记码、单位、单价、状态属性列,使用菜单表中的编号作为该视图的主码。3、订单项和菜单关联,并创建视图,方便进行销售统计。该视图来源于菜单项表和订单表。包含菜单表中的编号和菜品名、订单项表中
17、的编号、所属订单号和数量,使用菜单中的编号作为视图主码。第五章 物理设计5.1 确定数据分布本系统是单机系统,面向单个酒店,考虑到酒店自身运营成本、以及该系统管理数据价值等因素。可以使用磁盘映像技术,使用两块硬盘。存数数据库数据,其中一块用来提供日常服务。另外一块用于备份。两块硬盘均位于酒店网络中心,位于不同主机上。吧台的客户端通过酒店局域网访问网络中心服务器上的数据库服务器。吧台产生的数据全部通过酒店内部局域网传到网络中心的数据库服务器上,这样就实现了酒店资料同外界网络隔绝,且实现了内部数据的保护。数据文件文件名:db_DrinkeryManage_Data存储路径: E:programDa
18、tabasedb_DrinkeryManage_Data.MDF初始大小:1984KB 最大:无限制自动增:10%日志文件文件名:db_DrinkeryManage_Log文件存储路径:E:programDatabasedb_DrinkeryManage_Log.LDF 初始大小:3840KB最大:无限制自动增长:10%5.2 确定数据存储结构考虑到酒店这种特殊行业,在吃饭的点或者节假日期间,会在短时间内产生大量订单。这样就会在短时间内增大数据库的压力。因此为提高访问速度,将在本系统中使用索引技术。使用索引的存储结构,就决定本系统将使用索引的方式来访问数据。5.3 基本表设计5.3.1餐台表表
19、名:tb_desk内容:餐台信息表 主键:num序号中文列名数据类型默认值空/非空约束条件基本信息1、 餐台编号numvarchar(6)not nullprimary key 2、 座位数seatingintnot null3、 状态statechar(4)not null可用;撤销 系统信息1. 主键numnumber(11)not nullprimary key补充说明5.3.2菜系表表名:tb_sort内容:菜系信息表 主键:id序号中文列名数据类型默认值空/非空约束条件基本信息1、 菜系编号Idchar(9)not nullprimary key 2、 菜系名nameVarchar(
20、8)not null状态statechar(4)not null可用;撤销 系统信息1. 主键idnumber(11)not nullprimary key补充说明5.3.3菜品信息表表名:tb_menu内容:菜品信息表 主键:num序号中文列名数据类型默认值空/非空约束条件基本信息1、 菜品编号Numchar(9)not nullprimary key 2、 菜系编号Sort_idIntnot nullforeign key3、 菜品名nameVarchar(20)not null4、 助记码CodeVarchar(10)not null5、 单位UnitVarchar(4)not null
21、6、 单价Unit_priceintnot null7、 状态statechar(4)not null可用;撤销 系统信息1. 主键Numchar(9)not nullprimary key2. 外键Sort_idIntnot nullforeign key补充说明5.3.4消费单表名:tb_order_form内容:消费单信息表 主键:num序号中文列名数据类型默认值空/非空约束条件基本信息1、 序号numChar(11)not nullprimary key 2、 台号record_numvarchar(6)not nullForeign key3、 消费时间Consume_datedat
22、etimeNot null4、 消费金额expenditureint5、 操作员Record_numChar(9)6、状态Statechar(4)可用;撤销 系统信息1. 主键numChar(11)not nullprimary key 2. 外键record_numvarchar(6)not nullForeign key补充说明5.3.5消费项目表名:tb_order_item内容:消费项目信息表 主键:id序号中文列名数据类型默认值空/非空约束条件基本信息1、 序号IdIntnot nullprimary key 2、 所属消费单Order_form_numChar(11)not nul
23、lFK3、 菜品编号Menu_numChar(9)Not null4、 数量amountint5、 消费金额Totaltotal系统信息1. 主键idintnot nullprimary key2. 外键Order_form_numChar(11)Nor nullFK补充说明5.3.6雇员表表名:tb_record内容:雇员信息表 主键:num序号中文列名数据类型默认值空/非空约束条件基本信息1、 雇员编号numchar(9)not nullprimary key 2、 姓名NameVarchar(8)not null3、 性别Sexchar(2)not null4、 生日BirthdayDa
24、tetimenot null5、 身份证号Id_cardVarchar(20)not null6、 家庭住址AddressVarchar(100)not null7、状态statechar(4)not null可用;撤销 系统信息1. 主键numnumber(11)not nullprimary key补充说明5.3.7管理员管理表表名:tb_manager内容:管理员管理信息表 主键:num序号中文列名数据类型默认值空/非空约束条件基本信息1、 序号IdIntnot nullprimary key 2、 档案编号Record_numChar(9)not nullforeign key3、 密
25、码PasswordVarchar(20)Not null4、 系统维护Purview_systemVarchar(2)5、 销售统计Purview_sellVarchar(2)6、 人员管理Purview_personnalVarchar(2)7、 初始化系统Purview_initVarchar(2)8、状态Statechar(4)可用;撤销 系统信息1.主键IdIntnot nullprimary key 2.外键Record_numChar(9)not nullforeign key补充说明第六章 数据库的实施和维护6.1 创建数据库和表和触发器1、创建数据库 图6.1数据库创建脚本 图
26、6.2数据库效果图2、创建表的脚本部分截图图6.3权限表的创建脚本图6.4权限表的结构3、创建触发器图6. 5触发器创建脚本图6. 6触发器效果图4、创建视图图6. 7权限视图的结构 图6. 8权限视图数据来源 图6.9菜系菜品视图数据来源 6、 数据库整体结构图图6.10数据库完整结构图(1) 图6.11数据库完整结构图(2) 6.2 载入数据1、向订单表中插入两条信息:insert into tb_order_form(num,desk_num,consume_date, expenditure, record_num) values(20130104002,1001,2013-1-4 1
27、0:59:47,2,121220001)insert into tb_order_form(num,desk_num,consume_date, expenditure, record_num) values(20130104003,1001,2013-1-4 11:00:18,110,121220001)2、向订单项表中插入四条数据insert into tb_order_item(order_form_num,menu_num,amount, total) values(20130104002,080604001,1,2)insert into tb_order_item(order_fo
28、rm_num,menu_num,amount, total) values(20130104003,121213001,1,99)insert into tb_order_item(order_form_num,menu_num,amount, total) values(20130104003,121220001,1,10)insert into tb_order_item(order_form_num,menu_num,amount, total) values(20130104003,080604002,1,1)3、向档案表中插入两条记录insert into tb_record(num,name
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1