超市销售管理系统数据库_第1页
超市销售管理系统数据库_第2页
超市销售管理系统数据库_第3页
超市销售管理系统数据库_第4页
超市销售管理系统数据库_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

2009级信息管理与信息系统1班 数据库课程设计课程论文 262009级信息管理与信息系统1班 数据库课程设计课程论文目录数据库课程设计论文1摘要1关键字1引言2目录I1系统需求分析阶段11.1处理对象及其组织11.2系统功能及信息处理11.2.1收银业务11.2.2退货处理21.2.3销售处理21.3安全性和完整性要求21.4系统开发环境21.5系统结构图21.6数据流程图(DFD图)41.6.1系统数据流程图符号解释41.6.2顶层数据流程图41.6.3第一层数据流程图51.6.4第二层数据流程图51.7数据字典62数据库结构设计72.1 概念设计72.1.1分E-R图建立72.1.2全局/整体E-R图92.2 逻辑设计92.2.1 建立关系模式102.2.2 关系模式规范化处理112.2.3 用户子模式建立112.2.4 关系模式逻辑结构定义123 数据库物理设计124数据库实施与测试134.1 数据库实施134.1.1 数据库及数据库对象建立134.1.2 数据入库134.2 数据库测试135总结146附录16附录1 数据字典内容16附录2 关系模式20附录3 SQL语句及其执行结果截图223.1在SQL SERVER 2008数据库中实施的语句为:223.11创建数据库223.12创建基本表223.13创建索引243.14创建视图26315创建触发器283.16 建立储存过程293.2在ORACLE数据库中实施的语句为:323.2.1创建基本表323.2.2创建索引343.2.3创建视图353.2.4创建触发器373.2.5建立储存过程383.2.6测试数据截图441系统需求分析阶段1.1处理对象及其组织系统要处理的基本对象包括营业员基本信息、会员基本信息、管理员基本信息、商品基本信息、货架基本信息、销售单基本信息、退货单基本信息等多个对象。各个基本对象包含信息如下所示:营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);销售商品(销售单号,商品编号,销售数量);货架(货架编号,管理员号,货架名称);管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);退货单(退货单号,商品编号,退货数量);打印(退货单号,销售单号,营业员号,打印时间)。1.2系统功能及信息处理本中小型超市销售管理系统大体上包含三个模块,为前台收银业务处理,前台退货业务处理以及后台销售处理功能模块,具体如下所述。1.2.1收银业务通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式),计算本次交易的总金额,同时打印销售发票给顾客(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号等信息)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,对此会员一定优惠,并将所购物品的总金额累计到该会员的总消费金额中,记录好会员信息。1.2.2退货处理顾客持有销售发票到收银台找收银员退货,若没有相应销售发票不予以退货。通过扫描销售发票计算本次退货处理的退货额,并打印出退货发票给顾客,系统记录好退货信息。1.2.3销售处理作为超市后台管理部分,此系统应该具有功能包括当打印销售发票或退货发票时自动增减货架上商品数量,当货架商品不足时自动生成缺货警告信息给管理员,系统能够生成销售排行榜供管理员查看。1.5系统结构图通过对中小型超市销售管理业务及其功能方面的分析,构造出超市管理系统的总体结构图如下:图1 超市管理总体结构图由于本系统为销售管理系统,只是超市管理系统的一部分,因此只实现了收营业务、退货处理和销售处理部分的功能。对这三个处理模块进一步细化得到如下分结构图: 图1-2 退货处理结构图图1-1 收银业务结构图图1-3 销售处理结构图1.6数据流程图(DFD图)1.6.1系统数据流程图符号解释 图2-1 外部实体 图2-2 处理过程 图2-3 数据流 图2-4 数据存储1.6.2顶层数据流程图图3 顶层数据流程图上图是中小型超市销售管理系统的顶层数据流程图。由业务流程图确定系统开发的外部实体即系统数据的来源与去处,从而确定了整个系统的外部实体和数据流。在顶层数据流程图中,把超市销售管理系统作为一个处理环节,与实体间传递信息,简单的表达系统的各部分功能。1.6.3第一层数据流程图图3-1 第一层数据流程图确定系统的主要处理功能后,可以将系统分为收银业务、退货处理和销售处理三个模块。再确定各个输入和输出数据流以及与之相关的数据结构,从而得到中小型超市销售管理系统的第一层数据流程图,如上图所示。1.6.4第二层数据流程图 再将第一层数据流程图分解细化可得到第二层流程图,如下图所示:图3-1-1 收银业务数据流程图图3-1-2 退货处理数据流程图图3-1-3 销售处理数据流程图1.7数据字典数据流程图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据字典的具体内容详见附录1。2数据库结构设计数据库结构设计内容主要包括概念设计和逻辑设计两个部分。2.1 概念设计2.1.1分E-R图建立根据分解第二层数据流程图可分别得到三个分E-R图。图4-1 收银业务模块E-R图图4-2 退货处理模块E-R图图4-3 销售处理模块E-R图2.1.2全局/整体E-R图由于在做局部ER图时,只考虑了局部功能模块,这样会导致各个ER图之间有很多不一致的地方,造成在合并各分ER图生成全局ER图时有很多冲突。通过仔细分析各个分E-R图之间的联系,消除冗余,消除冲突,最终成功生成全局E-R图,如下图所示。图5 系统总E-R图2.2 逻辑设计2.2.1 建立关系模式根据以上规则将本中小型超市管理系统的ER图转换为关系模式的结果如下所示:(关系的主码用下划直线标出,外码用下划波浪线标出)此数据库系统包括营业员、会员、管理员、商品、货架、销售单、销售商品、退货单、打印多个关系模式:营业员(营业员号,姓名,收银台位置,上班时间,下班时间,月薪,联系电话);会员(会员卡号,会员姓名,卡密码,注册时间,累计消费);商品(商品编号,货架编号,条形码,商品名称,商品价格,现有存量,存量底线,生产日期,保质期,供货商);销售单(销售单编号,营业员编号,会员卡号,打印时间,有无折扣);销售商品(销售单号,商品编号,销售数量);货架(货架编号,管理员号,货架名称);管理员(管理员号,姓名,联系电话,上班时间,下班时间,月薪);退货单(退货单号,商品编号,退货数量);打印(退货单号,销售单号,营业员号,打印时间);2.2.2 关系模式规范化处理 2.2.3 用户子模式建立用户子模式可通过建立视图来表示。视图是虚表,是从一个或几个基本表(或视图)中导出的表,在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。定义视图可以简化应用程序、可以实现一定的权限控制。为了满足用户需求及方便后期数据库实施阶段的设计,此系统设计了如下视图。各视图定义:商品保质期(商品名称,生产日期,保质期,过期日期)下架商品(商品名称,货架名称,过期日期)营业员基本信息(营业员号,上班时间,下班时间,月薪,联系电话)会员总消费情况(卡号,姓名,累计消费)商品价格(商品名称,价格)商品存放(商品名称,货架名称)缺货商品(商品名称,现有存量,底线存量)货架信息(货架名称,存放商品名)上班情况(上班时间,营业员姓名,管理员姓名)工作人员联系方式(姓名,编号,联系电话)工作人员工资信息(姓名,编号,工资)表1 (中小型超市销售管理系统)各视图详细说明序号视图名称作用备注V1营业员信息便于查询、更改营业员信息V2会员总消费便于查询会员累计消费情况V3商品价格便于查询、更新商品价格V4商品存放便于查询、管理商品存放V5缺货商品便于生成缺货单若现有存量等于或小于底线存量,则为缺货V6货架信息便于管理货架,查询、更新货架存放商品V7上班情况便于查询管理一个时间段内工作人员上班情况V8工作人员联系方式便于联系、查询、管理工作人员增加编号为了区别同名人员V9工作人员工资信息便于查询、更新、管理工作人员情况增加编号为了区别同名人员V10商品保质期便于查询每件商品的过期日期V11下架商品便于查询需强制下架商品名单当商品过期日期小于今天日期时,商品需强制下架V12消费单上各商品情况便于生成销售发票给顾客2.2.4 关系模式逻辑结构定义表2 (中小型超市销售管理系统)关系模式汇总编号关系名称模式说明T1ShopAssistant(详见附录21)(详见附录21)T2Administrator(详见附录22)(详见附录22)T3Member(详见附录23)(详见附录23)T4Goods(详见附录24)(详见附录24)T5GoodsShelf(详见附录25)(详见附录25)T6BillSell(详见附录26)(详见附录26)T7SellGoods(详见附录27)(详见附录27)T8ReturnGoods(详见附录28)(详见附录28)T9PrintBill(详见附录29)(详见附录29)3 数据库物理设计此数据库系统建立的索引如下所述。(1)对于基本表ShopAssistant(营业员),由于要经常对属性列Snum查询从而获得某个营业员的完整信息,并且很少对其更新,因此可以给属性列Snum建一个聚簇索引。(2)同理对于基本表Member(会员),由于要经常对属性列Mnum查询从而获得某个会员的完整信息,并且很少对其更新,因此可以给属性列Mnum建一个聚簇索引。(3)对于Adminastrator(管理员),可在其属性列Anum上建立唯一性索引,索引值按降序排列。(40同样对于基本表GoodsShelf(货架)、Goods(商品),可在其主属性上建立唯一性索引。(5)对于基本表BillSell(销售单)、SellGoods(销售商品)、ReturnGoods(退货单)、PrintBill(打印),由于其属性值经常发生变化,权衡系统为维护索引付出的代价,可考虑不建立索引。表3 (中小型超市销售管理系统)索引表所在表名索引名称索引类型所在表的属性ShopAssistantdex_Snum聚簇SnumMemberdex_Munm聚簇MnumAdminastratordex_Anum唯一AnumGoodsShelfdex_GSnum唯一GsnumGoodsdex_Gnum唯一Gnum4数据库实施与测试数据库实施与测试阶段主要内容包括数据库实施和测试两个部分。4.1 数据库实施4.1.1 数据库及数据库对象建立主要包括:数据库、基本表、视图、索引、触发器以及存储过程。相应T-SQL和PL/SQL语句详见附录3.4.1.2 数据入库对各个数据表成功要录入了50条左右的测试记录,测试结果满足设计要求。4.2 数据库测试数据库测试阶段主要内容是对建立的数据库及数据库对象进行测试,对测试结果进行分析,是否满足设计要求。测试结果见 6附录附录1 数据字典内容表1-1 (中小型超市销售管理系统) 数据项(汇总统计)数据项编号数据项名称数据项含义与其它数据项关系类型长度范围DI-1Snum营业员编号构成营业员属性char30-100DI-2Sname营业员姓名构成营业员属性char10DI-3Splace收银台位置构成营业员属性char31-100DI-4Swtime上班时间构成营业员属性time(0)3DI-5Sctime下班时间构成营业员属性time(0)3DI-6Ssalary月薪构成营业员属性numericDI-7Sphone联系电话构成营业员属性char11DI-8Anum管理员号构成管理员属性char20-5DI-9Aname管理员姓名构成管理员属性char10DI-10Asalary管理员月薪构成管理员属性numericDI-11Awtime上班时间构成管理员属性time(0)3DI-12Actime下班时间构成管理员属性time(0)3DI-13Aphone联系电话构成管理员属性char11DI-14Mnum会员卡号构成会员属性char5DI-15Mname会员姓名构成会员属性char10DI-16Mpassword会员密码构成会员属性char6DI-17RegisterTime注册时间构成会员属性dateDI-18Mexpense累计消费构成会员属性numericDI-19GSnum货架编号构成货架属性char3DI-20GSname货架名称构成货架属性char15DI-21GSstock货架商品现有存量构成货架属性smallintDI-22GSlimit货架商品底线存量构成货架属性smallintDI-23Gbarcode商品条形码构成商品属性char13DI-24Gnum商品编号构成商品属性char10DI-25Gname商品名称构成商品属性char10DI-26Gprice商品价格构成商品属性numericDI-27Gproducetime生产日期构成商品属性smalldatatime4DI-28Gtime保质期构成商品属性intDI-29Gsupplier供货商构成商品属性char10DI-30Bnum销售单编号构成销售单属性char10DI-31Bdate打印销售单时间构成销售单属性smalldatatimeDI-32Bmoney累计消费额构成销售单属性numericDI-33Bquantity销售商品数量构成销售单属性smallintDI-34Bdiscount有无折扣构成销售单属性char2DI-35Rnum退货单编号构成退货单属性char10DI-36Rdate打印退货单时间构成退货单属性smalldatatime4DI-37Rmoney退费额构成退货单属性numericDI-38Rquantity退货商品数量构成退货单属性smallint表1-2 (中小型超市销售管理系统) 数据结构(汇总统计)数据结构编号数据结构名数据结含义组成DS-1Salesman营业员Snum、Sname、Splace、Ssalary、Swtime、Sctime、SphoneDS-2Administrator管理员Anum、Aname、Asalary、Awtime、Actime、AphoneDS-3Member会员Mnum、Mname、MregisterTime、MexpenseDS-4GoodsShelf商品Gnum、GSnum、Gbarcode、Gname、Gprice、GSstock、Gslimit、Gproducetime、Gtime、GsupplierDS-5Shelf货架GSnum、Anum、GSnameDS-6Binvoice销售单Bnum、Snum、Mnum、Bdate、Bdiscount、Gnum、Bnum、BquantityDS-7Sinvoice退货单Rnum、Gnum、RquantityDS-8SellGoods销售商品Gnum、Bnum、BquantityDS-9PrintBill打印Bnum、Rnum、Snum、Rdata表1-3 (中小型超市销售管理系统) 数据流(汇总统计)编号名称简述数据流来源去向数据流组成流量F1商品编号、条形码快速录入部分的商品信息营业员商品信息表商品条形码或编号无限制F2商品信息给销售提供商品信息商品信息表销售商品编码+商品名称+数量+售价无限制F3会员信息给会员优惠会员信息表购买商品会员编号无限制F4购物信息购物信息商品信息表给会员优惠交易编号+营业员编号+交易时间+商品名称+商品价格无限制F5会员购物信息会员购物信息购物信息交易信息表会员信息+普通购物信息无限制F6购物发票返回给顾客购物信息交易信息表顾客发票号+交易额+交易时间+商品名称及价格+营业员号无限制F7销售信息销售信息交易信息表货架管理销售商品名称无限制F8发票编号发票编号发票商品信息表发票编号无限制F9商品信息给退货提供商品信息商品信息表退货处理商品编码+商品名称+数量+售价无限制F10退货信息存储退货交易信息退货交易交易信息表退货编号+营业员编号+交易时间+商品名称+商品价格无限制F11退货发票给顾客退货发票交易信息表顾客发票号+交易额+交易时间+商品名称及对应价格+营业员号无限制F12退货商品进行货架商品管理交易信息表货架管理退货商品编号无限制F13货架商品增减信息货架商品增减信息交易信息表货架商品信息商品编号+商品名称+商品数量1次/天F14货架信息货架信息货架商品信息表警告信息表商品编号+商品名称+商品数量1次/天F15警告信息哪些商品缺货警告信息表管理员缺货商品编号+商品名称+缺货数量数量1次/天F16缺货信息缺货信息管理员补货货架编号+补货商品编号+商品名称+补货数量数量1次/天F17销售排行信息销售排行交易信息销售排行表名次+商品编号+商品名次+销售数量1次/天F18销售排行表将排行表输出给管理员销售排行表管理员日期+名次+商品编号+商品名称+销售数量1次/天表1-4 (中小型超市销售管理系统) 处理逻辑(汇总统计)编号名称简述输入流处理输出流处理频率P1.1交易额计算计算出顾客购买商品总额购买商品信息根据商品价格计算总额购物单无限制P1.2给会员优惠给会员顾客打折F4购物信息给消费总额打折F5会员购物信息无限制P1.3输出交易清单返回给顾客购买发票交易信息表将购物信息简化抽象组合成发票购物发票无限制P2.1退货商品额计算计算出退货商品总额购物发票计算退费总额退货信息无限制P2.2输出退货单返回给顾客退货清单退货信息将退货信息简化抽象组合成发票退货信息无限制P3.1货架商品增减货架商品存量管理交易信息增减货架商品货架商品增减信息无限制P3.2缺货警告货架缺货时给出警告信息货架信息察看商品数量是否在最低数量警告信息1次/天P3.3货架补货补充缺货商品缺货信息补充缺货商品返回货架信息1次/天P3.4销售排行导出销售排行榜给管理员交易信息表从交易信息表中提取信息返回排行信息1周/天表1-5 (中小型超市销售管理系统) 数据存储(汇总统计)编号名称简述数据存储组成相关联的处理S1商品信息表存储商品信息、供交易业务调用商品编号+条形码+名称+标价+生产日期+保质期+供货商P1.1、P2.1S2会员信息表存储会员信息、供会员购物时调用会员卡号+会员姓名+会员密码+注册时间+累计消费P1.2S3交易信息表存储交易细节日期+交易类型+交易额+营业员编号+会员卡号+商品编号P1.1、P1.2、P2.2、P3.4S4货架信息表存储货架及商品信息货架编号+商品编号+商品数量P3.1、P3.3S5销售排行表存储销售商品排行信息名次+商品编号+商品名称+销售数量+销售额P3.4附录2 关系模式表21 营业员关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Snumchar(3)是否Not nullSnamechar(10)否否Not nullSplacechar(10)否否Swtimetime(0)否否Sctimetime(0)否否Ssalarynumeric(10,1)否否Sphonechar(11)否否表22 管理员关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Anumchar(2)是否Not nullAnamechar(10)否否Not nullAsalarynumeric(10,1)否否Awtimetime(0)否否Actimetime(0)否否Aphonechar(11)否否表23 会员关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Mnumchar(5)是否Not nullMnamechar(10)否否Mpasswordchar(6)000000-999999否否Not nullMregisterTimedate否否Mexpensenumeric(10,2)0否否表24 商品关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Gnumchar(10)是否Not nullGSnumchar(3)否是Gbarcodechar(13)否否Gnamechar(10)否否Gpricenumeric(10,2)否否GSstocksmallint否否GSlimitsmallint否否Gproducetimesmalldatetime否否Gtimeint否否Gsupplierchar(10)否否表25 货架关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求GSnumchar(3)是否Not nullAnumchar(2)否是GSnamechar(15)否否表26 销售单关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Bnumchar(10)是否Not nullSnumchar(3)否是Mnumchar(5)否是Bdatesmalldatetime否否Bdiscountchar(2)有或无否否表27 销售商品关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Gnumchar(10)是是Not nullBnumchar(10)是是Not nullBquantitysmallint否否Not null表28 退货单关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Rnumchar(10)是否Not nullGnumchar(10)否是Rquantitysmallint否否表29 打印关系模式说明属性名数据类型取值范围是否为主属性是否为外键完整性要求Bnumchar(10)是是Not nullRnumchar(10)是是Not nullSnumchar(3)是是Not nullRdatasmalldatetime否否附录3 SQL语句及其执行结果截图3.1在SQL SERVER 2008数据库中实施的语句为:3.11创建数据库create database Supermarket_SM;3.12创建基本表create table ShopAssistant(Snum char(10) primary key,Sname char(10) not null,Splace char(10),Swtime char(10),Sctime char(10),Ssalaary numeric(10,1),Sphone char(20)create table Administrator(Anum char(5) primary key,Aname char(15) not null,Awtime char(10),Actime char(10),Asalary numeric(10,1),Aphone char(25)create table Member(Mnum char(15) primary key,Mname char(15),Mpassword char(6) not null,MregisterTime date,Mexpense numeric(10,2)create table GoodsShelf(GSnum char(10) primary key,Anum char(5) foreign key references Administrator(Anum),GSname char(15),)create table Goods(Gnum char(10) primary key,GSnum char(10) foreign key references GoodsShelf(GSnum),Gbarcode char(20),Gname char(20),Gprice numeric(5,2),GSstock smallint,GSlimit smallint,Gproducetime date,Gtime int,Gsupplier char(50)create table BillSell(Bnum char(15) primary key,Snum char(10) foreign key references ShopAssistant(Snum),Mnum char(15) foreign key references Member(Mnum),Bdate smalldatetime,Bdiscount char(2)create table SellGoods(Bnum char(15),Gnum char(10),Bquantity smallint,primary key(Gnum,Bnum),foreign key (Gnum) references Goods(Gnum),foreign key (Bnum) references BillSell(Bnum)create table ReturnGoods(Rnum char(10) primary key,Gnum char(10) foreign key references Goods(Gnum),Rquantity smallint)create table PrintBill(Bnum char(15),Rnum char(10),Snum char(10),Rdata smalldatetime,primary key (Bnum,Rnum,Snum),foreign key (Bnum) references BillSell(Bnum),foreign key (Rnum) references ReturnGoods(Rnum),foreign key (Snum) references ShopAssistant(Snum)3.13创建索引(1)对于基本表ShopAssistant(营业员),由于要经常对属性列Snum查询从而获得某个营业员的完整信息,并且很少对其更新,因此可以给属性列Snum建一个聚簇索引。其相应SQL语句为:create clustered index dex_Snum on ShopAssistant(Snum);(2)同理对于基本表Member(会员),由于要经常对属性列Mnum查询从而获得某个会员的完整信息,并且很少对其更新,因此可以给属性列Mnum建一个聚簇索引。其相应SQL语句为:create clustered index dex_Munm on Member(Mnum);(3)对于Adminastrator(管理员),可在其属性列Anum上建立唯一性索引,索引值按降序排列。其相应SQL语句为:create unique index dex_Anum on Administrator(Anum desc);(4)同样对于基本表GoodsShelf(货架)、Goods(商品),可在其主属性上建立唯一性索引。其相应SQL语句为:create unique index dex_GSnum on GoodsShelf(GSnum);create unique index dex_Gnum on Goods(Gn 3.14创建视图相应SQL语句为:create view V_Salesmanasselect Snum,Swtime,Sctime,Ssalaary,Sphonefrom ShopAssistantcreate view V_memberas select Mnum,Mname,Mexpensefrom Membercreate view V_GoodsPriceasselect Gname,Gpricefrom Goodscreate view V_GoodsStoreasselect Gname,GSnamefrom Goods,GoodsShelfwhere Goods.GSnum=GoodsShelf.GSnumcreate view V_GoodsLackasselect Gname,GSstock,GSlimitfrom Goodswhere GSstock=GSlimitcreate view V_GoodsShelfasselect GSname,Gnamefrom GoodsShelf,Goodswhere GoodsShelf.GSnum=Goods.GSnumcreate view V_Workasselect ShopAssistant.Swtime,ShopAssistant.Sname,Administrator.Anamefrom ShopAssistant,Administratorwhere ShopAssistant.Swtime=Administrator.Awtimecreate view V_Phone(name,num,phone)as(select Sname,Snum,Sphonefrom ShopAssistant)union(select Aname,Anum,Aphonefrom Administrator)create view V_Salary(name,num,salary)as(select Sname,Snum,Ssalaaryfrom ShopAssistant)union(select Aname,Anum,Asalaryfrom Administrator)create view V_GoodsEndasselect Gname,Gproducetime,Gtime,DateAdd(DAY,Gtime,Gproducetime)EndTimefrom Goodscreate view V_GoodsUnloadasselect Gname,GoodsShelf.GSname,DateAdd(DAY,Gtime,Gproducetime)EndTimefrom Goods,GoodsShelfwhere DateAdd(DAY,Gtime,Gproducetime)=GETDATE()and Goods.GSnum=GoodsShelf.GSnumcreate view v_BillExpenseasselect Bnum,Gname,Gprice,Bquantity,(Bquantity*Gprice)TotalExpensefrom SellGoods,Goodswhere SellGoods.Gnum=Goods.Gnum315创建触发器(1)当打印一张销售发票时,即删除数据库中刚建立的销售发票时,相应商品在货架上的现有存量减少,相应会员总消费额增加。其相应SQL语句为:create trigger t1 on v_BillExpense INSTEAD OF deleteasdeclare Quantity int,Gname char(10),TotalExpense float-Bnum char(10)select Quantity=Bquantity from deletedselect Gname=Gname from deleted-select TotalExpense=TotalExpense from deleted-select Bnum=Bnum from deletedupdate Goodsset GSstock=GSstock-Quantitywhere Goods.Gname=Gname-update Member-set Mexpense=Mexpense+TotalExpense-where Bnum=SellBill.Bnum-and SellBill.Mnum=Mnum(2)当从过期商品名单中删除某记录时,相应商品现有存量减少.其相应SQL语句为:create trigger t2 on V_GoodsUnload INSTEAD OF deleteasdeclare Gname char(10)select Gname=Gname from deleteddelete from Goodswhere Gname=Gname(3)打印一张退货发票,即删除退货单中的记录,表示R商品重新返回原货架存储(假设脱货商品不影响第二次销售),货架商品现有存量增加.其相应SQL语句为:create trigger t3 on ReturnGoods after deleteasdeclare Gnum char(10),Rquantity intselect Gnum=Gnum from deletedselect Rquantity from deletedupdate Goodsset GSstock=GSstock+Rquantitywhere Gnum=Gnum 3.16 建立储存过程(1)计算某个销售单上,每种商品的累计销售额(即输出每种商品名称,件数,单价,费用小计)。其相应SQL语句为:create procedure p_TotalExpense(BS_Bnum varchar,Bnum varchar output,Gname varchar output,Bquantity int output,Gprice numeric output,TotalExpense numeric output)asselect Bnum=Bnum,Gname=Gname,Bquantity=Bquantity,Gprice=Gprice,TotalExpense=(Bquantity*Gprice)from v_BillExpensewhere Bnum=BS_Bnum其验证语句为:Declare T_Bnum varchar,T_Gname

温馨提示

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

最新文档

评论

0/150

提交评论