2023长文档排版

时间:2024-10-29 10:26:02 来源:网友投稿

下面是小编为大家整理的2022长文档排版,供大家参考。

2022长文档排版

 第 1 章 绪论 1.1 课题提出的依据以及意义 随着我国国力的逐渐增强,人民生活水平的日益提高,餐饮业的发展势头强劲。与此同时,就餐者已从过去的关注“吃饱”转而注重服务水平和环境氛围,他们期待和谐温馨的就餐环境和方便快捷的个性化服务。但我国大多数餐饮企业目前还在使用传统的服务方式:点菜、下单、结账一支笔、一张纸,“店小二”来回跑。这种状况显然不能适应现代餐饮业发展的要求;
另外餐饮企业也迫切需要管理信息化、管理高效化。为此,餐饮业管理者们开始寻求新的管理理念和方法,以期能够改善企业的服务效率和管理水平,从而提高饭店的品位和档次,提高企业的市场竞争能力。

 计算机技术的出现是上个世纪最重大的发明之一。计算机技术的应用已遍布于各个行业,自然,餐饮行业也不例外。于是,出现了最初的餐饮服务系统。虽然这些餐饮服务系统仅仅是对手工操作流程的简单模仿,但也大大地提高了工作效率,促进了餐饮企业经营管理水平和服务水平,起到了远非一般传统方式所能起到的“革命性”作用。

 随着计算机技术继续发展,出现了许多重要的分支,如局域网技术,数据库技术等,这些技术也逐渐地应用于餐饮业,使餐饮管理系统、餐饮服务系统有了新的发展。但人们更多采用的是有线局域网的办法,交互终端则使用触摸屏。由于采用有线局域网需在就餐大厅布线,在一定程度上会影响大厅的美观,当需要改变餐厅布局或移动线路时,其工作量和麻烦程度可想而知。而且,由于触摸屏面积较大,不仅不便于携带,还需占用非常宝贵的餐厅经营面积,这让餐厅经营者们难以接受。

 鉴于此,饭店的经营者们提出了"服务管理一体化"和"餐厅无线化"的要求。顺应这种要求,把无线通讯方式引入餐饮服务业就成为近来餐饮业现代化变革的发展趋势,基于无线通讯的餐饮服务系统就是顺应这种形势而提出。

  本课题所研究的餐饮服务管理系统,就是基于无线通信技术、数据库技术、网络技术和远程数据访问技术的餐饮管理系统,该系统的最大特点是使用了微功率无线射频传输技术,不仅可以点菜,而且还能实现预订、统计、收银等功能,它一方面方便了餐饮企业普通职工的日常工作,减轻了他们的劳动强度,提高了工作效率,另一方面也为决策管理层提供一个决策运行的管理信息平台,使企业能够合理调配资源、最大限度地创造财富。

 1.2 国内外餐饮管理系统的情况综述 国外最早于二十世纪七十年代出现了餐饮管理服务系统。在我国,由于当时社会经济及科技条件的限制,二十世纪七十年代以前餐饮业一直沿用传统的人工服务方式。进入八十年代后,随着我国国力的迅速提高,科技的不断发展,人们开始尝试用计算机来服务餐饮行业。但这时的餐饮管理系统由于受当时的计算机技术所限,往往只是单机“作战”,其所实现的功能只有计算和储存。后来随着计算机技术的发展, 餐饮服务系统采用了网络技术、数据库技术、嵌入技术等,因而从技术角度被划分为两部分:一是管理系统(服务器)部分,二是终端部分。

 1.2.1 管理系统(服务器)部分的状况 管理系统(服务器)部分涉及到计算机网络、数据库技术以及编程语言等方面的问题。下面分别予以讨论。

 1.2.1.1 网络的状况 计算机网络涉及到通信与计算机两个领域,它的发展经历了从简单到复杂,从单机到多机,由终端与计算机之间的通信,演变为计算机与计算机之间的直接通信的过程。

 计算机与通信的结合始于 20 世纪 50 年代。1954 年,人们制造出一种终端设备,它能够将穿孔卡片上的数据从电话线上发送到远地计算机上,这种简单的“终端—通信线路—计算机”系统,就是计算机网络的雏形。人们将这种计算机网络命名为“主从式”计算机系统。这种

 计算机网络在餐饮管理中也有体现。我国八十年代后期至九十年代初期阶段,开发的最早的一批餐饮管理系统,采用在总服务台设置 PC 机,将打印机或其他外围设备与总服务台的 PC机直接相连,实现基本的结账、核算、打印收据等简单功能。

 60 年代中期,英国国家物理实验室的戴维斯(Davies)提出了分组的概念,1969 年,美国的 ARPA(Advanced Research Projects Agency)分组交换网投入运行,从而使计算机网络的通信方式由终端与计算机之间的通信,发展到计算机与计算机之间的通信[5]。1983 年,随着用户异构网络 TCP/IP 协议的研制成功,计算机网络的发展进入了高速发展的 Internet 时代。

 为了与世界计算机网络发展的潮流相适应,我国也开始了互联网的发展。

 1993 年,中科院高能所首先接入了 Internet,1995 年,中国公用计算机互联网 CHINANET 投入运行。很快,Internet 迅速地渗透和普及到了社会的各个领域。

 为了弥补 Internet 在满足企业内部需求方面的不足,1994 年,美国的 Amdahl 提出了 Intranet(企业内部网)的概念。Intranet 和 Internet 一样得到了迅速的发展,慢慢地出现了有线局域网和无线局域网两大分支。

 Internet 和 Intranet 的普及使人们自然而然的想到了将它们应用于餐饮行业。在我国,现在仍在使用的有单独使用有线或无线局域网的餐饮管理系统,也有将有线和无线局域网结合使用的餐饮管理系统,还有 Internet 与 Intranet 结合使用的餐饮管理系统。

 1.2.1.2 数据库的状况 为了解决数据的存储、维护以及检索等问题,20 世纪 60 年代,出现了数据库技术,后来出现了微机数据库系统。我国的数据库技术起步较晚,但发展十分迅速。正因为起步较晚,以数据库出现初期的层次数据库和网状数据库在我国应用不多,关系数据库在我国最为流行。关系数据库应用数学方法来处理数据,它解决了层次数据库中实体之间只能是一对多联系和网状数据库中数据结构复杂和编程复杂的问题,因而是现在应用最为广泛的数据库类型。

 受此影响,我国的餐饮管理系统中使用的数据库绝大多数为关系数据库。这些关系数据库中既有以 PC 机为运行环境的桌面数据库,如 FoxPro 和 Access,又有强调系统完备性,拥有巨大数据存储和管理能力的主流数据库,如 Oracle,Sybase 等,也有界于两者之间的以Microsoft SQL Server 为代表的数据库管理系统[9]。

 现代社会离不开网络,人们在 Internet 上建立了数以万计的网站,这些网站中有一部分是静态网站,但大多数的网站都属于动态网站。这些动态网站往往需要数据库的支持,因而,数据库被应用于网络之中,应用于网络之中的数据库即被称为网络数据库。网络数据库在餐饮管理系统中的使用是与 Internet 网分不开的,其实质还是关系数据库。只不过它是在基于Web 应用的关系数据库。它的工作模式是一种 B/S(Browser/Server)模式,即数据库系统在后台服务器上运行,完成对数据的存储和检索,而 Web 服务器却在前台运行。当用户提交请求时,Web 服务器运行一个应用程序对数据库进行操作结果传给用户。

 1.2.1.3 开发语言的状况 最早的餐饮管理系统的开发语言是第三代语言,如 C、COBOL 等。随着网络和数据库技术在餐饮管理系统中的应用,开发系统所用的语言有了很大变化。在前端应用程序的开发中,Delphi,Visual Basic, Visual C++几种集成开发环境都可以胜任。其中,用 Delphi 语言开发出的餐饮管理系统比较容易实现界面的优美和耐看,Visual Basic 入门容易,Visual C++入门较难,但功能却十分强大。在对数据库的读写方面,一般都是在这几种语言中穿插 SQL 语言,或使用触发器和存储过程(触发器和存储过程也是用 SQL 语言所写)。在开发网络数据库方面,VBScript 和 JavaScript 是目前开发客户端程序最常用的脚本语言。

 1.2.2 终端的状况 在由有线网络组成的餐饮系统中,终端往往采用触摸屏,但触摸屏占地面积大,客观上要求人们寻找更加方便简洁的办法。伴随着无线技术的发展,餐饮系统的终端发生了巨大的变化,

 “手持无线终端点菜”成为了人们的时尚之选,人们或持无线点菜器或持 PDA(Personal Digital Assistant)点菜。

 “手持无线终端点菜”餐饮管理系统现在国内已有一些运用,如上海石川科技有限公司为石家庄新燕春集团开发的餐饮管理系统;
