4 Ngôn ngữ định nghĩa dữ liệu – DDL
4.5 Khung nhì n VIEW
Khung nhìn là một bảng tạm thời, có cấu trúc nh ư một bảng, khung nhìn không lưu trữ dữ liệu mà nó được tạo ra khi sử dụng, khung nhìn làđối tượng thuộc CSDL.
Khung nhìn được tạo ra từ câu lệnh truy vấn dữ liệu (lệnh SELECT), truy vấn từ một hoặc nhiều bảng dữ liệu.
Khung nhìn được sử dụng khai thác dữ liệu nh ư một bảng dữ liệu, chia sẻ nhiều ng ười dùng, an toàn trong khai thác, không ảnh hưởng dữ liệu gốc.
Như vậy, một khung nhìn trông giống như một bảng với một tên khung nhìn và là một tập bao gồm các dòng và các cột. Điểm khác biệt giữa khung nhìn và bảng là khung nhìn không được xem là một cấu trúc lưu trữ dữ liệu tồn tại trong c ơ sở dữ liệu. Thực chất dữ liệu quan sát được trong khung nhìnđược lấy từ các bảng thông qua câu lệnh truy vấn dữ liệu.
Câu lệnh CREATE VIEW đ ược sử dụng để tạo ra khung nhìn và có cú pháp như sau:
CREATE VIEW tên_khung_nhìn[(danh_sách_tên_cột)] AS
câu_lệnh_SELECT
Ví dụ:
create view CUSTOMERINFO as
select CUSTOMERNAME, (year(getdate()) - year(BIRTHDAY)) as AGE, ADDRESS from customers
Thực hiện câu truy vấn trên khung nhìn vừa tạo ra:
select * from customerinfo
Nếu trong câu lệnh CREATE VIEW, ta không chỉ định danh sách các t ên cột cho khung nhìn, tên các cột trong khung nhìn sẽ chính là tiêu đề các cột trong kết quả của câu lệnh SELECT. Trong trường hợp tên các cột của khung nhìn đươc chỉ định, chúng phải có cùng số lượng với số lượng cột trong kết quả của câu truy vấn.
Ví dụ:
create view CUSTOMERINFO (CUSTOMERNAME, AGE, ADDRESS) as
select CUSTOMERNAME, year(getdate()) - year(BIRTHDAY), ADDRESS from customers
Lưu ý:
Trong kết quả của câu lệnh SELECT có ít nhất một cột đ ược sinh ra bởi một biểu thức (tức là không phải là một tên cột trong bảng cơ sở) và cột đó không được đặt tiêu đề.
Tồn tại hai cột trong kết quả của câu lệnh SELECT có c ùng tiêu đề cột.