1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Hệ Quản Trị CSDL docx

89 1,1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 2,74 MB

Nội dung

 Trigger loại stored-proc đặc biệt, tự động thực thi kiện diễn sở liệu server  Trigger định nghĩa bảng hay view cụ thể  Trigger thường dùng cần đảm bảo tính tồn vẹn liệu phức tạp mà ràng buộc khác Check, Assertion khó đạt được, với vượt trội tính đắn cao Check linh hoạt nhiều Assertion  DML Trigger : thực thi liệu bị thay đổi kiện DML thông qua câu lệnh TSQL INSERT, UPDATE, DELETE bảng hay view Thường sử dụng thực tiễn để thực quy định… › Ví dụ: Trigger xuất thơng báo có hóa đơn lập…  DDL Trigger : thực thi có kiện DDL xảy sở liệu hay server, gây câu lệnh T-SQL CREATE, ALTER, DROP hay số stored-proc hệ thống Thường sử dụng thực tiễn để kiểm tra, quản lý thao tác phép lên đối tượng hệ thống › Ví dụ: Trigger ngăn khơng cho phép DROP table hệ thống…  Logon Trigger : thực thi session user thiết lập, xác thực, gọi kiện LOGON › Ví dụ: Trigger giới hạn số session LoginID, lúc đăng nhập vào hệ thống Nếu vượt số này, đăng nhập sau bị từ chối…  SQL Server thiết lập bảng tạm ảo lúc DML Trigger thực thi, Inserted Deleted  Các bảng chứa dòng thêm vào (Inserted) bị xóa (Deleted) bảng trigger, lúc trigger khởi chạy Các bảng có cấu trúc bảng trigger Câu lệnh DML Bảng tạm ảo Inserted Bảng tạm ảo Deleted Insert Các dòng thêm vào Không tồn Update Dữ liệu cũ trước cập nhật Dữ liệu sau cập nhật Delete Khơng tồn Các dịng bị xóa  Thực thi liệu bị thay đổi kiện DML thông qua câu lệnh T-SQL INSERT, UPDATE, DELETE bảng hay view  Có thể gọi sau kiện hoàn tất thay kiện hành động khác  Các trigger DML chạy có sử dụng bảng tạm ảo Inserted Deleted (đã đề cập) Tùy chọn WITH SCHEMABINDING  Table – Valued Function (Hàm nội tuyến):  Inline Function:  Để biết có inline Function -> review số kiến thức View – khung nhìn  View xem bảng ảo với liệu tạo tập hàng hay cột từ hay nhiều bảng khác Điểm khác biệt view bảng (table) view nhìn khơng xem cấu trúc lưu trữ liệu tồn sở liệu Nội dung view xác định thông qua câu lệnh SELECT với cú pháp sau: CREATE VIEW tên_khung_nhìn[(danh_sách_tên_cột)] AS câu_lệnh_SELECT  View có ưu điểm: › Giảm độ phức tạp liệu -> dễ dàng thu liệu mong muốn › Cung cấp chế đảm bảo an toàn liệu › Truy xuất liệu nhanh, gọn so với bảng gốc -> hiệu thực thi  Tuy nhiên, cần phải sử dụng tham số View (chẳng hạn tham số mệnh đề WHERE câu lệnh SELECT) ta lại khơng thể thực Điều phần làm giảm tính linh hoạt việc sử dụng View Ví dụ : Xét khung nhìn định nghĩa sau: Với khung nhìn trên, thơng qua câu lệnh: Ta biết thơng tin khách hàng KH1001 cách dễ dàng thông qua khung nhìn để biết danh sách khách hàng khác khơng thể sử dụng điều kiện có dạng MaKH = @thamso mệnh đề WHERE câu lệnh SELECT  Nhược điểm khung nhìn khắc phục cách sử dụng hàm với giá trị trả dạng bảng gọi hàm nội tuyến (inline function) Việc sử dụng hàm loại cung cấp khả khung nhìn cho phép sử dụng tham số nhờ tính linh hoạt cao › Cú pháp: CREATE FUNCTION [tên_người_sở_hữu] tên_function ([danh_sách_tham_số]) RETURNS TABLE [WITH SCHEMABINDING|ENCRYPTION, SCHEMABINDING, ENCRYPTION] AS RETURN (câu_lệnh_select)  Cú pháp hàm phải tuân theo qui tắc sau: › Kiểu trả hàm phải định mệnh đề RETURNS TABLE › Trong phần thân hàm có câu lệnh RETURN xác định giá trị trả hàm thông qua câu lệnh SELECT Ngồi ra, khơng sử dụng câu lệnh khác phần thân hàm › Thực thi:  Do không trả giá trị kiểu liệu Scalar Function mà thay vào liệu dạng bảng nên Table – Valued Function (cả Inline multi-statement function) thực thi theo cú pháp sau: SELECT * FROM tên_hàm (giá_trị_tham_số_truyền cho hàm) Ví dụ : Table – Value Function (Hàm nội tuyến)(tt):  Multi-stament function: CREATE FUNCTION [tên_người_sở_hữu] tên_function ([danh_sách_tham_số]) RETURNS @biến_bảng TABLE ( cột_1 kiểu_dữ _liệu [loại_ràng buộc] cột_2 kiểu_dữ _liệu [loại_ràng buộc] ) [WITH SCHEMABINDING |ENCRYPTION | WITH SCHEMABINDING,ENCRYPTION ] AS BEGIN các_câu_lệnh_trong_thân_hàm RETURN END Khi định nghĩa multi-statement function cần lưu ý số điểm sau:  Cấu trúc bảng trả hàm xác định dựa vào định nghĩa bảng mệnh đề RETURNS Biến @biến_bảng mệnh đề RETURNS có phạm vi sử dụng hàm sử dụng tên bảng  Câu lệnh RETURN thân hàm không định giá trị trả Giá trị trả hàm dịng liệu bảng có tên @biếnbảng định nghĩa mệnh đề RETURNS  loại_ràng_buộc: hỗ trợ PRIMARY KEY, UNIQUE, NULL CHECK Ví dụ : Ta định nghĩa hàm func_TongsoSAmua sau:  Thay đổi xoá bỏ Function: Tương tự Stored Proced: › Thay đổi Function – ALTER ALTER FUNCTION tên_function (danh_sách_tham_số) … // nội dung thân hàm tuỳ thuộc loại function › Thay đổi Function - DROP DROP FUNCTION tên_function THẢO LUẬN ... kiện DDL xảy sở liệu hay server, gây câu lệnh T-SQL CREATE, ALTER, DROP hay số stored-proc hệ thống Thường sử dụng thực tiễn để kiểm tra, quản lý thao tác phép lên đối tượng hệ thống › Ví dụ:... tạo CREATE TRIGGER  Cú pháp: Cursor thành phần sở liệu (CSDL) sử dụng để truy xuất liệu theo hàng Với cursor, ta chọn record tập hợp dòng liệu cách di chuyển vị trí cursor bảng Nếu giải thích... KH1007 có tiền nợ :  Thực thi liệu bị thay đổi kiện DDL thông qua câu lệnh T-SQL CREATE, ALTER, DROP, GRANT, DENY, REVOKE, hay UPDATE STATISTICS sở liệu hay tồn hệ thống, khơng phụ thuộc schema