北京高锐盟软件公司开发出的锐盟无线餐饮管理系统,西安新博数码科技有限公司开发的“康文特”无线餐饮管理系统。

 1.3 本课题研究的主要内容 如前所述,无线餐饮系统分为两大部分:一是终端部分,二是管理系统(服务器)部分。终端部分旨在研究低成本而性能优良的“专业无线点菜器”,而管理系统(服务器)部分则是想在服务器一端优化餐饮系统的性能,拓展其功能。终端部分和服务器部分都是整个无线餐饮系统的重要组成部分,手持无线终端的开发与研究主要应用嵌入式技术,而服务器部分使用最多的是数据库技术、网络技术、中间件技术以及无线通讯技术。本次课题――基于无线通讯的餐饮服务管理系统的目的是研究服务器部分。餐饮管理终端系统作为另外题目进行,因此本课题中,使用 PC 机替代无线手持终端的功能。这一点在后续章节中还会提到。本次课题包含以下几个方面的内容:

 (1)餐饮管理系统的硬件构成 硬件系统是餐饮管理系统的基石。硬件设备包括客户机、服务器以及与这些设备相连的网卡、网络交换机等。系统中采用的网络的结构、层数都将影响到所开发出的系统的功能、安全性以及扩展性。

 (2)餐饮管理软件系统 餐饮管理软件系统的构成及功能模块的开发是本课题最主要的内容。本次课题包括三个主要应用程序,一是服务器端应用程序,另一是无线点菜程序,还有一个是远程数据库访问程序。其中服务器端应用程序是软件的重点。

 (3)数据库设计 根据餐饮企业的实际需求设计出一个优秀的数据库是一项十分重要而又艰难的工作。设计的这个数据库,既不能出现数据异常,也不能出现数据冗余,还需保证数据的一致性。

 (4)无线通讯模块及接口技术 本次课题中数据的发送和接收采用的是无线通讯的方式,而无线数传模块是服务器和终端之间的桥梁,本次课题中使用它来传送和接收数据,其接口采用 RS-232,因此,无线通讯与接口技术是课题中非常重要的研究内容。

 (5)远程访问技术 包括 ASP 的运行环境以及其脚本语言,ASP 实现数据动态交换的对象和访问数据库的方法,操作系统与服务器软件的选用等。

 (6)管理系统的权限设计 在餐饮管理系统中,因为不同的人(如服务员、经理、会计)对管理系统的操作权限不同,因此需要对他们赋予不同的权限。

 第 2 章 无线餐饮服务管理系统整体设计 2.1 系统硬件设计 课题的硬件设计共有以下几部分:

 (1)中央服务器,是餐饮管理服务系统的核心。它一方面提供数据库服务,另一方面提供无线通讯服务。它管理着系统中大量的各类相关数据,同时向系统中的其他用户终端提供数据访问服务。服务器端设计有友好简捷的管理员交互界面,系统管理员可以通过服务器终端软件管理和维护数据库。服务器端通过串口与主模块通讯,从而借助主从模块之间的无线传输功能实现整个系统的无线通讯;
