Link to home
Start Free TrialLog in
Avatar of ezkhan
ezkhanFlag for United Kingdom of Great Britain and Northern Ireland

asked on

Design a database with standarized and non standarized data coming from multiple clients SQL Server2008 R2



Hi,

I have a situation where I am tasked with my team to deveop a database for extranet sites which would represent multiple clients data. Now, important thing is there are two parts of incoming data from clients as follows;

1. Standarized Data: Which is common accross all existing and upcoming clients.
2. Client Specific Data: It varies client to client and contains client specific data columns.

Now, when designing database how to cater these two requirements;

1. Should I create new database for every client's extranet database in SQL Server 2008 R2 ?
2. OR  Should I create only one common database to hold all clients data?

If I create only one database to store all clients data including standarized data and non standarized data then how this would be managed?
e.g.,

tbl_StandarizedAndNonStandarizedData

ID,Name,Description,Code,City,client1customfield1,client1customfield2,client2customfield1,client3customfield1,client3customfield2,client3customfield3, ............ so on......

Can you please help me identify pros and cons of both type of implementations of database (means one database or new database for every new client)

Please let me know if you require further information.

Your comments and suggestions are greatly appreciated to solve this design issue.


Thanks.


Avatar of ste5an
ste5an
Flag of Germany image

Store data always normalized, even it is not standardized, what ever your standards are.

ID,Name,Description,Code,City,client1customfield1,client1customfield2,client2customfield1,client3customfield1

Open in new window


This is an absolute no go.

Storing the data per client makes in many cases sense as it allows you easily to inspect it or track down data issues per client. But this must not be an extra database per client, it can be a single staging table per client or even a folder where you store the raw data. Depending on the number of clients and the amount of data you can also consider using one extra database where you store the clients data before you import it into your main system, e.g. separated by schema.

ASKER CERTIFIED SOLUTION
Avatar of 8080_Diver
8080_Diver
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ezkhan

ASKER

Thanks alot. This helps