[前][次][番号順一覧][スレッド一覧]

mysql:11297

From: "zen kishimoto" <"zen kishimoto" <zen@xxxxxxxxxx>>
Date: Thu, 31 Mar 2005 11:25:05 -0800
Subject: [mysql 11297] MySQL 5.0 の新しい機能: View



http://dev.mysql.com/tech-resources/articles/mysql-views.html

MySQL 5.0 の新しい機能: View

Trudy Pelzer著

初めに

この記事は第五版での新機能を知りたいMySQLユーザのため
のものです。簡単に言えば「stored procedure, trigger, viewと
インフォーメーションスキーマ」です。もっとも詳しく言えば
MySQL 5.0 新機能シリーズに述べられているものです。
これはこのシリーズの3番目のものです。

コンベンションとスタイル

実際のコード、例えばmysqlのクライアント・プログラム
のスクリーンから直接取り出す場合は違うフォントで示します。
(注:テキストでは示せません。)

例:

mysql> DROP VIEW v CASCADE;
Query OK, 0 rows affected (0.00 sec)

例が大きくてある特定の場所に注目したいとき
は、ハイライトしたりページの右に小さな矢印を
示します。

例:

mysql> CREATE VIEW v AS
    -> SELECT column1 AS c /* view col name is c */
    -> FROM table1;
Query OK, 0 rows affected (0.01 sec)

時々、mysql> と -> promptsを省略してあります。これはこの部分を
切り取って、あなたのプログラムにペーストできるようにです。

この記事の全ての例はSUSE Linux(version 9.1)上で
MySQL 5.0.3のアルファ版を使ってテストしてあります。これを
読まれる時には版の番号は変わっているかも知れません。
また違うOSをサポートしているかも知れません。
それで多分全ての例をあなたのコンピュータ上で実行できる
と思います。

定義と例

テーブルとは1つまたそれ以上の列とゼロかそれ以上
の行からなっています。

  +---------------+---------------+-------+
  | column name   | column name   | ...   |
  +---------------+---------------+-------+
  | column value  | column value  | ...   |
  | ...           | ...           | ...   |
  +---------------+---------------+-------+

MySQLとMyISAM ストレッジ・エンジンではテーブルのコンテンツ
(列の値)は2つのファイルに収納されて(.MYD と.MYI データ
とインデクス・ファイル)ディスクに格納されます。
このタイプのテーブルはベース・テーブルです。なぜベース
と呼ばれるかというと、これは基本的、基礎的でストラクチャ
の根底だからです。ベーステーブルの次の段階はderivedテーブルで
これは列の値がベース・テーブル、literalまたはCURRENT_TIME
のような環境変数から来ます。 derivedテーブルをSQLで生成します。
これは "FROM table1, table2"または"GROUP BY x" または単に
"SELECT ..."のコマンドで出来ます。 テーブルを指定すると
これら全てのオペレーション使うと他のテーブルを生成します。
SELECTが生成するテーブルは結果セットです。名前はありません。
結果セットに名前をつけてその名前を格納すると
(この定義に関連したデータと共に、例えばメタデータ)、
viewつきのテーブルができます。省略してviewと呼びます。

それで:

Viewはデータベースの永続的な定義の部分に名前がついている
derived テーブルです。

viewを形成するにはCREATE VIEWというコマンドにViewの名前
を加えます。それにViewを定義するSELECTを追加します。
例は

mysql> CREATE VIEW v AS SELECT column1 FROM t;
Query OK, 0 rows affected (0.01 sec)

常にviewからSELECTできます。viewにはアップデートできる
ものもあります。ViewにはINSERTやDELETEが出来ます。
アップデートできるviewは「挿入可能」つまりviewにINSERTできます。

例は

mysql> INSERT INTO v VALUES (1);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM v;
+---------+
| column1 |
+---------+
|       1 |
+---------+
1 row in set (0.00 sec)

続き

全部の記事は長いので、PDFにしました。残りは
http://dev.mysql.com/tech-resources/articles/mysql-views.pdf
(登録は必要ありませんが、翻訳版はありません。)


---------------------
Zen Kishimoto                            www.ipdevices.com
IP Devices, Inc.                           zen@xxxxxxxxxx
2175 De La Cruz Blvd., Suite 10    (408) 567-9391
Santa Clara, CA 95050                (801) 720-8847 (FAX)



[前][次][番号順一覧][スレッド一覧]