Да, char
- правильный тип данных для этого. Общее правило: всегда выбирайте самый узкий (самый ограничительный) тип данных, возможный в контексте . Это означает, что любые недопустимые (или выходящие за пределы) данные не будут приняты, если они будут случайно введены, поэтому ваша программа / база данных станет менее подверженной ошибкам.
Чтобы рассмотреть это с другой стороны: когда вы хотите использовать целочисленное значение в коде, вы создаете целочисленный массив размером один? Конечно, нет, потому что, хотя это и сделало бы работу, это совершенно ненужно . т.е. сравнить:
int[] value = new int[1] { 123 };
value[0] = 456;
до:
int value = 123;
value = 456;
Первый - просто абсурд, как я уверен, вы видите. Конечно, это не так очевидно в контексте баз данных (использование примерно так же просто, если вы выбираете тип данных string
), но я думаю, что аналогия помогает объяснить логику выбора.
Кроме того, когда дело доходит до манипулирования значениями в коде, вы должны обнаружить, что наличие поля в более подходящем типе данных (т. Е. char
) делает его несколько более простым для правильного использования в коде.
С точки зрения производительности, я бы не подумал, что использование string
даст вам значительные накладные расходы. Итак, это занимает незначительно больше памяти, но это, вероятно, не проблема. Однако я думаю, что другие причины, которые я только что предложил, объясняют, почему вы должны выбрать char
.