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

89 1.1K 1
Tài liệu Hệ Quản Trị CSDL docx

Đ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

 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 Xem tại trang 9 của tài liệu.
› 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 Xem tại trang 16 của tài liệu.
› Để 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 Xem tại trang 19 của tài liệu.
 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ì : Xem tại trang 33 của tài liệu.
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) Xem tại trang 42 của tài liệu.
 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 Xem tại trang 53 của tài liệu.
Bảng Students - Tài liệu Hệ Quản Trị CSDL docx

ng.

Students Xem tại trang 55 của tài liệu.
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) Xem tại trang 79 của tài liệu.

Từ khóa liên quan

Mục lục

  • PowerPoint Presentation

  • Mục lục

  • Slide 3

  • Ý nghĩa:

  • Phân loại:

  • Phân loại (tt):

  • Slide 7

  • Bảng tạm ảo : Inserted và Deleted

  • Slide 9

  • DML Trigger

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

  • Slide 20

Tài liệu cùng người dùng

Tài liệu liên quan