views:

101

answers:

1

Why doesn't Oracle have foreign keys in Oracle Apps/ E-Business Suite?
I observed that Oracle doesn't have/use referential constraints on the Oracle Apps 11i Schema. All the logic is contained in PL/SQL packages.
This seems odd coming from a RDBMS major.

+5  A: 

Hi Padmarag,

I believe the main reason for not using strong referential constraints is that this suite has to deal with legacy data during setup. Most of the time you will import historical data in the ERP and this data may be incomplete.

I don't think you should view the e-business design as a reference model since it is voluntarily left incomplete (so that you can custom it to your needs).

Vincent Malgrat
Hmmm. Makes sense.
Padmarag
No major ERP suite runs the reference implementation. They're all customized to some degree. It's even better when the Oracle Applications stack and the Oracle Database stack run different versions (by major release version) of Oracle software.
Adam Musch
You (should) never load data from legacy system directly into OEBS tables. There are interface tables for that (like gl_interface and so on). So imho incompletness of data can't be a reason not to use foreign keys...
egorius
@egorius: old versions of Oracle APPS don't have interface/api for ALL tables for ALL modules. The data inserted at that time **might** be incomplete. Because of the old legacy data, it would be a headache to add foreign keys now in a new release.
Vincent Malgrat