Hệ Quản Trị Cơ Sở Dữ Liệu - TRIGGER & CURSOR pdf

23 1.3K 17
Hệ Quản Trị Cơ Sở Dữ Liệu - TRIGGER & CURSOR pdf

Đ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

Hệ Quản Trị Cơ Sở Dữ Liệu TRIGGER & CURSOR Nội dung I.Trigger I.1 Khái quát trigger I.2.Làm việc với trigger I.3.Trigger kiểm tra ràng buộc liệu I.4.Trigger cập nhật giá trị tự động II.Cursor II.1.Khái niệm CurSor : II.2Thứ tự thao tác xử lý liệu CurSor : I.Trigger I.1 Khái quát trigger I.1.1Trigger gì? - Cấu trúc gần giống thủ tục nội khơng có tham số đầu vào đầu phải liên kết với bảng bảng ảo CSDL - Không thể gọi mà thực tự động sử dụng việc : tính tốn, cập nhật giá trị tự động kiểm tra liệu nhập  Khai báo sử dụng : − Kết hợp với hành động INSERT/ UPDATE/ DELETE bảng hay bảng ảo - Khi tạo ra, tham gia vào transaction khởitạobởi câu lệnh cập nhật liệu tương ứng I.1.2.Các xử lý bên trigger : - Kiểm tra ràng buộc liệu phức tạp: + Các ràng buộc mô tả phức tạp dùng constraint + Gọi ràng buộc Rollback Tran để hủy thao tác cập nhật vi phạm ràng buộc + Bảo đảm liệu toàn vẹn + Bảo đảm việc kiểm tra thử ứng dụng khơng làm hư liệu có sẵn - Tính toán, tự động cập nhật giá trị : + Bổ sung hành động cập nhật liệu để đảm bảo tính tồn vẹn liệu + Đơn giản hóa việc xây dựng ứng dụng - Chỉ định bẫy lỗi dễ hiểu: + Tăng tính thân thiện ứng dụng + Dễ dàng nhận lỗi lập trình I.1.3 Các hạn chế trigger : - Khơng tạo tham chiếu bảng tạm Không tạo hay thay đổi, xóa cấu trúc đối tượng sẵn có CSDL CREATE/ ALTER/ DROP Không gán, cấp quyền cho người dùng GRAND/ REVOKE I.1.4 Các loại trigger : - Có hai loại : AFTER(FOR)trigger : loại ngầm định, loại trigger thực lệnh bên sau thực xong kiện kích hoạt trigger INSTEAD OF trigger : loại trigger mà hoạt động kiện gọi trigger bị bỏ qua thay vào lệnh trigger thực I.1.5 Các bảng trung gian Inserted Deleted   Khi trigger thực thi theo kiện Insert Delete liệu thay đổi chuyển sang bảng Inserted Deleted, bảng tạm thời Các bảng sử dụng với lệnh trigger dùng để khôi phục lại phần liệu thay đổi (roll back) a Inserted : - Chứa liệu thêm hành động Insert/Update - Có hai loại trigger - Cấu trúc bảng giống với bảng thực cập nhật liệu b Deleted : - Chứa liệu bị xóa hành động Delete/Update - Có hai loại trigger - Cấu trúc bảng giống với bảng thực cập nhật liệu c Hành động update SQL Server - Xóa dịng liệu cũ - Thêm vào dịng liệu với thơng tin cập nhật I.1.6.Khi cần dùng Trigger ? a Kiểm tra ràng buộc liệu phức tạp Đối với ràng buộc toàn vẹn liệu đơn giản kiểm tra ràng buộc miền giá trị,kiểm tra ràng buộc thuộc tính nên dùng Constraint Đối với ràng buộc phức tạp: Vd: kiểm tra tính tồn vẹn nhiều cột dịng dùng trigger Nó cho phép ta xây dựng câu lệnh để liệu thay đổi theo ý muốn b Khi biện pháp bảo đảm tồn vẹn liệu Constraints khơng thể thỏa mãn yêu cầu ứng dụng VD: muốn kiểm tra ràng buộc kèm theo thông báo Constraints kiểm tra liệu trước Nhập vào Table, cịn Trigger kích hoạt kiện Insert, Update, Delete xảy c Khi CSDL chưa chuẩn hóa xảy liệu thừa, chứa nhiều vị trí CSDL Yêu cầu đặt thừa liệu cần cập nhật thống nơi d Khi xảy thay đổi dây chuyền liệu bảng với nhau.Dữ liệu bảng thay đổi kéo theo liệu bảng khác thay đổi theo I.2 Làm việc với trigger I.2.1.Tạo Trigger Create Trigger Ten_Trigger On Ten_Bang {[Instead of] | [For | After] } { [Insert] ,[Update] , [Delete] } AS [Declare Bien_Cuc_Bo] Các Lệnh bên I.2.2 Xóa Trigger: Drop Trigger Ten_Trigger I.2.3 Sửa nội dung Trigger: Alter Trigger Ten_Trigger On Ten_Bang For [Insert], [Update],[Delete] As [Declare bien_cuc_bo] Các lệnh bên Trong đó: - Ten_Bang: tên bảng mà trigger tạo liên kết - Instead of: Chỉ định trigger loại Instead of trigger Mỗi bảng có quyền tạo instead of trigger cho hành động cập nhật - For After: tạo trigger thông thường - Insert, Update, Delete: Hành động cập nhật liệu tác động vào bảng để kích hoạt Trigger + Khi Delete thực thi, liệu bị xoá chép vào bảng Delete Bảng Imsert lúc khơng có liệu Delete + Khi Insert thực thi, liệu thêm chép vào Inserted Inserted Bảng Deleted lúc khơng có liệu + Khi Update thực thi, liệu cũ chịu tác động câu lệnh chép vào bảng Deleted, Deleted bảng Inserted dòng sau cập nhật I.2.4 Trigger lồngnhau: - Hành động cậpnhật -> Trigger -> Cập nhật bảng khác -> Trigger bảng tương ứng - Instead of trigger khơng phát sinh lại bảng mà liên kết - Hành động cập nhật ->Instead of trigger ->gọi câu lệnh cập nhật xuống bảng -> Instead of trigger II II.1 CURSOR : Khái niệm Cursor : _ Các lệnh SQL Server làm việc nhóm nhiều mẫu tin _ Cursor cấu trúc giúp làm việc với mẫu tin thời điểm Hay cursor đối tượng dùng để chứa liệu lấy từ CSDL, giống đối tượng recordset VB II.2 Thứ tự thao tác xử lý liệu Cursor : II.2.1 Định nghĩa biến Cursor II.2.2 Mở Cursor II.2.3 Duyệt xử lý liệu Cursor II.2.4 Đóng giải phóng Cursor II.2.1 Định nghĩa biến Cursor lệnh DECLARE :  Cú pháp khai báo biến Cursor : Declare Tên_cursor Cursor [Local/Global] [Forward_only/Scroll] [Static/Dynamic/Keyset] [Read_only/Scroll_lock] For câu lệnh Select [For update [Of danh sách cột]] _ Có hai loại Cursor: Local Global LoCal :chỉ sử dụng phạm vi khai báo(mặc định) Global :sử dụng chung cho kết nối _ Cách di chuyển mẫu tin Cursor: Forward only Scroll ForWard_Only :chỉ di chuyển hướng từ trước sau(mặcđịnh) Scroll : di chuyển tùy ý _ Cách quản lý liệu Cursor: Static, Dynamic Keyset Static : liệu Cursor không thay đổi liệu bảng nguồn thay đổi(mặc định) Dynamic :dữ liệu Cursor thay đổi liệu bảng nguồn thay đổi KeySet :giống Dynamic thay đổi dòng bị cập nhật * Xử lý : Read_Only :chỉ đọc(mặc định) Scroll_Lock : đọc/ghi *Câu lệnh select : không chứa mệnh đề Into,Compute,Compute by *Danh sách cột cập nhật : danh sách cột thay đổi II.2.2 Sử dụng lệnh OPEN để mở Cursor định nghĩa trước đó: Cú pháp: Open tên_Cursor II.2.3 Đọc xử lý dòng liệu bên cursor: Cú pháp : Fetch [ Next / Prior / First / Last / Absolute n / Relative n ] From Tên_Cursor [Into Danh_sách_biến] Trong đó: Hướng di chuyển :  Next : Di chuyển sau  Prior: Di chuyển trước  First : Di chuyển đầu  Last : Di chuyển cuối  Absolute n: di chuyển đến mẩu tin thứ n tính từ mẩu tin Nếu n Trigger bảng tương ứng - Instead of trigger khơng phát sinh lại bảng mà liên kết - Hành động cập nhật -> Instead of trigger -> gọi câu lệnh cập nhật xuống bảng -> Instead of trigger

Ngày đăng: 06/03/2014, 15:20

Từ khóa liên quan

Mục lục

  • Hệ Quản Trị Cơ Sở Dữ Liệu

  • PowerPoint Presentation

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • II. CURSOR :

  • Slide 18

  • Slide 19

  • Slide 20

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

Tài liệu liên quan