【WEB運用ナレッジ】データベースとは
プログラマのKです。
本日は、「データベース」について話をさせていただきます。
データベース(database)略してDBとも呼びます。
広い意味では何らかのデータを集めたものがデータベースです。
会社の社員名簿も学生の授業ノートもホームページ(HP)を構成している文書もみなデータベースですが、ノートとか書類とか、紙の上で保持されているものはデータベースと呼ぶ事は少ないです。
コンピュータ上で保持されているデータでも、エディタで読み書き出来るテキストファイルもデータベースとは呼びません。
表計算ソフトになると「この表の中でこういう条件に当てはまるものを、どこそこに入れなさい。」ということができるので、かなりデータベース的な操作が可能なのですが、表計算ソフトもデータベースとは呼びません。
多くの場合、リレーショナルデータベース(relational database)RDBをデータベースと呼びます。
リレーショナルといっても運動会で行われるリレー競技ではなく、リレーション「関係」の意味で、「関係モデル」に基づくデータベースがRDBです。
「関係」という言葉は、数学の「関係モデル」からきていますので、とりあえず「指定された条件に合致するデータを、こういう順番で表示してください。」という指示を受け、その指示に従ってデータを返すことができるのがリレーショナルデータベースシステムと思ってください。
RDBの基本は「表(table)」です。
表を構成するRDBの最少単位が「レコード(record)」で表の各行に相当します。
各行は二つ以上の項目から構成されますが、列方向の項目の名前が「属性」です。
表計算ソフトでいうと、いちばん上の行に書かれているのが属性名で、二行目以降に書いてある内容が属性値です。
表計算ソフトではデータは、ユーザが直接入力し、直接読取りますが、データベースでは、データベースクライアントから「こういう条件のレコードの属性値を、こんな順番で表示してください」とか「このレコードをこのテーブルに追加・削除してください」とか「このレコードのこの属性をこういう内容に書きなおしてください」というリクエストが出され、リクエストを受けたデータベースサーバーがリクエストに対応した操作を行います。
データベースシステムでは、サーバーとクライアント間でメッセージのやり取り・通信を行いますが、コンピュータの世界で通信を行うにはプロトコル・約束事が必須です。
データベースサーバーとデータベースクライアントと通信のプロトコルをひっくるめてリレーショナルデータベース・マネジメント・システム(relational database management system)RDBMSと呼びます。
「標準SQL規格」は、このRDBMSの規格の代表的なものです。
プログラマの間ではSQL規格に則ったリクエストを出すことを「SQLを発行する」といったりもします。
昔は、COBOLというプログラム言語で書いたプログラム中から、SQLを発行して、データベースを操作していたのですが、今はHPからSQLを発行することも可能です。
HP上から在庫確認や受発注などデータベースを扱う場合、データベースを適切に設計・構築する必要があります。
「関係モデル」は、数学的モデルであることから類推していただけると助かるのですが、データベースの設計には、RDBについての専門性が要求されます。
厳密な意味で、数学的モデルにもとづいて設計する必要があります。
しかも、SQLは、昔々、コンピュータの性能が非常に低かった時代に原型がつくられた影響か、SQLの記述方法には、コンピュータにとって解釈しやすい記述方法、逆にいえば自然言語からかけ離れた、人間にとっては解釈困難な面があります。
SQL自体は使用実績のある「枯れた」データベースシステムですので、設計さえきちんとクリアすれば、信頼性の高いHPを含めたデータベースシステム構築が可能です。
当社では、より、企業様に寄り添うかたちでのIT技術の提供を行わせていただけるよう、高い専門性を持って、データベースに対応したHP構築についてのご相談も承っております。
(K)