Subject | Re: [firebird-support] Question about Database Design, for a multi-enterprise database ( newbie ) |
---|---|
Author | Doug Chamberlin |
Post date | 2010-03-26T18:02:38Z |
On 3/26/2010 1:23 PM, joaquimmacedo wrote:
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?
> What I would like to ask, is - what is the best approach:The first question I would ask is how disjoint are those enterprises? If
> 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?
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?