I am trying to have a lean database size, so I thought that if an input, which will always be a string, should be checked for its value type and therefore saved in a specific table that is appropriate with its type. Meaning if an input represents a string, then it should go to a table that saves string, or if an input represents a number, then it go to a table that saves integers or precision numbers. In context, these tables serve the same purpose all together, to save a value corresponding to an input and another table that is related to the input.
My questions are is this a good approach to what I am trying to achieve, and if so, how can I achieve this without complicating my code?
I am currently using .Net framework and entity framework, but I can take out entity framework if needed be. Thanks for all the help.
Edit: I should have mentioned that my application follows a question-answer relationship, where the answer varies in data-type: string, number, datetime, etc.
If the input is a string, save it to a table that has a string column; if numerical, save it on a table with int column; if date time, save it on a datetime column.
If the answer needs to be accessed, it will be accessed according to the data type of the answer.
Because of the answer below by Robert Harvey, I realized that I am overcomplicating my design for the sake of saving storage space, and I am using more unnecessary data which will just be against what I was trying to achieve in the first place.