另外它又通过网络交换机与局域网中计算机相连,从而实现系统局域网通讯。最后,它还通过路由器与 Internet 上数以万计的计算机相连,从而实现

 广域网通讯。

 (2)客户端 PC 机,它的作用已经在第一章绪论中讲过,是为了替代手持嵌入式无线终端。这些客户端 PC 机通过无线数传从模块同服务器之间进行数据通讯,它们同从模块之间通过串口进行通讯。客户端 PC 运行着模拟点菜程序,用户可通过客户端程序选择菜品,同时可以将已注册桌台的状态、消费信息实时反馈到中央服务器。

 (3)无线数传模块,包括主模块和从模块,用于实现微功率短距离无线通讯,本系统使用的是北京伯毫科技公司的 BH-1 型无线数传模块。该模块价格低廉,性能和传输速度基本能够满足需求。

 (4)局域网设备,包括网络交换机(可以根据实际需要采用无线交换机)、网卡(或无线网卡)。主要是实现系统内的有线或无线局域网通讯。本次课题受条件所限采用有线局域网通讯。

 (5)接口设备,主要是指 R-232 串口,多功能串口扩展卡等。作为无线数传模块和计算机之间通讯端口。

 2.2 系统工作流程设计 系统采用多任务实时处理交换数据的工作模式,服务器端同时接收来自于局域网、广域网和无线传输网的数据,并对这些数据进行实时处理。对于来自于无线终端的订单数据,不仅要及时存储到数据库,还要向相应的终端发出确认信息;
