これについて mysql で初めて聞いたときにこの用語をグーグルで検索しましたが (サキラのサンプル mysql db にはそれがあります)、検索結果は実際には役に立ちません。とにかく、それは正確には何であり、それを使用することの長所と短所とともにそれを説明するチュートリアルはありますか?
質問する
150 次
1 に答える
3
ビューは名前付きの保存されたクエリであり、テーブルであるかのように他のクエリで使用できます。
ビューは、テーブル内の行のサブセットを表示する場合があります。
CREATE VIEW v1 AS
SELECT Column1, Column2, ..., ColumnN
FROM AnotherTable WHERE SomeColumn = 234;
ビューは、テーブル内の列のサブセットを表示する場合があります。
CREATE VIEW v2 AS
SELECT Column2, Column3, Column5, Column7
FROM AnotherTable;
結合などを使用して、より複雑なクエリを実行することもできます。
CREATE VIEW OrderInfo AS
SELECT o.order_num, c.customer_num, c.customer_name,
o.order_date, o.invoice_num, i.product_code, p.product_name
FROM Orders AS o
JOIN Customers AS c ON c.customer_num = o.customer_num
JOIN OrderItems AS i ON i.order_num = o.order_num
JOIN Products AS p ON p.product_code = i.product_code
次に、ユーザーは次のようなクエリを作成できます。
SELECT *
FROM OrderInfo
WHERE Order_Date BETWEEN DATE '2012-01-01' AND DATE '2012-01-31'
AND Product_Code LIKE "%23491%";
すべてのテーブルを結合する方法を知る必要はありません。
ビューを使用してデータへのアクセスを制御することもできます。ビュー定義者の権限により、ユーザーは、他の方法では禁止されているテーブルにアクセスできる場合があります。データベースのスキーマを変更した後、ビューを使用して下位互換性を提供することもできます。新しいスキーマのテーブルの名前と定義を変更しますが、変更されていないプログラムがスキーマが変更されていないかのようにデータベースを読み取り続けることを可能にするビューを残します。
一部のビューは更新できます。他の人はできません。どちらができるか、どれができないかは、DBMSによって異なります。
于 2012-04-07T04:35:20.673 に答える