Я пишу некоторое программное обеспечение присутствия. У каждого участника будет удостоверение личности со штрихкодом, который они будут использовать для регистрирования к событиям. Какой длины поле штрихкода должно быть в моей базе данных? Я хотел бы принять Код 39 и Код 128 штрихкодов. Я знаю, что это неравномерные коды, поэтому на что я должен установить макс. длину?
Спасибо!
Править: Мои клиенты будут использовать множество сторонних инструментов печати штрихкода.
Код 128 может содержать 128 символов ASCII, поэтому установите максимальную длину 128 (или выше, это не имеет значения).
Позвольте мне прояснить это последнее утверждение. В переменных текстовых полях будет использоваться 1 байт на символ (или больше для полей типа Unicode, но пока давайте их игнорировать) плюс некоторые накладные расходы. Эти накладные расходы могут составлять от 1 до 4 байтов или до 16 или более в зависимости от базы данных.
Но дело в том, что если вы сохраняете 100 символов в поле VARCHAR (128)
или в поле VARCHAR (1000)
, он все равно использует точно такое же количество пробел .
Единственная проблема, с которой вы сталкиваетесь, - это ограничения строк. Это тоже зависит от базы данных. В некоторых случаях, например, вся строка может занимать не более 64 КБ, поэтому сумма всех размеров не может превышать этого размера. В остальном это не имеет значения.
Эти форматы могут легко закодировать множество цифр, конечно, больше, чем вам нужно для уникального идентификатора. Так что вопрос не только в том, как долго ваши удостоверения личности? Достаточно ли 10 цифр? затем 10 символов. Или, если это числовые идентификаторы, вы даже не должны хранить их в виде строки символов. Используйте числовой тип SQL.