而对于来自于局域网内访问请求,要进行身份验证,根据访问者的设定权限提供相应的数据查询服务;
对于来自于 Internet 的广域网用户访问,不仅要进行严格的身份验证,还要考虑病毒防护。

 当数据库数据更新时,尤其是菜品信息(比如菜品单价、图片或其他信息)改变时,要及时更新终端的相应存储信息。

 当菜品信息需要更新时,服务器端采用设备轮询的工作方式,根据服务器管理的客户端从模块 MAC 地址,依次发送更新信息,终端收到这些信息后,自动更新存储在本地的菜品信息。

 2.3 系统网络传输设计 系统网络主要由局域网、Internet 广域网和无线传输网三种方式,其中局域网通讯和无线网络通讯是本课题的主要研究内容,广域网只是作为 Internet 订餐服务的一种尝试,不是本课题的研究重点。

 局域网通讯采用 TCP/IP 技术通讯协议。局域网通讯编程的主要工作是构建网络通讯的基本平台,在此平台的基础之上制订应用层的高级用户通讯协议。管理系统的主要数据通讯有:网内其他管理终端的数据访问、传输、报表查询、按指定周期的账单和营业额查询、按指定周期的统计报表等等。

 无线传输网主要是指服务器和各无线终端之间的数据通讯,即通过无线数传主模块和各从模块之间的无线通讯。系统内利用无线方式传输的数据类型主要有:

 ★ 服务器端的菜品更新信息,由于市场和原材料来源的变化,或者由于物价因素的影响,部分菜品的价格或规格并不是一成不变的,当这些信息变化时,应该及时的更新客户端。以免以后同消费者之间发生误解甚至纠纷。

 ★ 客户端的点菜信息,消费者通过终端点好菜品后,将通过无线方式传输到服务器端,并被保存到数据库。

 ★ 桌台和包间信息,包括桌台和包间的状态(有六种状态:维修、开台和空闲等)。服务器端通过各终端了解各桌台和包间的信息,以提供查询服务。

 ★ 结账信息,当消费者提出结账时,通过无线终端将结账申请发送到服务器端,服务器端在处理完相应的信息后,会向终端返回结账结果、折扣情况或者详细的消费清单,以便消费者核对查询。

 ★ 其它信息通讯,除了以上所述的数据通讯外,还有一些诸如主从模块之间的设备检测的

 数据通讯。

 以上每一项传输内容都要指定详尽的通讯协议。为了保证每次通讯的可靠性,系统设计了无线传输的应答信息机制,每一次传输完成后,接收方都要返回应答信息。同样的应答信息的也需要指定一个应答协议。关于这方面的详细内容,可参照后面第五章关于无线数传模块的部分内容。

 2.4 软件结构与功能模块设计 本次课题的最终目的是设计一个基于无线通讯的餐饮服务管理系统,因此,它不仅应该能够完成餐饮企业最常见的工作――点菜,而且还应能实现预订、统计、收银等功能。为了完成以下工作,系统一共设计了三个主要的应用程序,它们是:

 服务器程序,这个程序包含两大部分,一是作为服务器的功能,它能够实现无线通讯功能(主模块部分)以及作为局域网和广域网服务器时的通讯功能;
二是作为餐饮管理的功能,包括前台点菜,系统设置等功能模块。并且,它实现这部分功能的程序运行在局域网中任何一台计算机,都可以进行餐饮管理。

  在服务器程序中,需要操作数据库,以及实现无线和串口通讯,前者在第三、第四章中叙述;
