私はいくつかの出席ソフトウェアを書いています。各メンバーは、イベントへのサインインに使用するバーコード付きのIDカードを持っています。バーコードフィールドはデータベースにどのくらいの期間存在する必要がありますか?Code39およびCode128バーコードを受け入れたいのですが。これらが可変長コードであることを知っているので、最大長を何に設定する必要がありますか?
ありがとう!
編集:私のクライアントは、さまざまなサードパーティのバーコード印刷ツールを使用します。
私はいくつかの出席ソフトウェアを書いています。各メンバーは、イベントへのサインインに使用するバーコード付きのIDカードを持っています。バーコードフィールドはデータベースにどのくらいの期間存在する必要がありますか?Code39およびCode128バーコードを受け入れたいのですが。これらが可変長コードであることを知っているので、最大長を何に設定する必要がありますか?
ありがとう!
編集:私のクライアントは、さまざまなサードパーティのバーコード印刷ツールを使用します。
コード128は128のASCII文字を実行できるため、最大長を128に設定します(またはそれ以上、実際には問題ありません)。
その最後のステートメントを明確にしましょう。可変テキストフィールドは、1文字あたり1バイト(Unicodeタイプのフィールドの場合はそれ以上ですが、今は無視します)とオーバーヘッドを使用します。そのオーバーヘッドは、データベースに応じて、1〜4バイトから、16バイト以上になる場合があります。
VARCHAR(128)
ただし、重要なのは、フィールドまたはフィールドに100文字を格納しても、まったく同じ量のスペースVARCHAR(1000)
を使用するということです。
あなたが遭遇する唯一の問題は行制限です。これもデータベースに依存します。たとえば、行全体のサイズは最大64Kであるため、すべてのサイズの合計がそれを超えることはできません。それ以外は関係ありません。
これらのフォーマットは、一意のIDに必要な数を確実に超える、多くの数字を簡単にエンコードできます。では、問題は単にIDの長さだけではありませんか?10桁で十分ですか?次に10文字。または、数値IDの場合は、文字列として保存することもできません。数値SQLタイプを使用します。
Code39は43文字に制限されています。フルASCIIコード39では、記号0〜9、AZ、「。」、「-」、およびスペースは、Code39での表現と同じです。