题目11-某公司的自助餐管理系统

上传人:94****0 文档编号:59914158 上传时间:2022-03-05 格式:DOCX 页数:30 大小:78.62KB
收藏 版权申诉 举报 下载
题目11-某公司的自助餐管理系统_第1页
第1页 / 共30页
题目11-某公司的自助餐管理系统_第2页
第2页 / 共30页
题目11-某公司的自助餐管理系统_第3页
第3页 / 共30页
资源描述:

《题目11-某公司的自助餐管理系统》由会员分享,可在线阅读,更多相关《题目11-某公司的自助餐管理系统(30页珍藏版)》请在装配图网上搜索。

1、精选优质文档-倾情为你奉上大型数据库开发与设计题 目: 某公司的自助餐管理系统 学 号: 姓 名: 班 级: 目录专心-专注-专业某公司的自助餐管理系统一、 引言1.1背景与目的随着一些公司规模的不断扩大,公司后勤管理工作也日趋繁杂许多大型公司拥有自己的食堂,这些食堂要实现统一的协调管理,就不得不借助现代化的管理模式 网络管理模式。由于某公司为了提高职工的福利待遇,规定每个员工每天可以在职工食堂用餐两次(每餐3元),可以中午用餐一次,下午用餐一次;也可以集中到中午或下午一次用餐两次。月底进行核算,如果用餐次数不足,餐费不退还职工。公司根据实际的用餐次数支付食堂餐费。根据题目要求,需要设计并创建

2、该公司的自助餐管理系统,这样不仅提高了工作效率,也避免了以前手工作业的麻烦,从而使得管理者能够准确,有效的管理餐饮。1.2后台数据库SQL Server 2008简介SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。SQL不要求用户指定对数据的存放方法,也不需要用户了解具体的

3、数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。二、 系统需求分析 随着21世纪的到来,人们更深切地感受到了计算机在生活和工作中的作用越来越重要,越来越多职业需要具有计算机的应用技能。掌握计算机是职业的雪

4、要,更是事业发展的需要。 信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用水平已成为衡量一个国家综合国力的重要标志之一。在计算机的三大主要应用领域(科学计算、数据处理与过程控制)中,数据处理的比重占70%左右。计算机作为信息处理的工具,为适应数据处理需求的迅速提高,满足各类系统对数据处理的要求,在文件系统的基础上发展起了数据库系统。 随着计算机计算机技术的飞速发展,计算机在企业管理中应用及普及,利用计算机实现企业信息管理势在必行。本课题以企业食堂为对象,作为要面对大量的课程设计项目及相关信息的处理,这就需要一个课程设计管理系统来提高管理工作的效率。通过本系统,可以做到信

5、息的规范管理、科学统计和快速查询,从而减少管理工作方面的工作量。 数据处理技术已深入到我们工作和生活的方方面面,而数据库技术是数据处理不可缺少的手段。随着数据库技术的发展,面向对象的数据库、分布式数据库、多媒体数据库、数据库开发工具的研究方兴未艾,这些技术的发展使用软件的开发速度更快、成本更低、质量更好、功能更强。管理信息系统是一门新兴的、集管理科学、信息科学、系统科学及计算机科学为一体的综合性学科,研究的是信息管理活动的全过程,以便有效的管理信息,提供各类管理决策信息,辅助企业进行现代化管理。管理信息系统它具备数据处理、计划、控制、预测和辅助决策功能,具体作用如下5点内容:(1)用统一标准处

6、理和提供信息,排除使用前后矛盾的不完整的数据。(2)完整、及时提供在管理及决策中需要的数据。(3)利用指定的数据关系分析数据,客观预测未来。(4)向各级管理机构提供不同详细程度的报告,缩短分析和解释的时间。(5)用最低的费用最短的时间提供尽可能精确、可靠的信息,以便使决策者选择最佳的实施方案,以提高企业的经济效益。2.1系统功能分析系统开发的总体任务是受用计算机信息管理技术,实现公司的自助餐管理各种信息的系统化,规范化,自动化,提高公司食堂管理的效率。对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分析和规划,确保在后期开发中不会出现遗漏或重大缺陷。因此在软件开发中,要严格按照软件

