LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【点晴模切ERP】金蝶、用友、SAP的8款ERP数据对象对比分析(表,触发器,存储过程,函数和视图)


2024年6月27日 9:14 本文热度 1119
ERP有前台也有后台,前台有各种菜单,后台有各种数据对象。
数据对象主要有:表,触发器,存储过程,函数和视图。
表的数量基本跟ERP的菜单和功能的数量成正比,而其他数据对象各有各的功能。
下面将金蝶、用友、SAP的8款 ERP DEMO数据库,整理了一下,做了这张图。
8款ERP分别是 SAP ECC6、金蝶云星空、用友U9C、用友U8、金蝶K3、金蝶KIS旗舰、用友T+、金蝶KIS商贸。
从上图可以看出,SAP ECC6 表的数量高达6.8万张,跟其他完全不是一个数量级,这个数字确实能说明 SAP 的功能之多,另外我也在后台统计了一下 SAP 的事务代码,数量有超过73万个。
除SAP遥遥领先外,表的数量多少,依次分别是云星空>U9C>U8>K3> KIS旗舰版>T+>KIS商贸。
当然不同的ERP,因为是否支持 多组织,多账簿,多语言 等先天架构的不同,表的绝对数量多少不一定代表模块和功能更多。
如果单组织的软件,表数量和多组织的软件表数量差不多或者接近,那往往说明单组织的模块和菜单会更多,比如 U8 和 U9C。

下面我们来看 触发器:

U8,K3 和KIS旗舰版 触发器数量相当,SAP、云星空 ,U9C和T+ 则几乎没有触发器。
这种情况是由于不同的ERP系统架构和设计理念导致的。一些ERP系统可能更倾向于在数据库层面使用触发器来实现业务逻辑或者数据约束,因此会有较多的触发器。而其他系统可能采用不同的技术(比如通过微服务在程序端处理)或者设计模式来实现相同的功能,因此触发器的数量相对较少。
那么他们可以做触发器吗?答案是可以。 比如 T+ 或者云星空 ,如果希望内外网访问时,自动适配不同的权限,可以通过增加触发器来实现。
触发器是数据库管理系统中的一种特殊类型的存储过程,它们会在特定的数据库事件发生时自动执行相应的操作。触发器通常用于实现以下功能:
1. 数据约束:触发器可以用于在数据插入、更新或删除时执行一些额外的检查或操作,以确保数据的完整性和一致性。例如,可以使用触发器来检查某些条件是否满足,然后决定是否允许进行数据的修改操作。
2. 数据审计:触发器可以用于记录数据库中的操作,例如在数据被修改时自动记录修改前后的数值或者记录修改操作的时间和执行者等信息,用于数据审计和追溯。
3. 业务逻辑实现:触发器可以用于执行一些与业务逻辑相关的操作,例如在某个表的数据发生变化时,自动触发其他相关表的更新或者通知其他系统进行相关操作。
4. 数据复制和同步:在一些数据库复制和同步的场景中,触发器可以用于在一个数据库中的数据发生变化时,自动触发另一个数据库的相应操作,以实现数据的同步和复制。
总之,触发器在数据库管理系统中扮演着重要的角色,能够帮助实现数据约束、数据审计、业务逻辑实现以及数据复制和同步等功能。
其中数据约束比如,可以实现缺料不允许下达任务单,销售订单不同的利润系数控制需要由不同的人员去审核,数量和单价不允许改大等等,凡是能够定出逻辑,取到数据的,通过触发器都能实现控制。
数据审计,比如 K3 标准功能是没有BOM的修改记录的,但是通过触发器可以实现改前改后的数据完整记录,然后通过报表来显示变更的记录。
业务逻辑实现,比如自定义开发的单据,审核时自动更新其它的基础资料(模具出入库审核后,更新模具档案的状态和地址等)。
数据的复制和同步,这个在不同的系统中进行集成或者相同系统不同账套之间数据抛转会经常用到。

下面我们来看 存储过程

