I'm creating a php/mysql driven word game similar to the game TextTwist. Essentially, a word will be provided to the player, and the player has to create as many words as possible using only the letters within the provided words.
For example:
Provided word = chicken
Some possible words = hick, chick, nick, neck, etc.
Now, I have a database full of english dictionary words. When a user attempts to submit a word, it will check the dictionary db to see if the word exists, and if so, it will be accepted. When a word is successfully found, I also want to be able to save that word association. So for example, if I submit the word "neck," and it checks out as a valid word, I want to save it in the database so that future players who get the word 'chicken' will see that a 4 letter word can be made, and so 4 empty boxes will be provided. A set of empty boxes will be shown for every word association that has previously been submitted.
If you're still with me here, my question is how should I design the database to handle this sort of functionality?
For example,
id | word | associations
5 | chicken | neck, nick, chick
6 | pickle | lick, lip, elk
7 | dumpling | ping, dump, lump
As a rule of thumb, I was always taught that each column should only contain one value. How can I design my database, other than the method above so that there isn't an "array" of values for associations?