7、工程的流程进行系统的分析和设计系统功能分析是在系统开发的总体任务的基本上完成的。主要功能: 1、职工信息管理2、职工食堂信息管理3、成本核算管理其中主要任务为职工信息管理和成本核算管理。总的功能特点:l 完善、全面的综合查询l 报表翔实,实用性强2.21子模块功能分析职工信息管理:对来自客户端的不同用户进行权限审查,限定对数据库的访问级别职工信息管理职工信息添加职工信息修改职工信息查询职工信息删除职工用餐信息管理:记录员工用餐的次数,包括每日用餐次数和每月的用餐次数;职工用餐信息管理本月用餐次数每月用餐次数本日用餐次数l 本日用餐次数:记录本日用餐次数,每增加一个便同步使每月用餐次数也增加一次

8、,每日用餐次数不大于2次。成本核算管理: 对成本利润的综合分析。成本包括公司的本月开销和之前月份公司开销的统计记录;成本核算管理公司每月开销公司本月开销公司本月开销:统计公司本月的开销,员工本月消费一次则增长3元的开销。公司每月开销:记录之前每月的开销情况。2.2系统功能模块设计对上述各项功能进行集中、分块分析,按照结构化程序设计的要求,得到如图所示的这个系统的功能模块图2.21系统功能管理模块公司自助餐管理系统职工信息管理职工用餐信息管理成本核算管理职工信息查询职工信息修改职工信息添加职工信息删除本月用餐次数每月用餐次数本日用餐次数公司本月开销公司每月开销2.3数据流图【注释:数据流图,简称

9、DFD,是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型】数据流程图是组织中信息运动的抽象,是管理信息系统逻辑模型的主要形式。它可以综合的反映出信息在系统中的流动、处理和存储情况,具有良好的抽象性和概括性。它在调查的基础上,从系统的科学性、管理的合理性、实际运行的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下、逐层分解,从逻辑上精确地描述系统应具有的数据加工、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。数据流程图和系统的物理描述无关,它所描述的内容不涉及技术细节,而是

10、面向用户的,即使完全不懂信息技术的用户也容易理解。因此,数据流程图成为系统分析员与用户进行交流的有效手段,同时也成为系统设计的主要依据之一。用户的需求具体体现在各种信息的提供、保存、更新和查询等方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为数据库的具体设计打下基础。数据流图表达了数据和处理之间的关系。数据流图是有层次之分的,越高层次的数据流图表现的业务逻辑越抽象,越底层次的数据流图表现得业务逻辑越具体。在仔细的分析调查有关食堂管理信息需求的基础上,得到如下图所示的这个系统所处理的数据流程。根据以上的分析,我们可以先画出

11、分流程图,然后可以综合分流程图,画出整个系统操作的业务流程图2.3.1交易数据流图职工办卡基本信息输入职工信息管理职工交易成本结算管理结算信息输入2.3.2整体流图整体流图简图:成本结算管理消费者信息管理库存管理结算信息收款管理预订信息管理2.4可行性分析可行性分析是系统分析阶段的重要活动,是对系统进行全面、概要的分析。它的任务是确定项目开发是否必要和可行。它的主要目标是:进一步明确系统的目标、规模和功能,对系统开发背景、必要性和意义进行调查分析,并根据需要和可能提出拟开发系统的初步方案和计划,明确问题,对所提供系统大致规模和目标的几个有关约束条件进行论证,并且提出系统的逻辑模型和各种可能的方

12、案,从而为系统开发项目的决策提供科学依据。其主要从三个方面进行研究:(1)技术可行性:对现有技术进行评价,以明确能否利用现有技术进行系统开发及系统实施。计算机网络技术的发展和计算机硬件性价比的不断提升,使计算机全面应用于医院管理的各个环节成为可能。C/S开发模式、COM、DCOM技术在国内各行各业的信息管理系统开发中已经被广泛采用,实践证明这些技术都非常适合食堂管理系统的开发。(2)经济可行性:对组织的经济状况和投资能力进行分析,对系统建设、运行和维护费用进行评估,对系统建成后可能取得的社会及经济效益进行估计。连锁餐饮企业整体规模庞大,个体规模小而营管理相对简单统一,开发成本不高,一旦开发成功

