「プログラマのためのSQL」第1章 データベースの設計 1.1.1スキーマ
「プログラマのためのSQL」
第1章 データベースの設計
1.1 スキーマとテーブルの作成
1.1.1 スキーマ
の解説です。
最初の節ではスキーマの説明です。
ここでは、ファイルとテーブルの違いについての説明がされています。
以下引用すると、
「ファイルシステムやPCになれたプログラマがよく犯す2つの概念的な誤りがあります。
最初の誤りはテーブルをファイルと考えてしまうことです。
2番目の誤りはテーブルをスプレットシートと考えてしまうことです。
テーブルはこのどちらとも異なった振る舞いをします。
もし、このことをまだご存知でなければ、ちょっと驚くかもしれません。」
ちょっと驚きましたか?(藁
ここでいうファイルは具体的に「順編成ファイル」のことです。
順編成ファイル。皆様知ってますか?
多分、今の若い人は知らないでしょう、、、、
ホスト(COBOL)の開発ではデータベースも使用しますが、
順編成ファイルのほうが業務アプリケーションでは多く使われます。
とはいっても、perlかなにかのファイルアクセスと同じだと思ってもらってよいです。
ファイルを開いて、上から順次レコードを取得していくというイメージです。
対して、テーブルは「集合」だといっています。
そして集合に対して操作を行うと全ての要素に対して一度に作用します。
例えば、ファイルの場合は、必要なデータを取り出すのに、正規表現を使うにせよ、1レコード毎に条件に一致しているかどうかを判断しているのに対し、
テーブルでselectした場合は一度に「部分集合」が取得される、と解釈できます。
ま、イメージの話ですね。。。
ちなみにテーブルは行(row)、ファイルはレコード、と言葉も意識して使用されています。
- ジョー セルコ, Joe Celko, 秋田 昌幸
- プログラマのためのSQL 第2版