固定長と可変長 つづき |
|
 |
|
 |
|
|
可変長のイメージ |
|
|
名前 |
年齢(最大3桁) |
Aさん |
|
3 |
5 |
Bさん |
1 |
0 |
3 |
Cさん |
|
|
4 |
Dさん |
|
8 |
8 |
|
|
可変長の場合、データの桁は最大桁数の間で可変。
桁は値の桁数に合わせて変わる。 |
|
例の「年齢」データの場合、値の大きさに合わせて
桁が1~3桁の間で変動する。
データ内の桁数は統一されず、バラバラになる。 |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
可変長は
桁の数が固定されて
いない形式だ。
つまり、データの長さが
決まってない。
データベースなどでは
最大桁が決まっていて、
値に応じてサイズが
自動で可変する。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
データベースの
話はまたそのうち。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
箱の数が値ぴったりに
変わるんだ。
固定長と違って空いてる
箱が無いんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
可変長のメリットは・・・
無駄が減って効率が良くなる。
固定長のように予約しておく
データ量が減るからね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
文字数がバラバラの
住所とかに向いてるんだ。
固定長とは逆だね。
余分な箱が減らせるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
まあ、実際は、
作り方によって
いろいろだけど。
基本的な
考え方ね。 |
 |
|
 |
そうなんだ。 |
|
|
|
 |
|
 |
|
|
可変長のメリット |
|
効率がいい |
|
未使用の領域が減る |
使わない領域が減るので効率が良くなる。 |
【例:住所の登録】
住所の長さは、地名や番地によって大きく異なり、可変長に向いている。
固定長では無駄が発生しやすい。 |
名前 |
住所(最大12桁(12文字)) |
Aさん |
埼 |
玉 |
県 |
川 |
口 |
市 |
|
|
|
|
|
|
Bさん |
千 |
葉 |
県 |
印 |
旛 |
郡 |
酒 |
々 |
井 |
町 |
|
|
Cさん |
三 |
重 |
県 |
津 |
市 |
|
|
|
|
|
|
|
・・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
・・ |
|
|
|
例では、データの型(整数型や文字列型など)を考慮しない。 |
|
|
|
 |
|
 |
|
|
固定長との
大きな違いだね。
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
可変長のデメリットは・・・
データの桁が揃ってない
とこかな。全部バラバラ。
特定の位置の桁チェックとか
加工とかしづらくなるね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
可変長のデメリット |
|
桁数がバラバラになる |
|
チェックする桁が異なる |
可変長のデータは、値によって桁の長さがそれぞれ違う。
そのため、先頭や末尾から数えた桁数が全てのデータで同一とは限らない。 |
【例:年齢のチェック】
先頭の桁をチェックして100歳が何人いるのか調査しようとした。
しかし、固定長のように先頭の桁が100の桁とは限らないため、先頭の桁ではチェックできない。 |
名前 |
年齢(最大3桁) |
|
Aさん |
|
3 |
5 |
先頭は10の桁 |
Bさん |
1 |
0 |
3 |
先頭は100の桁 |
Cさん |
|
|
4 |
先頭は1の桁 |
Dさん |
|
8 |
8 |
先頭は10の桁 |
|
|
|
例では、データの型(整数型や文字列型など)を考慮しない。 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
可変長は以上。
こんな風に、
固定長と可変長、
それぞれ向き不向きが
あるから、用途に応じて
使い分けよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
なるほど。
どっちがいいか
目的ごとに
考えるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
まあ、
傾向だけどね。
今は何となくで
おけ。 |
 |
|
 |
はいっ。 |
|
|