摘 要:本文通过解决中海40 000 DWT成品油船11#船的生产文件信息进行数据库管理转化过程中发现的问题,进一步探讨车间生产信息化管理的基础工作。
关键词:信息化管理 数字造船 托盘表 E-R模型 主键 参照完整性
根据关系数据库理论,在SQL SERVER2000中一共构建了以下14张表:
⑴ 托盘项目表,主键:托盘编号,唯一索引:项目编号
项目编号 | 托盘编号 | 托盘名称 |
⑵ 托盘物资表,主键:托盘编号+物资编号
托盘编号 | 物资编号 | 数量 |
⑶ 托盘工时表,主键:托盘编号
托盘编号 | 装配工时 | 钣金工时 | 绝缘工时 | 木工工时 | 钳工工时 | 电焊工时 | 批磨工时 | 泥水工时 | 帆缆工时 | 管工工时 | 风焊工时 | 起重工时 |
⑷ 托盘文件表,主键:托盘编号+文件号
托盘编号 | 文件号 |
⑸ 项目工程表,主键:工号
工号 | 系列名 | 船型 | 船名 | 船东名 | 入级 | 开工 | 上船台 | 下水 | 倾斜 | 试航 | 交船 |
⑹ 物资表,主键:物资编号
物资编号 | 物资名称 | 型号 | 规格 | 材质 | 单位 | 单重 |
⑺职员表,主键:员工工号
工号 | 姓名 | 性别 | 出生年月 | 籍贯 | 身份证号 | 联系方式 | 住址 | 合同期 | 职称 | 部门号 | 职位 |
⑻部门编码表,主键:部门编码
部门编码 | 部门名称 |
⑼工艺文件表,主键:工号+图号
跟踪号 | 文件号 | 图名 | 数量 |
⑽设计课代码表,主键:设计课代码
设计课代码 | 设计课代码涵义 |
⑾施工课代码表,主键:施工课代码
施工课代码 | 施工课代码涵义 |
⑿托盘类型代码,主键:托盘类型代码
托盘类型代码 | 托盘类型代码涵义 |
⒀安装阶段代码表,主键:安装阶段代码
安装阶段代码 | 安装阶段涵义 |
⒁安装区域代码表,主键:安装区域代码
安装区域代码 | 安装区域涵义 |
上述14张表,只是与一条船为参考对象,任何一个船厂都是几条甚至几十条船同时建造,考虑到不同船的托盘项目,托盘工时,托盘物资,区域代码的不同,我们将表的管理这样进行。如果表中的数据和船舶产品没有关系我们就将它归入综合数据库,例如:安装阶段代码表,托盘类型代码表,施工课代码表,设计课代码表。不同的船具有不同的数据的表我们将它放入产品数据库中,以船舶的工程号作为数据库名,例如:安装区域代码表,工艺文件代码表,托盘工时表,托盘文件表,托盘物资表,托盘项目表,物资表。 在本文中增加了一些表,主要是考虑到以后程序的适应性。因为为适应现代造船模式,我们厂目前组织机构变化比较大,涉及相应的一些代码需要扩展,比如设计部门代码,这几年增加了军品综放,军品机电,民品综放,民品技术课等等,又例如施工课代码,也增加了一部调试课,二部机电课,二部船体课,二部船装课等等,如果在程序中将这些内容固化了,就不利于扩展。
我们可以看到,一些表之间存在一些同样的字段,通过数据库表的之间联系,可以保证他们信息的一致性和完整性。以一个产品的数据库表为例见图1。
图1 产品数据联系表 说明:"托盘工时"的托盘编号是"托盘项目"的外键,也就是说"托盘工时"的托盘编号必须是"托盘项目"中的托盘编号,不存在有托盘编号在"托盘工时"中有而在"托盘项目"中没有,但是可以存在在"托盘项目"中有的托盘编号,而在"托盘工时"中没有。同样"托盘物资"中的托盘编号是"托盘项目"的外键,物资编号是"物资表"的外键,"托盘文件"的托盘编号是"托盘项目"的外键,文件编号是"工艺文件"的外键。同样还有一些具体表的约束来保证数据的完整性,比如:托盘编号的首字母必须是托盘类型中的托盘代码,分段名必须是安装区域的区域名,项目编号的首字母必须是设计课代码表中的设计课代码,第三位必须是施工课代码表中的施工课代码等等。
通过上面的方法,我们可以建立14张表,以中海40 000 DWT成品油船11#为例,我们将生产文件信息转化为数据库,发现存在一些问题,如果需要利用数据库将生产信息管理起来,我认为必须将这些问题解决。我们在转化过程中也提出了一些解决的方案,现将它们归纳起来一同探讨,以求更好的方案。
⑴ 第一类属于人工输入的时候造成的。由于生产工艺文件有些内容,尤其是漏项的部分,是通过人工手写输入,造成很多数据库表的主键错误。比如:内装第九本托盘的第52项(3TA9-052)的托盘编号和内装第二本托盘的87项(3TA2-087)托盘编号完全一样,同样问题存在3TA9-053和3TA1-033;这类问题可以通过按照托盘编码规则将其中一个修改即可。
⑵ 空托盘的问题。存在很多项目,设计部门没有给出托盘编号,这个属于在文件管理状态下允许的现象,但是在数据库状态,托盘编号不能为空,必须给空托盘安排一个托盘编号。
⑶ 风管托盘问题。这是个比较普遍的问题。这里面又存在以下的现象:
① 风管的附件安装没有项目编号,也没有托盘编号,这些信息无法存入到数据库表中。根据《现代造船工程》一书中关于风管托盘的编码规则,方形,螺旋风管的安装和附件安装在第九位是要加以区分的,具体如下:0代表方形风管及附件一起安装,2代表方形风管和附件分开安装,4代表螺旋风管及附件一起安装,5代表螺旋风管及附件分开安装,6代表螺旋风管贯通安装。依据这个规则我们可以解决风管附件安装托盘编号的编排问题,至于项目编号只能按照序号累计即可。
② 风管的完整件清单,主要是指方形风管的制作和螺旋风管的下料。在生产文件同一分段的风管安装和风管制作采用了同样的项目编号和托盘编号。同样,在第九位的风管类型代码中我们可以看到,7代表螺旋风管的下料,9代表方形风管的制作。我们也按照这个过则解决风管制作的托盘编号的编排问题。至于项目编号,我们将风管完整件清单认为是自制件清单的一种,我们自行定义一种项目编码的编排规则,将项目编号的连字符变为"F"代表自制件托盘。比如3TA1-001变为3TA1F001,位数不变化。
③ 风管的附件制作问题,主要是方形风管的法兰和吊码制作。我们就把风管法兰制作和吊码制作各编一个托盘,托盘内的物资就是对应的材料。项目编号和托盘编号的编排见表1。
表1 项目编号和托盘编号表
项目编号 | 托盘编号 | 托盘名称 | 钣工工时 | 电焊工时 |
2CA1F020 | C2A----91 | 方形风管吊架制作 | 198 | 46 |
3CA2F010 | C3A----92 | 方形风管法兰制作 | 562 | 79 |
⑷ 项目编号出现重复的现象。经常性出现管子托盘的项目编号,风管的项目编号和铁舾安装托盘的项目编号重复的现象。根据罗广基先生关于风管和管子的托盘编码规则中,应该风管的托盘应该以"C"打头,管子的托盘是以"P"开头。所以我们就将风管,管子的项目编号和托盘编号更改如下:
3TA1-001 T3A3A1S-08—> 3CA1-001 C3A3A1S-08
3TA1-002 T3A3A1S—9—>3PA1-001 P3A3A1S—9
这样就可以解决项目编号重复的事情。
⑸ 是项目编号中的字母意义和施工课不一致的现象。电装设计课的5TE2-035 磁罗经木垫的安装应该属于万达施工,项目编码第三位应该是施工课代码,所以正确的项目编码是:5TA2-035;
⑹ 关于物资编码的问题出现同一个物资编码,对应的物资名称和型号不一样。3EG2-103 有时叫做计算机台,有时叫电脑桌,3EG2-091一时叫角几一时叫打字台。3EG41-034防火门一时尺寸是1800*750,一时被手改称1800*700。这个问题目前只能是发现一个就修改一个,希望以后的船中不再出现类似的问题。
通过以上的方案,基本能够将生产的信息利用关系数据库软件管理起来。通过编写客户端的程序,调用这些后台的数据库的数据,将生产工作信息化起来。以上只是一些浅陋的想法,不足之处还请指正。
(收稿日期:2008-04-16)