版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大型数据库开发设计主题:高校教科书管理系统目录TOC o 1-3 h u HYPERLINK l _Toc23689 背景 PAGEREF _Toc23689 1 HYPERLINK l _Toc18305 一、需求分析 PAGEREF _Toc18305 1 HYPERLINK l _Toc30464 1.1 开发目的 PAGEREF _Toc30464 1 HYPERLINK l _Toc10813 1.2 功能要求 PAGEREF _Toc10813 2 HYPERLINK l _Toc21132 1.3 开发和运行环境 PAGEREF _Toc21132 2 HYPERLINK l _
2、Toc15865 1.4 性能要求 PAGEREF _Toc15865 2 HYPERLINK l _Toc3929 1.5 安全要求 PAGEREF _Toc3929 2 HYPERLINK l _Toc24116 1.6 完整性要求 PAGEREF _Toc24116 2 HYPERLINK l _Toc28382 1.7 处理要求 PAGEREF _Toc28382 3 HYPERLINK l _Toc12955 1.8 设计和实现约束 PAGEREF _Toc12955 3 HYPERLINK l _Toc32231 1.9 用户界面 PAGEREF _Toc32231 3 HYPER
3、LINK l _Toc12653 1.10 数据流程图 PAGEREF _Toc12653 3 HYPERLINK l _Toc3016 1.11 数据字典 PAGEREF _Toc3016 4 HYPERLINK l _Toc15968 2、概念结构设计: PAGEREF _Toc15968 5 HYPERLINK l _Toc16464 2.1 ER 图 PAGEREF _Toc16464 5 HYPERLINK l _Toc4424 2.2 CDM 图 PAGEREF _Toc4424 9 HYPERLINK l _Toc28217 3. 逻辑结构设计 PAGEREF _Toc28217
4、 9 HYPERLINK l _Toc11081 3.1 实体类型之间的连接有以下几种不同情况 PAGEREF _Toc11081 9 HYPERLINK l _Toc28194 3.2 将 ER 图转换为关系模式 PAGEREF _Toc28194 9 HYPERLINK l _Toc5734 3.3 各实体属性的关系类型 表 PAGEREF _Toc5734 10 HYPERLINK l _Toc28253 4 、物理结构设计: PAGEREF _Toc28253 12 HYPERLINK l _Toc19106 4.1 PDM 图 PAGEREF _Toc19106 12 HYPERLI
5、NK l _Toc17933 4.2 创建表 PAGEREF _Toc17933 12 HYPERLINK l _Toc11534 4.3 查询 PAGEREF _Toc11534 19 HYPERLINK l _Toc3696 4.4 删除 PAGEREF _Toc3696 19 HYPERLINK l _Toc132 4.5 数据库触发器的实现 PAGEREF _Toc132 20 HYPERLINK l _Toc6991 4.6 数据库中的存储过程 PAGEREF _Toc6991 21 HYPERLINK l _Toc7376 4.6.1 建立存储过程 PAGEREF _Toc7376
6、 21 HYPERLINK l _Toc29653 4.6.2 存储过程修改 PAGEREF _Toc29653 21 HYPERLINK l _Toc10397 4.6.3 存储过程的执行 PAGEREF _Toc10397 22 HYPERLINK l _Toc14191 4.7 查看 PAGEREF _Toc14191 22 HYPERLINK l _Toc13160 五、总结: PAGEREF _Toc13160 23高校教材管理系统背景在当今高速发展的信息社会中,越来越多的工作岗位引入了计算机,计算机已成为其中不可或缺的重要组成部分。使用计算机进行各种管理和协调,将大大提高工作效率,
7、减轻工作强度;在相同的工作强度下,使用电脑工作可以比原来老式的工作方式高出数倍甚至数十倍。工作的效率可以大大减少各种人力物力的损失,使多余的人力和投资可以用在更需要的地方。当然,高校的管理也不例外,教科书管理的计算机化刻不容缓。教材管理对每个学校来说都是一项非常复杂繁琐的工作,是高校教务管理的重要组成部分。由于大学专业众多,各专业开设的课程种类繁多,其业务不仅涉及。有了出版部,又面对全校各部门的老师、各班的学生,教材部要管理进出馆的教材种类多,涉及人员多,工作量大并且近年来,我国高等教育规模不断扩大,在校学生人数迅速增加,教材管理工作更加繁重。因此,一套好的高校教材管理软件,不仅可以大大减轻教
8、职工的劳动强度,还可以提高学校的管理效率和教学水平。学校教科书管理主要由教科书规划、采购、存储、分发、核算、结算等一系列任务组成。每个学院都有专门的机构负责这项工作,通常是教科书部。由于学校的专业很多,每个专业开设的课程种类也很多,每个专业需要订购的教材也不同。每学期开学时分发教科书成了一项繁重的工作。教材部管理的进出馆教材种类从几百到几千不等,涉及的课本从几千到几万不等,涉及人员范围广,工作量大.我国高等教育规模的不断扩大和在校生人数的迅速增加,使得教材的管理更加繁重。据调查,截至目前,我国仍有不少学校甚至一些重点高校的课本管理仍为人工管理。这种现状不仅与学校教科书管理的实际业务需求格格不入
9、,也与学校信息化建设不谋而合。因此,学校教科书管理人员迫切需要一个便捷高效的计算机化管理信息系统,以取代其繁琐低效的传统人工管理方式,最终实现教科书管理的全面自动化。因此,教材管理水平的高低直接影响着教学工作的进展、教学质量的提高和人才培养。高校教材管理信息系统的开发和使用是提高和提高教材管理水平的重要途径。1、需求分析1.1 开发目的本课题旨在解决目前我校等高校教材管理仍依赖教材管理员人工管理的现状,思考如何改进和解决现有两层C/S(客户端/服务器)的固有问题由于教材系统本身的缺陷,将服务器部分和客户端部分在两层结构中的应用分开划分,以满足大型系统的需要。通过该系统,不仅方便教科书管理人员管
10、理教科书,也方便教务部门和师生查询教科书,查看教科书管理记录。本系统使用SQL Server 2008 Express数据库作为后台数据管理系统,使用ADO数据库组件连接后台数据库。开发使用C#,是微软开发的Windows程序开发环境,是目前最流行的开发工具之一。1.2 功能要求由于操作者计算机水平有限,要求系统具有良好的人机界面。方便的数据查询,支持多条件查询。系统支持良好的数据备份和恢复操作,有效保护数据,减少意外损失。数据计算是自动完成的,尽可能少的人工干预。报告分析了教材的购买和教材的销售情况。强大的报表打印功能。在查询报表的基本信息时,可以根据查询条件动态显示查询结果。(8)在报表分
11、析过程中,可以根据条件动态分析报表数据。1.3 开发和运行环境系统开发平台: Microsoft Visual Studio 2008系统开发语言:C#数据库管理系统软件:SQL Server 200 8: Windows XP (SP2)、Windows 2000 (SP4)、Windows Server 2003 (SP1)分辨率:1024X768 像素以获得最佳效果。1.4 性能要求数据库服务器支持多客户端访问。数据安全性和完整性高,数据访问正确率99.99%。数据库表可以正确、及时地反映最新的更新。多个客户端访问时,服务器可以正常稳定工作。1.5 安全要求系统可以抵抗瑞星互联网上发布的
12、病毒的攻击,不会瘫痪。系统可以安全地防止对数据库的不安全访问和操作。系统可以依靠UPS电源保证在断电时数据库内容的完整性和安全性。数据库服务器应具有在系统使用过程中每2小时备份一次数据库的功能。该功能保证系统应用只有在验证用户权限后才能使用。1.6 完整性要求在向数据库中插入和修改时,系统可以区分输入数据是否符合语义,否则不能修改成功。1.7 处理要求它可以存储教材的基本信息,方便有效地对教材信息进行相应的数据操作和管理,主要包括:1) 教科书出入库信息的录入、删除和修改2)教科书信息的多关键词搜索查询可以存储和管理相应的教材种类和价格信息,包括:1) 出入境信息的及时增删改查2) 学生和班级
13、信息管理3)出入境信息的数量和价格的统计和查询它可以提供一定的安全机制,提供对数据信息的授权访问,防止任意删除、修改和查询。对于查询,统计结果可以列表显示1.8 设计和实现约束受限于C/S结构程序的网络配置和网络编程实现,部分功能可能实现不完善,甚至暂时不可用。1.9 用户界面能全面、直观地体现系统功能,用户可以方便快捷地进行一定的教材管理工作,并能适应屏幕显示分辨率的调整,操作性友好、操作性强。1.10 数据流程图高校教材管理系统系统功能流程图:高校教材管理系统系统业务流程图:1.11 数据字典 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/
14、view/38752.htm t :/baike.baidu /_blank 数据字典是指对 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/178581.htm t :/baike.baidu /_blank 数据项、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/9900.htm t :/baike.baidu /_blank 数据结构、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/166248.htm t :/
15、baike.baidu /_blank 数据流、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/551712.htm t :/baike.baidu /_blank 数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/170104.htm t :/baike.baidu /_blank 数据流图中的每个元素进行详细的描述。用户可访问的 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%
16、20/view/1088.htm t :/baike.baidu /_blank 数据库和 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/330120.htm t :/baike.baidu /_blank 应用程序源数据目录。数据字典最重要的作用是作为分析阶段的工具。数据字典最重要的用途是供人们查询未知项的解释。在 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/198632.htm t :/baike.baidu /_blank 结构化分析中,数据字典的作用是定义和解释 H
17、YPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/228931.htm t :/baike.baidu /_blank 数据流图上的各个组成部分。换句话说, HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/228931.htm t :/baike.baidu /_blank 数据流程图上所有组件的定义和解释的字面集就是数据字典,在数据字典中建立一套连贯的定义有助于改善分析人员和用户之间的沟通。数据库数据字典不仅是每个数据库的中心,也是每个用户非常重要的信息。用户可以通过 SQL 语句
18、访问数据库数据字典。以下是本系统中的数据字典。名称:用户信息描述:有关使用该软件的人员的信息定义:用户信息=登录账号+真实姓名+登录密码+班级名称:教科书基本信息说明:各种教材的详细信息定义:教材信息=教材编号+教材名称+教材作者+教材版本号名称:库存信息描述:每本教科书的库存详细信息定义:入库信息=课本号+课本名称+入库单号+单价+数量+入库时间名称:订单信息说明:每本教科书的订购详情定义:订单信息=订单号+教材编号+教材名称+数量+单价+供应商+订购日期名称:出境信息说明:每本教材的发行详情定义:出境信息=课本编号+课本名称+数量+单价+班级名称:管理员信息描述:管理教材出入库明细定义:a
19、dmin info=number+gender+名称:供应商信息说明:为需求单位提供教材定义:供应商信息=编号+名称+地址+负责人+2、概念结构设计:概念结构设计是对 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/44500.htm t :/baike.baidu /_blank 信息世界进行建模。常用的概念模型是ER模型,每个实体类型的ER图。这里我们对高校教科书管理系统进行建模。我们对涉及的实体、教科书和班级学生、教科书存储管理、存储管理、供应商、管理员和印刷机进行建模。它由 ER 图表示。概念结构设计的任务是在需求分析阶段生成的
20、需求规范的基础上,按照特定的方法将它们抽象成不依赖于任何特定机器的数据模型,即概念模型。概念模型将设计人员的注意力从复杂的实现细节中解放出来,只关注最重要信息的组织和处理模式。它是通过使用实体关系图来实现的。它描述了系统中各个实体与相关实体之间的关系,是系统特征和静态描述。数据字典也将成为系统进一步发展的基础。2.1 ER图下面是每个实体的 ER 图:班级:订单管理:出境管理:学生:库存管理:供应商管理:高校教材管理系统实现各项管理任务。根据用户学生与供应商、管理员管理、仓储管理、仓储管理、印刷机、教材的关系,构建系统的整体ER图:2.2 CDM 图3.逻辑结构设计数据库的逻辑结构设计是将概念
21、结构设计阶段设计的基本ER图转换为与所选DBMS产品支持的数据模型相一致的逻辑结构。由于目前使用的数据库基本都是关系型数据库,所以首先需要将 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/15236.htm t :/baike.baidu /_blank ER图转化为关系模型,然后根据具体DBMS的特点和局限性, HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/68450.htm t :/baike.baidu /_blank 再转化为具体DBMS支持的数据模型 HYPERLI
22、NK %20%20%20%20:/baike.baidu%20%20%20%20/view/68450.htm t :/baike.baidu /_blank ,最后优化它。在本系统中,我们选择的数据库环境是 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/9644.htm t :/baike.baidu /_blank SQL srver 2008。3.1 实体类型之间的连接有以下几种不同的情况1:1 的关系可以转化为独立的关系模式,也可以与任何对应的关系模式合并。1:n 关系可以转换为独立的关系模式,也可以与 n 侧的相应关系模式合
23、并。m:n 关系可以转换为关系模式。3 个或更多实体之间的多元关系可以转换为关系模式。可以合并具有相同代码的关系模式。3.2 将ER图转换为关系模式教材(教材编号、教材名称、类型编号、订购单位、名称、出版时间、作者、印数、数量、字数、存放时间)班级(班号、班名、人数、班长、班长、班主任、班主任、学院系、学校、招生时间)学生(学号、学院、系、学校、班级)出境(课本编号、教材名称、数量、单价、班号、编号、出版时间、出境时间、负责人)存储(课本编号、课本名称、数量、单价、存储时间、作者、负责人)管理员(管理员 ID 、管理员姓名、性别、)供应商(供应商 ID 、供应商名称、供应商地址、负责人)订单(
24、订单号、课本号、课本名称、单价、数量)(号码、姓名、负责人、地址)。(横线代表主键)3.3 各实体属性关系类型表教科书表中的项目和数据类型是相关函数:字段名称数据类型字符约束课本编号字符(14)主键不为空课本名称varchar(10)不为空型号字符(14)不为空装订单元瓦哈尔(10)无效的姓名字符(10)不为空发布日期时间无效的作者瓦哈尔(10)无效的打印整数无效的数量整数无效的类表中的项和数据类型是相关的功能:班号字符(10)主键不为空班级名称瓦哈尔(10)不为空人数整数无效的监视器字符(10)无效的班主任字符(10)无效的学校瓦哈尔(10)无效的学院瓦哈尔(10)无效的供应商表中的项目和数
25、据类型是相关的功能:字符(11)无效的主要的瓦哈尔(4)无效的地址瓦哈尔(10)无效的供应商代码字符(10)不为空供应商名称瓦哈尔(10)主键不为空管理员表中的项目和数据类型是相关的功能:管理员编号字符(10)主键不为空管理员姓名瓦哈尔(10)不为空性别字符(2)无效的字符(10)无效的地址瓦哈尔(10)无效的student表中的item和数据类型是相关函数:学生卡字符(10)主键 外键 非空瓦哈尔(4)不为空学院瓦哈尔(10)无效的学校瓦哈尔(10)无效的班级瓦哈尔(10)无效的出站表中的项目和数据类型是相关的功能:课本编号字符(14)主键 外键 非空课本名称瓦哈尔(10)不为空班号字符(1
26、4)主键 外键 非空数量整数无效的单价浮子 (5)无效的主要的瓦哈尔(4)无效的交货时间时间无效的编号字符(14)无效的发布日期时间无效的存储表中的项和数据类型是相关的功能:课本编号字符(14)主键 外键 非空课本名称瓦哈尔(10)不为空管理员编号字符(14)主键 外键 非空数量整数无效的单价浮动(5)无效的主要的瓦哈尔(4)无效的入库时间时间无效的瓦哈尔(14)无效的作者瓦哈尔(4)无效的物理结构设计:4.1 PDM 图4.2 创建表根据CDM和PDM的信息和联系人创建表,并在每个表中插入数据。程序如下,附表:创建表类(类号 char(10) 不为空,类名 varchar(5) 不为空,数字
27、 char(2) 空,监控 char(10) 空值,监控 char(11) 空值,班主任 char(10) null,班主任 char(11) null,学院系 varchar(10) null,学校 varchar(10) 空值,入场时间为空,约束 PK_class 主键(类号));插入类值(0001,Counter,40,12052901,6678,信息学院,西部财经,123000)插入类值(0002,计数器,39,12042901,6578,信息学院,邮电,130300)插入类值(0003,软件,40,12032901,6778,信息学院,西部财经,112300)插入类值(0004,电子
28、,40,12022901,6458,信息学院,邮电,123010)插入类值(0005,网络,38,12012901,6645,信息学院,科学技术,123022)插入类值(0006,软件,44,12062901,6000,信息学院,技术,133000)插入类值(0007,Network,40,12072901,6666,Information College,Technology, 123330)插入类值(0008,电子,33,12082901,6888,信息学院,技术,156000)从班级中选择*;创建表(数字 char(14) 不为空,名称 varchar(7) 不为空,字符(11)空,负责
29、的 varchar(4) null,地址 varchar(11) null,约束PK_主键(数));插入值(1235,清华,三,)插入值(1223,四,)insert into values(1333,邮电,王二,)插入值(2345,Massachusetts,Lei,US)插入值(7865,Haval,jion,United States)选择 * 从 ;出站创建表(教科书编号 char(14) 不为空,类号 char(10) 不为空,教科书名称 varchar(10) null,数字数字(10)空,单价 float(5) null,数字 char(14) 空,发布日期为空,交货日期为空,负
30、责的 varchar(4) null,约束 PK_outbound 主键聚集(课本号、班级号));插入出站值(0001,ISBN1205290101,数学,40,22.5,0001,1235,王磊)插入出站值(0002,ISBN1205290102,English,44,26.5,0002,1223,石磊)插入出站值(0003,ISBN1205290103,吴文,39,35.5,0003,1233,郭靖)插入出站值(0004,ISBN1205290104,Physical,33,32.5,0004,2345,Mary)插入库值(0005,ISBN1205290105,c 语言,38,28.5,
31、0005,7865,Mark)从出站中选择 *;创建表顺序(供应商编号 char(14) 不为空,教科书编号 char(14) 不为空,订单号 char(14) null,教科书名称 varchar(10) null,单价 float(5) null,数字数字(10)空,约束 PK_order 主键聚集(供应商号、教科书号));插入订单值(01,ISBN1205290101,01234,Math,22.5,1000)插入订单值(02,ISBN1205290102,01244,English,32.5,2000)插入订单值(03,ISBN1205290103,01254,language,42.
32、5,1500)插入订单值(04,ISBN1205290104,01264,物理,52.5,1070)插入订单值(05,ISBN1205290105,01274,c语言,27.5,1005)从订单中选择 *;创建表供应商(供应商编号 char(14) 不为空,供应商名称 varchar(10) 不为空,供应商地址 varchar(10) null,供应商 char(11) 空,供应商主体 char(4) null,约束 PK_supplier 主键(供应商编号));插入供应商值(01,Westinghouse,jion)插入供应商值(02,Tsinghua,sama)插入供应商值(03,Ali,
33、tom)插入供应商值(04,Technology,ato)插入供应商值(05,Bookstore,mark)从供应商中选择 *;创建表管理员(管理员编号 char(14) 不为空,管理员 varchar(5) 不为空,性别 char(2) 空,字符(11)空,约束 PK_Administrator 主键(管理员编号)插入管理员值(0101,Titi,male,)插入管理员值(0102,Mimi,Female,)插入管理员值(0103,foreign,female,)插入管理员值(0104,安宇,男,)插入管理员值(0105,欧阳,男,)从管理员中选择 *;创建表格教材(教科书编号 char(1
34、4) 不为空,教科书名称 varchar(10) 不为空,类型号 char(14) 不为空,装订单元 varchar(10) null,namevarchar(7) 空值,发布日期为空,作者 varchar(4) null,打印int null,单价 float(5) null,数量 int null,库存时间日期 null,字数整数空,约束PK_教材主键(教材编号));插入教科书值(ISBN1205290101,数学,200,西才,清华,邵超,300,23.5,1000,1000000)插入教科书值(ISBN1205290102,English,300,Post and Telecommun
35、ications,Bin,400,33.5,2000,2000000)插入教科书值(ISBN1205290103,中文,400,科技,邮电,荣,334,43.5,1500,1700000)插入教科书值(ISBN1205290104,Physics,500,Technology,Massachusetts,Wan,456,53.5,1070,2200000)插入教科书值(ISBN1205290105,C语言,600,哈弗,哈弗,李,675,26.5,1005,4300000)从课本中选择*;创建表存储(管理员编号 char(14) 不为空,教科书编号 char(14) 不为空,教科书名称 var
36、char(10) null,varchar(10) 空值,数字数字(10)空,库存时间日期 null,单价 float(5) null,作者 varchar(4) null,负责的 varchar(4) null,约束PK_存储主键集群(管理员号、教科书号));插入存储值(0101,ISBN1205290101,数学,清华,1000,23.5,邵超,凯)插入存储值(0102,ISBN1205290102,English,2000,33.5,Bin,王辉)插入存储值(0103,ISBN1205290103,language,1500,43.5,rong,kai)插入存储值(0104,ISBN12
37、05290104,物理,马萨诸塞,1070,53.5,万,军事)插入存储值(0105,ISBN1205290105,c语言,哈佛,1005,27.5,李,王武)从库存中选择 *;创建表学生(学生证 char(10) 不为空,类号 char(10) null,varchar(4) 不为空,学校 varchar(10) 空值,教师 varchar(10) null,书费 char(6) null,约束PK_student主键(学号));插入学生值(12051,0001,李,西部财经,信息学院,6000)插入学生值(12052,0002,余,科技,信息学院,7000)插入学生值(12053,0005
38、,余,邮电,信息学院,8000)插入学生值(12054,0003,马云,马萨诸塞,信息学院,9000)插入学生值(12055,0004,周宇,哈佛,信息学院,10000)从学生中选择*;创建表格打印(数字 char(14) 不为空,教科书编号 char(14) 不为空,约束 PK_print 主键聚集(数字,教科书号));插入打印值(1223,ISBN1205290101)插入打印值(1235,ISBN1205290102)插入打印值(1333,ISBN1205290103)插入打印值(2345,ISBN1205290104)插入打印值(7865,ISBN1205290105)从打印中选择 *
39、;4.3 查询查询图书馆和图书馆的教科书数量,编程语句如下:选择教材。教材编号,教材。教材名称,外语。数量,现货。数量从出站、入站、教材其中 Textbook.TextbookNumber=Exit.TextbookNumber 和 Textbook.TextbookNumber=Inbound.TextbookNumber4.4 删除删除存储中的一条信息,编程语句如下:从教科书编号 = ISBN1205290105 的库存中删除4.5 数据库触发器的实现触发器是SQL Server在约束之外提供的另一种保证数据完整性的方法,可以实现约束不能实现的更复杂的完整性要求。触发器是一种特殊的存储过程
40、,它不允许带参数,不能由用户通过名称直接调用,而是由用户的动作自动触发。在这个项目中,建立了触发器来自动更新出库和入库的数量。仓储与库存的关系当教材入库时,可以通过触发程序使用相同的教材代码来检索该书的库存记录。如果有该书的记录,则将其添加到原始记录中;如果库存中没有该书的库存记录,则添加该书的新库存记录。完成库存表的更新,减少重复输入的麻烦,流程如下:在 Inventory 上创建触发器 updata_kucun 以进行插入作为声明 shl int, bh char(10)select bh = 课本编号,shl = 插入数量if exists(select * from kucun whe
41、re 教科书代码 = bh )更新库村设置数量 = 数量 + shl 其中课本代码 = bh别的if 存在(select * from kucun where 课本号bh)开始插入kucun(课本编号,数量)值(bh,shl)结尾开始Raiserror(库存数量等于库存数量, 16, 2)回滚事务结尾交货与库存的关系当管理者将教科书送出图书馆时,触发程序使用相同的教科书代码来检索该教科书是否存在于库存中。如果存在且出库数量不大于库存数量,则库存数量会减少相应数量。如果不存在,则说明输入的教材代码错误,系统提示错误信息。同时,如果课本存在,但出库数量大于库存数量,系统会提示错误信息并重新入库。代
42、码显示如下:在出站上创建触发器 update_kucun用于插入作为声明 shl int, bh char(10), shj 日期时间select bh = 课本编号,shl = 插入数量如果存在(从库村中选择 * 教科书代码 = bh 和 shl = 数字)更新 kucun 设置 kucun.quantity = kucun.quantity - shl where 教科书代码 = bh别的开始Raiserror(进出大于库存, 16, 2)回滚事务结尾Raiserror(库存数量等于库存数量, 16, 2)回滚事务结尾4.6 数据库存储过程与表和视图一样,存储过程是存储在数据库中的对象。它
43、类似于其他编程语言中的程序;同时,存储过程还可以向调用或批处理返回状态值,以指示成功或失败等。存储过程与函数的不同之处在于,存储过程不返回替代其名称的值,因此不能直接使用在表达式中。存储过程只需要编译一次,以后多次执行,所以使用存储过程可以提高性能。4.6.1 建立存储过程通过建立一个存储过程来统计各种教科书的订购、投递和入库情况,编程语言如下:创建过程查询_tongji(dinggou_bh char(14) 输出,ruku_shl int 输出,chuku_shl int 输出)作为select dingou_bh = order.book number, ruku_shl = stora
44、ge.quantity,chuku_shl = outbound.quantity从订单, 缺货, 有货4.6.2 存储过程修改修改存储过程并添加参数。编程语言如下:ALTER Proc Query_tongji(dinggou_bh char(14) 输出,ruku_shl int 输出,chuku_shl int 输出,jiaocai_lxbh char(14) 输出)作为select dingou_bh = order.book number, ruku_shl = storage.quantity,chuku_shl = outbound.quantity,jiaocai_lxbh = 教材.type number从订购、出站、入站、教材4.6.3 存储过程的执行输出图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宣传个人工作总结
- 中国纳米铝粉市场发展需求与投资潜力咨询报告2024-2030年
- 运营安全管理制度
- 中交集团制度
- 路缘石购销合同
- 项目公司施工单位考察方案
- 宅基地房产归属权合同
- 员工合作协议书格式
- 2024年家居广场招商策划方案
- 遗产分割委托合同
- 《红星照耀中国》整本书阅读设计
- 化学如何开展跨学科实践活动义务教育课程方案和课程标准国家级示范培训课件
- JB-T 7072-2023 水轮机调速器及油压装置 系列型谱
- 科学的体育锻炼课件(图文)
- 2024年湖南省长沙市中考数学试卷附答案
- GB/T 23586-2022酱卤肉制品质量通则
- JJG(交通) 175-2021 钢筋笼长度磁法检测仪检定规程
- 2024CSCO肿瘤相关性贫血临床实践指南解读
- WS-T 408-2024 定量检验程序分析性能验证指南
- JBT 106-2024 阀门的标志和涂装(正式版)
- 医院感染案例分析:传染科
评论
0/150
提交评论