后者在第五章中叙述。

 无线点菜程序,它包括两个功能模块,一个无线通信模块(从模块部分),二是模拟无线终端点菜功能。用到的技术与服务器程序一样。

 远程查看数据程序:使用 ASP 编写,实现从 Internet 上任何一台计算机上访问数据库中的内容。其所用到的技术在第六章中叙述。

 2.4.1 服务器程序 服务器程序包括的功能模块如下:

 (1)无线通信主模块部分:终端正常工作时,以无线方式按照自我确定的通信协议实现对终端的轮询、接收其数据。将服务器需要发送给终端的数据发送至终端。

 (2)解析模块:用于将接收到的数据进行解析,提取有用部分。提取出有用部分后,再与数据库交互。以上两模块在系统中只是单一的功能模块,不具有交互界面。

 (3)系统设置模块 系统设置部分对一些需要人工录入的资料进行设置。这些设置包括部门设置、房台设置、酒菜设置、员工设置、客户设置和用户设置。

 (4)前台点菜模块。此部分功能与无线点菜终端几乎一致,只是界面较大,故其功能不再赘述。

 2.4.2 无线点菜程序 为了将客户端 PC 机模拟成无线点菜终端,本次课题做了以下工作:

 ▼客户端运行的程序与服务器端运行的程序不一样,是专门写的点菜程序。

 ▼在客户端 PC 机并未建立数据库,因为一般手持终端的内存都相对较小,不宜将数据库直接烧写至其中。客户端需要的最基本的数据采用配置文件预先存储在客户端,当点菜过程中需要数据时,将它们读入结构体和动态数组中,作为全局变量存取在程序中,对于服务器端动态改变的数据,则其改变时立即发往各客户端要求各客户端更新自己存储基本数据的配置文件。

 无线点菜终端实现如下的功能:

 点菜功能:进行直观、快捷的点菜操作,并可选择数量和口味。

 查台功能:可查询所有已开餐台的点菜信息。

 转台功能:如果顾客更换桌台可处理。

 并台功能:将两桌台的消费“并”在一起。

 更新功能:点菜器能随时对数据库菜谱变化进行更新、同步,适合菜谱变化频繁的场合。

 修改功能:在发送正式的点菜信息前,通过点击“修改”按钮,对顾客的点菜进行数量及口味修改。

 删除功能:在发送正式的点菜信息前,通过点击“退菜”按钮,对顾客的点菜进行删除。

 汇总功能:查看当前台号的所有信息和总价,使顾客了解消费情况。

 发送功能:通过无线射频传输,将点菜信息及时发送到服务器,服务器将各种信息发送到后台各个部门,同时在服务器端数据库中存储,便于日后分析、查询。

 2.4.3 远程数据查看程序 这部分只做了很少的一部分功能,即从 Internet 上任何一台计算机上或以查看数据库中菜品表的内容。

 2.5 开发与运行环境的选择 开发与运行环境的选择会影响到数据库设计,本系统的开发与运行环境选择如下:

 (1)操作系统:Windows 2000 Advanced Server;

为了能将一台服务器既作为 Web 服务器,又作为局域网中的服务器,因此选用了专业的操作系统 Windows 2000 Advanced Server 作为本次课题的操作系统平台。

 (2)前端开发工具:Visual C++, ASP, FrontPage;

在服务器软件部分和无线点菜部分,使用 Visual C++作为前端开发工具。

 在远程数据查看功能部分,使用的是 FrontPage 制作站点,ASP 程序内嵌于 HTML 中的办法。

 (3)数据库管理系统:SQL Server 2000。

 SQL Server 2000 既能支持 C/S 结构的数据访问,又能支持 Internet 网上远程数据访问。因此,选用 SQL Server 2000 作为本次课题的 DBMS。技术细节将在第三章中论述。

 (4)Internet 服务器软件 IIS(Internet Information Service)。

 IIS 软件能够支持 HTTP(超文本传输协议)、SMTP(简单邮件传输协议)和 FTP(文件传输协议),并且安装、管理和配置都非常简单,所提供的功能又十分强大。因此选用了 IIS作为服务器软件。

 第 3 章 数据库的设计与实现 3.1 概述 数据库技术是一个管理系统中的“基石”,因为任何一个管理系统,它都需要对形形色色的数据进行管理。时代发展到今天,人们在编写数据库应用程序时早已摒弃了传统的数据面向程序以及使用文件来管理数据的方法,因为这两种方法有着巨大的不方便性。前者一组数据只能被一个程序所处理,数据变,程序就必须变;
