请问谁能提供给我标准的oracle ERP的数据库表结构并详细说明各表主要的作用?

请问谁能提供给我标准的oracle ERP的数据库表结构并详细说明各表主要的作用?,第1张

是的,去etrm.oracle.com网站,那里有oracle erp 所有数据库对象信息,但是如果想知道各个表的主要作用,就必须要先了解系统,通过对系统的一定了解,再去研究对应表的作用,这样才能相辅相成,单纯去了解表是没有太大作用的。

用条形码读取收获信息如何输入ERP系统的形式主要有三种类型:1、Active Active接口,条形码系统将ERP系统所需的信息直接导入ERP系统数据库。这种方法需要对ERP数据库系统的内部结构有一个详细的了解,而ERP系统允许条形码系统来写数据(也就是说,写的权利)。一般来说,主动接口形式一般用于定制开发或ERP在这种情况下,开发的系统,ERP系统的数据库结构的要求非常明确,在ERP系统中的数据,检查一下数据也很清楚,当数据是ERP系统中的条码系统写的,数据按照ERP系统校准规范,材料所需的信息,信息文档写的ERP系统,确保数据的准确性和有效性。采用主动接口,在条码软件系统和ERP系统中具有良好的同步性,但在安全性方面还存在一些问题。一般大型ERP系统如BAAN、Oracle、SAP等建议不要使用这种方式。

2,中间型

中间型接口、条码软件系统将ERP系统所需的信息表数据生成的中间文件或中间,ERP系统直接读取中间文件或信息写入数据库的表中,这就要求条码系统和ERP两做一些开发工作。特别需要提出的是:如何保证条码系统与ERP信息的一致性。有两种常用方法,一是从ERP系统确保条码系统将三类信息ERP系统的要求写在一个文件或数据表中经常读信息的分析和比较,对ERP系统和ERP系统的信息,确定哪些是新的,这是修改,删除,更新信息到ERP系统。在“3”、“被动”被动接口中,ERP系统从条形码软件系统中读取所需数据,并将其写入数据库。被动语态有两种方法:被动语态:数据库结构,条形码系统完全打开信息的表达和存储,读取ERP系统的信息来判断哪些信息增加了,已被修改,已被删除。

:除了开放其数据库结构的半被动的条码系统,但也提供了一些握手握手信号存放在一个单独的表,说明哪些信息被更新,握手信息以便在条码阅读系统的ERP系统信息,根据握手信号表读取部分信息变化有条码系统的发生,不是所有的你需要阅读,从而提高界面的处理速度。

自增长primary key

采用自增长primary key主要是性能 早期的数据库系统 经常采用某种编号 比如身份z号码 公司编号等等作为数据库表的primary key 然而 很快 大家就发现其中的不利之处

比如早期的医院管理系统 用身份z号码作为病人表的primary key 然而 第一 不是每个人都有身份z第二 对于国外来的病人 不同国家的病人的证件号码并不见得没有重复 因此 用身份z号码作为病人表的primary key是一个非常糟糕的设计 考虑到没有医生或者护士会刻意去记这些号码 使用自增长primary key是更好的设计

公司编号采用某种特定的编码方法 这也是早期的数据库系统常见的做法 它的缺点也显而易见 很容易出现像千年虫的软件问题 因为当初设计数据库表的时候设计的位数太短 导致系统使用几年后不能满足要求 只有修改程序才能继续使用 问题在于 任何人设计系统的时候 在预计某某编号多少位可以够用的时候 都存在预计不准的风险 而采用自增长primary key 则不存在这种问题 同样的道理 没有人可以去记这些号码

使用自增长primary key另外一个原因是性能问题 略有编程常识的人都知道 数字大小比较比字符串大小比较要快得多 使用自增长primary key可以大大地提高数据查找速度

避免用复合主键 (pound primary key)

这主要还是因为性能问题 数据检索是要用到大量的 primary key 值比较 只比较一个字段比比较多个字段快很多 使用单个primary key 从编程的角度也很有好处 sql 语句中 where 条件可以写更少的代码 这意味着出错的机会大大减少

双主键

