tailieunhanh - Bài giảng SQL server 2005: Chương 6 - Phạm Mạnh Cương

Bài giảng "SQL server 2005 - Chương 6: View – Bảng ảo" trình bày các khái niệm về View, tạo View bằng Lệnh Create View và bằng công cụ Manage. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu. | CHƯƠNG VI VIEW – BẢNG ẢO Giảng viên: Phạm Mạnh Cương © 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. I- Khái niệm : • View là đối tượng dùng lưu trữ một phát biểu Select. • View được xem như là một Table có cấu trúc và dữ liệu trả về bởi phát biểu Select Do đó View được dùng trong: • Mệnh đề FROM của phát biểu Select khác • Các phát biểu Insert, Update, Delete để cập nhật dữ liệu trên Table nguồn của View. II- Tạo VIEW 1. Bằng Lệnh CREATE VIEW 2. Bằng công cụ quản lý Management 1- Bằng Lệnh CREATE VIEW: Cú pháp: CREATE VIEW view_name [ () ] [WITH ENCRYPTION] AS [WITH CHECK OPTION] Ví dụ: 1. Tạo view liệt kê các mặt hàng đã ghi trên hóa đơn số 10248 gồm mã số, tên, tiền bán các mặt hàng đó. 2. Tạo View liệt kê danh sách hóa đơn đã ghi trong ngày với cấu trúc: SoHD, NgayHD, TienHD từ table HoaDon và CTHD Thay đổi dữ liệu trên Table nguồn của View CREATE VIEW vwCTHD (SoHD, MaMH, SoLuong) AS SELECT SoHD, MaMH, SL FROM CTHD Where SoHD = 10248 Go INSERT vwCTHD(SoHD, MaMH, SoLuong) VALUES(10248,1,20) INSERT vwCTHD(SoHD, MaMH, SoLuong) VALUES(10249,1,20) UPDATE vwCTHD SET SoLuong = SoLuong + 10 WHERE SoHD = 10249 DELETE vwCTHD WHERE SoHD = 10249 Hạn chế của View trong phát biểu cập nhật: • Không thể sử dụng View để cập nhật dữ liệu trên table, nếu mệnh đề Select có chứa hàm tổng hợp, chứa cột tính toán hoặc có chứa từ khóa TOP, Group By, hoặc Distinct. • Phát biểu DELETE chỉ sử dụng trên View có 1 table nguồn. • Phát biểu INSERT hay UPDATE chỉ thay đổi dữ liệu trên 1 Table của mệnh đề From. CREATE VIEW vwCTHD1 AS Select SoHD, , TenMH, SL, DGBan From MatHang Inner Join CTHD On Go Insert vwCTHD1(SoHD, MaMH, SL) Values(10248,1,20) Insert vwCTHD1(SoHD, MaMH, SL) Values(10249,1,20) WITH CHECK OPTION Ràng buộc dữ liệu cập nhật theo điều kiện Where CREATE VIEW vwCTHD2 (SoHD, MaMH, SoLuong) AS SELECT SoHD, MaMH, SL FROM CTHD WHERE SoHD = 10248 WITH CHECK OPTION Go UPDATE vwCTHD2 SET SoLuong = SoLuong + 10 INSERT vwCTHD2(SoHD,MaMH,SoLuong) VALUES(10248,1,20) INSERT vwCTHD2(SoHD,MaMH,SoLuong) VALUES(10249,1,20) Error : The attempted insert or update failed because the target view either specifies WITH CHECK OPTION or spans a view that specifies WITH CHECK OPTION and one or more rows resulting from the operation did not qualify under the CHECK OPTION constraint. 2- Bằng công cụ Manage • Click phải mục Views trên khung trái và chọn New View • Click nút Add Table để chọn bảng nguồn • Chọn Field và khai báo thuộc tính cho các Field • Click nút Execute SQL để thực hiện truy vấn • Click nút Save để lưu và đặt tên View Màn hình thiết kế CẢM ƠN