150 likes | 337 Views
Hệ quản trị cơ sở dữ liệu SQL Server. GV: Phan Bá Trí Email: trip182@gmail.com. Huế, 9/2011. Nội dung. 3.1 Thao tác trên bảng 3.1.1 Tạo bảng dữ liệu 3.1.2 Sửa đổi định nghĩa bảng 3.1.3 Xóa bảng 3.2 Khung nhìn 3.2.1 Tạo khung nhìn
E N D
Hệ quản trị cơ sở dữ liệu SQL Server GV: Phan Bá Trí Email: trip182@gmail.com Huế, 9/2011
Nội dung 3.1 Thao tác trên bảng 3.1.1 Tạo bảng dữ liệu 3.1.2 Sửa đổi định nghĩa bảng 3.1.3 Xóa bảng 3.2 Khung nhìn 3.2.1 Tạo khung nhìn 3.2.2 Cập nhật, bổ sung và xoá dữ liệu thông qua khung nhìn 3.2.3 Sửa đổi khung nhìn 3.2.4 Xóa khung nhìn
3.2 Khung nhìn (view) - Một khung nhìn (view) có thể được xem như là một bảng “ảo” trong cơ sở dữ liệu. - Nội dung được định nghĩa thông qua một truy vấn (câu lệnh SELECT). - Khác biệt giữa khung nhìn và bảng: 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
3.2 Khung nhìn (view) • Lợi ích của khung nhìn: • Bảo mật dữ liệu • Đơn giản hoá các thao tác truy vấn dữ liệu • Tập trung và đơn giản hoà dữ liệu • Độc lập dữ liệu
3.2 Khung nhìn (view) 3.2.1 Tạo khung nhìn CREATE VIEW tên_khung_nhìn[(danh_sách_tên_cột)] AS SELECT FROM WHERE
Ví dụ 1: CREATE VIEW dssv AS SELECT masv,hodem,ten, DATEDIFF(YY,ngaysinh,GETDATE()) AS tuoi,tenlop FROM sinhvien,lop WHERE sinhvien.malop=lop.malop
Ví dụ 2: CREATE VIEW dssv(ma,ho,ten,tuoi,lop) AS SELECT masv,hodem,ten, DATEDIFF(YY,ngaysinh,GETDATE()),tenlop FROM sinhvien,lop WHERE sinhvien.malop=lop.malop
3.2 Khung nhìn (view) 3.2.2 Sửa đổi,bổ sung,cập nhật, xóa a) Sửa đổi ALTER VIEW tên_khung_nhìn [(danh_sách_tên_cột)] AS SELECT FROM WHERE
Ví dụ: CREATE VIEW viewlop AS SELECT malop,tenlop,tenkhoa FROM lop INNER JOIN khoa ON lop.makhoa=khoa.makhoa WHERE tenkhoa='Khoa Vật lý’ và có thể định nghĩa lại khung nhìn trên bằng câu lệnh: ALTER VIEW view_lop AS SELECT malop,tenlop,hedaotao FROM lop INNER JOIN khoa ON lop.makhoa=khoa.makhoa WHERE tenkhoa='Khoa Công nghệ thông tin'
3.2 Khung nhìn (view) 3.2.2 Sửa đổi,bổ sung,cập nhật, xóa b) Bổ sung INSERT INTO tên_khung_nhìn VALUES (danh sách tham số) Ví dụ 1: Insert into BanDocTv Values (‘Khoa’, ‘12/2/89’, ‘Hoa vo co’)
Ví dụ 2: CREATE VIEW nv3 AS SELECT manv,hoten,ngaysinh, diachi,nhanvien.madv AS noilamviec, donvi.madv,tendv,dienthoai FROM nhanvien FULL OUTER JOIN donvi ON nhanvien.madv=donvi.madv Câu lệnh:FROM nhanvien FULL OUTER JOIN donvi ON nhanvien.madv=donvi.madv INSERT INTO nv3(manv,hoten,noilamviec) VALUES('NV05','Le Van E',1) bổ sung vào bảng NHANVIEN một bản ghi mới. Hoặc câu lệnh: INSERT INTO nv3(madv,tendv) VALUES(3,'P. Ke toan') bổ sung thêm vào bảng DONVI một bản ghi.
c) Cập nhật Khung nhìn nv2 được định nghĩa như sau: CREATE VIEW nv2 AS SELECT manv,hoten,YEAR(ngaysinh) AS namsinh,madv FROM nhanvien • Câu lệnh: UPDATE nv2 SET hoten='Le Thi X' WHEREmanv='NV04'
d) Xóa • Cú pháp: DROP view Tên_khung_nhìn • Câu lệnh: Câu lệnh dưới đây xoá khung nhìn VIEW_LOP ra khỏi cơ sở dữ liệu DROP VIEW view_lop