Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am building an ASP.Net site that will pull dynamic data from SQL server. The site will be built with localization/globalization foundations in anticipation that in a year or so the site will start holding translations for non-English speaking users. I already know how accomplish this in ASP.Net for the static content but I would like some suggestions on a DB design for the dynamic data. I have toyed with the following 3 ideas and would like some input on them and any thoughts on other ways.

  1. Create a unique database for each language set and use ASP.Net to dynamically change which DB the data comes from.
  2. Create copies of each table appending the local code to hold the translated data (i.e. Table-en, Table-fr, Table1-en, Table1-fr)
  3. Leave DB and table design intact (only adding a single column to hold the local code) and insert translated data as a new row entry.
share|improve this question
Is the data in the database going to be user-editable, or will it be totally static? – Jon Seigel Dec 13 '12 at 17:47
The data will be editable by select users given permision to do so but the general visitor will not be able to do so. – user11512 Dec 13 '12 at 19:26
Can you please re-post the question I removed at your request, so that the original answerer can re-post their answer? Thanks. – Aaron Bertrand Oct 22 '13 at 0:52
up vote 0 down vote accepted

I have ended up going with a dual table design. The first table would contain all data that would not have a translation for it. A second table would have the word "Translation" appended to it and it would contain columns to cover all the data needing translations and have a single translation per row.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.