Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 168933
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T12:32:27+00:00 2026-05-11T12:32:27+00:00

Suppose I have a table with the following columns (a list of words): word:

  • 0

Suppose I have a table with the following columns (a list of words):

word: varchar contributor: integer (FK) 

Now, suppose I wanted to have translations for each ‘word’. What would be best? Having a second table?

word: integer (FK) translation: varchar contributor: integer (FK) lang: integer (FK) 

Or all in the same table?

word: varchar translation_for: integer (FK - to the same table) contributor: integer (FK) lang: integer (FK) 

Suppose two scenarios, (1) where I need to pull a translated word along with the original word it was translated from, (2) where I need to pull only the translated word. On both scenarios, I’d be using the ‘original’ words far more heavily (both SELECTing and UPDATEing/INSERTing).

So, what approach would be best for each scenario, or in general? I’m inclined towards the first approach, since then my ‘default’ SELECTs won’t have to be qualified by the lang column. What do you think?

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T12:32:28+00:00Added an answer on May 11, 2026 at 12:32 pm

    I think you’ll hurt later if you want to add a language later if you don’t normalize the database now. Have a word table where the word is in the default language. It has an ID. Have a language table with an ID (i.e. Spanish, 2), and a translation table that has the word ID, the language ID, and finally the actual word in that language. This is the linked table.

    Use a view for your queries, but for inserts and updates, depending on your DBMS, you may need hard queries.

    This is just assuming you’re trying to provide localization, and thus are likely to add more languages later. Doing it this way is easier than having to modify your database to add columns every time you add a language. If you really only need ONE translation and highly doubt you’ll ever need another, then just adding the one column would be fine.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 73k
  • Answers 73k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer Something like this should get what you're after. ASPX Side:… May 11, 2026 at 2:03 pm
  • added an answer It's an inlining restriction. See Hallvard Vassbotn's article about Inlined… May 11, 2026 at 2:03 pm
  • added an answer Generally speaking people will be interested in a CLR object… May 11, 2026 at 2:03 pm

Related Questions

Suppose I have a database table with two fields, foo and bar. Neither of
Suppose I have a tags table with two columns: tagid and contentid . Each
Suppose I have a dataset with those two immortal tables: Employee & Order Emp
Suppose I have a table called Companies that has a DepartmentID column. There's also
Suppose I have a table . Now, I'm interested in Getting Useful Data Easily.
I need to construct some rather simple SQL, I suppose, but as it's a
Hey all, I have something of an interesting requirement for my project. I need
I'm getting odd results from a MySQL SELECT query involving a LEFT JOIN ,
I have a hibernate mapping as follows: <hibernate-mapping> <class name=kochman.elie.data.types.InvoiceTVO table=INVOICE> <id name=id column=ID>

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.