13、,即能直接应用在所有同种食堂。(3)营运可行性:指系统对组织机构的影响,对现有人员和机构、设施、环境等的适应性以及进行人员培训补充计划的可行性。连锁餐饮企业整体规模庞大,个体规模小而营管理相对简单统一。所以食堂系统的计算机信息管理人才、计算机硬件设备、操作员的计算机应用能力都为系统的运行过程提供了可靠保证。2.5数据字典由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描

14、述清楚,便于后续工作系统设计的进行。数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存诸和处理过程5个部分。其中数据项是最小组成单位,若干数据项组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储和逻辑内容。针对一般食堂管理信息系统的需求,通过对食堂管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:l 数据结构名称:职工用餐卡信息 含义说明:这里指的是职工用来使用付款的工具卡的一系列信息,它记录了包括它本身以及持卡者的一些信息包括的数据项有:1) 卡号(消费者使用的用来付款

15、的卡的编号,与消费者办卡的先后顺序有关别名Card_number 字符型 长度6)2) 余额(今日剩余用餐量)(消费者卡中所剩的金钱数量,别名Balance 字符型长度 6)3) 办卡日期(消费者办卡的日期,别名Card_date 日期型 长度 8)4) 持卡者姓名(拥有信息卡的消费者的名称,别名 Person_name 字符型 长度 10)5) 花费(用餐次数统计)(消费者所消费的金钱数量 别名Consume 字符型 长度 20)l 数据结构名称:员工信息含义说明:消费者群体之一,可以自由选择消费方式,办过卡用卡交易或者用现金交易包括的数据项有:1) 工号(职工在公司所编的号码 别名 S_n

16、umber 字符型 长度 6)2) 部门(职工所在的部门的名称 别名 S_system 字符型 长度 16)3) 职位(职工所担任的职位 别名 S_class 字符型 长度 20)4) 姓名(职工的姓名 别名 S_name 字符型 长度 10)5) 性别 (职工的性别 别名 S_sex 字符型 长度 4)6) 地址(职工的所在地址 别名 S_adress 字符型 长度 20)7) 联系方式(职工的手机号码 别名 S_tel 字符型 长度 20)三、概念结构设计这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。将需求分析得到的用户

17、需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的关键。概念结构设计的特点是能真实、充分的反映现实世界,包括事物和事物的联系,能满足用户对数据的处理要求,是对现实世界的一个真实的模型。易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。易于改正,当应用环境和应用要求改变时,易于对概念模型修改和扩充。易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构是对现实世界的一种抽象。所谓抽象是对实际的人、物、事和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细

18、节,并把这些特性用各种概念准确的加以描述。概念结构设计通常分为四种方法:自顶向下,即首先定义全局概念结构的框架,然后逐步细化。自底向上,即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。逐步扩张,首先定义最重要的核心概念结构,然后向外扩张。混合策略,即自顶向下和自底向上结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。通常分为两步,第一步是抽象数据并设计局部视图,第二步是集成局部视图,得到全局视图。下面首先对实体和其属性加以描述,再写出系统的分E-R图,进而合并成为整体的E-R图。3.1构思ERD的四条原则原则1:能独立存在

19、的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。原则2:两个或多个实体间的关联与结合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。原则3:实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点:a.非多值性;b.非复合性;c.非导出性。而实体的属性还应有非关联性。原则4(一事一地原则):所有基本项在同一E-R图中作为属性要在仅在一个地

20、方出现3.2 设计ER图根据上面的设计规划出的实体有:卡信息实体、学生信息实体、教师信息实体、消费者实体、包房信息实体、订餐信息实体、消费情况实体、管理员信息实体。各个实体具体的描述E-R图及其之间的关系描述如下。3.2.1分ER图图3-1 为卡信息实体E-R图卡信息卡号余额持卡者姓名办卡日期花费图3-2 为职工信息实体E-R图职工信息职工号部门职位姓名地址联系方式性别图3-3 为消费情况实体E-R图消费情况本日已经消费本日剩余消费本月已经消费本月剩余消费每月消费统计图3-4 为卡信息实体、职工信息实体、消费者实体关系E-R图职工信息卡信息属于持有卡号余额办卡日期持卡人姓名联系方式职位员工号姓

