BOM关系型数据库的设计,关系型数据库有哪些

关系 8
2007年9月第21卷 第3期 南昌航空大学学报(自然科学版)JournalofNanchangHangkongUniversity(NaturalScience) Sep.,2007Vol.21 No.3 BOM关系型数据库的设计 周卫民,彭巧珍 (南昌航空大学,江西南昌 330063) [关键词] 企业资源计划;物料清单;数据库;算法[摘 要] 分析了在企业资源计划环境下物料清单的功能、特点以及应用环节,对企业资源计划中的物料清单进行了探讨,给出一种物料清单的设计。
并为BOM设计出了一个合理的数据库系统和高效的搜寻算法。
[中图分类号] TP392   [文献标识码] 
A   [文章编号]1001-4926(2007)03-0092-04 DesignofBOM-relationDatabase ZHOUWei-min,PENGQiao-zhen(NanchangHangkongUniversity,Nanchang,Jiangxi 330063,China) Keywords:enterpriseresourceplanning;billofmaterials;Database;algorithmAbstract:Thefunctions,characteristicsandapplicationsofBOMundertheERPsystemareanalyzedinthispaper.TheBOMinERPisdiscussedindetailandadesignofBOMisgiven.AreasonabledatabasesystemandanefficientsearchingalgorithmaredesignedforBOM. 随着计算机应用的不断深入,相当数量的大型生产企业已将企业资源计划(ERP:EnterpriseResourcePlanning)管理系统应用到企业管理中。
物料清单(BOM:BillofMaterial)是企业资源计划管理系统的核心部分,ERP中生产计划和采购计划的制定都是以BOM为基础进行的,为了提高效率,为BOM设计一个合理的数据库系统和高效的算法是非常重要的[1]。
物料清单(BOM),又称为产品结构表或产品结构树。
在某些工业领域,可能称为“配方”、“要素表”或其它名称。
在ERP系统中,物料一词有着广泛的含义,它是所有产品、半成品、在制品、原材料、配套件、协作件、易耗品等等与生产有关的物料的统称。
BOM作用于计算机识别物料、接受客户定单、编制计划、配套(装配)和领料、加工过程跟踪、采购和外协、成本计算、报价参考、物料追溯、改进产品设计等等。
BOM资料的基本资料建立直接联系的下个环节就是业务系统。
BOM资料的详尽为业务系统提供了有力的基本资料查询,它是订单数据输入的基本前提。

1 BOM在关系数据库上的实现 关系型数据库采取二维表的形式来存储数据,经简化的树状结构在关系型数据库中仍然不能直接表达。
如何将层状结构转变成一种有效的关系型数据库的表状结构,是数据库设计的核心。
数据表的设计不仅决定BOM数据的一致性和完整性,而且直接影响产品结构树分解速度的快慢。
如果设计不合理,它将成为系统的瓶颈。
企业产品的结构信息通常采用多层树型结构形式记录,如表1所示,因为这种记录形式体现了产品各个组成部分的装配关系,具有易于维护、修改简单、冗余较小的优点。
图1使用了树型结构将BOM中某种产品的所有构成部件按层次关系显示出来,圆框上面的数字表示数量关系。
其中A为树的根,
B、C和P1称为A的孩子,A为
B、C和P1的双亲,
B、C与P1互为兄弟,P2的祖先为A和
B,P1、P2、P3、P4、P5和P6为叶子节点。
图1的BOM结构分为4层,但理论上BOM的层数并不固定,也没有层数限制,以标准件STAND1为例, [收稿日期] 2007-05-18[作者简介] 周卫民(1963-),男,江西上饶人,计算机学院副教授,硕士,主要从事计算机应用及控制方面的研究。
第3期 周卫民、彭巧珍:BOM关系型数据库的设计 93 如图2所示。

1 BOM的数据结构 当前节点 父节点 节点类型 用量
A 2
1 B
A 1
1 C
A 1
1 P1
A 0
3 P2
B 0
5 P3
B 0
5 P3
C 0
6 P4
C 0
6 D
C 1
1 P6
D 0
4 P5
D 0
4
:节点类型=0表示该节点为叶子节点;节点类型=1表示该节点为中间节点还拥有子节点;节点类型=2表示该节点为根节点。
  层次遍历法 层次遍历法首先访问处于BOM树0层上的根结点,然后从左到右依次访问处于1层上的结点,处于2层上的结点……,等等,即从上到下从左到右逐层访问BOM树各层上的结点。
在对BOM树的层次遍历法中,采用队列来存放各个结点的BOM分类号,当一层的物料访问完后,其所有的下层物料均顺序入队,如此逐层访问,则可以实现对BOM树的遍历,在层次遍历算法中引入的是队列,队列的一大特点就是数据的先进先出,这种算法可以充分利用数据库集合操作的特点,运行效率较高。
其流程如图3所示。
通常所用到的递归算法是逐条遍历产品结构树的每一条边,每一次遍历都以最终产品为起点,沿一条边迭代至底层的叶节点,这种方法在思路上有直观的一面,但算法效率较低,并且随着BOM层次的增加计算工作量会急剧增加,因此笔者针对项目实施企业BOM层次较多的特点,提出分层遍历算法。
分层遍历原理就是从需要查找的物料的最上层开始,一层一层往下找,直到找到所有的分支的叶节点为止。
一般而言,分层遍历理论上可减少1/3的计算量[3]。

