要花钱地 偶也无奈帮不了你呀 还是绑架耶稣他妈妈要挟吧
电子商务是利用现代信息网络进行商务活动的一种先进手段,作为...论文首先全面而系统地研究构建一个电子商务网站所必备的各种知识与技术手段,接着从构建一个电子商务应用系统—网上书店
随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。个性化已逐渐成为当今Web应用的潮流。本文研究了一种基于数据关联规则网上书店系统,此方案与现今网上已采用的一些方案相比,具有用户使用更简单、界面更直观等优点。网上书店在我国刚起步,但发展很快。随着我国互联网的更加普及和网上书店的更趋成熟,会有越来越大的消费群体,市场潜力会得到充分发挥。<BR>ASP是一种优秀的电子商务开发程序语言,因为其编辑简便、功能全面的特点,被广泛应用于电子商务网站的编辑制作、企业管理系统的开发等项目中。尤其是在电子商务网站的建设中,ASP扮演着动态网页缔造者的重要角色。<BR>Dreamweaver_MX集多种网页开发功能于一身,可以轻松、系统地完成几乎所有网页技术的编辑。它具有美观的操作界面及强大的编辑功能,在Dreamweaver_MX中编辑ASP,可以很方便地应用各种辅助项目,实时测试编辑完成的动态网页,设计出功能完善的动态网页。<BR>Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。是一种易于使用,配置简单的数据库。<BR>本文中的网上书店系统,结合ASP、Access与Dreamweaver_MX共同开发而成,具有用户使用更简单、界面更直观等优点,设计并实现用户管理、书籍管理、订单管理、购物结帐等功能。</P><P>【关键词】网上书店 数据库,ASP <BR>Abstract</P><P>With the development of computer science, database technology of the Internet is widely used, for the majority of network users with a more thoughtful and humane services. Personalized has gradually become the trend of Web applications. In this paper, based on a data association rules online bookstore system with the current program has been used in online programs, the user is simpler, more intuitive interface advantages. Online Bookstore in China has just started, it developed very rapidly. With the Internet become more popular and online bookstores have become more mature, there will be growing consumer group, market potential will be fully realized.<BR>ASP is an outstanding e-business development programming language, as its editor is simple, fully functional characteristics, has been widely used in e-commerce web site editing, and enterprise management systems development projects. Especially in the e-commerce site building, the ASP dynamic website plays an important role in the founding fathers. <BR>Dreamweaver_MX multi web development in a functional, easy, System completed almost all website technology editor. It has beautiful interface and powerful editing function, Edit the Dreamweaver_MX ASP, it is easy to use various kinds of projects, Real-time editing is complete testing of dynamic website design functions of dynamic website. <BR>Microsoft Access is a database-type relationship, relationship database table consists of a series of components, Table also consists of a series of rows and columns formed, each trip is a record for each out of a field, each field is a field name, field names in a table can not be repeated. Is an easy-to-use, simple configuration database. <BR>In this paper, the online bookstore, combined with ASP, Access and Dreamweaver_MX from joint development with a more user-simple, more intuitive interface advantages, such as design and implement user management, book management, order management, to billing and other functions.
浅论FPGA的VGA汉字显示系统设计与实现论文
在日常学习和工作中,大家都接触过论文吧,通过论文写作可以提高我们综合运用所学知识的能力。相信写论文是一个让许多人都头痛的问题,下面是我为大家整理的浅论FPGA的VGA汉字显示系统设计与实现论文,欢迎阅读,希望大家能够喜欢。
摘要:
提出一种基于Xilinx公司的Spartan一3E的FPGA显示方案,由于FPGA芯片具有可靠性高、编程灵活、体积小等优点,采用其控制 VGA接口进行汉字显示,有效地解决了通用处理器控制VGA接口显示汉字的缺点。对新方案进行理论分析和实验,结果证明该方案达到了预期效果。
关键词:
显示绘图陈列;现场可编程门陈列;VGA汉字显示
随着科技的发展,VGA汉字显示系统的应用范围越来越广泛,传统的VGA字符显示方案是通过通用处理器控制VGA接口显示字符信息的,这种显示方案是以通用处理器为核心的处理系统,整个系统体积大、可靠性不高且灵活性差,不适合便携设备的设计。而FPGA芯片具有可靠性高、编程灵活和体积小等特点,因此用FPGA技术来实现VGA汉字显示可以有效解决传统技术中的缺点。
FPGA管脚资源丰富,运行速度快,可以实现大规模的系统设计,而且由于FPGA具有可重构能力和抗干扰能力强等优点,使其越来越多地应用于工业控制领域。利用FPGA控制VGA显示汉字,可使汉字显示脱离Pc机的控制,构建体积小、功耗低的各种嵌入式系统,可应用在人机界面、地面勘测、电子设备、智能仪表和性能监测等方面。
1、VGA汉字显示
VGA的汉字显示是利用VGA的显示原理,使用正确的时序信号对VGA接口相应管脚进行控制输出RGB颜色信息来显示相应的字符信息,其中VGA显示原理及时序信号的控制必须遵循VGA的工业标准。显示处理前端中的SRAM中存储的每一位数据对应相应LCD显示屏上一个像素点的亮和灭,“1”表示亮,“0”表示灭。在显示设备上显示汉字也就是按照汉字的点阵图向显示器上输出1或0的高低电平,从而在显示器上显示出具体的汉字。
2、VGA显示控制器的FPGA实现
FPGA芯片作为中央控制器控制整个系统的处理,根据自顶向下的设计流程,按照层次化、结构化的设计方法可以将FPGA系统划分为以下几个模块:顶层模块、分频模块、VGA控制模块、存储功能模块和RAM读取控制模块。系统工作原理:系统加电FPGA芯片读人配置信息,配置完成后,FPGA进人工作状态,将要显示的汉字的字模信息初始化到单口RAM中,由系统时钟产生时序,程序根据时序信息控制VGA接口输出行、场同步及颜色信息到显示器上。
2.1 顶层模块
根据自顶向下设计方法,首先定义顶层功能块。顶层模块处于重要的位置,定义好顶层模块功能后,才能进而分析哪些是构成顶层模块必要的子模块,然后进一步对各个子模块进行分解,直到达到无法进一步分解的底层功能块。顶层模块主要负责规定各个模块之间的数据信号和控制信号的连接关系,也就是实例化各子模块,并且接收RAM读取控制模块传来的汉字字模信息数据流,根据数据流信息中比特位为1的位赋予红色,为0的位赋予蓝色,即用红色表示汉字,用蓝色来填充背景。
2.2 分频模块
时序的驱动是设计VGA显示的控制需要注意的一个重要问题,这也是实验是否成功的关键设计。时序不正确,必定不能正常显示,有时甚至会损坏显示设备。因此,对于时序的设计我们必须遵循VGA的工业标准,在设计中使用的分辨率为640×480,根据VGA的工业标准,其像素的刷新率为25MHz。
而实验采用的实验板提供的时钟频率为50MHz,因此必须将系统进行分频设计,即进行二分频的设计。50MHz的时钟频率经过分频后得到实验所需的25MHz频率,此频率将作为顶层控制模块,VGA控制模块和RAM读取控制模块的系统时钟。
2.3 VGA控制模块
VGA信号的电平驱动是设计VGA显示的控制需要注意的另一个重要问题,这是正确显示文字图像的重要设计,如果设计不当,那么在显示器上就不能正确显示文字图像。这个模块主要是根据VGA的工业标准进行设计的,用verilog语言将工业标准用程序表示出来。
VGA时序信号产生包括行点计数器x—cnt(计数个数用 表示)、场点计数器y—cnt(计数个数用rt 表示)、行同步信号hsync、场同步信号vsync、有效显示区Visible area等。其中行点计数器是800进制计数器,场点计数器是525进制计数器。根据VGA时序的工业标准行、场同步信号有4种状态:同步脉冲信号 (Sync),显示后沿信号(Back Porch),可视显示区(Visible area),显示前沿(Front Porch)。
这4种状态具有很清晰的时序规律,可以用有限状态机来实现这4种状态的转换,用h—state来表示行同步状态机的4种状态:h—sync,h—back,h—visible,h—front;v—state来表示场同步状态机的4种状态:v—sync,v—back,v— visible,v— front。行、场计数器的值决定了状态机在何时进行状态翻转。
行状态机复位时,进入行同步状态h—sync,此时行同步信号输出低电平;当行计数器的计数值达到96时,状态机翻转进人行消隐后沿h—back状态,此时仍为消隐阶段;当行计数器的计数值达到144时,状态机翻转进入h—visible状态,它对应每行的有效显示区域,共包含640点,在此区域以外的任何部分都不被显示;当行计数器的计数值达到784时,状态机进入行消隐前沿h—front状态,此时处于消隐阶段。当行计数器计数值达到799时,行状态机进入h—sync状态,同时行计数器的复位信号为高电平,计数器复位。
与行有限状态机状态转移类似,需要注意的是行扫描是从左到右地扫描显示,而场扫描是自上而下地扫描显示,显示区域中行与场确定的一个坐标位置为一个像素点,并且只有在行、场状态都为有效可视状态(h—visibl~=1且v—visible=1)时,即行有效显示区域和场有效显示区域的逻辑与值为1时,才能在显示设备上显示。行、场消隐信号的逻辑与为复合消隐信号,处于复合消隐阶段的信号不能在显示设备上显示。
2.4 存储功能模块
存储功能模块的主要功能是存储文字信息,其存储媒介为FPGA内部的硬核块RAM,块RAM是以硬核的方式内嵌到FPGA芯片中的,不占用芯片的逻辑资源,是FPGA芯片内部的一种宝贵资源。FPGA内嵌的块RAM组件可配置为单口RAM、双口RAM、分布式ROM、块ROM、内容地址存储器CAM和先进先出存储器FIFO等存储结构 J。
本文中所做实验只进行文字显示,所以可以使用单口RAM存储文字信息,如果想实现更复杂的设计如:文字的滚动显示、图片的动画显示等可以使用双口RA M进行设计。实验使用开发软件XinlinxISE中的IP核生成工具CORE Generator生成实验用的单口RAM,并将其要显示的文字信息初始化到RAM中。实验设置显示7个汉字,每个汉字为16×16点阵,所以RAM的数据深度为l6,数据宽度为112。在工程项目里利用IP核生成工具生成单口RAM,在生成过程中把RAM的数据深度、宽度设置正确,并把事先做好的.coe文件即汉字的字模信息初始化到RAM中。
2.5 RA M读取控制模块
RAM读取控制模块是VGA显示设备和存储数据信息的RA M之间通道,为了使VGA显示设备能够准确的显示文字图像信息,必须严格遵循显示设备的扫描规律,产生相应的显示信息。块RAM中的存储地址是由0到16 组成的一维的'连续地址空间,实验显示的是由7个汉字组成的16×16的点阵,如果把这7个汉字看成一个整体,那么这个整体将占用112×16个像素点。本模块包括以下3部分内容:取出汉字字模信息,行、场计数器和坐标定位设计。
显示汉字必须首先把汉字的字模信息提取出来,可以利用一个深度为16的寄存器将RAM中的汉字字模信息暂存,待字符位置定位后再从寄存器中取出相应显示信息产生汉字字模信息的数据流;用行列计数器确定坐标点,并用坐标的位置来确定文字显示位置,其实现与VGA时序控制中的行、场计数器一致;汉字显示区域实验从屏幕的坐标点(400,240)到坐标点(512,256)区域内显示字符。
当坐标计数器刷新到坐标点(400,240)时就要相应地取寄存器地址中的第1个数据作为产生汉字的第1行点阵信息的数据流,直到坐标点 (512,240)时结束第1行的显示,当坐标计数器刷新到坐标点(400,241)时就要取出寄存器中显示汉字的第2行点阵信息,直到坐标点 (512,241)时结束第2行的显示,同理直到到达坐标点(512,256)时结束字符显示。本模块产生的字符数据流将交由顶层模块来控制其显示颜色。
3、系统实验
3.1 实验环境开发工具:Xilinx ISE 9.2i;开发语言:Verilog;仿真工具:Xilinx ISE 9.2i Simulator;实验开发板:Xinlinx公司的Spartan一3E。
3.2 仿真结果
利用ISE内部的仿真软件对系统进行仿真。由仿真可以看出行、场同步(hsync、vsync)信号都有效(值为1),且行、场都处于可视区域内(水平有效显示区宽度与垂直有效显示区宽度逻辑与的区域为可视区域 ),输出使能信号vailid值为1,此时可以输出汉字信息,可以看出,当输出条件满足时,从SRAM中获取汉字信息,并将其输出,当有汉字输出时 vga—r值为1,即输出汉字颜色为红色,无汉字输出时为背景色蓝色。
3.3 实验结果
对实验进行调试,将编程数据下载到FPGA芯片中,再由显示器将汉字输出。本实验只做了一句话的实验测试,如果要实现更多字符显示,可以将更多字符信息存储到RAM字符信息库中,调取RAM中的信息进行显示即可。
4、结束语
用FPGA来控制VGA显示,可以克服使用通用处理器设计系统所带来的不便和缺点。使用块RAM存储汉字信息,不占用芯片的逻辑资源,不仅能保证较高的工作频率,而且还具有很低的动态功耗。实验实现了基于FPGA的汉字显示,方便了汉字信息的写入及内容的修改,可使汉字的显示脱离 Pc机控制,减少控制器的体积,对于小型嵌入式系统及各种便携式设备实现汉字显示具有重要的现实意义和工程实用价值。
拓展:
论文格式与要求
一般而言,非211、985学校的本科毕业论文字数在6000-8000左右(工程类需要制图的专业则会超过这个数字),而一些要求较高或者重点学校则要求论文字数在1万左右或以上,总之各个学校在论文字数上的规定都有细微的差异。
一、本科生毕业论文主要内容
1、题目 (宋体,小二,居中)
2、中文摘要(200字以上),关键词;字体:宋体、小四号,字符间距:标准;行距:20磅
3、英文摘要,关键词;
4、目录
5、正文;字体:宋体、小四号,字符间距:标准;行距:20磅
6、参考文献。期刊内容包括:作者 题名,刊名,年,卷(期):起始页码-结束页码。著作内容包括:作者、编者,文献题名,出版社,出版年份,起止页码。
7、附件:开题报告和检查情况记录表
二、格式要求
1、书写格式要求:填写项目必须用碳素或蓝黑墨水钢笔书写;
2、文稿要求:文字通顺,语言流畅,版面整洁,便于装订。Word文稿A4纸打印。
3、图纸要求:图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标准规范,文字注释必须使用工程字书写;
4、曲线图表要求:所有曲线、图表、线路图、流程图、程序框图、示意图等不得简单徒手画,须按国家规范标准或工程要求绘制;
5、公式要求:所有公式不得徒手书写,利用Microsoft公式编辑器或Mathtype编辑。
三、毕业论文份量要求:
毕业论文字数一般不少于1.5万字或相当信息量。外文文献阅读量的具体要求,由指导教师量化。
四、 毕业论文规范审查工作由指导教师具体负责,从毕业论文质、量、形式等规范方面对论文答辩资格进行审查。审查合格者方能参加答辩。凡质、量、形式等方面审查不合格者,应责令其返工,直到达到要求为止,否则不准参加毕业答辩。对于在校外进行毕业论文的学生,其论文答辩资格审查回校进行。
五、毕业论文档案应包括以下内容:
1、大学毕业论文(设计)封面(教务处统一印制);
2、毕业论文,包括题目及目录、开题报告、内容提要、正文及相关图表、参考文献及其他附件等;
3、指导教师、答辩委员会评阅意见、成绩评定表;
4、其他附件;
免责声明:本站文章信息来源于网络转载是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。不保证信息的合理性、准确性和完整性,且不对因信息的不合理、不准确或遗漏导致的任何损失或损害承担责任。本网站所有信息仅供参考,不做交易和服务的根据,如自行使用本网资料发生偏差,本站概不负责,亦不负任何法律责任,并保证最终解释权。
餐饮行业在日常管理经营中仍然有很大一部分企业是在采取纯手工的管理模式,管理的整体科技含量较低。下面是我为大家整理的餐饮管理系统设计论文,供大家参考。
实体店餐饮管理系统设计与实现
餐饮管理系统设计论文摘要
摘要:随着我国市场经济的快速发展,人们的生活水平提高,餐饮业迅速蓬勃发展,传统的手工作业方式已经不能满足餐饮经营者的需求。通过餐饮管理系统对实体店进行管理,具有人工管理所无法比拟的优点,能够极大地提高餐饮管理的效率,增强企业的竞争力。
餐饮管理系统设计论文内容
关键词:餐饮;管理系统;数据库
一、引言
随着社会经济持续高速增长,社会财富迅速增加,广大人民群众收入水平不断提高,生活方式随之发生巨大变化。同时,随着市场经济体制的建立健全和迅速发展,社会物质产品极大丰富,餐饮业蓬勃发展,传统的手工作业方式已经不能满足餐饮经营者的需求了。人工记账、核算、查询等工作既费时、费力,也容易出错。通过在计算机中运行餐饮管理系统,既减少了人力资源,同时提高效率,能为餐饮业赚取更大的利润,同时为消费者提供了诸多方便。
近几年来,计算机网络、分布技术日趋成熟,随着科技的发展,餐饮业的竞争也越来越激烈。想在这样竞争激烈的环境下生存,就必须运用科学的管理思想与先进的管理 方法 ,使点餐与管理一体化。这样不仅可以提高工作效率,也避免了以前手工作业的麻烦,从而使管理者能够准确、有效地管理。因此,需要建立一个科学的餐饮管理系统。
二、系统分析
(一)可行性分析
1. 技术可行性
该系统是一个小型的餐饮管理系统。采用C/S模式,在前台计算机安装客户端,处理信息,将处理结果储存在数据服务器上。目前很多企业都采用SQL Server数据库,处理数据也相当方便,得到了广泛的应用,在技术上是可行的。
2. 经济可行性
对本系统的经济效益与开发成本进行分析。本系统采用C/S结构,只要拥有一台PC电脑,无需复杂设置即可实施,并且相对人工作业来说,节省人力、物力,具有较好的经济效益。
3. 操作可行性
操作可行性指系统的操作方式在用户组织中是否行得通。餐饮管理系统的功能较为简单,页面简单明了,没有那些繁琐的、不必要的操作。用户一看就能够知道应该怎么进行操作。管理员的界面也较为简单,都是些基本的操作,员工可以很快掌握,在操作方面也很容易实现。
(二)功能需求分析
餐饮管理系统是对餐饮流程的数字化的管理,既可以帮助餐厅更好地管理职员信息,又方便了顾客消费,并且不同的用户使用权限不同。具体功能有:用户的登录、基本信息、点/加菜、账单查询、结账、辅助功能、系统维护、系统设置等。
用户登录:用户选择自己的身份(超级管理员、经理、顾客)登录,若身份选择错误,则登不上。用户根据自己的账号、密码及正确的身份登录到系统主界面。
职员信息:超级管理员及经理有权限管理职员的基本信息。职员信息功能模块包括总体职员的查询、职员信息的添加、职员信息的修改以及职员信息的删除。
桌台信息:超级管理员及经理有权限管理桌台的基本信息。桌台信息功能模块包括桌台的查询、桌台信息的添加、桌台信息的修改及桌台信息的删除。
点/加菜:该功能实现顾客点菜及加菜。
账单查询:顾客可根据自己的消费情况,查询自己的账单。
结账:根据该桌台的消费情况及包间费,汇总出总价,并可计算实收与找零。
辅助功能:作为一个系统,应该具备一些辅助的功能,如日历及计算器。
系统维护:只有超级管理员才有这样的权限,可实现权限管理、系统备份、系统恢复。
系统设置:包括系统的口令设置及锁定系统。
三、系统设计与实现
系统模块主要包括五个主要模块:基本信息模块、桌台操作模块、系统设置模块、辅助工具模块、退出模块。其中基本信息模块又分两个子模块:桌台基本信息和职员基本信息。桌台操作是本系统主要的功能,它包括对桌台实行开台、点菜的操作,同时针对某一个桌台可以进行消费查询及结账。系统设置模块主要包括口令设置和锁定系统,该模块主要是对系统的安全性的一个保障,也是本系统不可缺少的一部分。作为一个系统应该需要有一些辅助工具,如日历、计算器、记事本,所以该系统有一个辅助工具模块。一个完整的系统肯定有退出模块,即退出系统。
餐饮管理系统中主要功能的详细设计如下。
(一)登录模块设计
登录模块以登录的用户名、密码和用户权限作为搜索条件,在数据库中进行查询。单击登录按钮时,登录模块首先判断是否输入了用户名和密码,如果没有输入用户名和密码将弹出提示框,提示用户输入登录系统的用户名和密码;如果输入了用户名和密码,系统将判断用户名、密码和权限是否匹配。若匹配,则登录成功。
(二)主界面模块设计
成功登录后,会显示主界面,主界面中应该包括菜单栏、桌台显示和显示系统状态栏。在窗体加载时,首先判断登录用户的权限,根据用户登录的权限,分配不同的功能。当窗体焦点触发时,系统从数据库中检索出所有桌台的状态信息,然后调用自定义的AddItem方法添加桌台。用户点击某个桌台时,系统会根据该桌台当前的状态,弹出不同的右键菜单。
(三)开台模块设计
开台窗体中应该有桌台信息和职员信息及用餐人数,窗体加载时,将数据库中的所有的桌台信息和职员信息检索出来显示在ComboBox控件上。应在用餐人数文本框中输入用餐人数,并且用餐人数应是大于0的整数数字,保存后即对桌台进行开台操作。
(四)点菜模块设计
点菜模块可利用TreeView控件来显示所有的菜系,利用DataGridView控件显示顾客消费的所有信息。设计该模块时通过数据库中检索出所有的菜系名称显示到TreeView中,用户选择菜系后,应设计一个存储这些被选择的菜系的数据表,并在该模块中能显示出来,以便使误点的菜可以删除。
(五)结账模块设计
结账模块中,可在数据库中检索出顾客消费的所有项目,应有菜系的消费和包间的消费,根据两者的消费,显示出总的消费。顾客输入金额时,系统可自动找零,并显示到界面上。
(六)桌台基本信息模块设计
桌台基本信息应该具有对于桌台添加、删除、修改、查询等操作。添加桌台信息时,在数据库中检索桌台信息的数据表,并将信息添加到信息表中。查询桌台信息时,系统连接数据库,在数据库中检索到数据库的数据表,并将桌台信息显示到界面上。
四、小结
小型实体店餐饮管理系统是在.net平台上进行,结合后端的SQL Server 2000数据库技术,完成了桌台的管理、职员的管理、顾客开台,点菜/加菜、账目查询及消费账目结算等功能。系统信息查询灵活又方便、数据存储安全可靠、成本低。另外系统自身有如下优点。
一是使用较方便,用户上手快。
二是系统自动结账,结账速度快速且准确。
三是系统为提高客户服务质量提供了有效的技术保证。
通过小型实体店餐饮管理系统能能够切实有效地指导工作人员规范业务操作流程,更高效、快捷地实现业务的管理,保障顾客信息的安全,提高管理水平和工作效率,进而提高业务竞争能力。
餐饮管理系统设计论文文献
[1]吕品,陈凤培.某中小型餐饮店管理信息系统的设计与开发[J].桂林航天工业高等专科学校学报,2011(04).
[2]崔海龙,李允.电子商务在餐饮业中的运用[J].管理观察,2009(18).
[3]余伟,赵亮.基于SOA的银行中间交易平台的设计与架构[J].科技广场,2011(07).
餐饮管理系统中数据完整性的设计
餐饮管理系统设计论文摘要
摘 要: 以餐饮管理系统数据库中部分表为例,详细介绍个人对数据完整性设计思路和设计方法,通过实例阐述数据完整性在实践中的应用,并给出基于SQLSERVERDE语言的描述。
餐饮管理系统设计论文内容
关键词: 数据库;数据完整性;约束;触发器
中图分类号:TP311 文献标识码:A 文章 编号:1671-7597(2011)1210173-01
数据库的创建是一件非常容易的事情,但是设计一个严谨、安全、可靠的数据库就不那么容易了,它需要你有扎实的理论知识做基础,还需要具备一定的分析问题解决问题的能力。数据库的设计经过需求分析、数据库概念机构设计、逻辑结构设计之后我们就应考虑数据完整性的设计了。数据完整性是最大限度的保证数据的正确性、可靠性、一致性。数据完整性包含三个方面的内容即实体完整性、参照完整性(引用完整性)和用户自定义完整性(域完整性)。
下面以餐饮管理系统部分可以实现点菜和结账的表为例阐述以上完整性的设计。餐饮管理涉及的表的关系模式为:桌台表zt(桌号zh,桌名zm,容纳人数rnrs,状态zt,类型lx),菜单表cd(菜品编号cpbh,菜品名称cpmc,规格gg,类别lb,单价dj,成本价cbj),订单表dd(订单编号ddbh,订单日期ddrq,桌号zh,消费金额xfje),点菜表dc(订单编号ddbh,菜品编号cpbh,数量sl)。以上四个表的定义如下:
Create table zt (zh char(4) primary key ,zm char(8) unique, rnrs int check (rnrs>=0),zt bit,lx char(8) check (lx='大厅' or lx='包厢' lx='vip'))
Create table cd(cpbh char(5) primary key, cpmc char(12),gg char(10),lb char(8),dj numeric(6,1) check(dj>=0),cbj numeric(6,1) check(cbj>=0))
Create table dd (ddbh char(10) primary key,ddrq datetime,zh char(4) foreign key references zt(zh), xfje numeric(10,1))
Create table dc (ddbh char(10) foreign key references dd(ddbh),cpbh char(5) foreign key references cd(cpbh),sl int check(sl>=0) default 1,primary key(ddbh,cpbh))
1 实体完整性(表完整性)
实体完整性又叫做表完整性,是对表中主键的约束。实体完整性的规则要求:在任何关系的任何一个元组中,主键的值不能为空值、也不能取重复的值。建立实体完整性的目的是用于保证数据库表中的每一个元组都是惟一的。是否可以改变主键值或删除一整行,取决于主键和其他表之间要求的完整性级别。实体完整性的定义比较简单。实现“实体完整性”的方法有primary key约束、unique约束、标识列、惟一索引。在此对桌台表zt中的桌号zh、菜单表cd表中的菜品编号cpbh以及订单表dd中的订单编号ddbh定义了primary key约束。在定义的时候一定要注意,一张完整的表定义只能有一个主键(PRIMARY KEY),但是可以没有UNIQUE约束。
2 参照完整性规则(引用完整性规则)
现实世界中的实体之间存在某种联系。在关系模型中实体及实体间的联系都是用关系来描述的,这样就自然存在着关系与关系间的引用。通过在同一个数据库的两个表中进行主键约束和外键约束来实现,参照的列和被参照的列的必须具有相同的属性。
参照完整性规则规则要求:“不引用不存在的实体”。即:不允许在一个关系中引用另一个关系中不存在的元组。其目的用于确保相关联的表间的数据保持一致。参照完整性是对外键的约束,要求外键的取值只能为两种情况:若取非空值,则它必须是主表中存在的值。要么取空值(null)。设置了参照完整性禁止在从表中插入包含主表中不存在的关键字的数据行;禁止删除在从表中的有对应记录的主表记录。
在如上四个表中对订单表dd的桌号zh、点菜表对此dc的订单编号ddbh及菜品编号cpbh分别设置了外键。另外外键的设计也可由触发器或编程语言来设定。以订单表dd为例触发器设置方法如下:
CREATE TRIGGER insert_xs ON dd
AFTER INSERT
AS
IF EXISTS
(SELECT * FROM INSERTED
WHERE zh IN (SELECT zh FROM zt))
PRINT '添加成功!’
ELSE
BEGIN
PRINT '桌号与存在的桌号不符!’
ROLLBACK TRANSACTION
END
同样可以对点菜表设置一个触发器要求dc的订单编号ddbh及菜品编号cpbh也具有参照性。参照完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值。
3 域完整性
域完整性也称为列完整性或用户定义的完整性,用于限制用户向列中输入的内容。域完整性规则要求由用户根据实际情况,定义表中属性的取值范围。其目的用于保证给定字段中数据的有效性,即保证数据的取值在有效的范围内。
设置域完整性的方法是限制列的数据类型、精度、范围、格式和长度等。可以通过指定数据类型、CHECK约束、DEFAULT约束、NOT NULL约束和创建规则、默认值等数据库对象来实施。
数据库中存储的数据多种多样,为每一列指定一个准确的数据类型是设计表的第一步,列的数据类型规定了列上允许的数据值。当添加或修改数据时,其类型必须要符合建表时所指定的数据类型。这种方式为数据库中的数据完整性提供了最基本的保障。
约束是SQL Server提供的自动保持数据完整性的一种方法,是独立于表结构的。规则是实现域完整性的方法之一,用来验证一个数据库中的数据是否处于一个指定的值域范围内,是否与特定的格式相匹配。当数据库中的数据值被更新或插入时,就要检查新值是否遵循规则。如果不符合规则就拒绝执行更新或插入操作。
在餐饮系统相关表中我们对相应的列设置了数据类型及长度度限制,并对菜单表cd的单价dj设置了check(dj>=0)的约束,对点菜表dc的数量sl列(sl int check(sl>=0) default 1)设置了check约束和默认值的约束。当然对于以上约束我们都可通过定义规则的方法实现。如:
用create rule dyl as@x>=0来定义一个大于零的约束,然后用sp_bindrule dyl,'cd.dj‘语句和sp_bindrule dyl,'dc.sl'语句将其绑定到菜单表cd的单价dj列及点菜表dc的数量sl列上。
对于菜品编号cpbh我们规定菜类必须以类别的代表字母作为第一个字符,小分类的代表字母为第二个字符后面跟3位数字来表示。如CL001表示青菜类、LN001可表示奶类饮料。类别分类如表1:
表1 菜单类别表
为了实现上述编码我们用规则来实现如下:
Create rule cpbm as
@BM like 'C[LQRT][0-9][0-9][0-9]'
Or @BM like 'J[PBNM][0-9][0-9][0-9]'
Or @BM like 'Y[CNGT][0-9][0-9][0-9]'
Or @BM like 'z[fm][0-9][0-9][0-9]'
sp_bindrule cpbm, 'cd.cpbh'
4 触发器实现数据完整性
当用户对数据的完整性要求更为特殊,更为复杂,以上3种完整性就无法满足用户的要求。在这种情况下,用户需要自己定义所需的完整性。实现自定义完整性的重要方法是创建触发器。触发器是一种数据库对象。是一种表或视图执行insert、delete、update操作时,被系统自动执行的特殊的存储过程。创建触发器的目的是对表实现复杂的数据完整性约束,以防止不正确的操作。它与数据库中的某个表的数据修改操作相关联,修改操作可以是INSERT、UPDATE、和DELETE这3种操作中其中一种或几种。当用户对相关表执行触发器相关的修改操作时触发器自动执行。常用于数据的参照完整性限制及级联删除、级联更新等操作的设置。以级联更新为例,分析当菜单表中的菜品编号修改时,点菜表中的菜品编号同时更新这样的操作用触发器如何实现:
create trigger upd on cd after update
as
declare @jbh char(5),@xbh char(5)
select @jbh=deleted.cpbh, @xbh= inserted.cpbh
from deleted,inserted where deleted.cpbh=inserted.cpbh
print '准备级联更新点菜表中的菜品编号信息….'
update dc set cpbh=@xbh where cpbh=@jbh
print '已经级联更新了点菜表原菜品编号为'+ @jbh +'的信息'
5 应用接口编程
应用接口编程对数据库应用设计来说是负担最重的方法,但同时又是最基本、最灵活的方法。不论数据库管理系统提供了多么丰富的完整性的约束手段,利用编程接口保证数据完整性仍是所有数据库应用设计者必须掌握的关键技术之一。
6 总结
保证数据库的数据完整性,在数据库管理系统中是十分重要的。合理地使用SQL Server为数据完整性提供的各项 措施 ,对数据进行所需的约束限制,可以有效降低数据库在使用过程中可能出现的错误,提高数据库系统的可用性,减少处理数据错误所耗的费用。
餐饮管理系统设计论文文献
[1]陈伟,Sql Server2005应用系统开发教程[M].北京:清华大学出版社.
[2]Andrew J.Brust Stephen Forte著,精通SQLServer 2005程序设计,贾洪峰译,清华大学出版社,2007.
[3]萨师煊、王珊,数据库系统概论(第三版)[M].北京:高等 教育 出版社,2004.
有关餐饮管理系统设计论文推荐:
1. 浅谈餐饮服务与管理论文
2. 高档餐饮服务管理研究毕业论文
3. 酒店管理系统毕业论文
4. 有关餐饮服务与管理论文
5. 学生管理系统论文
6. 学籍管理系统毕业设计论文
毕业论文管理系统, 自己写这个项目时需要注意以下几点