21、名部门地址花费消费者消费类别消费者类别姓名消费序号性别性别 N 1 1 1四、逻辑结构设计现在需要把上面设计好的数据库概念结构转化为SQL Server2008数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。此部分使用PowerDesigner进行数据库结构设计,最终导出物理结构模型和逻辑结构模型,并生成SQL Server 2008数据库文件。4.1 一般逻辑模型设计:4.1.1 由ERD导出一般关系模型的四条原则原则1:E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2:E-R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加

22、上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。4.1.2 数据库初步的关系框架(E-R图向关系模型转化)关系模型转化消费情况(日期 用餐次

23、数 剩余次数 )消费(日期 消费序号)消费者(消费序号 姓名 性别 消费类别 消费者类别)属于(员工号 消费序号)员工信息(员工号 部门 职位 姓名 性别 地址 联系方式)使用(卡号 员工号)卡信息(卡号 余额 办卡日期 持卡者姓名 花费)持有(卡号 员工号)4.1.3数据模型优化数据库逻辑设计的结果不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,方法为:1、确定数据依赖2、对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系冗余数据和冗余联系容易破坏数据为的完整性,给数据

24、库维护增加困难,应当予以消除。经过规范化理论得出,原关系模式之间的数据依赖已经达到极小化,没有冗余的联系,消除冗余的E-R图称为基本E-R图3、按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系模式分别属于第几范式。4、按照需求分析阶段得到的处理要求,分析对于这样的应用环境这些模式是否合适,确定是否要对某些模式进行合并或分解。5、对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。根据需求分析阶段系统的功能分析,这样的应用环境,这些模式可以完成包括消费者信息管理,预订信息管理,成本核算管理,审查工作,库存管理这些模块的要求,分析

25、结果中可在设计用户子模式中对不同级别的用户定义不同的view。优化后的关系模式:消费情况(日期 员工用餐次数 消费序号)消费者(消费序号 姓名 性别 消费类别 消费者类别)属于(员工号 消费序号)组成(员工号 消费序号)员工信息(学号 部门 职位 姓名 性别 地址 联系方式)使用(卡号 员工号)卡信息(卡号 余额 办卡日期 持卡者姓名 花费)持有(卡号 员工号)4.2具体逻辑模型设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。公司自助餐管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。表4-1为创建消费情况表Consum

26、eSituation创建消费情况表ConsumeSituation列名数据类型可否为空说明声明DatedatetimeNOT NULL日期主键建立唯一索引TotalLong intNULL一天消费总额建立聚簇索引Consumer_numbernumber(12)NOT NULL消费序号 外键表4-2为创建消费者表Consumer创建消费者表Consumer列名数据类型可否为空说明声明Consumer_numbervarchar(6)NOT NULL消费序号主键Consumer_namevarchar(10)NOT NULL姓名Consumer_sexVarchar(4)NULL性别Consum

27、e_sortvarchar(10)NULL消费类别Consumer_sortvarchar(10)NULL消费者类别表4-3为创建员工信息表Worker创建员工信息表Worker列名数据类型可否为空说明声明S_numberintNOT NULL员工号主键S_namevarchar(10)NOT NULL姓名建立聚簇索引S_sexvarchar(4)NULL性别classvarchar(20)NULL职位S_systemvarchar(16)NULL部门S_dormvarchar(20)NULL地址S_telnumber(15)NULL联系方式表4-4为创建消费卡信息表Card创建消费卡信息表C

28、ard列名数据类型可否为空说明声明Card_numbernumber(10)NOT NULL卡号主键建立唯一索引BalanceintNOT NULL余额建立聚簇索引Card_datedatetime(8)NULL办卡日期Person_namevarchar(10)NULL持卡者姓名Consumevarchar(20)NULL花费建立聚簇索引表4-5 为创建管理查询表Manage创建管理查询表Manage列名数据类型可否为空说明Manager_numbervarchar(6)NOT NULL管理员编号DatedatetimeNOT NULL日期表 4-6 为创建属于表Attribute创建属于表

