MySQLを学習(1):リレーショナル・データベースとは?
July 13, 2008 – 11:53 am「還暦から始める動的Webサイト構築」ということで、前回はphpのオブジェクト指向プログラムについてみた。一応、基本的な概念を理解したということで、今回から、MySQLを学習。まず、リレーショナル・データベースとは何かというところからスタートした。
リレーショナル・データベースとは?: リレーショナル・データベースとは、どのようなものか、Web上に公開されている記事を眺めてみた。このうち、ZDNet Japan builderのサイトの「データベースのイロハ」に記述されている説明が、私には、簡潔で分かり易いものと思えた。以下、抜粋する:
リレーショナル・データベースは、データを「行」と「列」の2次元の構造で格納します。この「行」と「列」を指定することにより、取り出したいデータの値を取得することができます。また、複数の表を関連付けることができるので、自由な形式でデータを取り出すことができます。そして、SQLという問いあわせ言語を利用することにより、データベースの構築や問合せが簡単になりました。
となっている。簡単に纏めると、データは、EXCELの表計算と同じ感覚で、「行」、「列」の2次元のテーブルに格納し、複数のテーブルを関連付けしながらデータが処理されることになるらしい。また、SQLという問い合わせ言語の利用により、データベースの構築・処理が容易になるという。
さらに、「トランザクション」、「排他制御」の仕組みにより、「複数のユーザーが同時に更新処理を実行した場合でも、データに矛盾がおきない」ようにすることができるようだ。この機能・仕組みにより、単一のデータベースを複数のユーザーが共有・活用することができるという。この機能、通常の表計算では期待できないものだ。
SQLにより何ができる?: データベースの構築・制御はSQLという問い合わせ言語を利用することになるらしい。「データベースのイロハ」の解説によると、SQLコマンドには、次のようなものがある:
- データ定義言語(DDL: Data Definition Language)
CREATE: テーブルを新たに作成
DROP: テーブルを消去
ALTER: テーブルの構造を変更
RENAME: テーブルの名称を変更
TRUNCATE:テーブルを空化
GRANT: アクセス権限を定義
REVOKE: アクセス権限の消去 - データ操作言語(DML: Data Manipulation Language)
SELECT: テーブルから特定のデータを選択抽出
INSERT: テーブルに、新たなデータを挿入
UPDATE: テーブル内のデータを更新
DELETE: テーブル内のデータを消去 - データ管理言語(DCL: Data Control Language)
COMMIT: トランザクション処理終了時に、変更処理を確定
ROLLBACK: 処理途中で変更処理を無効化し、
トランザクション開始時に戻す
SAVEPOINT:トランザクション内でロールバック位置を指定
要は、データベースの構築・制御のためには、上記のSQLコマンド機能について精通し、これを使いこなすスキルを身につけることが重要と考えた。なにはともあれ、簡単なデータベースを作成し、これらのSQLコマンドを具体的に使用してみることにする。
2 Trackback(s)