后者容易出现数据冗余,数据不一致和数据联系弱等致命问题。因此,当数据库尤其是关系数据库技术破茧而出后,人们迫不及待地搭上了这一班车。可以说,关系数据库技术是当今的管理系统中应用最为广泛的技术,无线餐饮管理系统的研究也不例外。在对系统的研究中,大量地使用了关系数据库技术,如使用了 E-R 图设计了数据库;
应用规范化理论对数据库中表格进行了规范;
在 SQL Server 中创建各个表格以及它们之间的关系等等。为了更好地说明数据库技术在餐饮管理系统中的应用,本章将阐述系统中有关数据库设计、规范和实现的方法与过程以及与之相关的一些问题。

 3.2 数据库基本表的设计 关系数据库由多个相互联系的表组成。在数据库设计中,如何做到让这些表(关系)准确无误反应现实世界,又在实际的数据库操作中不产生数据冗余,也不因非恶意操作而引起数据异常,是一项异常复杂而且艰难的工作。在进行数据库基本表的设计时,需要进行概念设计和逻辑设计两个最重要的阶段。

 3.2.1 概念设计 在概念设计之前,需要了解数据库系统用户的业务活动和职能,对所要设计的数据库进行仔细的思考和规划。认真做完这一步工作后,才能进入概念设计阶段。

 实用联系模型(E-R 模型)是被广泛采用的概念模型设计方法。它是由 Peter Chen 在 1976年提出的。E-R 模型的组成元素有:实体、属性、联系。实体是指现实生活中的各种各样的人或事物,属性是对实体特征的描述,而联系是反映实体之间的相互关系。

 利用 E-R 方法进行数据库的概念设计,首先需要设计局部 E-R 模式,然后把各局部 E-R 模式综合成一个全局 E-R 模式,最后对全局 E-R 模式进行优化,得到最终的 E-R 模式,即概念模式。

 属性的设计 数据库规范理论共有六个等级,在这六个等级的范式中,前三个等级用于一般的数据库设计,后三个等级用于提升数据库表的性能。在概念设计,对实体属性的设计必须至少符合第三范式等级,因为这样才能不产生数据异常、数据冗余和数据不一致的问题。

 ○ 1第 1 范式(1NF)

 如果关系(表)的每个属性值都是不可再分的原子值,那么称该表符合第一范式。

 当关系中的属性可能取两个或多个值时,需要将该字段拆两个或多个字段。如一个人可能既有手机,又有家庭电话,还有办公室电话,那就不能在表中只设置一个字段“电话”,而应分别设成三个属性:手机号码,家庭电话号和办公室电话号码。数据库的表格做到第一范式很容易。

 ○ 2第 2 范式(2NF)

 数据库表格在符合第一范式后,有可能会出现数据冗余、插入异常、删除异常等问题,为此,还需将表格进一步分解,使其满足第二范式。

 若数据库中的表符合第一范式,且每一个非主属性完全依赖于主码,则此数据库表符合第二范式。也就是说,符合第一范式的表消除了非主属性对主码的部分函数依赖(Function Dependency)。

 ○ 3第 3 范式(3NF)

 数据库中的表符合第二范式,且无非主键列之“传递性相依”(Transitive Dependency)于主键,亦即消除了第二范式中的传递性功能。

 数据完整性的设计 现实生活中有许多信息都有一定的“限制”,比如,学生的学号必须惟一;
性别只能是男或女;
学生所在的专业必须是学校已经开设的专业等等。既然关系模型中的数据需要反映现实生活,那么它就必须反映这种约束,这些约束也可以看着是一些规则,这些规则即是关系模型的完整性(Integrity)规则。有了这些完整性规则,关系数据库就可以保持数据库中的数据与现实世界的一致性。关系模型提供三种数据完整性约束:实体完整性、参照完整性和用户自定义的完整性。

 实体完整性规则(Entity Integrity Rule)是关系中每个元组(记录)构成主键的属性不能有空值。因为如果主键字段为空值,就不能唯一地标识记录。不论数据表中的主属性(主码)是单属性,还是由多个属性联合组成,其主属性的所有字段都不能取空值。

 参照完整性规则(Reference Integrity Rule)是指现实世界中的实体之间往往存在着某种联系。在关系模型中实体及实体间的联系都是用关系来表示,这样就自然存在着关系与关系间的引用。因而,数据表之间也存在引用。

 用户自定义的完整性:现实生活中存在这样的生活情境:某个人的年龄只能在 0 岁和 150岁之间;