29、Attribute列名数据类型可否为空说明S_numbervarchar(6)NOT NULL员工号Consumer_numbervarchar(6)NOT NULL消费序号表 4.13 为创建使用表Use创建使用表Use列名数据类型可否为空说明S_numbervarchar(8)NOT NULL员工号Card_numbervarchar(6)NOT NULL卡号表 4.14为创建持有表Hold创建持有表Hold列名数据类型可否为空说明Card_numbervarchar(6)NOT NULL卡号T_numbervarchar(6)NOT NULL员工号4.3设计用户子模式将概念模型转换为全局

30、逻辑模型后,还应该根据局部应用需求,结合具体DBMS的特点,设计用户的外模式。目前关系数据库管理系统一般都提供了视图(View)概念,可以利用这一功能设计更符合局部用户需要的用户外模式。定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以注重考虑用户的习惯与方便。包括:1) 使用更符合用户习惯的别名。在合并各分ER图时,曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有唯一的名字。这在设计数据库整体结构时是非常必要的。用View机制可以在设计用户View时重新定义某些属性名,使其与用户一致,以方便使用。2)

31、 可以对不同级别的用户定义不同的View,以保证系统的安全性。 3) 简化用户对系统的使用。如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图,用户每次只对定义好的视图进行查询,大大简化了用户的使用l 消费者查询信息所建立的视图1) 员工查询自己卡中余额 员工查询视图S_Balance2)管理员查询消费者信息查询员工的信息 五、物理结构设计数据库在物理设备上的存储结构与存取方法称为数据库物理的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取最适合应用要求的物理结构的过程,就是数据库的物理设计。数据库的物理设计通常分为两步:1) 确定数据

32、库的物理结构,在关系数据库中主要指存取方法和存储结构;2) 对物理结构进行评价,评价的重点是时间和空间效率。如果评价结果满足原设计要求,则可进入到物理实施阶段,否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。5.1建立索引建立索引是加快查询速度的有效手段。用户可以根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取路径,加快查找速度。一般来说,建立与删除索引由数据库管理员DBA或表的属主(owner),即建立表的人,负责完成。系统在存取数据时会自动选择合适的索引作为存取路径,用户不必也不能显示地选择索引。索引的选择方法,一般来说:1. 如果一个(或一组)

33、属性经常在查询条件中出现,则考虑在这个(或这组)属性上建立索引(或组合索引);2. 如果一个属性经常作为最大值或最小值等聚集函数的参数,则考虑在这个属性上建立索引;由上所述建立以下索引u 为库存信息表Stock建立索引1) 按Trade_name,stock_number,建立聚簇索引,2) 按entertime升序,建立唯一索引u 为消费情况表ConsumeSituation建立索引1) 按Total建立聚簇索引2) 按Date升序,建立唯一索引u 为订餐信息表book_eat建立索引1) 按Consumer_name,Booktime建立聚簇索引2) 按Consumer_number升序,

34、建立唯一索引u 为卡信息表Card建立索引1) 按Balance ,Consume建立聚簇索引2) 按Card_number升序,建立唯一索引u 为学生信息表Student建立索引1) 按S_name建立聚簇索引u 为学生信息表Teacher建立索引1) 按T_name建立聚簇索引5.2建立触发器触发器(Trigger)是用户定义在表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应得触发器,在DBMS核心层进行集中的完整性控制。触发器类似于约束,但是比约束更加灵活,可以实施比FOREIGN KEY约束,CHECK约束更为复杂的检查和操作,具有更精细和更

35、强大的数据控制能力。触发器的执行,是由触发事件激活的,并由数据库服务器自动执行的。一个数据表上可能定义了多个触发器,比如BEFORE触发器,多个AFTER触发器等。同一个表上的多个触发器激活时遵循如下执行顺序:(1) 执行该表上的BEFORE触发器;(2) 激活触发器的SQL语句;(3) 执行该表上的AFTER触发器。 对于同一个表上的多个BEFORE(AFTER)触发器,遵循“谁先创建谁先执行”的原则,即按照触发器创建的先后顺序执行。有些RDBMS是按照触发器的名称的字母排序顺序执行触发器。l 定义AFTER行级触发器,当管理员表Manager的工资发生变化后就自动在工资变化表Inc_log

