Question

Currently I'm working on Inventory Management application (later on this can be integrated with accounting application too), and I need your help in deciding one of the important system design related decision on following:

Requirements:

  1. Factories are having multiple accounting firm (company), and goods come and go from these multiple accounting firm, but physically they are consumed in one factory and all production is being managed as a single manufacturing unit. There is no separation of physical stock or produced items based on accounting firm. But again goods sold are from different accounting firm.
  2. Inventory data, Sales & Purchase are to be given company wise
  3. No production related records are being managed separately
  4. Inventory and Production data are to be managed in a single application for all companies (accounting firms) as a unified, so customer can have reliable tracking of stock/inventory items

Now, I want you to specifically suggest on following:

  1. What do you suggest, whether to keep all company wise data as separate db different from each other
  2. or store them in a single db with a separate identifier for company and then have single application that can access all data at same time with separate reports as well, may be user wise access can be setup?

What do you suggest, and what is the right approach?

Was it helpful?

Solution

Since you need to access some of the data in a single application across all companies it would be best to have all data in same database with a company identifier.

In addition single database is prefered due to:

  • Simpler to maintain due, single database to backup
  • Simpler to add new companies

The case when you would not go for a single database is where there are very strict security requirements, that could not be met with a single database solution.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top