Phần 1 bài giảng Hệ quản trị cơ sở dữ liệu: Các đối tượng trong SQL Server cung cấp cho người học các kiến thức: Khái niệm khung nhìn, ưu điểm khung nhìn, nhược điểm của khung nhìn, nguyên tắc khi tạo khung nhìn,... Mời các bạn cùng tham khảo nội dung chi tiết.
Các đối tượng SQL Server L Ạ I HI Ề N P HƯƠ NG BỘ M ÔN HT T T – K H OA CN T T E M A I L: L HP HUON G@TLU.EDU.VN LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Nội dung View Chỉ mục Trigger Transaction Lock LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Khung nhìn - View LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Khái niệm khung nhìn (View) Khung nhìn (View) Là đối tượng thuộc CSDL Là bảng ảo có cấu trúc bảng: bao gồm dòng, cột Khung nhìn khơng lưu trữ liệu mà giúp quan sát liệu truy vấn từ bảng thông qua câu lệnh truy vấn liệu SELECT Người dùng áp dụng ngơn ngữ thao tác liệu View giống Table LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Ví dụ khung nhìn CSDL QLSV có bảng, cần xem điểm thi sinh viên phải truy vấn liệu từ bảng Bảng SinhVien Bảng MonHoc Bảng KETQUA LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Ví dụ khung nhìn (tiếp) Ví dụ: Tạo khung nhìn KetQuaThi lấy liệu từ bảng để quan sát liệu dễ dàng Chỉ cần quan sát liệu view KetQuaThi thay quan sát liệu từ bảng LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Ưu điểm khung nhìn Bảo mật liệu: người dùng cấp phát quyền khung nhìn với phần liệu mà người dùng phép Điều hạn chế phần việc người sử dụng truy cập trực tiếp liệu Đơn giản hóa thao tác truy vấn liệu: người sử dụng thực truy vấn liệu đơn giản từ khung nhìn thay phải đưa câu truy vấn phức tạp nhiều bảng LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Ưu điểm khung nhìn (tiếp) Tập trung đơn giản hóa liệu: khung nhìn cung cấp cho người dùng cấu trúc đơn giản, dễ hiểu liệu, đồng thời giúp người dùng tập trung liệu cần thiết Độc lập liệu: khung nhìn cung cấp cho người sử dụng nhìn liệu độc lập với cấu trúc bảng CSDL Các bảng bị thay đổi phần cấu trúc không ảnh hưởng đến khung nhìn LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Nhược điểm khung nhìn Thơng qua khung nhìn thực thao tác bổ sung cập nhật liệu cho bảng sở hạn chế với khung nhìn đơn giản Nếu khung nhìn định nghĩa truy vấn phức tạp thời gian thực truy vấn khung nhìn lớn LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Tạo khung nhìn Nội dung khung nhìn định nghĩa thông qua câu lệnh truy vấn SELECT Cú pháp: CREATE VIEW tên_khung_nhìn [danh sách tên cột] AS Câu_lệnh_SELECT LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 10 Sử dụng khung nhìn Khung nhìn sau tạo sử dụng để truy vấn với bảng thơng thường Ví dụ: LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 15 Sử dụng khung nhìn (tiếp) Ví dụ: sử dụng khung nhìn KetQuaThi để hiển thị thơng tin điểm thi môn Hệ Quản trị CSDL bao gồm MaSV, HoTen, Diem Để hiển thị thông tin với truy vấn bảng: LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 16 Phân loại khung nhìn Khung nhìn đọc (Read only view): View dùng để xem, truy vấn liệu với câu lệnh SELECT Khung nhìn cập nhật (Updatable view): Dùng để xem, truy vấn liệu (SELECT) Có thể tiến hành thực thao tác cập nhật (UPDATE), bổ sung (INSERT) xóa (DELETE) liệu bảng sở thông qua View LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 17 Cập nhật, bổ sung, xóa liệu thơng qua khung nhìn Để thực thao tác bổ sung, cập nhật xóa liệu, câu lệnh SELECT tạo view phải thỏa mãn: Các thành phần danh sách chọn câu lệnh SELECT phải cột bảng sở Không chứa từ khóa DISTINCT, TOP Khơng chứa mệnh đề GROUP BY HAVING Khơng chứa tốn tử UNION Không chứa hàm kết tập (aggregate function) Khơng chứa biểu thức tính tốn Nếu câu lệnh tạo view vi phạm số điều kiện trên, view tạo view đọc LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 18 Thêm liệu qua khung nhìn Có khung nhìn ViewSinhVien(MaSV, HoTen, Tuoi) tạo, thực thêm sinh viên thông qua khung nhìn Bản ghi tương ứng thêm vào bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 19 Cập nhật liệu qua khung nhìn Có thể sửa liệu thơng qua khung nhìn, ví dụ: Bản ghi tương ứng cập nhật bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 20 Xóa liệu qua khung nhìn Có thể xóa liệu thơng qua khung nhìn, ví dụ: Bản ghi tương ứng xóa khỏi bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 21 Xóa liệu qua khung nhìn Có thể xóa liệu thơng qua khung nhìn, ví dụ: Bản ghi tương ứng xóa khỏi bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 22 Cập nhật, bổ sung, xóa liệu thơng qua khung nhìn (tiếp) Trong trường hợp khung nhìn tạo từ phép nối (JOIN) nhiều bảng: Có thể thực thao tác bổ sung (INSERT) cập nhật (UPDATE) liệu thao tác tác động đến bảng Không thể thực câu lệnh DELETE trường hợp LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 23 Cập nhật, bổ sung, xóa liệu thơng qua khung nhìn (tiếp) Ví dụ: khung nhìn KetQuaThi(MaSV, Hoten, MaMon, TenMon, Diem) tạo từ bảng SinhVien, MonHoc KETQUA Câu lệnh sau thêm ghi vào bảng SinhVien Câu lệnh sau thêm ghi vào bảng MonHoc Câu lệnh sau không thực tác động đến nhiều bảng sở LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 24 Sửa đổi khung nhìn Câu lệnh ALTER VIEW sử dụng để định nghĩa lại khung nhìn có khơng làm thay đổi quyền cấp phát cho người sử dụng trước Cú pháp: ALTER VIEW tên_khung_nhìn [danh sách tên cột] AS Câu_lệnh_SELECT LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 25 Sửa đổi khung nhìn (tiếp) Ví dụ: khung nhìn ViewSinhVien Có thể sửa lại sau: LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 26 Xóa khung nhìn Cú pháp: DROP VIEW tên_khung_nhìn Ví dụ: DROP VIEW ViewSinhVien Khi khung nhìn bị xóa toàn quyền cấp phát cho người sử dụng khung nhìn đồng thời bị xóa Do đó, ta tạo lại khung nhìn phải tiến hành cấp phát lại quyền cho người sử dụng LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 27 Bài tập: Tạo số view từ CSDL sau LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 28 Bài tập Bài 1: tạo view_MatHang(MaHang, TenHang, MaCongTy, TenCongTyCungCap, MaLoaiHang, TenLoaiHang, SoLuong, DonViTinh, GiaHang) Bài 2: Tạo view View_DonDatHang(SoHoaDon, MaKhachHang, TenCongTyKhachHang, HoVaTenNhanVien, NgayDatHang, NgayGiaoHang, NgayChuyenHang, NoiGiaoHang, MaHang, TenHang, SoLuong, GiaBan, MucGiamGia) Thử xem cập nhật, thêm, sửa, xóa liệu qua view tạo không LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 29 ... Trigger Transaction Lock LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Khung nhìn - View LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL Khái niệm khung nhìn (View) Khung nhìn (View) Là đối tượng thuộc CSDL Là bảng... SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 19 Cập nhật liệu qua khung nhìn Có thể sửa liệu thơng qua khung nhìn, ví dụ: Bản ghi tương ứng cập nhật bảng SinhVien LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL... Do đó, ta tạo lại khung nhìn phải tiến hành cấp phát lại quyền cho người sử dụng LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 27 Bài tập: Tạo số view từ CSDL sau LẠI HIỀN PHƯƠNG - HỆ QUẢN TRỊ CSDL 28 Bài