某圆形的面积与其半径的平方成正比;
某个学生只能“是”和“不是”独生子女等等;
这些现实生活中的实际存在的限制条件,关系模型中既不能用实体完整性来描述,也不能用参照完整性来描述,它们即是用户自定义的完整性。

 在上述三条完整性中,实体完整性和参照完整性是设计数据库时必须首先遵循和满足的条件。

 3.2.2 逻辑设计 这一步的工作是将概念设计中的 E-R 图转换为关系模式集,即用二维表格来表达事物。在餐饮管理系统的实际过程中,按照以下原则进行转换:

 ○ 1实体类型的转换:将每个实体转换成一个表格,实体的属性即为表格中的字段,能唯一标识实体的属性将其设置为主键。

 ○ 2联系模型的转换:根据不同的情况做不同的处理。

 ○ 3联系的转换:由于设计 E-R 图时已经对联系进行了处理,实体之间的联系全部为一对多联系或一对一联系,因此,这里只涉及一对一和一对多联系的转换规则。

 一对一联系,可以在两个实体类型转换成的表格中的任意一个表格中加入另外一个表格中的主键。

 一对多联系:在“多”的那一端实体类型转换成的表格中加入“一”的那端实体类型的主键。

 实际上,对于多对多联系,往往可将其拆成两个或多个一对多联系进行处理,这样更易于理解,而且,操作也更为方便。

 3.3 数据管理系统的选择及实际工作中的相关问题 完成数据的逻辑设计后,需要选择一种合适的数据库管理系统将上述设计“存储”到其中,以便其借助 DBMS 的诸多功能,更好地完成对数据的管理。实际工作中需要根据数据库开发的规模和难易程度、程序开发的难易程度、可移植性和可扩展性以及安全性控制等因素来选择数据库管理系统。本次课题选用的是 Microsoft SQL Server。

 SQL Server 的版本较多,有企业版、标准版、个人版和开发版,这些版本适用于不同的运用场合。若要使用 SQL Server 作为大型 Web 站点,企业 OLTP 联机事务处理以及数据仓库系统,则选用企业版;
标准版可用于小型的工作组或部门,餐饮管理系统的开发使用的就是标准版;
开发版则用于程序员开发应用程序使用;
而个人版,顾名思义,用于单机系统或客户机。

 安装 SQL Server 不仅要考虑版本问题,还必须考虑操作系统问题。因为上述各种不同的版本,对操作系统的要求是不同的。由于安装 SQL Server 的计算机一般都是局域网或 Internet中的服务器,(如果只要求数据库应用系统运行在本机,那么安装 Access,FoxPro 等桌面数据库即可,此时使用 SQL Server 有些大材小用),故安装 SQL Server 的操作系统也需是“服务器型”的,比如 Windows NT Server,Windows 2000 Server 等。餐饮管理系统

 的开发使用的是标准版的 SQL Server,它安装在 Windows 2000 Advanced Server 上(也可以安装在 Windows NT Server 上)。

 几乎任何一本关于 SQL Server 的书都会介绍安装 SQL Server 的详细过程,开发餐饮管理系统时安装 SQL Server 也没有任何新意,所以这里不再加以论述。这里想说的是许多参考书没有的问题:在操作系统 Windows 2000 Server 上安装完 SQL Server 后,发现系统作为服务器,有一些功能无法使用,比如当把安装 SQL Server 的计算机用为 Internet 中的服务器时,计算机无法提供Http服务。这是因为操作系统存在一些问题,需要安装补丁程序Service Pack 4(SP4,或其更高版本)。如果手上没有 Service Pack 4,可从网上下载,不过 Service Pack 4有 200MB 左右,下载需要一些时间。

 把上述问题解决好后,剩下的工作便是将这些表格在 SQL Server 中具体实现。

 3.4 存储过程的设计与实现 SQL Server 中,Transact-SQL 是一种主要的编程语言,存储过程是一组为了完成特定功能的Transact-SQL 语句的集合,它将命令行、常用或复杂的数据库操作命令预先建成若干个由SQL 指令组成的程序文件。存储过程存储在数据库内,可由应用程序调用执行,也可在查询分析器执行。

 (1)创建存储过程

 可在企业管理器或查询分析器中创建存储过程,二者并无本质区别。

 在餐饮系统中,使用了一些存储过程,在这些存储过程中,有的使用复杂的 Transact-SQL来实现对数据库的操作,有的使用参数传递变量。对于前一种情况,可以先编写并测试 SQL语句,当这些语句能够达到的预期的目的时,再在前面加上 CREATE PROCEDURE [owner.] procedure_name 即可。对于后一种情况,根据存储过程的基本语法结构:

 CREATE PROCEDURE [owner.]procedure_name @parameter_name1 datatype,

 //传入的参数 @parameter_name2 datatype,…

 //传入的参数 @parameter_result datatype OUTPUT

  //准备接受结果变量的参数 AS sql_statements

  //SQL 语句 可创建出相应的存储过程。

 2)执行存储过程 当存储过程创建之后,就可以在应用程序中或 SQL Server 的查询分析器使用该存储过程。

 当在查询分析器使用该存储过程时,如存储过程无参数,则使用 EXEC proc_name 即可。如该存储过程有输出参数,在运行之前需要说明一个变量来接收返回的值。如上述存储过程可以采用以下的执行语句:

 USE DinnerManageSystem GO DECLARE @dinnername varchar(20) EXEC din_cool 2, @dinnername OUTPUT PRINT @dinnername 也可以采用指定参数名称的方式:

 USE DinnerManageSystem GO DECLARE @dinnername varchar(20) EXEC din_cool @din_type=2, @din_name=@dinnername OUTPUT PRINT @dinnername 在使用存储过程时如果指定参数的名称,便可以不用考虑参数的顺序问题;
