goo blog サービス終了のお知らせ 

まったり アイマス2

アイドルマスター2 超ライトユーザーのプレイ日記

3492. データベース、続き^4

2021年08月17日 | 日記

 データベースにはBtree (B木)と呼ばれる基礎となる複合データ型があります。データが全体として大小順に並んでいて、しかも検索が高速となるように作られています。データベースですから、元はハードディスクの特性を生かしたハードに直結したデータ型だったようです。ISAMとかVSAMとかと呼ばれていたはずです。
 今はふんだんに半導体メモリの主記憶が使えるので特定の機種のハードディスク依存の作り方はやらないと思います。

 データベースにおいて普通は基本となるデータ型は文字列型です。キーワードで検索するのが普通ですから。ですから、イメージとしては配列の添え字が文字列型になった感じになります。つまり、

 値 = テーブル名(キーワード)

 の感じ。ここで、キーワードも値も文字列型で、値の方は最大64キロバイトとかかなり長い文字列を許容するのが期待されています。キーワードは最大255文字とかでも使えると思います。

 言いたいことを先に行っておきます。キーワードには50音順などの大小があります。いわゆる辞書順で、英和辞書のようにアルファベット順が普通。
 しかし、それとは別に数値順はある方が便利です。普通はキーワードに文字列型とは別に数値型を用意します。混在可能にするとさらに便利で、数値型を文字列型に先行させて全体の順序とします。つまりキーワードは、たとえば、

 -123 0 23.4 1024 abc ijklm z80

 みたいな順に並びます。C言語やBASICなどの普通の計算機言語では混在は工夫が必要です。LISPやPROLOGの変数の値は数値でも文字列でもOKなので、こちらでの取り扱いを調べると感覚的に分かりやすくなると思います。
 「-123」だって文字列として表示されているでは無いか、だからキーワードはすべて文字列型で済ませる、と言う考え方も出来ることは出来ます。しかし、この場合は数値を表す文字列を特別視しないといけません。実例はありますが、あまりにマイナーな計算機言語なので以後も取り扱わないと思います。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする