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コマンドを具体的に使用してみることにする。


  1. 2 Trackback(s)

  2. Nov 19, 2008: アマゾンAPIを活用した蔵書管理システム(3) | Yama's Memorandum
  3. Oct 28, 2011: 自宅サーバー構築・覚書きリスト | Yama's Memorandum

Post a Comment