但使用的格式必须一致,不能让一些变量使用参数名称而一些不使用。

 当在应用程序中执行存储过程时,可以利用 Command 对象的 CreateParameter()方法传递参数,也可以在对数据源的设置中将数据源的 CommandText 属性值设为存储过程的名称,将CommandType 设为 adCmdStoredProc 即可。

 除了存储过程之外,还可以使用触发器、自定义函数对 SQL Server 数据库进行操作。这些方法都能使对数据库的操作更加方便、快捷。

 3.5 网络环境中的数据库体系结构设计 数据库应用系统的体系结构与它的运行环境是密切相关的。数据库可运行在本机、Intranet(局域网)或 Internet(广域网)上。在餐饮管理系统的研究中,这三种情况都被应用。从第二章的叙述中可以看出,餐饮管理系统有三个与数据库打交道的功能,一是可从局域网上访问服务器中的数据库,二是从客户端点菜程序上操作数据库,三是从 Internet 上远程查看

 数据库中的内容,这些都涉及到数据库的体系结构问题。当数据库运行在本机上时没有任何结构可言,因此下面只讨论数据库被局域网(含有线各无线部分)和 Internet 中的用户使用时的体系结构。

 (1)数据库被局域网中用户使用时的体系结构设计 当数据库被局域网中的用户使用时,系统采用了 Client/Server(简称 C/S,即客户机/服务器)结构。这种结构是目前数据库应用系统较为流行和广泛使用的方法。

 需要说明的是:在 C/S 的数据库应用系统中,数据库服务器安装能够支持 C/S 服务的数据管理系统软件,如 DB2,Oracle,Sybase,SQL Server,以完成 DBMS 的功能。但注意此时不能安装如 FoxPro,Access 的桌面型 DBMS,因为它们不支持 C/S 服务。而且,数据库服务器可管理着一个或多个数据库。对这些数据库的读写是由网络中的各个用户来完成的。这些用户通过运行相同的或不同的数据库应用程序,来对数据库进行操作。

 (2)数据库被 Internet 中用户使用时的体系结构设计 餐饮系统中的远程查看部分数据库的结构是 Browser/Server(简称 B/S,即浏览器/服务器)。因为当数据库应用系统运行在 Internet 中时,几乎都是采用 B/S 结构。

 B/S 实际上是一种多层 C/S 结构,它是对 C/S 结构的继承和发展[7]。在这种结构的数据库应用系统中,客户机只需要安装浏览器,就可以对 Internet 上某台数据库服务器中的数据库进行操作。一切的技术细节都被屏蔽。如在网上注册邮箱,当按提交按钮后,就会修改远程计算机中数据库中的数据。

 运行在 Internet 上的数据库有一个名字,叫着网络数据库。实际上,网络数据库与数据库并无差别,只是使用对象上的不同。一般的数据库由本机用户或局域网中用户使用,而网络数据库则由远程计算机上无法预料的某位用户读写。

 尽管网络数据库与普通数据库并无本质上的不同,在支持远程操作的 DBMS 中建立的同一个数据库既可以作为普通数据库,又可以作为网络数据库,但当数据库需要作为网络数据库时,必须在服务器上安装如 IIS(Internet Information Server,即 Internet 信息服务器)的服务器软件。

推荐访问:长文档排版 排版 文档