食堂管理系统_毕业设计论文_第1页
食堂管理系统_毕业设计论文_第2页
食堂管理系统_毕业设计论文_第3页
食堂管理系统_毕业设计论文_第4页
食堂管理系统_毕业设计论文_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、引言211背景与目的212后台数据库为SQLSERVER2000简介2二、系统需求分析221系统功能分析3221子模块功能分析322系统功能模块设计5221系统功能管理模块623数据流图7231卡交易数据流图7232现金交易数据流图8233库存管理数据流图9234整体流图924可行性分析1125数据字典11三、概念结构设计1531构思ERD的四条原则1532设计ER图16321分ER图16322整体ER图22四、逻辑结构设计2341一般逻辑模型设计23411由ERD导出一般关系模型的四条原则23412数据库初步的关系框架(ER图向关系模型转化)23413数据模型优化2542具体逻辑模型设计2643设计用户子模式35五、物理结构设计3961建立索引4062建立触发器40六、数据库结构的实现4261数据定义42611创建表格SQL语句42612创建视图SQL语句45613创建索引SQL语句4763数据查询4764数据更新49641数据添加49642数据修改49643数据删除50七、总结51一、引言11背景与目的随着高校办学规模的不断扩大,高校后勤管理工作也日趋繁杂许多大型高校拥有多个校区,有十几个甚至几十个学生和教工食堂,这些食堂的地理位置分散,又要实现统一的协调管理,就不得不借助现代化的管理模式网络管理模式由于当前学校的规模不断扩大,学生数量不断增加,学生信息量也成倍增长,食堂管理工作成为学校各项管理工作的一个重要部分。面对庞大的信息量,如何有效在提高食堂管理工作的效率是学校急需解决的问题。这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理餐饮。12后台数据库为SQLSERVER2000简介SQL全称是“结构化查询语言STRUCTUREDQUERYLANGUAGE”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。SQL不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。二、系统需求分析随着21世纪的到来,人们更深切地感受到了计算机在生活和工作中的作用越来越重要,越来越多职业需要具有计算机的应用技能。掌握计算机是职业的雪要,更是事业发展的需要。信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用水平已成为衡量一个国家综合国力的重要标志之一。在计算机的三大主要应用领域(科学计算、数据处理与过程控制)中,数据处理的比重占70左右。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类系统对数据处理的要求,在文件系统的基础上发展起了数据库系统。随着计算机计算机技术的飞速发展,计算机在企业管理中应用及普及,利用计算机实现企业信息管理势在必行。本课题以高等院校为对象,作为高效要面对大量的课程设计项目及相关信息的处理,这就需要一个课程设计管理系统来提高管理工作的效率。通过本系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。数据处理技术已深入到我们工作和生活的方方面面,而数据库技术是数据处理不可缺少的手段。随着数据库技术的发展,面向对象的数据库、分布式数据库、多媒体数据库、数据库开发工具的研究方兴未艾,这些技术的发展使用软件的开发速度更快、成本更低、质量更好、功能更强。管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下5点内容(1)用统一标准处理和提供信息,排除使用前后矛盾的不完整的数据。(2)完整、及时提供在管理及决策中需要的数据。(3)利用指定的数据关系分析数据,客观预测未来。(4)向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。(5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。21系统功能分析系统开发的总体任务是受用计算机信息管理技术,实现食堂各种信息的系统化,规范化,自动化,提高食堂管理的效率。对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分析和规划,确保在后期开发中不会出现遗漏或重大缺陷。因此在软件开发中,要严格按照软件工程的流程进行系统的分析和设计系统功能分析是在系统开发的总体任务的基本上完成的。主要功能1、消费者信息管理2、预订信息管理3、成本核算管理4、库存管理其中主要任务为消费者信息管理和结算信息管理。总的功能特点完善、全面的综合查询报表翔实,实用性强221子模块功能分析消费者信息管理对来自客户端的不同用户进行权限审查,限定对数据库的访问级别预订信息管理各部门向采购部发出需求申请,预定用货;对于采购部已送达的货物进行电子签名接收;预订信息管理订餐、订餐信息修改、订餐信息取消、定金处理、订餐统计、订餐查询,订餐报表。有效的预订处理,充分发挥销售潜力,这使该系统更实用、全面、方便和快捷。需要有关包房的详细情况和全面的咨询服务,减少了文件资料的手工整理等繁琐工作,并能避免处理上的错误,从而简化预订房间手续。成本核算管理对成本利润的综合分析。成本包括固定成本(人员工资、水电、税等)变动成本(菜、酒、米等的采购成本)。收入指每天的销售收入。能核算每天、每月、每年、以及任何一段时间的成本,利润。微机室核计每天各单位、各窗口的收益情况并消费者信息管理消费者信息修改消费者信息添加消费者信息删除消费者信息查询预订信息管理预订信息修改预订信息添加剩余房间信息查询预订信息查询将结果送入数据库供管理层查询;成本查询用于各个单位查询各个部门每日每月的成本情况。效益查询用于各个单位查询各个部门每日每月的收益情况。库存管理管理各种用品的使用情况,确定用货来源和送达目的地;对商品的入库,出库,结算的管理。要有明细账,记载出入库的详细情况。供食堂负责人员和采购人员还有审查工作,实现对于每天各部门、各食堂中所使用的货物进行审核和查看现有库存情况;22系统功能模块设计对上述各项功能进行集中、分块分析,按照结构化程序设计的要求,得到如图所示的这个系统的功能模块图成本核算管理成本查询效益查询入库商品查询出库商品查询库存管理221系统功能管理模块食堂管理系统消费者信息管理预订信息管理成本核算管理库存管理消费者信息查询消费者信息修改消费者信息添加消费者信息删除预订信息修改预订信息添加预订信息删除预订信息查询成本查询效益查询入库商品查询出库商品查询23数据流图【注释数据流图,简称DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型】数据流程图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它可以综合的反映出信息在系统中的流动、处理和存储情况,具有良好的抽象性和概括性。它在调查的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述系统应具有的数据加工、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。数据流程图和系统的物理描述无关,它所描述的内容不涉及技术细节,而是面向用户的,即使完全不懂信息技术的用户也容易理解。因此,数据流程图成为系统分析员与用户进行交流的有效手段,同时也成为系统设计的主要依据之一。用户的需求具体体现在各种信息的提供、保存、更新和查询等方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为数据库的具体设计打下基础。数据流图表达了数据和处理之间的关系。数据流图是有层次之分的,越高层次的数据流图表现的业务逻辑越抽象,越底层次的数据流图表现得业务逻辑越具体。在仔细的分析调查有关食堂管理信息需求的基础上,得到如下图所示的这个系统所处理的数据流程。根据以上的分析,我们可以先画出分流程图,然后可以综合分流程图,画出整个系统操作的业务流程图231卡交易数据流图消费者办卡基本信息输入消费者信息管理消费者交易成本结算管理结算信息输入232现金交易数据流图消费者订餐预订信息管理消费查询收款管理成本结算管理233库存管理数据流图成本结算管理库存管理采购员消费者入库管理出库管理入库出库加工库存信息判断234整体流图整体流图简图成本结算管理消费者信息管理库存管理结算信息收款管理预订信息管理整体流图整图24可行性分析可行性分析是系统分析阶段的重要活动,是对系统进行全面、概要的分析。它的任务是确定项目开发是否必要和可行。它的主要目标是进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析,并根据需要和可能提出拟开发系统的初步方案和计划,明确问题,对所提供系统大致规模和目标的几个有关约束条件进行论证,并且提出系统的逻辑模型和各种可能的方案,从而为系统开发项目的决策提供科学依据。其主要从三个方面进行研究(1)技术可行性对现有技术进行评价,以明确能否利用现有技术进行系统开发及系统实施。计算机网络技术的发展和计算机硬件性价比的不断提升,使计算机全面应用于医院管理的各个环节成为可能。C/S开发模式、COM、DCOM技术在国内各行各业的信息管理系统开发中已经被广泛采用,实践证明这些技术都非常适合食堂管理系统的开发。(2)经济可行性对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行评估,对系统建成后可能取得的社会及经济效益进行估计。连锁餐饮企业整体规模庞大,个体规模小而营管理相对简单统一,开发成本不高,一旦开发成功,即能直接应用在所有同种食堂。(3)营运可行性指系统对组织机构的影响,对现有人员和机构、设施、环境等的适应性以及进行人员培训补充计划的可行性。连锁餐饮企业整体规模庞大,个体规模小而营管理相对简单统一。所以食堂系统的计算机信息管理人才、计算机硬件设备、操作员的计算机应用能力都为系统的运行过程提供了可靠保证。25数据字典由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描述清楚,便于后续工作系统设计的进行。数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存诸和处理过程5个部分。其中数据项是最小组成单位,若干数据项组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储和逻辑内容。针对一般食堂管理信息系统的需求,通过对食堂管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构数据结构名称卡信息含义说明是消费者这里指的是学生和教师用来使用付款的工具卡的一系列信息,它记录了包括它本身以及持卡者的一些信息包括的数据项有1卡号(消费者使用的用来付款的卡的编号,与消费者办卡的先后顺序有关别名CARD_NUMBER字符型长度6)2余额(消费者卡中所剩的金钱数量,别名BALANCE字符型长度6)3办卡日期(消费者办卡的日期,别名CARD_DATE日期型长度8)4持卡者姓名(拥有信息卡的消费者的名称,别名PERSON_NAME字符型长度10)5花费(消费者所消费的金钱数量别名CONSUME字符型长度20)数据结构名称学生信息含义说明消费者群体之一,可以自由选择消费方式,办过卡用卡交易或者用现金交易包括的数据项有1学号(学生在校所编的号码别名S_NUMBER字符型长度6)2系别(学生所在的系的名称别名S_SYSTEM字符型长度16)3班级(学生所在的班级的班号别名CLASS字符型长度20)4姓名(学生的姓名别名S_NAME字符型长度10)5性别(学生的性别别名S_SEX字符型长度4)6宿舍(学生所在宿舍名称别名S_DORM字符型长度20)7联系方式(学生的手机号码别名S_TEL字符型长度20)数据结构名称教师信息含义说明消费者群体之一,可以自由选择消费方式,办过卡用卡交易或者用现金交易包括的数据项有1教师号(教师的编号别名T_NUMBER字符型长度6)2系别(教师所在的系的名称别名T_SYSTEM字符型长度10)3姓名(教师的姓名别名T_NAME字符型长度6)4性别(教师的性别别名T_SEX字符型长度4)5家庭住址(教师的家庭住址别名ADDRESS字符型长度50)6联系方式(教师的手机号码别名T_TEL字符型长度20)数据结构名称消费者含义说明来到食堂消费的人,这里指的是学生和教师包括的数据项有1消费序号(消费者来消费的序号别名CONSUMER_NUMBER字符型长度6)2姓名(消费者的姓名别名CONSUMER_NAME字符型长度10)3性别(消费者的性别别名CONSUMER_SEX字符型长度10)4消费类别(消费者消费的类别,其中包括卡消费和现金消费别名CONSUME_SORT字符型长度10)5消费者类别(消费者的类别,这里指学生或教师别名CONSUMER_SORT字符型长度10)数据结构名称包房信息含义说明消费者订餐的房间的信息包括的数据项有1房间编号(消费者订餐房间所在的编号别名ROOM_NUMBER字符型长度6)2房间位置(消费者订餐房间所在的房间位置别名ROOM_ADDRESS字符型长度20)数据结构名称订餐信息含义说明消费者在订餐时所需要的信息包括的数据项有1订餐编号(消费者订餐的编号,以便管理别名BEAT_NUMBER字符型长度6)2顾客姓名(消费者的姓名别名CONSUMER_NAME字符型长度10)3联系方式(消费者的联系方式(手机号码)别名CONSUMER_TEL字符型长度20)4约定时间(消费者订餐时所约定的吃饭时间别名BOOKTIME日期型长度8)5备注信息(在订餐时其他的信息别名REMARK_INFO文本型长度50)数据结构名称消费情况含义说明消费者在食堂的消费总体情况,用于管理员的审查工作以及预算,计算成本利润的工作。包括的数据项有1一楼窗口(一楼所有窗口一天内收入总和别名FLOOR_ONE字符型长度6)2二楼窗口(二楼所有窗口一天内收入总和别名FLOOR_TWO字符型长度6)3三楼窗口(三楼所有窗口一天内收入总和别名FLOOR_THREE字符型长度6)4一天消费总额(一天内在食堂用餐的消费者所花费的总额,它的数值等于所有楼层的收入与消费者在包房所花费的总额别名TOTAL长整型长度6)5日期(记录的日期别名DATE日期型长度8)数据结构名称管理员信息含义说明食堂的主要负责人以及采购员,管帐人员等的信息包括的数据项有1管理员编号(管理员在食堂的编号别名MANAGER_NUMBER字符型长度6)2姓名(管理员的姓名别名MANAGER_NAME字符型长度6)3性别(管理员的性别别名MANAGER_SEX字符型长度4)4家庭住址(管理员的家庭住址别名MANAGER_ADDRESS字符型长度50)5联系方式(管理员的联系方式别名MANAGER_TEL字符型长度20)6工资(管理员每个月的收入别名INCOME整型长度20)数据结构名称库存信息含义说明食堂的库存中商品的信息包括的数据项有1商品编号(商品的编号别名TRADE_NO字符型长度20)2商品名称(商品的名称别名TRADE_NAME字符型长度20)3商品价格(商品所入库时的价格别名PRICE整型长度4)4入库商品数量(入库时商品的数量别名ENTER_NUMBER整型长度4)5库存商品数量(现在库存的商品的数量别名STOCK_NUMBER整型长度4)6入库时间(商品入库的时间别名ENTERTIME日期型长度8)7出库时间(商品出库的时间别名OUTTIME日期型长度8)三、概念结构设计这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念结构设计的特点是能真实、充分的反映现实世界,包括事物和事物的联系,能满足用户对数据的处理要求,是对现实世界的一个真实的模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。易于改正,当应用环境和应用要求改变时,易于对概念模型修改和扩充。易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念准确的加以描述。概念结构设计通常分为四种方法自顶向下,即首先定义全局概念结构的框架,然后逐步细化。自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。逐步扩张,首先定义最重要的核心概念结构,然后向外扩张。混合策略,即自顶向下和自底向上结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。通常分为两步,第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局视图。下面首先对实体和其属性加以描述,再写出系统的分ER图,进而合并成为整体的ER图。31构思ERD的四条原则原则1能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。原则2两个或多个实体间的关联与结合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。原则3实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点A非多值性;B非复合性;C非导出性。而实体的属性还应有非关联性。原则4(一事一地原则)所有基本项在同一ER图中作为属性要在仅在一个地方出现32设计ER图根据上面的设计规划出的实体有卡信息实体、学生信息实体、教师信息实体、消费者实体、包房信息实体、订餐信息实体、消费情况实体、管理员信息实体。各个实体具体的描述ER图及其之间的关系描述如下。321分ER图图31为卡信息实体ER图卡信息卡号余额持卡者姓名办卡日期花费图32为学生信息实体ER图学生信息学号系别班级姓名宿舍联系方式性别图33为教师信息实体ER图教师信息教师号系别姓名家庭住址联系方式性别图34为消费者实体ER图消费者消费类别消费者类别消费序号性别图35为包房信息实体ER图包房信息房间编号房间位置图36为订餐信息实体ER图姓名订餐信息订餐编号顾客姓名联系方式约定时间备注信息图37为消费情况实体ER图消费情况一楼窗口二楼窗口三楼窗口一天消费总额日期图38为管理员信息实体ER图管理员信息管理员编号姓名家庭住址联系方式性别工资图39为库存信息实体ER图出库时间库存信息入库时间商品价格商品名称入库商品数量库存商品数量商品编号图310为管理员信息实体和库存管理实体关系ER图N1图311为管理员信息实体、消费情况实体、消费者实体关系ER图MNN1管理员信息管理员编号姓名联系方式家庭住址性别库存信息出库时间管理入库时间商品名称入库商品数量库存商品数量工资商品价格商品编号管理员信息消费情况管理查询联系方式家庭住址姓名二楼窗口一楼窗口三楼窗口日期一天的消费总额管理员编号消费者消费消费者类别姓名消费类别消费序号性别性别工资图312为订餐信息实体、包房信息实体、消费者实体关系ER图111N图313为卡信息实体、学生信息实体、消费者实体关系ER图N111包房信息订餐信息消费者订餐所在顾客姓名订餐编号备注信息约定时间联系方式房间编号房间位置消费者类别消费类别消费序号姓名性别学生信息卡信息属于持有卡号余额办卡日期持卡人姓名联系方式班级学号姓名系别宿舍花费消费者消费类别消费者类别姓名消费序号性别性别工资商品价格商品名称图314为卡信息实体、教师信息实体、消费者实体关系ER图N111322整体ER图由上面的分ER图可以得到整体ER图,如下图所示图315为整体ER图N111N管理员信息管理查询消费情况包房信息订餐信息学生信息卡信息教师信息消费者消费组成属于使用持有订餐所在管理员编号姓名联系方式家庭住址一楼窗口二楼窗口一天的消费总额日期三楼窗口顾客姓名订餐编号备注信息约定时间联系方式房间编号房间位置消费者类别姓名消费类别卡号余额办卡日期持卡人姓名联系方式联系方式家庭住址系别教师号姓名班级学号姓名系别宿舍花费消费序号库存信息。出库时间管理性别性别性别性别教师信息教师号系别家庭住址联系方式属于持有姓名卡信息持卡人姓名卡号余额办卡日期花费消费者消费类别姓名消费序号消费者类别性别性别MN1N111NN1111四、逻辑结构设计现在需要把上面设计好的数据库概念结构转化为SQLSERVER2000数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。41一般逻辑模型设计411由ERD导出一般关系模型的四条原则原则1ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2ER图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是11的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。原则31M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4MM联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。412数据库初步的关系框架(ER图向关系模型转化)最多关系模型转化库存信息(商品编号商品名称商品价格入库商品数量库存商品数量入库时间出库时间)管理(商品名称管理员编号)管理员信息(管理员编号姓名性别家庭住址联系方式工资)管理查询(管理员编号日期)消费情况(日期一楼窗口二楼窗口三楼窗口一天消费总额)消费(日期消费序号)消费者(消费序号姓名性别消费类别消费者类别)订餐(订餐编号消费序号)订餐信息(订餐编号顾客姓名联系方式约定时间备注信息)所在(订餐编号房间编号)包房信息(房间编号房间位置)属于(学号消费序号)组成(教师号消费序号)学生信息(学号系别班级姓名性别宿舍联系方式)使用(卡号学号)卡信息(卡号余额办卡日期持卡者姓名花费)持有(卡号教师号)教师信息(教师号系别姓名性别家庭住址联系方式)最少关系模型转化库存信息(商品编号商品名称商品价格入库商品数量库存商品数量入库时间出库时间管理员编号)管理员信息(管理员编号姓名性别家庭住址联系方式工资)管理查询(管理员编号日期)消费情况(日期一楼窗口二楼窗口三楼窗口一天消费总额消费序号)消费者(消费序号姓名性别消费类别消费者类别)订餐信息(订餐编号顾客姓名联系方式约定时间备注信息消费序号房间编号)包房信息(房间编号房间位置)学生信息(学号系别班级姓名性别宿舍联系方式消费序号)卡信息(卡号余额办卡日期持卡者姓名花费学号教师号)教师信息(教师号系别姓名性别家庭住址联系方式消费序号)413数据模型优化数据库逻辑设计的结果不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,方法为1、确定数据依赖2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系冗余数据和冗余联系容易破坏数据为的完整性,给数据库维护增加困难,应当予以消除。经过规范化理论得出,原关系模式之间的数据依赖已经达到极小化,没有冗余的联系,消除冗余的ER图称为基本ER图3、按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系模式分别属于第几范式。4、按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。5、对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。根据需求分析阶段系统的功能分析,这样的应用环境,这些模式可以完成包括消费者信息管理,预订信息管理,成本核算管理,审查工作,库存管理这些模块的要求,分析结果中可在设计用户子模式中对不同级别的用户定义不同的VIEW。优化后的关系模式库存信息(商品编号商品名称商品价格入库商品数量库存商品数量入库时间出库时间管理员编号)管理员信息(管理员编号姓名性别家庭住址联系方式工资)管理查询(管理员编号日期)消费情况(日期一楼窗口二楼窗口三楼窗口一天消费总额消费序号)消费者(消费序号姓名性别消费类别消费者类别)订餐信息(订餐编号顾客姓名联系方式约定时间备注信息消费序号房间编号)包房信息(房间编号房间位置)属于(学号消费序号)组成(教师号消费序号)学生信息(学号系别班级姓名性别宿舍联系方式)使用(卡号学号)卡信息(卡号余额办卡日期持卡者姓名花费)持有(卡号教师号)教师信息(教师号系别姓名性别家庭住址联系方式)42具体逻辑模型设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。食堂管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表41为创建库存信息表STOCK创建库存信息表STOCK列名数据类型可否为空说明声明TRADE_NOVARCHAR20NOTNULL商品编号主键TRADE_NAMEVARCHAR20NULL商品名称建立聚簇索引PRICEINT4NULL商品价格ENTER_NUMBERINT4NULL入库商品数量STOCK_NUMBERINT4NULL库存商品数量建立聚簇索引ENTERTIMEDATETIME8NULL入库时间建立唯一索引OUTTIMEDATETIME8NULL出库时间MANAGER_NUMBERVARCHAR6NOTNULL管理员编号外键表42为创建管理员信息表MANAGER创建管理员信息表MANAGER列名数据类型可否为空说明声明MANAGER_NUMBERVARCHAR6NOTNULL管理员编号主键MANAGER_NAMEVARCHAR6NOTNULL姓名MANAGER_SEXVARCHAR4NULL性别MANAGER_ADDRESSVARCHAR50NULL家庭住址MANAGER_TELVARCHAR20NULL联系方式INCOMEINTNULL工资表43为创建消费情况表CONSUMESITUATION创建消费情况表CONSUMESITUATION列名数据类型可否为空说明声明DATEDATETIMENOTNULL日期主键建立唯一索引TOTALBIGINTNULL一天消费总额建立聚簇索引FLOOR_ONEVARCHAR6NULL一楼窗口FLOOR_TWOVARCHAR6NULL二楼窗口FLOOR_THREEVARCHAR6NULL三楼窗口CONSUMER_NUMBERVARCHAR6NOTNULL消费序号外键表44为创建消费者表CONSUMER创建消费者表CONSUMER列名数据类型可否为空说明声明CONSUMER_NUMBERVARCHAR6NOTNULL消费序号主键CONSUMER_NAMEVARCHAR10NOTNULL姓名CONSUMER_SEXVARCHAR4NULL性别CONSUME_SORTVARCHAR10NULL消费类别CONSUMER_SORTVARCHAR10NULL消费者类别表45为创建订餐信息表BOOK_EAT创建订餐信息表BOOK_EAT列名数据类型可否为空说明声明BEAT_NUMBERVARCHAR6NOTNULL订餐编号主键CONSUMER_NAMEVARCHAR10NOTNULL顾客姓名建立聚簇索引CONSUMER_TELVARCHAR20NULL联系方式BOOKTIMEDATETIME8NULL约定时间建立聚簇索引REMARK_INFOTEXT50NULL备注信息CONSUMER_NUMBERVARCHAR6NOTNULL消费序号外键建立唯一索引ROOM_NUMBERVARCHAR6NOTNULL房间编号外键表46为创建包房信息表ROOMINFO创建包房信息表ROOMINFO列名数据类型可否为空说明声明ROOM_NUMBERVARCHAR6NOTNULL房间编号主键ROOM_ADDRESSVARCHAR20NOTNULL房间位置表47为创建学生信息表STUDENT创建学生信息表STUDENT列名数据类型可否为空说明声明S_NUMBERVARCHAR6NOTNULL学号主键S_NAMEVARCHAR10NOTNULL姓名建立聚簇索引S_SEXVARCHAR4NULL性别CLASSVARCHAR20NULL班级S_SYSTEMVARCHAR16NULL系别S_DORMVARCHAR20NULL宿舍S_TELVARCHAR20NULL联系方式表48为创建卡信息表CARD创建卡信息表CARD列名数据类型可否为空说明声明CARD_NUMBERVARCHAR6NOTNULL卡号主键建立唯一索引BALANCEVARCHAR6NOTNULL余额建立聚簇索引CARD_DATEDATETIME(8)NULL办卡日期PERSON_NAMEVARCHAR10NULL持卡者姓名CONSUMEVARCHAR20NULL花费建立聚簇索引表49为创建教师信息表TEACHER创建教师信息表TEACHER列名数据类型可否为空说明声明T_NUMBERVARCHAR6NOTNULL教师号主键T_NAMEVARCHAR6NOTNULL姓名建立聚簇索引T_SEXVARCHAR4NULL性别T_SYSTEMVARCHAR20NULL系别ADDRESSVARCHAR20NULL家庭住址T_TELVARCHAR50NULL联系方式表410为创建管理查询表MANAGE创建管理查询表MANAGE列名数据类型可否为空说明MANAGER_NUMBERVARCHAR6NOTNULL管理员编号DATEDATETIMENOTNULL日期表411为创建属于表ATTRIBUTE创建属于表ATTRIBUTE列名数据类型可否为空说明S_NUMBERVARCHAR6NOTNULL学号CONSUMER_NUMBERVARCHAR6NOTNULL消费序号表412为创建组成表COMPOSE创建组成表COMPOSE列名数据类型可否为空说明T_NUMBERVARCHAR6NOTNULL教师号CONSUMER_NUMBERVARCHAR6NOTNULL消费序号表413为创建使用表USE创建使用表USE列名数据类型可否为空说明S_NUMBERVARCHAR8NOTNULL学号CARD_NUMBERVARCHAR6NOTNULL卡号表414为创建持有表HOLD创建持有表HOLD列名数据类型可否为空说明CARD_NUMBERVARCHAR6NOTNULL卡号T_NUMBERVARCHAR6NOTNULL教师号43设计用户子模式将概念模型转换为全局逻辑模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(VIEW)概念,可以利用这一功能设计更符合局部用户需要的用户外模式。定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以注重考虑用户的习惯与方便。包括1使用更符合用户习惯的别名。在合并各分ER图时,曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有唯一的名字。这在设计数据库整体结构时是非常必要的。用VIEW机制可以在设计用户VIEW时重新定义某些属性名,使其与用户一致,以方便使用。2可以对不同级别的用户定义不同的VIEW,以保证系统的安全性。3简化用户对系统的使用。如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图,用户每次只对定义好的视图进行查询,大大简化了用户的使用消费者查询信息所建立的视图1消费者查询自己卡中余额学生查询视图S_BALANCE教师查询视图T_BALANCE2消费者查询自己的订餐信息管理员查询信息所建立的视图1食堂买商品所需金钱数量2食堂每个月发给职工的工资总和3管理员查询消费者信息查询学生的信息查询教师的信息五、物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库物理的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取最适合应用要求的物理结构的过程,就是数据库的物理设计。数据库的物理设计通常分为两步1确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;2对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。61建立索引建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。一般来说,建立与删除索引由数据库管理员DBA或表的属主(OWNER),即建立表的人,负责完成。系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显示地选择索引。索引的选择方法,一般来说1如果一个或一组属性经常在查询条件中出现,则考虑在这个或这组属性上建立索引或组合索引;2如果一个属性经常作为最大值或最小值等聚集函数的参数,则考虑在这个属性上建立索引;由上所述建立以下索引为库存信息表STOCK建立索引1按TRADE_NAME,STOCK_NUMBER,建立聚簇索引,2按ENTERTIME升序,建立唯一索引为消费情况表CONSUMESITUATION建立索引1按TOTAL建立聚簇索引2按DATE升序,建立唯一索引为订餐信息表BOOK_EAT建立索引1按CONSUMER_NAME,BOOKTIME建立聚簇索引2按CONSUMER_NUMBER升序,建立唯一索引为卡信息表CARD建立索引1按BALANCE,CONSUME建立聚簇索引2按CARD_NUMBER升序,建立唯一索引为学生信息表STUDENT建立索引1按S_NAME建立聚簇索引为学生信息表TEACHER建立索引1按T_NAME建立聚簇索引62建立触发器触发器(TRIGGER)是用户定义在表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应得触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但是比约束更加灵活,可以实施比FOREIGNKEY约束,CHECK约束更为复杂的检查和操作,具有更精细和更强大的数据控制能力。触发器的执行,是由触发事件激活的,并由数据库服务器自动执行的。一个数据表上可能定义了多个触发器,比如BEFORE触发器,多个AFTER触发器等。同一个表上的多个触发器激活时遵循如下执行顺序(1)执行该表上的BEFORE触发器;(2)激活触发器的SQL语句;(3)执行该表上的AFTER触发器。对于同一个表上的多个BEFORE(AFTER)触发器,遵循“谁先创建谁先执行”的原则,即按照触发器创建的先后顺序执行。有些RDBMS是按照触发器的名称的字母排序顺序执行触发器。定义AFTER行级触发器,当管理员表MANAGER的工资发生变化后就自动在工资变化表INC_LOG中增加一条相应的记录首先建立工资变化表INC_LOGCREATETABLEINC_LOGMANAGER_NUMBERVARCHAR6REFERENCESMANAGERMANAGER_NUMBER,INCOMEINT,MANAGER_NAMEVARCHAR6,DATETIMESTAMP接着建立触发器INSERT_INCCREATETRIGGERINSERT_INCAFTERINSERTONMANAGERFOREACHROWASBEGININSERTINTOINC_LOGVALUESNEWMANAGER_NUMBER,NEWINCOME,CURRENT_USER,CURRENT_TIMESTAMPENDCREATETRIGGERUPDATE_INCAFTERUPDATEONMANAGERFOREACHROWASBEGINIFNEWINCOMEOLDINCOMETHENINSERTINTOINC_LOGVALUESNEWMANAGER_NUMBER,NEWINCOME,CURRENT_USER,CURRENT_TIMESTAMPENDIFEND六、数据库结构的实现经过前面的系统需求分析和概念结构设计以后,得到数据库逻辑结构,数据库物理结构。现在就可以在SQLSERVER2000数据库系统中,实现上面设计的数据库结构。这一步是利用SQLSERVER2000数据库系统中的SQL查询分析器实现的。61数据定义关系数据库系统支持三级模式结构,其模式、外模式和内模式中的基本对象有表、视图和索引。因此SQL的数据定义功能包括模式定义、表定义、视图和索引的定义,如下表所示。表61SQL的数据定义语句操作方式操作对象创建删除修改表CREATETABLEDROPTABLE视图CREATEVIEWDROPVIEWALTERTABLE索引CREATEINDEXDROPINDEX611创建表格SQL语句下面给出创建这些表格的SQL语句1为创建库存信息表STOCKCREATETABLESTOCKTRADE_NOVARCHAR20PRIMARYKEY,TRADE_NAMEVARCHAR20,PRICEINT,ENTER_NUMBERINT,STOCK_NUMBERINT,ENTERTIMEDATETIME,OUTTIMEDATETIME,MANAGER_NUMBERVARCHAR6NOTNULL,FOREIGNKEYMANAGER_NUMBERREFERENCESMANAGERMANAGER_NUMBER,2为创建管理员信息表MANAGERCREATETABLEMANAGERMANAGER_NUMBERVARCHAR6PRIMARYKEY,MANAGER_NAMEVARCHAR6NOTNULL,MANAGER_SEXVARCHAR4,MANAGER_ADDRESSVARCHAR50,MANAGER_TELVARCHAR20,INCOMEINT3为创建消费情况表CONSUMESITUATIONCREATETABLECONSUMESITUATIONDATEDATETIMEPRIMARYKEY,TOTALBIGINTNOTNULL,FLOOR_ONEVARCHAR6,FLOOR_TWOVARCHAR6,FLOOR_THREEVARCHAR6,CONSUMER_NUMBERVARCHAR6NOTNULL,FOREIGNKEYCONSUMER_NUMBERREFERENCESCONSUMERCONSUMER_NUMBER,4为创建消费者表CONSUMERCREATETABLECONSUMERCONSUMER_NUMBERVARCHAR6PRIMARYKEY,CONSUMER_NAMEVARCHAR10NOTNULL,CONSUMER_SEXVARCHAR4,CONSUME_SORTVARCHAR10,CONSUMER_SORTVARCHAR10,5为创建订餐信息表BOOK_EATCREATETABLEBOOK_EATBEAT_NUMBERVARCHAR6PRIMARYKEY,CONSUMER_NAMEVARCHAR10NOTNULL,CONSUMER_TELVARCHAR20,BOOKTIMEDATETIME,REMARK_INFOTEXT,CONSUMER_NUMBERVARCHAR6NOTNULL,ROOM_NUMBERVARCHAR6NOTNULL,FOREIGNKEYCONSUMER_NUMBERREFERENCESCONSUMERCONSUMER_NUMBER,FOREIGNKEYROOM_NUMBERREFERENCESROOMINFOROOM_NUMBER,6为创建包房信息表ROOMINFOCREATETABLEROOMINFOROOM_NUMBERVARCHAR6PRIMARYKEY,ROOM_ADDRESSVARCHAR20NOTNULL,7为创建学生信息表STUDENTCREATETABLESTUDENTS_NUMBERVARCHAR8PRIMARYKEY,S_NAMEVARCHAR10NOTNULL,S_SEXVARCHAR4,CLASSVARCHAR20,S_SYSTEMVARCHAR16,S_DORMVARCHAR20,S_TELVARCHAR20,8为创建卡信息表CARDCREATETABLECARDCARD_NUMBERVARCHAR6PRIMARYKEY,BALANCEVARCHAR6NOTNULL,CARD_DATEDATETIME,PERSON_NAMEVARCHAR10,CONSUMEVARCHAR20,9为创建教师信息表TEACHERCREATETABLETEACHERT_NUMBERVARCHAR6PRIMARYKEY,T_NAMEVARCHAR6NOTNULL,T_SEXVARCHAR4,T_SYSTEMVARCHAR20,ADDRESSVARCHAR20,T_TELVARCHAR50,10为创建管理查询表MANAGECREATETABLEMANAGEMANAGER_NUMBERVARCHAR6NOTNULL,DATEDATETIMENOTNULL,PRIMARYKEYMANAGER_NUMBER,DATE,FOREIGNKEYMANAGER_NUMBERREFERENCESMANAGERMANAGER_NUMBER,FOREIGNKEYDATEREFERENCESCONSUMESITUATIONDATE11为创建属于表ATTRIBUTECREATETABLEATTRIBUTES_NUMBERVARCHAR8NOTNULL,CONSUMER_NUMBERVARCHAR6NOTNULL,PRIMARYKE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论