I am going to be setting up OTRS, a help desk application, and the backend is going to be Postgres, along with this I need to create a separate application to track whether or not a customer has a service contract with us and the type of service contact. The question I have is that the service application will have a table that stores the customer's contact information, and OTRS also has this table, is there a way I can share this table between these two applications? I want them both to access the same customer table but I was going to try and split the applications into multiple db's but still on one server. Is this necessary, or even logical? This is a proof of concept for my company and further down the line if this goes well, all of the company's data could be ported from M$ Access to this system so I need to keep that in mind. Each group(Sales, Engineering,Manufacturing) would have it's own database but need to share tables such as customer or employee, I have no problem having one database for the whole company and then using FK's to ensure integrity but I would rather have each department have it's own separate database, and then a specified intervals possibly pull from a master db. This is a small company < 50 people so the load at any one time would not be excessive.
I have looked into using schema's, creating one for each application and then one to hold the tables that will be shared by all the applications but I am not sure how this would work as all the schema would still be in one database I believe. Replication has been ruled out. The only other thing I can think of is a master-master/master-slave relationship between the db's and only share some of the tables but I am not sure about this.
Thanks