2 数据库物理设计阶段 物理设计旨在为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法。
确定数据库的物理结构,对物理结构进行评价,评价的重点是时间和空间效率。
确定数据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。
这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡选择一个折中方案。
94 南昌航空大学学报(自然科学版) 图
3 层次遍历法实现BOM遍历流程图 许多关系型DBMS都提供了聚簇功能,即为了提高某个属性(或属性组)的查询速度,把在这个或这些属性上有相同值的元组集中存放在一个物理块中,如果存放不下,可以存放到预留的空白区或链接多个物理块。
以ORACLE数据库为例:创建参数文件参数文件一般是一个init.ora文件,存放在$ORACLE_HOME/dbs/下。
Oracle有一个sample例子,可以编辑里面的参数,例子里的参数都有详细说明,其中必须指定的有[4]: DB_NAME,CONTROL_FILE,INIT_SQL_FILES;LOG_ARCHIVE_DEST,LOG_ARCHIVE_FORMAT,USER_DUMP_DEST,BACKGROUND_DUMP_DEST.决定一个唯一的例程名称,使用适当的系统操作命令设置Oracle例程名Unix$ORACLE_SID=sidname启动例程到NOMOUNT状态,调用SQL3DBA,以internal连结Oracle,$sqldbalmode=ySQLDBA>connectinternalconnected
(1)创建数据库启动例程并创建数据库 SQLDBA>startupnomountSQLDBA>createdatabasetest2>datafile’system.dbs’size10M3>logfile’/u01/oracle/testdb/log1.rdo’size500K,4>logfile’/u02/oracle/testdb/logl2.rdo’size500K;
(2)创建数据字典执行一系列的SQL脚本SQLDBA>@?
/rdbms/admin/catalog  ———创建常用的数据字典 第3期 周卫民、彭巧珍:BOM关系型数据库的设计 95 SQLDBA>@?
/rdbms/admin/expview.sql  ———创建用于运行export和import工具所需的试图等其他sql脚本必要时,增加另外的Redolog文件和control文件
(3)创建表空间SQLDBA>createtablespaceclassdatafile’/u01/ORACLE/testdb/class01.dbfsize300M;SQLDBA>createtablespaceclassinxdatafile’/u01/ORACLE/testdb/classinx1.dbfsize200M;SQLDBA>createtablespacerbsdatafile’/u01/ORACLE/testdb/rbs01.dbfsize100M;SQLDBA>createtablespacetempdatafile’/u01/ORACLE/testdb/class01.dbfsize100M;
3 结束语 通过对ERP环境下BOM的应用和实践分析,进一步研究了BOM的关键理论和方法,ERP的开发与实施具有很强的行业特殊性,分析一个行业的产品结构是ERP系统中极其重要的部分。
本设计方案在广东省某ERP示范项目中已采用,并取得了良好的效果。
[参考文献] [1] 罗鸿,王忠明.ERP原理设计实施(第二版)[M].北京:电子工业出版社,2003.[2] 严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,1997.[3] 张学宏,武韬,胡林平。
BOM的产品层次结构自动生成算法[J].航空计算技术,1998,28
(3)[4] Donald.Oralce8iforntdba[M].北方交通出版社,2002.06[5] 王行言.Oralce数据库应用开发基础[M].清华大学出版社,2003年1月[6] JorinaChoy.SAPracesOracleinERPdeployment.AsiaComputerWeekly[J].Singapore,Mar7,2005.p1. (上接第91页)在150-300℃时,稀土元素Y的线膨胀系数比铜小,铜合金中加入微量的稀土可降低其线膨胀系数,这对于在高温下工作并对尺寸稳定性有严格要求的零件来说是十分有益的。
钇基重稀土中包含的其它元素可能会影响Be-Cu合金的线膨胀系数,因此当稀土加入量超过一定值时,Be-Cu合金的线膨胀系数反而增加。

3 结论
(1)Be-Cu合金经过微量CU-1型钇基重稀土的微合金化处理后,其显微硬度、耐磨性能和耐腐蚀性能均有不同程度的提高,而热膨胀系数有所降低。

(2)随着CU-1型稀土加入量的增加,Be-Cu合金的显微硬度逐渐提高,而其磨损量和平均腐蚀速率都逐渐降低,热膨胀系数先降低后增加。
[参考文献] [1] 章爱生,严明明,杨青.钇基重稀土对AlSi7Mg0.3合金组织和性能的影响[J].热加工工艺,2005,
(2):47-48[2] 罗军明,傅青峰,万润根,等.钇基重稀土对4CrSMoSiV1钢性能的影响[J].热加工工艺,2004,
(6):1-2[3] 陆德平,张友亮.钇基重稀土对Cr12MoV钢耐磨性和热处理变形的影响[J].热加工工艺,2001,
(5):59-60[4] 肖永华,李凤春,杨才良.钇基重稀土变质处理对高铬铸铁冲击韧度的影响[J].工程物理研究院科技年报,2003,
(1):485-486[5] 刘刚强,陈乐平,艾云龙.稀土元素钇对ZM5合金组织的影响[J].铸造技术,2005,26
(6):503-507[6] 刘国明,张萌,付绍云.微量稀土La和Y在铜中的分布及对电导性的影响[J].南昌大学学报(理科版),2005,29
(1):50-54

标签: #cpu #网页制作 #好玩 #通配符 #主要功能 #网页 #西安 #品牌