从上图可以看出,U8,U9C 大量用了存储过程,分别达到了4500和2600个,所以后台跟踪这两个系统的逻辑时,经常会遇到 存储过程层层嵌套 ,逻辑会比较复杂。
K3 和KIS旗舰版 存储过程1000多,相对比较少,因为通常一个 事务 一个存储过程搞定,跟踪起来 逻辑比较容易 理顺一些。
存储过程是一组预编译的SQL语句和逻辑操作,可以在数据库中保存并重复使用。存储过程的作用包括:
1. 提高性能:存储过程可以在数据库服务器上执行,减少了网络传输和服务器端的解释和执行时间,从而提高了性能。
2. 简化复杂操作:存储过程可以包含复杂的业务逻辑和数据操作,可以简化客户端应用程序的代码和逻辑。
3. 维护数据完整性:存储过程可以用于实现数据的验证和完整性约束,确保数据的一致性和正确性。
4. 安全性控制:存储过程可以对数据库的访问进行控制和限制,提高了数据的安全性。
5. 重用性:存储过程可以在多个应用程序中重复使用,提高了代码的重用性和可维护性。
6. 事务管理:存储过程可以包含事务管理的逻辑,确保数据库操作的原子性、一致性和隔离性。
总之,存储过程可以提高数据库操作的效率、简化业务逻辑、提高数据安全性,是数据库开发中非常重要的一部分。
我本人就经常用存储过程来写报表和实现一些比较复杂的逻辑,当然存储过程也可以跟触发器联合使用,来实时实现某些功能,或者跟数据库job联用,来实现定时执行某些功能。
比如下图的30天缺料表:

下面我们来看 函数

除了U8和U9用了200多的函数,其余都很少用函数,为什么?
我想主要是因为函数只有一个返回值,如果大批量执行时,性能比较差,所以通常能用存储过程来实现的,就不会去用函数。
函数是一段可重复使用的代码,用于执行特定的任务并返回一个值。在数据库中,函数通常用于执行特定的计算、数据转换或逻辑操作。函数的作用包括:
1. 数据处理:函数可以用于执行各种数据处理操作,例如数学计算、字符串处理、日期处理等。
2. 逻辑判断:函数可以包含逻辑判断的操作,根据输入参数的不同返回不同的结果。
3. 数据转换:函数可以用于执行数据类型转换或格式化,将数据转换成特定的格式或类型。
4. 重用性:函数可以在不同的查询或程序中重复使用,提高了代码的重用性和可维护性。
5. 简化复杂操作:通过函数,可以将复杂的逻辑和计算封装起来,简化了用户或应用程序的操作。
6. 提高性能:函数可以在数据库服务器端执行,减少了数据传输和服务器端解释执行的时间,从而提高了性能。
总之,函数是数据库中非常重要的一部分,它可以用于执行各种数据处理、逻辑判断和数据转换操作,提高了代码的重用性和可维护性。
我用函数常见的场景是 单个物料可用库存计算,助记码生成,字符串拼接和拆分等等。

下面我们来看 视图

SAP 和U8 都大量使用了视图,数量分别达到9000多和4000多,云星空,K3 和KIS旗舰版 都是几百个。
U8 之所以这么多视图,是因为有很多的嵌套,经常一个视图套着另外好几个视图,比如表头和表体分别做了视图,然后合起来又做了一个或多个视图。
视图是数据库中的虚拟表,它是基于一个或多个实际表的查询结果集。视图的作用包括:
1. 数据安全性:视图可以隐藏底层表的细节,只暴露给用户或应用程序需要的数据,从而提高了数据的安全性。
2. 简化复杂查询:通过视图,可以将复杂的查询逻辑封装在视图中,简化了用户或应用程序对数据的访问和操作。
3. 数据独立性:视图可以提供逻辑上的数据独立性,当底层表结构发生变化时,只需修改视图而不影响用户或应用程序的访问。
4. 重用性:视图可以被多个用户或应用程序共享和重复使用,提高了代码的重用性和可维护性。
5. 简化权限管理:通过视图,可以对用户或应用程序的访问权限进行更精细的控制,从而简化了权限管理的工作。
总之,视图是数据库中非常重要的一部分,它可以提高数据的安全性、简化查询操作、提高数据独立性和重用性,是数据库开发中常用的技术手段。
比如K3的物料会有很多不同的页签,每个页签都在不同的表里,然后会有一个总的物料视图,把各种表联合起来,这样查询时直接查询物料视图t_icitem即可,会比较方便,不需要每次都去10多个表里分别查询。

总结:其实ERP的各种数据对象、函数、触发器和存储过程,如果用得好,各种ERP都还有大量的深入应用空间,可以通过它们把各级管理人才的经验与系统结合,优化流程,提高效率,减少浪费 。



点晴模切ERP更多信息:http://moqie.clicksun.cn,联系电话:4001861886

该文章在 2024/6/27 9:46:50 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved