データーとその表示
データーは、それを人が扱うためには、表示しなければなりません。
データーと、それを表示する事とは、元来別のものです。

データーの標準となるCSV形式と云うものがどういうものかお解り頂けたと思いますが、
要は、カンマで区切ってあるというだけで、それを、どう扱うかは、
使う側の都合でどうにでも出来るということです。

逆に言うと、形式がきちんとしていないデーターは、「どうしようもない」
と云うことも、この際理解しておいてもらう必要があります。
数百前後のデーター数ならまだしも、数千、数万のデーター数になった時、
この「どうしようもない」ことの意味が解っても、手遅れです。

さて、データーはランダムアクセス処理を前提にして、CSV形式で作ります。
これを保存する際、拡張子には通常csvを付けます。

ところで、日本の古本屋では、これを保存の際、txtを付ける様に記しています。
コンピューターにとって拡張子は、処理の目安に過ぎませんから、
これでも構わないのですが、まあ、「普通ではない」と云うことは記しておきます。
拡張子にtxtを用いるのは、一般の文書ファイルであると云うのが、「普通である」からです。

ついでに云うと、文字を、" " でくくるというのも、実はコンピューターにとってはその処理上は
関係のない事で、あくまで人間の都合によるものです。
" "等でくくらなくても、全然構わないのです。
これは、いずれ変数と云うものに触れる事があれば、その際記します。

前書きばかり長引きましたが、
Web上で表示するためのHTMLファイルは、データーを表示するためのファイルです。
又、CGIなどを用いて、CSV形式のデーターファイルから、プログラムを用いて、
HTMLファイルを出力する場合もあります。

データーベースというのは、表示の為の元になるものですから、CSVファイルと、HTMLファイルは
別個に作成するのが、本来の姿です。

つまり、表示のためのHTMLファイルの中に、CSVファイルを組み込んで表示するというのが、
基本的な目録の作り方です。

多くの古書店のサイトを見ていると、いきなりHTMLファイルを作成し、
そこに古書目録のデーターを打ち込んでいるのではないかと思えるサイトが多いのです。
この様な作り方は、一見データーベースの形を取っているように見えますが、
実はデーターベースになっていないのです。

又、その様な作り方である為か、データーの形式に仕様の統一がされないまま、
気分次第で作り変えているように見受けられるものも非常に多いわけです。
これでは折角打ち込んだデーターも、使えないデーターとなってしまいます。

例えば、次のような作り方をされているところがあります。

(例1)
2000年4月1日分
漫画 火の鳥1 手塚治虫 500円
漫画 火の鳥2 手塚治虫 500円
2000年4月2日分
漫画 火の鳥3 手塚治虫 500円
漫画 火の鳥4 手塚治虫 500円

これでは、ランダムアクセスの対象にならないことは、既におわかり頂けるでしょう。
入力日を入れるなら、面倒なようでも、

(例a)
入力日 分類 書名 著者 売価
2000/4/1 漫画 火の鳥1 手塚治虫 500
2000/4/1 漫画 火の鳥2 手塚治虫 500
2000/4/2 漫画 火の鳥3 手塚治虫 500
2000/4/2 漫画 火の鳥4 手塚治虫 500

の様にしておくべきなのです。

或いは、

(例b)
分類 書名(4月1日分) 著者 売価
漫画 火の鳥1 手塚治虫 500円
漫画 火の鳥2 手塚治虫 500円
分類 書名(4月2日分) 著者 売価
漫画 火の鳥3 手塚治虫 500円
漫画 火の鳥4 手塚治虫 500円

という、方法でも良いでしょう。

(例a)や(例b)なら、表の構造が、行単位で変わりませんから、
ページの中から作表部分だけ切り取って、HTMLタグを置換してやれば、
すぐにcsvファイルを作ることもできます。
(この処理は、簡単なプログラムを作って自動的に行うことができます。)

(例1)のような場合では、作表部分を一旦2つに分割し、
再度データ部分だけを合成する必要が生じます。
(これは、完全手作業でないと、CSV化は困難です。プログラム化できないとは言いませんが、
かなりめんどくさいものになります)

