When I interviewed a candidate, I raised this question many times, but I have not got the answer correctly.
To under why C is a language and not a database, it is good to understand why our communication languages such as Engilish, Hindi, Kanannda, Telugu, Tamil and Malayalam are call languages.
To call X as a language, X should have the following:
1. Character Set
2. Predefined words
3. Grammer
4. anything created with point 1 to 3 should give a meaning.
If we follow above rules take Engilish as an example:
1. Character set - A to Z are avilable
2. Predefined Words - English Dictionary provides all the available words with meaning. One can only make use of these words while communicating in written/Verbal.
3. Grammer : English has grammer and tells us the rules to use words and make sentences.
4. By following point 1 to 3 we can write a poem or an essay or an article or a policy etc. If one knows english one can easily understand and convey the meaning of it also.
The same rule we can apply for Hindi/Kannada/Telugu/Tamil/Malayalam and other languages.
Now consider C and lets apply these rules:
1. Character Set - A - Z, a - z, 0 - 9, ',', '; etc..
2. Predefined Words - Has reserve words such as define, main, for, if, else, etc.. We can only use these for programming.
3. Grammer : There are statements and every statment has got a syntax(grammer) on how to use it.
4. By following above point 1 to 3 one can write multiple applications all will give a meaningful purpose.
Where as Database is meant for a specific purpose. We cannot use for anything. Hence database Oracle is not a language.
I Hope, I made this point clear.