Khung nhìn.

Một phần của tài liệu Tài liệu Chương 4. Ngôn ngữ cơ sở dữ liệu pdf (Trang 36 - 37)

Một khung nhìn (view) có thể được xem như là một bảng “ảo” trong cơ sở dữ liệu có nội dung được định nghĩa thông qua một truy vấn (câu lệnh SELECT). 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.

Việc sử dụng khung nhìn trong cơ sở dữ liệu đem lại các lợi ích sau đây: • Bảo mật dữ liệu: Người sử dụng được cấp phát quyền trên các khung nhìn

với những phần dữ liệu mà người sử dụng được phép. Điều này hạn chế được phần nào việc người sử dụng truy cập trực tiếp dữ liệu.

• Đơn giản hoá các thao tác truy vấn dữ liệu: Một khung nhìn đóng vai trò như là một đối tượng tập hợp dữ liệu từ nhiều bảng khác nhau vào trong một “bảng”. Nhờ vào đó, người sử dụng có thể thực hiện các yêu cầu truy vấn dữ liệu một cách đơn giản từ khung nhìn thay vì phải đưa ra những câu truy vấn phức tạp.

• Tập trung và đơn giản hoà dữ liệu: Thông qua khung nhìn ta có thể cung cấp cho người sử dụng những cấu trúc đơn giản, dễ hiểu hơn về dữ liệu trong cơ sở dữ liệu đồng thời giúp cho người sử dụng tập trung hơn trên những phần dữ liệu cần thiết.

• Độc lập dữ liệu: Một khung nhìn có thể cho phép người sử dụng có được cái nhìn về dữ liệu độc lập với cấu trúc của các bảng trong cơ sở dữ liệu cho dù các bảng cơ sở có bị thay đổi phần nào về cấu trúc.

Câu lệnh CREATE VIEW như sau:

CREATE VIEW tên_khung_nhìn[(danh_sách_tên_cột)] AS câu_lệnh_SELECT

Ví dụ 4.3.10: Câu lệnh dưới đây tạo khung nhìn có tên DSSV.

CREATE VIEW dssv AS

SELECT masv,hodem, ten, datediff(YY,ngaysinh, getdate()) as tuoi, tenlop

FROM sinhvien,lop

WHERE sinhvien.malop=lop.malop Bảng DSSV có nội dung như sau:

Khi sử dụng lênh CREAT VIEW cần lưu ý một số điểm sau : - Không thể tạo chỉ mục và qui định ràng buộc cho khung nhìn. - Không dùng COMPUTE… BY

- Phải đặt tên cột với các lênh SELECT có các cột là biểu thức.

Ví dụ 4.3.11: Câu lệnh dưới đây là câu lệnh sai do cột thứ 4 không xác định

được tên cột

CREATE VIEW tuoisinhvien AS

SELECT masv,hodem,ten,DATEDIFF(YY,ngaysinh,GETDATE()) FROM sinhvien

Một phần của tài liệu Tài liệu Chương 4. Ngôn ngữ cơ sở dữ liệu pdf (Trang 36 - 37)