HTMLファイルとして、作成されている目録ファイルが、データーベースとして使えるかどうか、
簡単に判断する方法を記してみます。
それは、その目録ページをExcelなどの表計算ソフトで読み込んでみることです。
「ファイル読み込み」で、ファイルの種類にHTML形式を選択すれば、簡単に読み込む事が出来ます。
その後、そこにあるデーターに対して、整列を掛けてみて下さい。
整列が出来なければ、その目録データーは、データーベースとしては使えません。

良くあるのが、次のような例です。

書名 著者 売価
マッシュ R・フッカー←ここに改行が入っている
村社伸
100
ロスト・コマンド 志津三郎 100

HTMLファイル上では、きちんとした作表に見えますが、これを、表計算ソフトで読み込み、
整列を掛けてみると、エラーになります。つまり、データーベースとしては使えないと云うことです。

HTMLファイルで作表する場合には、上記の様な改行(リターンキャリジ)を入れず、

書名 著者 売価
マッシュ R・フッカー/村社伸 100
ロスト・コマンド 志津三郎 100

の様にしなければならないのです。
この様なミスはデーター作りをいきなり、HTMLファイル上で行っている目録に多く見られます。
HTMLファイルは、あくまでもデーターを見せるためのファイルで、データーベースファイルではないのです。
良く1頁の中に
雑誌abc
出版年 内容 売価
1991/01 ○○ 500
1991/02 ○○○ 500

雑誌def
出版年 内容 売価
1992/01 ×× 500
1992/02 ××× 500

の様になっている目録があります。
この様な形の目録頁を、データー管理の面で見ると、2つの問題点があります。

(問題点1)
既にお解り頂けると思いますが、CSVデーターは、独立した1行だけで内容が解るものでなければなりません。
上の例だと、データ部分一行だけ見てみると、
"1991/02","○○",500
となるわけですから、これではどういう本であるのかサッパリ解りません。

データーというものは、ジャンルが違おうと、内容が違おうと、移動させても項目の形式は統一されていなければならないのです。
全データーの形式が整っていないデーターは、いずれ、データー数が増えてきた時に、全て書き換えしていく必要が出てきます。

上記のような作り方をしているところは、概ね出版目録の形式を真似たもののように感じますが、
コンピューター上のデーターの扱いと、出版目録上のデーターの扱いは、全然違うものなのだと云うことも、知っておく必要があります。
コンピューターでデータ管理すると云うことのメリットは、データーの移動、整列、検索、管理等が簡単に出来ると云うことにある訳です。

もっと絞ると、紙の上のデーターとの違いは、移動が出来ると云うことが本質的な違いであるわけです。
それ故、データーを移動しても、問題が生じないようにデーター形式を整えておく必要があるわけです。

紙の上の目録では、データーを移動したり、頁を結合したりする事は出来ません。検索も整列も勿論出来ません。
コンピューターではこれが簡単に出来るわけですから、その優位性を意味のないものにしてしまうデーター形式ならば、
コンピューター管理する必要など全然無い訳です。

(問題点2)
もう1つの問題点は、1頁の中に2つの表組みが使われているという点です。
これは、さほど大きな問題点であるとまでは言えないのですが、
作表部分がデーターであれば、これは2つのデーターファイルが組み込まれているという事を意味します。
データーの一元管理という面では、同じ形式の表を、別途に複数組み込むと云うことは、意味のあることだとは思えません。

(対処方法)

上記の問題を解消するには、例えば次のようにすればよいでしょう。

分類 書名 著者 出版社 出版年 内容 売価
雑誌 abc - - 1991/01 ○○ 500
雑誌 abc - - 1991/02 ○○○ 500
雑誌 def - - 1992/01 ×× 500
雑誌 def - - 1992/02 ××× 500


つまり、1頁内の表組みは1つにし、項目はきちんと書き込み、
他の書籍目録データーと比較して、項目のない場所には「−」を入れて置けば良いわけです。
Excel入力では、列項目単位でのコピーなどマウス操作で簡単に出来ますから、面倒は無いはずです。
Accessではこれが出来ないので、多少面倒になります。それ故データ入力をExcelで行うことを薦めている訳です。

the古書