ホームページ >データベース >mysql チュートリアル >mysqlビュー用のスペースはありますか?

mysqlビュー用のスペースはありますか?

青灯夜游
青灯夜游オリジナル
2020-10-14 16:06:592724ブラウズ

Mysql ビューにスペースがありません。 MySQL ビューは、データベース内に実際には存在せず、スペースを割り当てない仮想テーブルです。 MySQL データベースはビューの定義のみを保存し、ビュー内のデータは保存しません。これらのデータは、ビューを定義するクエリによって参照される実際のテーブルに保存されます。

mysqlビュー用のスペースはありますか?

(推奨チュートリアル: mysql ビデオ チュートリアル)

MySQL ビュー (View) は、実際のテーブルでは、ビューは列と行で構成されますが、ビューは実際にはデータベースに存在しません。行と列のデータは、ビューを定義するクエリで使用されるテーブルから取得され、ビューの使用時に動的に生成されます。

データベースにはビューの定義のみが保存され、ビュー内のデータは保存されません。これらのデータは、ビューを定義するクエリによって参照される実際のテーブルに保存されます。ビューを使用してデータをクエリすると、データベースは実際のテーブルから対応するデータを取得します。したがって、ビュー内のデータは実際のテーブル内のデータに依存します。実際のテーブルのデータが変更されると、ビューに表示されるデータも変更されます。

ビューでは、元のテーブルからユーザーにとって有益な情報を選択できます。ユーザーにとって有益ではない情報やユーザーが知る権限を持たない情報は、フィルタリングと同様に直接ブロックできます。 。これにより、アプリケーションが簡素化されるだけでなく、システムのセキュリティも確保されます。

たとえば、次のデータベースには会社の部門テーブル部門があります。テーブルには、部門番号(d_id)、部門名(d_name)、機能(function)、オフィスの住所(address)が含まれます。部門テーブルの構造は次のとおりです。

mysql> DESC department;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| d_id     | int(4)      | NO   | PRI | NULL    |       |
| d_name   | varchar(20) | NO   | UNI    | NULL    |       |
| function | varchar(50) | YES  |     | NULL    |       |
| address  | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

従業員テーブル worker もあります。テーブルには、従業員の役職番号 (num)、部門番号 (d_id)、名前 (name)、性別 (sex)、生年月日 (birthday)、自宅住所 (homeaddress) が含まれます。従業員テーブルの構造は以下のとおりです:

mysql> DESC worker;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| num         | int(10)     | NO   | PRI | NULL    |       |
| d_id        | int(4)      | YES  |MUL     | NULL    |       |
| name        | varchar(20) | NO   |     | NULL    |       |
| sex         | varchar(4)  | NO   |     | NULL    |       |
| birthday    | datetime    | YES  |     | NULL    |       |
| homeaddress | varchar(50) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)

各部門のリーダーの権限範囲が異なるため、各部門のリーダーはその部門の従業員情報のみを参照でき、またリーダーはその部門の従業員情報を参照できないこともあります。従業員の誕生日と自宅の住所に注意してください。この目的を達成するために、各部門のリーダーに対して、その部門の従業員の指定された情報のみを閲覧できるビューを設定することができます。

たとえば、製造部門用に product _view という名前のビューを作成します。ビュー product_view を通じて、生産部門のリーダーは、生産部門の従業員の役職番号、名前、性別、その他の情報のみを確認できます。これらの部門テーブルと従業員テーブルの情報はそれぞれのテーブルにまだ存在しており、ビュー product_view にはデータ情報は保存されません。部門テーブルと従業員テーブルの情報が変更されると、それに応じてビュー product_view に表示される情報も変更されます。

ヒント: 複数のテーブルから指定したフィールドのデータを頻繁にクエリする必要がある場合は、これらのテーブルにビューを作成し、このビューを通じてこれらのフィールドのデータを表示できます。

MySQL ビューは入力パラメータの機能をサポートしていないため、依然として対話性が不足しています。ただし、あまり変更のない操作の場合は、ビューを使用することでユーザーの操作を大幅に簡素化できます。

ビューはデータ テーブルと変わりません。それらの違いは次の点にあります:

  • ビューはデータベース内の実際のテーブルではありませんが、 a 仮想テーブル。その構造とデータは、データ内の実際のテーブルのクエリに基づいています。

  • データベースに保存されているクエリ操作 SQL ステートメントは、ビューのコンテンツを定義します。列データと行データは、ビュー クエリによって参照される実際のテーブルから取得されます。これらのデータは動的に生成されますビューが参照されるとき。

  • ビューには実際の物理レコードがなく、データ セットの形式でデータベースに保存されません。対応するデータは実際には、ビューによって参照される実際のテーブルに保存されます。

  • ビューはデータのウィンドウであり、テーブルはコンテンツです。テーブルは実際のデータのストレージ ユニットですが、ビューはさまざまな表示方法でデータを表示するだけであり、そのデータ ソースは依然として実際のテーブルです。

  • View は、データ テーブルを表示する方法です。データ テーブル内の特定のフィールドで構成されるデータをクエリできます。これは単なる SQL ステートメントのコレクションです。セキュリティの観点から見ると、ビューのデータ セキュリティはより高く、ビューを使用するユーザーはデータ テーブルに触れず、テーブル構造を知りません。

  • ビューの作成と削除はビュー自体にのみ影響し、対応する基本テーブルには影響しません。

以上がmysqlビュー用のスペースはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。