Название может вводить в заблуждение, поэтому мне нужно уточнить.
У меня есть следующий набор данных опроса, который мне нужно перенести в базу данных PostgreSQL.
| id | title | income | age | height | weight | Education |
| 1 | foo | 10000 | 45 | 170 | 50 | College |
| 2 | bar | 15000 | -20000 | -30000 | 45 | High School |
| 3 | hoge | -10000 | -10000 | 150 | 60 | -20000 |
| 4 | fuga | 20000 | 20 | -10000 | 70 | College |
...
Где -10000 , -20000 и -30000 представляют собой нулевое значение, но по разным причинам.
(например, -10000 означает, что участнику не был показан вопрос о столбце, -20000 означает, что участник пропустил вопрос, и -30000 означает, что они дали неверный ответ.)
Вопрос в том, как создать таблицу и ограничение для моделирования этой ситуации?
Очевидно, если я использую INTEGER для дохода и других столбцов и используйте VARCHAR для образования, нулевые значения не будут идентичны. Кроме того, если я рассматриваю доход как просто INTEGER, «нулевые» значения будут просто отрицательным числом, которое будет проблематичным c в следующих манипуляциях с данными.