36、中增加一条相应的记录首先建立工资变化表Inc_logCREATE TABLE Inc_log(Manager_number varchar(6) REFERENCES Manager(Manager_number), Income int,Manager_name varchar(6),Date TIMESTAMP);接着建立触发器 Insert_IncCREATE TRIGGER Insert_IncAFTER INSERT ON ManagerFOR EACH ROWAS BEGIN INSERT INTO Inc_log VALUES(NEW. Manager_number,NEW.In

37、come,CURRENT_USER,CURRENT_TIMESTAMP);END;CREATE TRIGGER Update_IncAFTER UPDATE ON ManagerFOR EACH ROWAS BEGIN IF(NEW.IncomeOLD.Income)THEN INSERT INTO Inc_log VALUES(NEW. Manager_number,NEW. Income,CURRENT_USER,CURRENT_TIMESTAMP);END IF;END;六、数据库结构的实现经过前面的系统需求分析和概念结构设计以后,得到数据库逻辑结构,数据库物理结构。现在就可以在SQL

38、Server2008数据库系统中,实现上面设计的数据库结构。这一步是利用SQL Server 2008数据库系统中的SQL查询分析器实现的。6.1数据定义关系数据库系统支持三级模式结构,其模式、外模式和内模式中的基本对象有表、视图和索引。因此SQL的数据定义功能包括模式定义、表定义、视图和索引的定义,如下表所示。表6.1 SQL的数据定义语句操作对象操作方式创建删除修改表CREATE TABLEDROP TABLE视图CREATE VIEWDROP VIEWALTER TABLE索引CREATE INDEXDROP INDEX6.1.1创建表格SQL语句下面给出创建这些表格的SQL语句:1)

39、为创建消费情况表ConsumeSituationCREATE TABLE ConsumeSituation(Date datetime PRIMARY KEY, Total bigint NOT NULL, Consumer_number varchar(6) NOT NULL, FOREIGN KEY (Consumer_number) REFERENCES Consumer(Consumer_number),);2) 为创建员工表ConsumerCREATE TABLE Consumer(Consumer_number varchar(6) PRIMARY KEY, Consumer_na

40、me varchar(10) NOT NULL, Consumer_sex varchar(4), Consume_sort varchar(10), Consumer_sort varchar(10),);3) 为创建员工卡信息表CardCREATE TABLE Card(Card_number varchar(6) PRIMARY KEY, Balance varchar(6) NOT NULL, Card_date datetime, Person_name varchar(10), Consume varchar(20), );4) 为创建管理查询表ManageCREATE TABLE

41、 Manage(Manager_number varchar(6) NOT NULL, Date datetime NOT NULL, PRIMARY KEY (Manager_number, Date), Foreign key (Manager_number) references Manager(Manager_number), foreign key (Date) references ConsumeSituation(Date) );5) 为创建属于表Attribute CREATE TABLE Attribute(S_number varchar(8) NOT NULL, Cons

42、umer_number varchar(6) NOT NULL, PRIMARY KEY (S_number), FOREIGN KEY (Consumer_number) REFERENCES Consumer(Consumer_number) );6) 为创建组成表Compose CREATE TABLE Compose(T_number varchar(6) NOT NULL, Consumer_number varchar(6) NOT NULL, PRIMARY KEY (T_number), FOREIGN KEY (Consumer_number) REFERENCES Cons

43、umer(Consumer_number) );7) 为创建使用表Using CREATE TABLE Using( S_number varchar(8) NOT NULL, Card_number varchar(6) NOT NULL, PRIMARY KEY (Card_number), FOREIGN KEY (S_number) REFERENCES Student(S_number) );8) 为创建持有表Hold CREATE TABLE Hold(Card_number varchar(6) NOT NULL, T_number varchar(6) NOT NULL, PR

44、IMARY KEY (Card_number), FOREIGN KEY (T_number) REFERENCES Teacher(T_number) );6.1.2创建视图SQL语句视图是从一个或几个基本表(或视图)导出的的表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。所以基本表中数据发生变化,从视图中查询出的数据也就随之改变了。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。视图还拥有以下优点:1) 视图能够简化用户的操作2) 视图使用户能以多种角度看待同一数据3) 视图对重构数据库提供

