erp数据库设计(大型ERP等数据库系统常见几种设计)
大家好,今天给各位分享erp数据库设计的一些知识,其中也会对大型ERP等数据库系统常见几种设计进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
大型ERP等数据库系统常见几种设计
早期的数据库系统,经常采用某种编号,比如身份证号码,公司编号等等作为数据库表的 primary key。然而,很快,大家就发现其中的不利之处。比如早期的医院管理系统,用身份证号码作为病人表的 primary key。然而,第一,不是每个人都有身份证;第二,对于国外来的病人,不同国家的病人的证件号码并不见得没有重复。因此,用身份证号码作为病人表的 primary key是一个非常糟糕的设计。考虑到没有医生或者护士会刻意去记这些号码,使用自增长 primary key是更好的设计。公司编号采用某种特定的编码方法,这也是早期的数据库系统常见的做法。它的缺点也显而易见:很容易出现像千年虫的软件问题,因为当初设计数据库表的时候设计的位数太短,导致系统使用几年后不能满足要求,只有修改程序才能继续使用。问题在于,任何人设计系统的时候,在预计某某编号多少位可以够用的时候,都存在预计不准的风险。而采用自增长 primary key则不存在这种问题。同样的道理,没有人可以去记这些号码。使用自增长 primary key另外一个原因是性能问题。略有编程常识的人都知道,数字大小比较比字符串大小比较要快得多。使用自增长 primary key可以大大地提高数据查找速度。 2.避免用复合主键(compound primary key)这主要还是因为性能问题。数据检索是要用到大量的 primary key值比较,只比较一个字段比比较多个字段快很多。使用单个 primary key从编程的角度也很有好处, sql语句中 where条件可以写更少的代码,这意味着出错的机会大大减少。 3.双主键双主键是指数据库表有两个字段,这两个字段独立成为主键,但又同时存在。数据库系统的双主键最早用在用户管理模块。最早的来源可能是参照操作系统的用户管理模块。操作系统的用户管理有两个独立的主键:操作系统自己自动生成的随机 ID(Linux, windows的 SID), login id。这两个 ID都必须是唯一的,不同的是,删除用户 test然后增加一个用户 test, SID不同,login id相同。采用双主键主要目的是为了防止删除后增加同样的 login id造成的混乱。比如销售经理 hellen本机共享文件给总经理 peter,一年后总经理离开公司,进来一个普通员工 peter,两个peter用同样的 login id,如果只用 login id作操作系统的用户管理主键,则存在漏洞:普通员工 peter可以访问原来只有总经理才能看的文件。操作系统自己自动生成的随机 ID一般情况下面用户是看不到的。双主键现在已经广泛用在各种数据库系统中,不限于用户管理系统。 4.以固定的数据库、表应付变化的客户需求这主要基于以下几个因素的考虑: 4.1大型 EPR系统的正常使用、维护需要软件厂商及其众多的合作伙伴共同给客户提供技术服务,包括大量的二次开发。如果用户在软件正常使用过程中需要增加新的表或者数据库,将给软件厂商及其众多的合作伙伴带来难题。 4.2软件升级的需要。没有一个软件能够让客户使用几十上百年不用升级的。软件升级往往涉及数据库表结构的改变。软件厂商会做额外的程序将早期版本软件的数据库数据升级到新的版本,但是对于用户使用过程中生成的表进行处理就比较为难。 4.3软件开发的需要。使用固定的数据库库表从开发、二次开发来说,更加容易。对于用户使用过程中生成的表,每次查找数据时都要先查表名,再找数据,比较麻烦。举例来说,早期的用友财务软件用 Access作数据库,每年建立一个新的数据库。很快,用户和用友公司都发现,跨年度数据分析很难做。因此这是一个不好的设计。在 ERP中,很少有不同的年度数据单独分开。一般来说,所有年份的数据都在同一个表中。对于跨国公司甚至整个集团公司都用同一个 ERP系统的时候,所有公司的数据都在一起。这样的好处是数据分析比较容易做。现在大多数数据库系统都能做到在常数时间内返回一定量的数据。比如,Oracle数据库中,根据 primary key在 100万条数据中取 10条数据,与在1亿条数据中取 10条数据,时间相差并不多。 5.避免一次取数据库大量数据,取大量数据一定要用分页。这基本上是现在很多数据库系统设计的基本守则。ERP系统中超过 100万条数据的表很多,对于很多表中的任何一个,一次取所有的会导致数据库服务器长时间处于停滞状态,并且影响其它在线用户的系统响应速度。一般来说,日常操作,在分页显示的情况下面,每次取得数据在 1-100之间,系统响应速度足够快,客户端基本没有特别长的停顿。这是比较理想的设计。这也是大型数据库系统往往用 ODBC, ADO等等通用的数据库联接组件而不用特定的速度较快的专用数据库联接组件的原因。因为系统瓶颈在于数据库( Database)方面(数据量大),而不在于客户端(客户端每次只取少量数据)。在 B/S数据库系统中,分页非常普遍。早期的数据库系统经常有客户端程序中一次性取大量数据做缓冲。现在已经不是特别需要了,主要原因有: 5.1数据库本身的缓冲技术大大提高。大部分数据库都会自动将常用的数据自动放在内存中缓冲,以提高性能。 5.2数据库联接组件的缓冲技术也在提高。包括 ADO在内的一些数据库联接组件都会自动对数据结果集(result set)进行缓冲,并且效果不错。比较新颖的数据库联接组件,比如 Hibernate也加入了一些数据结果集缓冲功能。当然,也有一些数据库联接组件没有对数据结果集进行缓冲,比如 JDBC Driver,不过几年之内情况应该有所改观。也有些不太成功的数据缓冲,比如 EJB中的实体Bean,性能就不尽如人意,实体Bean数据也是放在内存中,可能是因为占用内存过多的缘故。相对来说,今天的程序员写客户端数据缓冲,能够超过以上两个缓冲效果的,已经比较难了。
erp有哪些模块
ERP的基本模块有采购、财务和会计、人力资源管理、制造、订单管理、供应链管理、ERP分销模块、CRM、电子商务、库存管理和仓库管理。每个模块都旨在满足特定的业务需求。ERP模块确保数据集中在一个平台上,帮助员工轻松完成任务。
ERP的基本模块解释:
1.财务与会计。该模块允许制造商了解组织的当前财务状况和未来前景。该模块的主要功能包括总账、应付账款、应收账款和税收。ERP中的财务和会计模块可自动执行计费任务、账户对账、供应商付款等。财务规划和分析数据有助于准备关键报告,例如损益表。
2.人力资源管理。该模块推广了一种管理、招聘和开发人力资源(员工)的方法。人力资本管理软件模块是员工数据的存储库。它帮助人力资源部门进行入职流程,并确保与所有员工共享有关组织的教育。从工资单到税收、休假请求、协议等,都可以在 ERP中可用。人力资源管理模块的功能包括人才管理、劳动力管理、合规管理和员工数据维护。
3.采购。可以帮助组织管理和保护制造或销售产品所需的货物。采购 ERP软件模块可帮助您自动化、跟踪和分析报价。一旦报价被接受,该模块将帮助采购部门准备和发送采购订单。作为制造商,您可以保留已批准供应商的列表,并将特定供应项目与每个供应商相关联。
4.制造。ERP的第一个版本是为制造商设计的。MRP或物料需求计划是 ERP的最早版本,可帮助企业估算原材料数量以安排准时交货。面向制造商的现代ERP提供了诸如物料需求计划(MRP)、高级计划和排程(APS)以及制造执行系统(MES)等功能。物料需求计划同步符合生产计划的物料流。它通过对所有需求驱动的活动的一个视图来关注客户保留、成本降低和生产力。可帮助制造商映射完成订单并按时交付所需的每一个资源。它将计划转换为生产订单的过程自动化,还可以实时调整时间表并预测对运营的下游影响。
制造执行系统跟踪、收集和监控有关生产周期的准确数据。它促进数据收集、产品跟踪以及质量控制和资源的管理。
5.订单管理。订单管理提供了一个单一平台来管理来自所有销售渠道的订单,从收货到交货。当它们被运送给客户时,它会跟踪它们的状态。这样可以确保按时交付订单,并且不会丢失任何订单。订单管理为提高效率、改善客户体验和管理所有销售渠道提供了单一平台。从跟踪订单到管理与订单相关的人员和数据,订单管理模块提供可见性和服务可用性。
6.库存管理。库存管理允许制造商获得实时库存信息并在一个平台上管理业务的各个方面。这包括财务、规划、物流和运营。库存管理 ERP模块提供即时(JIT)库存、实时收货和库存水平、入库和出库库存估价、ABC项目分析、库存审计、准确预测、直接发货等。
7.仓库管理。仓库管理软件管理大量仓库操作,并在整个操作过程中指导员工,从入库到拣货、包装和运输。它是制造组织的关键模块。仓库管理减少了周期时间和间接成本,同时增加了库存周转率。它可以让您自动协调和记录库存的移动。当此模块集成到 ERP解决方案中时,员工可以轻松找到合适的产品,以确保及时交付给客户。
8.供应链管理。供应链管理跟踪供应链流程中的每一步。它确保在正确的地点和正确的时间提供正确的库存。该模块还管理人员、材料和退款产品或更换订单。
9.客户关系管理。客户关系管理(CRM)帮助制造商管理客户生命周期,从最初的联系到销售、生产以及售后维护和支持服务。您可以找到有关客户和潜在客户、他们的通信历史和购买历史的信息。ERP的CRM模块可帮助您有效地创建和管理服务和保修协议,并更快地响应服务呼叫。它使您能够自动化操作,例如生成应收账款、发送通知、填写采购订单等。
10.电子商务。与 ERP软件集成的电子商务模块为 B2B和 B2C制造商提供了一个功能丰富的电子商务平台。它确保了支付、订单和库存信息的共享数据库。电子商务模块确保自动化、实时信息、数据一致性,并消除数据冗余。它节省了时间并消除了手动数据输入错误的可能性。
·什么是ERP数据
ERP是一种企业管理软件。它的全称是:Enterprise
Resource
Planning
企业资源计划。用它来管理企业的各种资源。现在,具有一定规模的企业基本上都使用ERP软件。
ERP软件都有一个数据库,用来存放各种数据。ERP数据分为主数据和业务数据。
ERP产品很多。如国内的金蝶、用友比较出名。国外有很多很好的ERP产品,如SAP、ORACLE、JDE等。
ERP系统管理着企业的各种资源,涉及各方面的知识。如财务知识、生产管理、质量管理、物料管理、物流管理、客户关系管理、供应链管理等等。。。
要想深入的了解ERP,最好能在一家比较大的、使有名ERP软件的企业工作。当然也少不了各方面的基础知识。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!