views:

13

answers:

1

I have some content in a database, but now I need to add two more dimensions to the content: Language and Reading Level. What is the best way to make content multidimensional?

For example, here's the table I have:

|-------------|
|    Food     |
|-------------|
| id          |
| name        |
| description |
| ...         |
|-------------|

and now I need to have the same content at multiple reading levels (eg. 3rd grade, 7th grade, 10th grade) and also in a couple different languages (eg. English, British-English, Spanish, and French). So, for example, I will need to have the content in English at all reading levels, as well as in Spanish at all reading levels, etc.) One catch is that the matrix may not be completely filled (ie. I may not have a 3rd grade Spanish version for some foods) so the design needs to make this easy to handle (like, fall back to a version of the data that does exist) for an application. (easy meaning few DB calls and minimal work)

What sort of schema will let me cleanly model this?

A: 

Add a grade column and a language column to your existing Food table.

Beth