Subject Re: [firebird-support] Question about Database Design, for a multi-enterprise database ( newbie )
Author Doug Chamberlin
On 3/26/2010 1:23 PM, joaquimmacedo wrote:
> What I would like to ask, is - what is the best approach:
> to create a database field, in all tables, that represents the Enterprise Code
> OR
> access different database files ( with the same tables ) - one for each Enterprise - from the software application?

The first question I would ask is how disjoint are those enterprises? If
they are different divisions of the same company that currently operate
completely independently but may someday have to operate closely then
that's one scenario. If they are completely different companies (even
competitors) that's another scenario. So the big question is: Is there
any possibility that two or more enterprises will EVER need to see each
other's data? If no, then use separate databases, each with the same
structure.

If yes, they might someday need to see each other's data, then the next
question that becomes important is: What is the penalty for a breach of
data access (one enterprise accidentally seeing another's data) when
they are NOT supposed to see each other's data? If that's a big deal,
then you should STILL use separate databases.

Finally, the technical complexity is significantly reduced if you can
simplify the situation and NOT mix enterprises into one database. What
is it worth to avoid headaches? Lots. So use separate databases.

See where I'm going?