我正在写一些考勤软件。每个成员都将拥有一张带有条形码的 ID 卡,用于登录活动。条形码字段应在我的数据库中保留多长时间?我愿意接受 Code 39 和 Code 128 条码。我知道这些是可变长度代码,那么我应该将最大长度设置为什么?
谢谢!
编辑:我的客户将使用各种第三方条码打印工具。
我正在写一些考勤软件。每个成员都将拥有一张带有条形码的 ID 卡,用于登录活动。条形码字段应在我的数据库中保留多长时间?我愿意接受 Code 39 和 Code 128 条码。我知道这些是可变长度代码,那么我应该将最大长度设置为什么?
谢谢!
编辑:我的客户将使用各种第三方条码打印工具。
这些格式可以轻松地对大量数字进行编码,这肯定超过了您对唯一 ID 的需要。那么问题不只是,您的 ID 有多长?10位数够吗?然后是 10 个字符。或者,如果它们是数字 ID,您甚至不应该存储为字符串。使用数字 SQL 类型。
代码 128 可以处理 128 个 ASCII 字符,因此将最大长度设置为 128(或更高,这并不重要)。
让我澄清一下最后的陈述。可变文本字段将使用每个字符 1 个字节(对于 Unicode 类型字段或更多,但我们暂时忽略这些)加上一些开销。该开销可能少至 1-4 个字节,也可能多至 16 个或更多,具体取决于数据库。
但关键是,如果您在一个VARCHAR(128)
字段或一个VARCHAR(1000)
字段中存储 100 个字符,它仍然使用完全相同的空间量。
您遇到的唯一问题是行限制。这也取决于数据库。例如,在某些情况下,整行最多只能占用 64K 大小,因此所有大小的总和不能超过该大小。除此之外无所谓。
代码 39 限制为 43 个字符。在完整的 ASCII 代码 39 中,符号 0-9、AZ、“.”、“-”和空格与它们在代码 39 中的表示相同。