资源描述
摘 要
为争夺逐渐激烈的市场竞争,企业需要更好的了解公司运作,通过有效的管理持续提高管理效率,因此,仓库管理系统成为一个有效提高生产效率的重要途径。
本仓库管理系统是以杭州易利科技有限公司为实例,通过实地考察来对我国仓库管理体系现状获取资料。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强,数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。在对资料进行整理后,采用PowerBuilder 9.0为前台开发语言,以SQL Server 2000为后台数据库开发的一个面向中小型企业内部的仓库管理系统。
关键词:库存管理,库存分析,MIS,数据库
Abstract
Because of the gradually vigorous market, the enterprise needs to know company operation well, and improve the management rate. Therefore, warehouse management system becomes an important method that advances the product rate efficiently.
This MIS is designed based on the HangZhou YiLi Sience and Technology Ltd. The data that reflect the current situation of MIS in our country are collected through first-hand investigation. It’s development mostly include the foundation and maintenance of the database and the development of the client application program. For the former we must establish a better database, which has well data consistency and data security. For the latter we must make the program more functional and easy to be use. After the analysis of the data, we use PowerBuilder 9.0 as the foreground Programming Language and SQL Server 2000 as the background database, develop a MIS targeted to the small and medium enterprises.
Key:stockpile manage, stockpile analysis , management information system,database
目 录
摘 要 I
ABSTRACT II
第1章 绪论 1
1.1 系统开发背景 1
1.2 开发环境和开发工具介绍 2
1.2.1开发环境 2
1.2.2开发工具介绍 2
第2章 系统设计 5
2. 1 用户需求与设计目标 5
2.1.1用户需求 5
2.1.2设计目标 6
2.2系统可行性分析 7
2.3 UML 系统建模 8
2.3.1 仓库管理系统的用例分析 8
2.3.2仓库管理系统的领域分析 8
2.3.3 仓库管理系统的设计 11
第3章 系统配置 14
3.1 软件配置 14
3.2 硬件配置 15
第4章 数据库设计 16
4.1 数据库设计原则 16
4.2 概念结构设计 16
4.3 创建数据库 17
4.4 创建表 18
第5章 系统基本功能实现 32
5.1界面设计 32
5.1.1 录入界面设计 32
5.1.2 查询界面设计 33
5.2 连接数据库 34
5.3 功能模块设计 35
5.4 代码分析与实现 38
5.5 实例演示 45
第6章 结论 47
致谢 49
参考文献 50
- 49 -
第1章 绪论
1.1 系统开发背景
企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。
根据当前的企业管理体制,一般的库存管理系统,总是根据所掌握的物资类别,相应分成几个科室来进行物资的计划,订货,核销托收,验收入库,根据企业各个部门的需求来发送物资设备,并随时按期进行库存盘点,作台帐,根据企业领导和自身管理的需要按月、季度、年度进行统计分析,产生相应报表。为了加强关键物资、设备的管理,要定期掌握其储备,消耗情况,根据计划定额和实际纤毫定额的比较,进行定额管理,使得资金使用合理,物资设备的储备最佳。
一个完整的企业物资供应管理系统应包括采购计划管理,、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。
毕业设计实习公司介绍
杭州易利科技有限公司成立于1995年,是一家致力于代理计算机产品配件批发、零售的专业DIY电脑公司。杭州易利电子秉承“以客户需求为导向,以完美服务求信誉,以一流品质求发展”的经营理念,经过十一年的辛勤耕耘,拥有强大的销售渠道、完善的服务体系和高素质的专业技术队伍,已成为浙江省最具规模的计算机配件销售代理中心之一。
公司总部设立在文三路408号,下设产品展示厅有文三路364号、颐高数码科技广场2012、西溪数码港D201号、高新数码城G353、高新电脑城237、255号、百脑汇A312及颐高旗舰广场G2117易利DIY自助超市大卖场共8家。公司坚持以“责任、勤奋、诚信、团结”为使命宣言,为电脑分销商及广大企事业单位、个人用户提供了优质的电脑产品及技术服务,并以杭州作为公司发展中心,业务范围覆盖整个浙江省,在整个电脑业界及用户中,享有很高知名度和良好的信誉度。
1.2 开发环境和开发工具介绍
1.2.1开发环境
硬件:采用目前广泛使用的个人计算机,内存512MB,硬盘80G,CRT或LCD显示器。
系统软件平台:windows 2000,windows XP。
前台开发工具:PowerBiulder 9.0。
数据库系统:Microsoft SQL Server 2000。
1.2.2开发工具介绍
PowerBuilder 9.0全面介绍
2003年3月24日,Sybase公司发布了新一代开发工具PowerBuilder 9.0。PowerBuilder 9.0中实现了对XML、 JSP、.NET以及Web Services的支持,不仅可以满足企业级应用的需求,而且可以实现对手持设备的应用开发。PowerBuilder9.0将使这个古老的产品焕发了新生命力,使之成为具有高度集成性的新一代开发平台。
PowerBuilder基础特性
PowerBuilder具有十分强大和功能。特别是在开发有关数据库管理系统方面优势明显。其特点如下:
(1)可视化的开发环境
PowerBuilder是一个集成的完全可视化开发环境。使用PowerBuilder可以用一种可视、直观的方式来创建应用程序有用户界面和数据库接口。
(2)面向对象的工具
PowerBuilder 采用了面向对象(OO),具有面向对象编程的各种性质,与传统的开发工具有着本质的区别。传统的开发方法是给程序预定义了运行路径,开发人员需要编写大量的程序去控制程序的流程,程序运行时严格顺着路径执行,即“流控制”方法;而PowerBuilder的开发方法是事件驱动,程序不是顺序执行,而是被写成许多独立的片断,某段程序只有当与之相关联的事件发生时才会执行。PowerBuilder和窗口、菜单、数据窗口等都是对象。也可以构造自已的对象。
(3)功能强大的编程语言
可以非常方便地用PowerBuilder的高级语言PowerScript为每一个对象上发生的特定事件编写脚本(Script),像用BASIC语言一样简单,同时提供了近千个函数和数十个系统对象供调用。
(4)开放的系统
PowerBuilder可以访问任何一个常用的后台数据库比如Oracle、Sybase、Informix、SB2和SQL Server等大型数据库,以及Xbase、FoxPro和Paradox待小型数据库。它本身也带一个数据库—Sybase SQL Anyware。PowerBuilder提供了通用的前台用户界面,开发人员无需关心每个数据库的特点和特性,只需要集中精力进行前台应用程序的开发。
(5)多平台的开发环境
PowerBuilder开发环境现在有Windows、Mac OS和Unix等版本。在不同操作系统开发的应用程序只需要在另一操作系统下重新编译,即可直接运行。
(6)支持传统的企业级客户/服务器开发方案
PowerBuilder与所有流行企业级客户/服务器数据库都有接口,也可以在多用户下访问数据库。数据库的安全性、完整性可以得到保证。
PowerBuilder 9.0新技术
(1)RAD JavaServer 页面(JSP)
可以通过向导和其他RAD工具开发和配置JSP Web应用。
(2)Web Services
不需要过多的SOAP 和WSDL的知识就能针对Microsoft .NET和其他框架建立、发布Web Services 。
(3)XML数据窗口
直接从XML文档中导入数据,将从数据源检索的数据保存为XML文档,或者是作为使用XSL格式对象(XSL-FO) 或PDF的文档或字符串。
(4)PowerBuilder本地接口
将一个C++类打包为PowerBuilder扩展,在应用中调用它的方法。通过Java本地接口(JNI:Java Native Interface),Java应用程序也可以与PB虚拟机(PBVM:PowerBuilder Virtual Machine)通信。
(5)第三方应用服务器
除了支持Sybase EAServer,PowerBuilder还支持BEA WebLogic ServerTM,IBM WebSphere®以及其他J2EE应用服务器—通过向导产生企业级Java beans EJBs的代理,通过代理在PowerBuilder中调用J2EE服务器中的EJBs。
(6)PowerBuilder文档对象模型
PowerBuilder文档对象模型(PBDOM)定义了如何访问和操作XML 文档。
(7)PDF文档生成
提供了将数据窗口对象直接保存为PDF文档的两种方法。
(8)源代码控制的提高
帮助开发人员更加有效地管理大型PowerBuilder项目,与Rational® ClearCase® 和Merant PVCS建立更加紧密的集成关系。
(9)OrcaScript工具
源代码控制集成允许PowerBuilder直接从源代码控制中重建应用程序。
(10)PowerDesigner/PowerBuilder集成
快速产生一个可视化表示的全部代码。通过拖放组件编程来重构n层体系结构,这些组件就在PB IDE集成开发环境中。
PowerBuilder优点
(1)集成性和开放性
• Web Services提供了与J2EE™和.NET.™的集成,PowerBuilder 本地接口延伸了 PB 对C++应用程序的支持。
• EJB客户端对J2EE 兼容服务器扩展了PowerBuilder 应用程序的适用范围。
(2)及时性
• RAD第四代语言对客户/服务器、 Web 和N层体系开发提供了最大的生产力。
(3)Web 和N层体系开发
• XML数据窗口使其与其它应用程序的通信更好
• RAD JavaServer页面使建立Web应用更加快捷
• PowerBuilder文档对象模型允许对XML文档的操作
• 对与J2EE 兼容的应用服务器的支持
(4)生命周期管理
• 严格的版本控制使项目更易管理
• 与Sybase PowerDesigner的集成改进了整个开发过程
第2章 系统设计
2. 1 用户需求与设计目标
2.1.1用户需求
仓库管理系统往往广泛应用于各大企业的仓库管理中,几乎每个进行了信息化建设的大中型企业都建设了仓库管理系统。图2-1就是一个典型的仓库管理系统的界面。
图2-1 典型的仓库管理系统
从界面可以看到,典型的仓库管理系统应该提供库存、入库、出库、盘存等内容。通常情况下,仓库管理系统的业务操作如图2-2所示。
维护原始
数据
日常入库、出库业务维护
库存管理
货品盘存
打开报表
报表打印
数据存储
图2-2 仓库管理的业务操作图
仓库管理系统作为数据库项目应用的一种,其开发流程包括需求分析、UML系统建模、确定系统集成方案、数据库分析和设计以及各功能模块的开发等。
2.1.2设计目标
(1) 要求系统可以准确地记录和查询仓库内管理的货品信息。包括货品的名称、单价、存货的公司、货品的特性、货物的单价以及存储该货物的特殊要求等。
(2) 要求可以准确地记录仓库中的库存信息,包括货物的出库时间、入库时间、货物的存储警戒底线(即达到最大量时的提示和最小量的提示)、货物的存放位置、入库单价和出库单价等。
(3) 货物的入库管理。包括货物入库期间的统计、供货单价供货分类统计、供货单价供货期间的金额统计。
(4) 货物的出库管理。包括货物出库的统计、供货单价阶段性收货统计以及收货单位阶段性金额统计等。
(5) 系统分为3种操作人员,系统管理员,主要完成系统数据表的管理;查询员,主要完成信息的查询统计;录入员,主要完成货品的出入库登记。
(6) 系统应该可以对基础数据进行维护。
(7) 系统应该可以方便的维护货物信息,包括商品的类别、定价,商品的名称、库存量以及商品的简单说明等。
(8) 系统还应该提供强大数据统计、查询、报表生成以及打印等功能。
(9) 系统客户端运行在Windows平台下,服务器可以运行在Windows平台或UNIX平台下。系统还应该有一个较好的图形用户界面。
(10)系统应该有很好的可扩展性。
2.2系统可行性分析
分析需求就是描述系统的需求,通过定义系统中的关键域类来建立模块。分析的根本目的是在开发者和需求的人之间建立一个理解和沟通的机制。
分析需求的第一步是描述仓库管理系统的功能,即定义用例,以此确定系统的功能需求。
在一个涉及库存业务的公司中,角色包括出入库管理员、仓库经理和出入库管理员。出入库管理员和仓库经理是系统的用户,而系统管理员是系统管理员。在方系统中,出入库管理员的主要工作就是录入货物的出入信息;仓库经理的主要工作就是查询统计仓库信息;系统管理员的主要工作则是管理数据库表信息。
库存管理信息系统的用例主要包括以下内容。
l 货物入库
l 货物出库
l 退仓出库
l 退货入库
l 订单管理
l 盘点管理
l 货位维护
仓库管理系统的分析可以用UML的用例图来描述,图2-3所示。
(1)货物入库
查询同类货物-查询仓库货位情况-记录货位入库情况。
(2)货物出库
查询货位的货位-分捡货位-分配取货号-记录货物出库情况。
(3)退仓出库
查询货位的货位-分捡货位-分配取货号-记录货物出库情况。
(4)退货入库
查询同类货物-查询仓库货位情况-记录货位入库情况。
(5)订单管理
显示客户信息-标记客户订单信息。
(6)盘点管理
显示货物信息-记录本次盘点信息。
(7)货位维护
显示当前货位信息-选择要修改的货位-更新要修改的货位信息。
2.3 UML 系统建模
2.3.1 仓库管理系统的用例分析
仓库管理系统的全部用例,包括货物入库、货物出库、退仓出库、退货入库、订单管理、盘点管理以及货位维护等。其用例如图2-3所示。
图2-3 仓库管理系统用例图
该用例图标记了所有的用例,从中可以得知,仓库管理系统的角色可以划分为两类。
l 仓库管理员:用例包括货物入库、货物出库、退库入库和退仓出库。
l 仓库经理:用例包括盘点管理、货位管理和订单管理。
2.3.2仓库管理系统的领域分析
UML建模的第二步就是领域分析。实际开发仓库管理系统时,领域分析是建立在用例分析基础上的。要了解系统要处理的概念。
仓库管理系统中的的域主包括:货物信息(HuoWuXinXi)、仓库信息(CangKuXinXi)、入库信息(RuKuXinXi)、出库信息(ChuKuXinXi)、存放信息(CunFangXinXi)、盘点信息(PanDianXinXi)、退仓信息(TuiCangXinXi)、退货信息(TuiHuoXinXi)、货主信息(HuoZhuXinXi)。他们之间的关系表示如图2-4。
图2-4 仓库管理系统域图
如图2-4,首先给出了仓库管理系统的域略图。在该图中,仅给出了各个域忍气吞声名称以及积各个域间的关系,在此基础上,对域再进行分析,可以得到域草图。如图2-5所示。
图2-5 域草图
为了描述域类的动态行为,可以使用UML的时序图、协作图或者活动图。这里用时序图,时序图的基础是用例。在时序图中,要说明域类是如何协作以操作系统中的用例。当然,在建立时序图时,将会发现新的操作,并将其加入类中,这将在后面看到所建立的时序模型。此外,操作仅仅是草案,同样也要用说明详细描述。分析的目的是使企业的工作人员对要建立的系统有更好的了解,而不是要设计一个完整详细的仓库管理系统的设计方案。
用时序图建模时,需要窗口或对话框作为角色的接口。显然,这里需要窗口的有盘口、出库、入库、退仓出库和退货入库等,此外维护也需要一个窗口。当然,这里还没有定义详细的用户界面。用户界面所包含的内容也仅仅是一个草案。详细的用户界面,将在设计阶段对其进行定义。
2.3.3 仓库管理系统的设计
在设计阶段,首先要设计类的状态图。在本系统中,有状态图的类有货物信息(HuoWuXinXi)和仓库信息(CangKuXinXi)
货物信息(HuoWuXinXi)的状态图如图2-6所示。
图2-6 货物信息状态图
设计阶段的最后是设计UML模型,也就是将前面设计的模型进行扩展和细化,这里主要考虑技术问题和限制。设计的目的是产生一个可以使用的解决方案,并且可以比较容易地将方案转换成程序代码。
出库的时序如图2-7所示
2-7 出库的时序图
入库的时序如图2-8所示
2-8 入库的时序图
时序图设计完成后,开始进行仓库管理系统的架构设计和细节设计。在架构设计中,将定义包(子系统),包间的相关性和基本的通信机制。当然,要得到清晰简单的架构,架构中的相关性要尽可能的少。枯详细设计中,就将包的内容细化,尽可能详细的描述每一个类,使的编程人员根据它们很容易编码。
设计架构时,应该将技术逻辑和技术逻辑分割。应用逻辑是需要编码设计的,而技术逻辑,主要包含用户接口,数据库或者通信一般是已经有的。仓库管理系统中的包主要包括应用接口包、业务对象包、数据库包和应用包。用户接口包为通用用户接口类,调用业务包中的操作检索和插入数据。可以简单把它们看成将来用户要操作的界面。业务对象包包含上面设计的分析模型的域类。业务对象包同数据包协同完成任务。数据库包向业务数据包提供服务。应用包向其他包提供服务。
至此,UML系统建模完成。
第3章 系统配置
好的仓库管理系统必然有一个性价比最优的系统配置方案。系统配置要根据仓库管理系统用户的实际情况设计,主要依据就是系统的吞吐量和系统对稳定性的要求,此外,用户的维护水平也是一个重要的方面。
3.1 软件配置
软件配置主要包括数据库的选择的操作系统的选择。仓库管理系统的软件配置要根据用户对系统稳定性的要求、系统的容量以及用户的维护水平来确定。
(1)操作系统选择
可以根据仓库管理系统用户量的大小选择不同的操作系统。当然,一般情况下,用户对微软Windows界面比较熟悉,因此,建议客户端都使用Windows 2000,Windows XP操作系统。服务器端的选择如表3-1
表3-1 仓库管理系统操作系统的选择
用户
每秒数据库并发数据访问记录数据
稳定性要求
维护水平
备选操作系统
面积在50~200M2
小型仓库
10~50
低
差
Windows 2000 Professional,
Windows XP
面积在200~1000M2
中型仓库
50~500
中
一般
Windows NT,
Windows 2000 Server,
Windows Server 2003
面积在1000~5000M2
大型仓库
500~200
较高
较好
Windows NT,
Windows 2000 Server,
Windows Server 2003,Linux,UNIX
有多个面积在200~1000M2
的仓库群
500~2000
较高
较好
UNIX
总面积在5000M2以上的大型仓库
2000以上
高
好
UNIX
(2)数据库选择
可以根据数据量的大小选择不同的数据库,如表3-2
表3-2仓库管理系统数据库的选择
用户
数据量(记录数)
稳定性要求
维护水平
备选操作系统
面积在50~200M2
小型仓库
10~50
低
差
Access,FoxPro
面积在200~1000M2
中型仓库
50~500
中
一般
Access,FoxPro
面积在1000~5000M2
大型仓库
500~200
较高
较好
SQL Server
有多个面积在200~1000M2
的仓库群
500~2000
较高
较好
SQL Server,
Oracle
总面积在5000M2以上的大型仓库
2000以上
高
好
Oracle
当然,这种选择并不是绝对的。有时,一个仓库尽管面积不多,但是业务种类繁多,要求数据库的吞吐量和稳定性较高,这就需要选择更好的数据库。也有些情况,由于建设经费的限制,只能选择较为便宜的数据库,这要根据用户的需要而定。数据库的选择还要考虑与操作系统的配合。
本系统选择SQL Server 2000
3.2 硬件配置
硬件配置主要包括客户端硬件的选择的服务器端硬件的选择。由于现在的硬件水平已经相当高了,所以基本上都可以满足要求。
表3-3 仓库管理系统硬件选择
用户
稳定性要求
备选客户端
管理人员
低
Intel Celeron D/512MB/80G
前台出入库
中
Intel Pentium D/1G/160G
当然,这种配置不是绝对的,只是给出一个参考范围,因为现在电脑硬件配置都比较高!
第4章 数据库设计
数据库设计的目标是要求完全满足业务的数据存储要求。如果能够设计一个合理的数据库模型,不仅会降低程序编程和维护的难度,也会提高系统实际运行的性能,因而必须仔细的制定设计步骤方案,了解规范的设计方法和必要的规则。
数据库设计的目标是要求完全满足业务的数据存储要求。如果能够设计一个合理的数据库模型,不仅会降低程序编程和维护的难度,也会提高系统实际运行的性能,因而必须仔细的制定设计步骤方案,了解规范的设计方法和必要的规则。
4.1 数据库设计原则
在数据库的设计中,首先要注意命名的规范,其次就是要注意数据的一致性和完整性,尽可能的降低数据的冗余,当然如果数据冗余度低,数据的完整性容易得到保证,但增加了表间连接查询的操作,所以合理的数据冗余也是必要的。可使用规则和约束来对数据的有效性验证。另外可以创建索引,来维护被索引列的唯一性和提供快速访问表中数据的策略。
4.2 概念结构设计
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体与实体之间的联系,同时又易于向关系、网状、层次等数据模型转换,它是现实世界的一个真实模型,当现实世界需求改变时,概念结构也可以很容易地作相应调整,因此概念结构设计是整个数据库设计的关键所在。
概念结构通常有自顶向下、自底向上、逐步扩张、混合策略四类方法。通常采用的策略是自底向上方法,即自顶向下进行需求分析,然后再自底向上地设计概念结构。但无论采用哪种设计方法,一般都以E-R模型为工具来描述概念结构。
对仓库管理系统的E-R图分析是建立在UML系统模型的基础上的这里给出E-R图分析的结果。实体关系图的分析结果非常复杂。一般情况下使用从繁到简的方式进行设计。首先从大的方面设计出各个实体之间的关系,并设计出关系简图。如图4-1所示
图4-1 实体关系简图
有了数据库模型,数据库的设计就简单多了。在仓库管理系统中首先要创建系统数据库,然后在创建需要的表和字段。
4.3 创建数据库
本系统中以SQL Server 2000为基础,可以利用PowerBuilder的数据库画笔创建数据库,也可以使用SQL Server 2000自带的数据库工具创建数据库。这里使用SQL Server 2000自带的数据库工具创建数据库。
创建数据库的SQL语句代码如下所示:
CREATE DATABASE KCGL
ON
(NAME=KCGL_dat,
FILENAME=’c: \Program Files\Microsoft SQL Server\MSSQL\DataKCGL_dat.ldf,
SIZE=10,
MAXSIZE=50,
FILEGROWTH=5)
LOG ON
(NAME=’KCGL_log’,
FILENAME=’c: \Program Files\Microsoft SQL Server\MSSQL\DataKCGL_log.ldf,
SIZE=5MB,
MAXSIZE=25MB,
FILEGROWTH=5MB)
4.4 创建表
创建KCGL数据库后,再在该数据库中创建数据表和字段。可以在PowerBuilder的数据库画笔的新建数据库窗口完成。
创建数据表的SQL语句如下:
CREATE TABLE [业务员信息] (
[业务员代码] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[业务员姓名] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[性别] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[部门] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[职位] [char] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[入职日期] [smalldatetime] NULL ,
[离职日期] [smalldatetime] NULL ,
[联系电话] [char] (13) COLLATE Chinese_PRC_CI_AS NULL ,
[家庭住址] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[手机] [char] (11) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_业务员信息] PRIMARY KEY CLUSTERED
(
[业务员代码]
) ON [PRIMARY]
CREATE TABLE [产品信息_产品编号表] (
[产品编号] [char] (6) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[产品型号] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[别名] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[半成品单重] [decimal](18, 3) NULL ,
[成品单重] [decimal](18, 3) NULL ,
CONSTRAINT [PK_产品信息] PRIMARY KEY CLUSTERED
(
[产品编号]
) ON [PRIMARY]
CREATE TABLE [产品信息_按名称编号] (
[序号] [int] IDENTITY (1, 1) NOT NULL ,
[中文名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[英文名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[产品编号] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[各类合计] [int] NULL ,
CONSTRAINT [PK_产品信息_按名称编号] PRIMARY KEY CLUSTERED
(
[序号]
) ON [PRIMARY]
CREATE TABLE [产品属性] (
[代码] [char] (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[产品属性] [nvarchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_产品属性] PRIMARY KEY CLUSTERED
(
[代码]
) ON [PRIMARY]
CREATE TABLE [仓库信息] (
[仓库代码] [char] (3) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[仓库名称] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[仓库属性] [char] (6) COLLATE Chinese_PRC_CI_AS NULL ,
[仓库地址] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[负责人] [nvarchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[分机电话] [char] (4) COLLATE Chinese_PRC_CI_AS NULL ,
[手机] [char] (11) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_仓库信息] PRIMARY KEY CLUSTERED
(
[仓库代码]
) ON [PRIMARY]
CREATE TABLE [入库单] (
[单据号] [int] IDENTITY (1, 1) NOT NULL ,
[日期] [smalldatetime] NULL ,
[进货单位] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[铸件号] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[产品型号] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[颜色] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[材质] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[商标] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[产品属性] [nvarchar] (8) COLLATE Chinese_PRC_CI_AS NULL ,
[入库数] [int] NULL ,
[单重] [decimal](18, 3) NULL ,
[总重] [decimal](18, 3) NULL ,
[货箱编号] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[保管员] [char] (8) COLLATE Chinese_PRC_CI_AS NULL ,
CONSTRAINT [PK_入库单] PRIMARY KEY CLUSTERED
(
[单据号]
) ON [PRIMARY]
CREATE TABLE [内销订单] (
[序号] [int] IDENTITY (1, 1) NOT NULL ,
[发货通知单] [nvarchar] (13) COLLATE Chinese_PRC_CI_AS NULL ,
[收货单位] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[产品型号] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[名称] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[材质] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[颜色] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[商标] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
[单位] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
[通知数] [int] NULL ,
[实发数] [int] NULL ,
[包装物] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[下
展开阅读全文