Eu tenho uma tabela de respostas e uma tabela de perguntas .
A tabela Answers tem um valor, mas dependendo da pergunta, esse valor pode ser bit
, nvarchar
ou number
(até agora). A Questão tem uma noção de qual deve ser o tipo de valor de resposta pretendido.
Será importante analisar esses valores de resposta em um ponto ou outro, pois os números, pelo menos, precisarão ser comparados.
Para um pouco mais de contexto, as perguntas e possíveis respostas (normalmente um tipo de dados permitido para uma entrada do tipo caixa de texto) são fornecidas por alguns usuários em uma espécie de pesquisa. As respostas são então fornecidas por outros usuários especificados.
Algumas opções que considerei são:
A. XML ou string que é analisado de forma diferente dependendo do tipo pretendido (que é acompanhado na pergunta)
B. Três tabelas separadas que fazem referência (ou são referenciadas por) à tabela Resposta e são unidas com base no tipo pretendido. Nesse caso, não tenho certeza da melhor maneira de configurar as restrições para garantir que cada pergunta tenha apenas uma resposta ou se isso deve ser deixado para o aplicativo.
C. Três colunas separadas na tabela Resposta que podem ser recuperadas com base no tipo pretendido.
Eu ficaria feliz em obter algumas informações sobre os prós e contras dessas abordagens ou abordagens alternativas que não considerei.