双主键是指数据库表有两个字段 这两个字段独立成为主键 但又同时存在 数据库系统的双主键最早用在用户管理模块 最早的来源可能是参照 *** 作系统的用户管理模块

*** 作系统的用户管理有两个独立的主键 *** 作系统自己自动生成的随机 ID (Linux windows 的 SID) login id 这两个 ID 都必须是唯一的 不同的是 删除用户 test 然后增加一个用户 test SID 不同 login id 相同 采用双主键主要目的是为了防止删除后增加同样的 login id 造成的混乱 比如销售经理 hellen 本机共享文件给总经理 peter 一年后总经理离开公司 进来一个普通员工 peter 两个peter 用同样的 login id 如果只用 login id 作 *** 作系统的用户管理主键 则存在漏洞 普通员工 peter 可以访问原来只有总经理才能看的文件 *** 作系统自己自动生成的随机 ID 一般情况下面用户是看不到的

双主键现在已经广泛用在各种数据库系统中 不限于用户管理系统

以固定的数据库 表应付变化的客户需求

这主要基于以下几个因素的考虑

大型EPR系统的正常使用 维护需要软件厂商及其众多的合作伙伴共同给客户提供技术服务 包括大量的二次开发

如果用户在软件正常使用过程中需要增加新的表或者数据库 将给软件厂商及其众多的合作伙伴带来难题

软件升级的需要

没有一个软件能够让客户使用几十上百年不用升级的 软件升级往往涉及数据库表结构的改变 软件厂商会做额外的程序将早期版本软件的数据库数据升级到新的版本 但是对于用户使用过程中生成的表进行处理就比较为难

软件开发的需要

使用固定的数据库库表从开发 二次开发来说 更加容易 对于用户使用过程中生成的表 每次查找数据时都要先查表名 再找数据 比较麻烦

举例来说 早期的用友财务软件用Access作数据库 每年建立一个新的数据库 很快 用户和用友公司都发现 跨年度数据分析很难做 因此这是一个不好的设计 在 ERP 中 很少有不同的年度数据单独分开 一般来说 所有年份的数据都在同一个表中 对于跨国公司甚至整个集团公司都用同一个 ERP 系统的时候 所有公司的数据都在一起 这样的好处是数据分析比较容易做

现在大多数数据库系统都能做到在常数时间内返回一定量的数据 比如 Oracle 数据库中 根据 primary key 在 万条数据中取 条数据 与在 亿条数据中取 条数据 时间相差并不多

避免一次取数据库大量数据 取大量数据一定要用分页

这基本上是现在很多数据库系统设计的基本守则 ERP 系统中超过 万条数据的表很多 对于很多表中的任何一个 一次取所有的会导致数据库服务器长时间处于停滞状态 并且影响其它在线用户的系统响应速度

一般来说 日常 *** 作 在分页显示的情况下面 每次取得数据在 之间 系统响应速度足够快 客户端基本没有特别长的停顿 这是比较理想的设计 这也是大型数据库系统往往用 ODBC ADO 等等通用的数据库联接组件而不用特定的速度较快的专用数据库联接组件的原因 因为系统瓶颈在于数据库( Database) 方面(数据量大) 而不在于客户端(客户端每次只取少量数据)

在 B/S 数据库系统中 分页非常普遍 早期的数据库系统经常有客户端程序中一次性取大量数据做缓冲 现在已经不是特别需要了 主要原因有

数据库本身的缓冲技术大大提高

大部分数据库都会自动将常用的数据自动放在内存中缓冲 以提高性能

数据库联接组件的缓冲技术也在提高

包括 ADO 在内的一些数据库联接组件都会自动对数据结果集(result set)进行缓冲 并且效果不错 比较新颖的数据库联接组件 比如 Hibernate 也加入了一些数据结果集缓冲功能

当然 也有一些数据库联接组件没有对数据结果集进行缓冲 比如 JDBC Driver 不过几年之内情况应该有所改观 也有些不太成功的数据缓冲 比如 EJB 中的实体Bean 性能就不尽如人意 实体Bean数据也是放在内存中 可能是因为占用内存过多的缘故

lishixinzhi/Article/program/SQL/201311/16157


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9667571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存