45、了一定程度的逻辑独立性4) 视图能够对机密数据提供安全保护5) 适当的利用视图可以更清晰的表达查询l 消费者查询信息所建立的视图1) 员工查询自己卡中余额(剩余用餐次数) 员工查询视图S_Balance CREATE VIEW S_Balance(sno,sname,cno,balance)ASSELECT S_number,S_name,Card_number,BalanceFROM Student,Cardl 管理员查询信息所建立的视图 1) 食堂总支出 CREATE VIEW Trade_money(Trademoney,entertime,outtime)AS SELECT Price

46、*(Enter_number-stock_number),entertime,outtimeFROM Stock2) 管理员查询消费者信息查询员工的信息CREATE VIEW Select_studentAS SELECT Consumer_number, Consume_sort,S_number,S_name,S_sex,class,S_system, S_dorm, S_telFROM Consumer, StudentWHERE Consumer_sort=员工 6.1.3创建索引SQL语句u 为消费情况表ConsumeSituation建立索引1) 按Total建立聚簇索引CREAT

47、E CLUSTER INDEX Cosi_total ON ConsumeSituation (Total)2) 按Date升序,建立唯一索引 CREATE UNIQUE INDEX Cosi_date ON ConsumeSituation (Date)u 为卡信息表Card建立索引1) 按Balance ,Consume建立聚簇索引 CREATE CLUSTER INDEX card_bal ON Card (Balance)CREATE CLUSTER INDEX card_con ON Card (Consume)2) 按Card_number升序,建立唯一索引CREATE UNIQU

48、E INDEX book_cono ON Card (Card_number)u 为员工信息表Worker建立索引按S_name建立聚簇索引 CREATE CLUSTER INDEX Worker_name ON Worker (S_name)6.3数据查询数据查询是数据库的核心操作。SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。SELECT语句既可以完成简单的单表查询,也可以完成复杂的连接查询和嵌套查询。u 消费者管理信息查询员工信息查询查询关于公司员工的所有信息: SELECT *FROM Worker,UsingWHERE Worker.S_numb

49、er=(SELECT S_number FROM Using WHERE Card_number IN (SELECT Card_number FROM Card)u 成本查询查询2014年11月的成本SELECT sum(Trademoney )+ sum_incomeFROM Trade_money , sum_moneyWHERE entertime2014-11-1 AND entertime2014-11-1 AND entertime2014-11-1 AND Date2014-12-16.4数据更新6.4.1数据添加l 消费者信息添加员工信息添加将一个新员工信息元组(员工号:;姓

50、名:张三;性别:男;部门:09;职位:项目负责人;地址:解放路095;联系方式:)插入到Student表中。INSERTINTO Worker(S_number,S_name,S_sex,class,S_system,S_dorm,S_tel)VALUES (,张三,男,09,项目负责人,解放路095,)6.4.2数据修改l 消费者信息修改员工信息修改 将一个员工(S_number)为的员工信息元组Student中班级修改为UPDATE WorkerSET class=WHERE S_number= 6.4.3数据删除l 消费者信息删除员工信息删除将一个员工号(S_number)为的员工信息元

51、组Worker中删除DELETEFROM WorkerWHERE S_number=七、总结通过这一个学期的大型数据库设计课程,让我深刻体会到了数据库的相关知识以及数据库课程设计的全过程,需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施以及未能考虑的数据库的运行和维护。并且学会了熟练使用PowerDesigner数据库设计工具进行数据库的逻辑模型设计。在数据库设计的过程中,需求分析和概念设计可以独立于任何数据库管理系统进行,逻辑结构设计与物理结构设计与DBMS密切相关。数据库的表现形式是指面向用户的数据表现,这就要求在进行数据库设计时候要考虑实体的一些特性,其中包括层、属性与实体联系等随着计算机软硬件的不断发展,信息系统在客户管理中的应用已成必然。由于管理工作复杂,政策性强,客户关系也不断复杂化,依赖人为因素较多,使系统管理的需求定义比较困难,必须进行反复迭代而通过这一学期的努力,记得刚开始做数据库设计的时候,觉得好难,加上专业知识方面的有限,不过这样更锻炼了自己的毅力和意志,有助于形成吃苦耐劳,认真负责的工作态度。在今后学习中要继续发扬这种态度,多接触些新的技术,不断完善自己最后要感谢学校和老师给我这一次锻炼的机会,让自己更加有信心面向未来。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!