Ngày đăng: 17/02/2014, 02:20

HÌNH ẢNH LIÊN QUAN

Câu lệnh DML Bảng tạm ảo Inserted Bảng tạm ảo Deleted - Tài liệu Hệ Quản Trị CSDL docx
u lệnh DML Bảng tạm ảo Inserted Bảng tạm ảo Deleted (Trang 9)
› Tạo 2 trigger cùng loại Delete trên cùng bảng KhachHang: 1 trigger xem thơng tin đã bị xóa, và 1 trigger hiển thị thông báo  đã xóa. - Tài liệu Hệ Quản Trị CSDL docx
o 2 trigger cùng loại Delete trên cùng bảng KhachHang: 1 trigger xem thơng tin đã bị xóa, và 1 trigger hiển thị thông báo đã xóa (Trang 16)
› Để lưu vết khi quản lý khi INSERT vào bảng HOADON,  ta  viết  1  INSERT  Trigger  có  FOR  NOT  REPLICATION  mỗi  khi  INSERT  một  chi  tiết  hóa  đơn  thì ta thêm dịng đó vào một bảng lưu vết, giả sử là  bảng LuuVet_HoaDon - Tài liệu Hệ Quản Trị CSDL docx
l ưu vết khi quản lý khi INSERT vào bảng HOADON, ta viết 1 INSERT Trigger có FOR NOT REPLICATION mỗi khi INSERT một chi tiết hóa đơn thì ta thêm dịng đó vào một bảng lưu vết, giả sử là bảng LuuVet_HoaDon (Trang 19)
 Khi thực hiện xóa bảng Gupta của bảng master thì : - Tài liệu Hệ Quản Trị CSDL docx
hi thực hiện xóa bảng Gupta của bảng master thì : (Trang 33)
SQL cursors với SQL, điển hình là trong stored procedure  hoặc  trong  một  chuỗi  lệnh  xử  lý  từng  dòng  (a  batch  that  needs  to  do  row-by-row  processing) - Tài liệu Hệ Quản Trị CSDL docx
cursors với SQL, điển hình là trong stored procedure hoặc trong một chuỗi lệnh xử lý từng dòng (a batch that needs to do row-by-row processing) (Trang 42)
 STATIC: cursor sẽ dùng những dữ liệu được copy tạm thời từ các bảng dữ liệu. Cursor này không được phép thay đổi và những thay đổi của các bảng  dữ liệu sẽ không được phản ánh trong kết quả trả về bởi lệnh FETCH của  cursor. - Tài liệu Hệ Quản Trị CSDL docx
cursor sẽ dùng những dữ liệu được copy tạm thời từ các bảng dữ liệu. Cursor này không được phép thay đổi và những thay đổi của các bảng dữ liệu sẽ không được phản ánh trong kết quả trả về bởi lệnh FETCH của cursor (Trang 53)
Bảng Students - Tài liệu Hệ Quản Trị CSDL docx
ng Students (Trang 55)
dụng hàm với giá trị trả về dưới dạng bảng và được gọi là hàm nội tuyến  (inline  function) - Tài liệu Hệ Quản Trị CSDL docx
d ụng hàm với giá trị trả về dưới dạng bảng và được gọi là hàm nội tuyến (inline function) (Trang 79)

TỪ KHÓA LIÊN QUAN

w