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コマンドを具体的に使用してみることにする。
関連ポスト:
- MySQLを学習(3):INSERT文を用いたData入力フォーム作成
- MySQLを学習(2):DataBaseとTableの作成
- アマゾンAPIを活用した蔵書管理システム(3)
- 蔵書管理システムを作成してみた
- アマゾンAPIを活用した蔵書管理システム(4)
- アマゾンAPIを活用した蔵書管理システム(1)
- 還暦から始める動的Webサイト構築:はじめに
- 還暦から始める動的Webサイト構築:PHPを学習(1)
- 還暦から始める動的Webサイト構築:PHPを学習(2)
- 還暦から始める動的Webサイト構築:PHPを学習(3)
2 Trackback(s)