Đề cương hệ quản trị cơ sở dữ liệu

161 182 0
Đề cương hệ quản trị cơ sở dữ liệu

Đ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

MỤC LỤC Bài 1: Tổng quan hệ quản trị CSDL SQL SERVER 1.1 Tổng quan sở liệu quan hệ 1.1.1 Mô hình liệu quan hệ 1.1.2 Bảng (Table) 1.1.3 Khoá bảng 1.1.4 Mối quan hệ (Liên kết) khoá 1.2 Tổng quan SQL Server 2008 1.2.1 Những điểm SQL server 2008 1.2.2 Các bước cài đặt SQL Server 2008 1.2.3 Cấu trúc sở liệu 15 1.2.4 Cấu trúc vật lý CSDL 18 1.2.5 Các đối tượng CSDL hệ quản trị CSDL SQL Server 21 1.3 Quản lý CSDL 22 1.3.1 Tạo sở liệu 22 1.3.2 Cập nhật liệu vào bảng sở liệu 30 Bài 2: Đảm bảo liệu SQL Server 31 2.1 Quản lý người dùng 31 2.1.1 Các khái niệm 31 2.1.2 Tạo người dùng, nhóm người dùng 32 2.1.3 Cấp phát quyền 32 2.1.4 Thu hồi quyền 36 2.2 Sao lưu phục hồi liệu 39 2.1 Sao lưu liệu 39 2.2.2 Phục hồi liệu 44 Bài 3: Chỉ mục 51 3.1 Sơ lược mục 51 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 3.2 Chỉ mục thông thường 52 3.2.1 Tạo mục 52 3.2.2 Nguyên tắc tạo mục 53 3.2.3 Phân loại 53 3.2.4 Đặc trưng mục 56 3.2.5 Xem mục 57 3.2.6 Ứng dụng mục tìm kiếm (truy vấn) 58 3.2.7 Xoá mục 58 3.3 Chỉ mục toàn văn – Fulltext Search 59 3.3.1 Định nghĩa 59 3.3.2 Các khái niệm 59 3.3.3 Tạo mục toàn văn 59 3.3.4 Ứng dụng mục toàn văn 60 Bài 4: Bài tập Quản lý người dùng, mục 62 Bài 5: Ngôn ngữ T- SQL 63 5.1 Khái niệm 63 5.2 Cách sử dụng biến, toán tử 64 5.3 Cấu trúc điều khiển 72 5.3.1 Khối : BEGIN…END 72 5.3.2 Cấu trúc: IF…ELSE 72 5.3.3 Cấu trúc: CASE…WHEN 73 5.3.4 Cấu trúc WAITFOR 76 5.3.5 Cấu trúc TRY…CATCH 77 5.3.6 Lệnh RAISERROR 78 5.3.7 Cấu trúc vòng lập WHILE … 80 5.3.8 Lệnh RETURN 82 5.4 Bài tập 82 Bài 6: Truy vấn nâng cao với toán tử 82 6.1 Mệnh đề TOP 84 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 6.2 Các phép nối 85 6.3 Common Table Expressions 87 6.4 Toán tử PIVOT UNPIVOT 90 6.5 Toán tử OUTPUT 95 6.6 Thống kê liệu 97 6.7 Phân hạng liệu 104 6.8 Một số hàm SQL Server 112 6.8.1 Các hàm liệu kiểu số 112 6.8.2 Nhóm hàm thống kê 112 6.8.3 Nhóm hàm xử lý chuỗi kí tự 112 6.8.4 Nhóm hàm ngày tháng 113 6.8.5 Hàm CAST CONVERT 115 Bài 7: Bài tập, thảo luận ngôn ngữ T- SQL 119 Bài 8: Khung nhìn (VIEW), Con trỏ (CURSOR), giao dịch (TRANSACTION) 119 8.1 Khung nhìn 119 8.1.1 Tạo khung nhìn 121 8.1.2 Cập nhật, bổ sung xoá liệu thông qua khung nhìn 123 8.1.3 Sửa đổi khung nhìn 126 8.1.4 Xoá khung nhìn 127 8.2 Con trỏ (CURSOR) 127 8.2.1 Khai báo trỏ 128 8.2.2 Mở trỏ 128 8.2.3 Truy xuất đến hàng trỏ 128 8.2.4 Đóng giải phóng trỏ 128 8.3 Giao dịch (TRANSACTION) 129 Bài 9: Thủ tục lưu, hàm người dùng định nghĩa 134 9.1 Thủ tục lưu trữ (stored procedure) 134 9.1.1 Các khái niệm 134 9.1.2 Tạo thủ tục lưu trữ 135 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 9.1.3 Lời gọi thủ tục lưu trữ 137 9.1.4 Sử dụng biến thủ tục 138 9.1.5 Giá trị trả tham số thủ tục lưu trữ 140 9.1.6 Tham số với giá trị mặc định 141 9.1.7 Sửa đổi thủ tục 142 9.1.8 Xoá thủ tục 142 9.2 Hàm người dùng định nghĩa 143 9.2.1 Định nghĩa sử dụng hàm 143 9.2.2 Hàm với giá trị trả “dữ liệu kiểu bảng” 144 Bài 10 Bài tập, thảo luận View, Cursor, Transaction, thủ tục lưu hàm 148 Bài 11: Trigger 148 11.1 Giới thiệu trigger 149 11.2.Tạo quản lý trigger 151 11.2.1.Tạo trigger 151 11.2.2.Vai trò bảng logic Inserted Deleted 152 11.2.3 Quản lý trigger 153 11.3.Ví dụ trigger 153 11.4 DDL Trigger: 157 Bài 12: Bài tập, thảo luận Trigger 159 Bài 13: Ôn tập kết thúc môn học 160 Bài 14 Thực hành: Thiết kế CSDL, Chỉ mục, đảm bảo liệu CSDL 160 Bài 15 Thực hành: Ngôn ngữ T- SQL 160 Bài 16 Thực hành: Truy vấn nâng cao với toán tử 160 Bài 17 Thực hành: View, trỏ, transaction 160 Bài 18 Thực hành: thủ tục lưu trữ hàm người dùng định nghĩa 160 Bài 19 Thực hành Trigger 160 Bài 20 Thực hành: Kiểm tra tổng hợp 160 Tài liệu tham khảo 1601 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Bài 1: Tổng quan hệ quản trị CSDL SQL SERVER 1.1 Tổng quan sở liệu quan hệ 1.1.1 Mô hình liệu quan hệ Mô hình liệu quan hệ Codd đề xuất năm 1970 đến trở thành mô hình sử dụng phổ biến hệ quản trị sở liệu thương mại Nói cách đơn giản, sở liệu quan hệ sở liệu tất liệu tổ chức bảng có mối quan hệ với Mỗi bảng bao gồm dòng cột: dòng gọi ghi (bộ) cột trường (thuộc tính) Hình 1.1 minh hoạ cho ta thấy bảng sở liệu Hình 1.1: Các bảng sở liệu 1.1.2 Bảng (Table) Như nói trên, sở liệu quan hệ, bảng đối tượng sử dụng để tổ chức lưu trữ liệu Một sở liệu bao gồm nhiều bảng bảng xác định tên bảng Một bảng bao gồm tập dòng cột: dòng bảng biểu diễn cho thực thể (trong hình 1.1, dòng bảng SINHVIEN tương ứng với sinh viên); cột biểu diễn cho tính chất thực thể (chẳng hạn cột NGAYSINH bảng SINHVIEN biểu diễn cho ngày sinh sinh viên lưu trữ bảng) Như vậy, liên quan đến bảng bao gồm yếu tố sau: Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên • Tên bảng: sử dụng để xác định bảng sở liệu • Cấu trúc bảng: Tập cột bảng Mỗi cột bảng xác định tên cột phải có kiểu liệu (chẳng hạn cột NGAYSINH bảng SINHVIEN hình 1.1 có kiểu DATETIME) Kiểu liệu cột qui định giá trị liệu chấp nhận cột • Dữ liệu bảng: Tập dòng (bản ghi) có bảng 1.1.3 Khoá bảng Trong sở liệu thiết kế tốt, bảng phải có một tập cột mà giá trị liệu xác định dòng tập dòng bảng Tập nhiều cột có tính chất gọi khoá bảng Việc chọn khoá bảng có vai trò quan trọng việc thiết kế cài đặt sở liệu quan hệ Các dòng liệu bảng phải có giá trị khác khoá Bảng MONHOC hình có khoá cột MAMONHOC Hình 1.2: Bảng MONHOC với khoá MAMONHOC Một bảng có nhiều tập cột khác có tính chất khoá (tức giá trị xác định dòng liệu bảng) Trong trường hợp này, khoá chọn cho bảng gọi khoá (primary key) khoá lại gọi khoá phụ khoá dự tuyển (candidate key/unique key) 1.1.4 Mối quan hệ (Liên kết) khoá Các bảng sở liệu không tồn độc lập mà có mối quan hệ mật thiết với mặt liệu Mối quan hệ thể thông qua ràng buộc giá trị liệu xuất bảng phải có xuất trước bảng khác Mối quan hệ bảng sở liệu nhằm đàm bảo tính đắn hợp lệ Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên liệu sở liệu Trong hình 1.3, hai bảng LOP KHOA có mối quan hệ với Mối quan hệ đòi hỏi giá trị cột MAKHOA dòng (tức lớp) bảng LOP phải xác định từ cột MAKHOA bảng KHOA Bảng LOP Hình 1.3: Mối quan hệ hai bảng LOP KHOA sở liệu Mối quan hệ bảng sở liệu thể mối quan hệ thực thể giới thực Trong hình 1.3, mối quan hệ hai bảng LOP KHOA không cho phép lớp tồn mà lại thuộc vào khoa thật Khái niệm khoá (Foreign Key) sở liệu quan hệ sử dụng để biểu diễn mối quan hệ bảng liệu Một hay tập cột bảng mà giá trị xác định từ khóa bảng khác gọi khoá Trong hình 1.3, cột MAKHOA bảng LOP gọi khoá bảng này, khoá tham chiếu đến khoá bảng KHOA cột MAKHOA 1.2 Tổng quan SQL Server 2008 Trong giới liệu ngày nay, liệu hệ thống quản lý liệu cần phải luôn bảo đảm trạng thái có sẵn SQL Server 2008 cho phép nhà phát triển giảm phức tạp sở hạ tầng bảo đảm cung cấp tảng liệu doanh nghiệp có khả bảo mật, khả mở rộng quản lý tốt hơn, với thời gian chết ứng dụng giảm 1.2.1 Những điểm SQL server 2008 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Nền tảng cho nhiệm vụ then chốt - SQL Server 2008 cho phép tổ chức chạy hầu hết ứng dụng phức tạp họ tảng an toàn, tin cậy có khả mở rộng Bên cạnh giảm phức tạp việc quản lý sở hạ tầng liệu SQL Server 2008 cung cấp tảng tin cậy an toàn cách bảo đảm thông tin có giá trị ứng dụng tồn nâng cao khả sẵn có liệu SQL Server 2008 giới thiệu chế quản lý cách tân dựa sách, chế cho phép sách định nghĩa quản trị tự động cho thực thể máy chủ nhiều máy chủ Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với tảng tối ưu Sự phát triển động - SQL Server 2008 với NET Framework giảm phức tạp việc phát triển ứng dụng ADO.NET Entity Framework cho phép chuyên gia phát triển phần mềm nâng cao suất làm việc với thực thể liệu logic đáp ứng yêu cầu doanh nghiệp thay lập trình trực tiếp với bảng cột Các mở rộng ngôn ngữ truy vấn tích hợp (LINQ) NET Framework cách mạng hóa cách chuyên gia phát triển truy vấn liệu việc mở rộng Visual C#® Visual Basic® NET để hỗ trợ cú pháp truy vấn giống SQL vốn có Hỗ trợ cho hệ thống kết nối cho phép chuyên gia phát triển xây dựng ứng dụng cho phép người dùng mang liệu với ứng dụng vào thiết bị sau đồng liệu chúng với máy chủ trung tâm Dữ liệu quan hệ mở rộng - SQL Server 2008 cho phép chuyên gia phát triển khai thác triệt để quản lý kiểu liệu từ kiểu liệu truyền thống đến liệu không gian địa lý Thông tin toàn doanh nghiệp - SQL Server 2008 cung cấp sở hạ tầng mở rộng, cho phép quản lý báo cáo, phân tích với kích thước phức tạp nào, bên cạnh cho phép người dùng dễ dàng việc truy cập thông tin thông qua tích hợp sâu với Microsoft Office Điều cho phép CNTT đưa thông tin doanh nghiệp rộng khắp tổ chức SQL Server 2008 tạo bước tuyệt vời việc lưu trữ liệu, cho phép người dùng hợp trung tâm liệu vào nơi lưu trữ liệu tập trung toàn doanh nghiệp Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Hình 1.1 Toàn cảnh tảng liệu Microsoft 1.2.2 Các bước cài đặt SQL Server 2008 Bước 1: Chạy file setup.exe để cài đặt, chọn Installation -> New SQL Server stand-alone Hình 1.2 Giao diện SQL Server Installation Center Bước 2: Chọn Ok -> Next Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Hình 1.3 Giao diện Setup Support Files Bước 3: chọn kiểu cài đặt Hình 1.4 Giao diện Installation Type Bước 4: Nhập product key 10 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên SELECT khoa.makhoa,tenkhoa,COUNT(masv) FROM (khoa INNER JOIN lop ON khoa.makhoa=lop.makhoa) INNER JOIN sinhvien on lop.malop=sinhvien.malop GROUP BY khoa.makhoa,tenkhoa ELSE INSERT INTO @bangthongke SELECT khoa.makhoa,tenkhoa,COUNT(masv) FROM (khoa INNER JOIN lop ON khoa.makhoa=lop.makhoa) INNER JOIN sinhvien ON lop.malop=sinhvien.malop WHERE khoa=@khoa GROUP BY khoa.makhoa,tenkhoa End Return –trả kết cho hàm Với hàm định nghĩa trên, câu lệnh: SELECT * FROM dbo.func_TongSV(13) Sẽ cho kết thống kê tổng số sinh viên khoá 13 khoa: Còn câu lệnh: SELECT * FROM dbo.func_TongSV(0) Cho ta biết tổng số sinh viên có (tất khoá) khoa: 147 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Bài 10 Bài tập, thảo luận View, Cursor, Transaction, thủ tục lưu hàm 10.1 Nhắc lại lý thuyết 10.2 Bài tập, thảo luận Bài tập 1: Cho CSDL QLDT: Với liệu giáo viên, đề tài, Giáo viên_ đề tài, sinh viên, Kết qủa Thực yêu cầu sau: Tạo view có tên w_bai1 lưu trữ mã giáo viên số lượng đề tài mà giáo viên hướng dẫn Tạo view có tên w_bai2 cho biết tên sinh viên không tham gia đề tài Tạo view có tên w_bai3 cho biết tên sinh viên có kết bảo vệ đề tài loại giỏi (Diem>=8) Thêm cột XepLoai vào bảng KetQua Sử dụng trỏ để cập nhật cho cột XepLoai theo công thức sau: Nếu Diem=5 Diem=7 Diem=8 XepLoai=Giỏi Bài tập 2: Xét CSDL demo QLDiem Cho biết sinh viên Khoa phải học nhiều môn toàn trường Cho biết môn học có nhiều sinh viên học (là môn học mà sinh viên đăng ký học chưa thi) Cho biết môn học thuộc Khoa “CNTT“, khoá 2002 chưa có sinh viên đăng ký học Hãy cho biết môn học môn học chung cho toàn trường khoá 2002 Biết môn học chung cho toàn trường môn học dạy cho tất khoa 148 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Viết thủ tục lưu trữ tính số lượng sinh viên khoa Tính điểm trung bình học kì sinh viên theo kì học Bài 11: Trigger 11.1 Giới thiệu trigger Chất lượng CSDL đánh giá phần tính quán độ xác liệu CSDL Để đảm bảo tính toàn vẹn liệu ta có nhiều phương pháp, trigger phương pháp hữu hiệu Trigger loại stored procedure đặc biệt, định nghĩa để tự động thực thi có câu lệnh Update, Insert, Delete phát bảng View Trigger công cụ mạnh mà dùng để ràng buộc qui tắc quản lý tự động liệu bị hiệu chỉnh Trigger nới rộng tính toàn vẹn kiểm soát logic SQL Server Trigger tự động thực thi, gọi trigger thi hành cách trực tiếp Dùng trigger khi: Ràng buộc toàn vẹn liệu cho phù hợp với mô hình quan hệ CSDL Kiểm soát liệu có thay đổi đến giá trị mẫu tin bảng Kiểm tra liệu nhập vào phù hợp với mối quan hệ liệu bảng Định nghĩa thông báo lỗi người dùng So sánh trạng thái liệu trước sau hiệu chỉnh Đặc điểm giới hạn trigger Trigger (After trigger) Reactive; constraints instead of trigger proactive (Reactive: delete/insert dòng vào table, sau insert trigger đuợc tự động thực thi gọi reactive, proactive kiểm tra trước Insert/Delete) Các constraint kiểm tra trước, sau tới trigger Các bảng có nhiều trigger cho hành động Tuy nhiên không nên dùng nhiều trigger bảng SQl Server cho phép định trigger thi hành đầu tiên, thi hành cuối cùng, trigger khác thứ tự thi hành không xác định Vì vậy, có nhiều trigger đối tượng gặp nhiều rắt rối có nhiều trigger không xác định thứ tự Không thể tạo trigger đối tượng temporary 149 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Nên thiết kế trigger không trả tập kết nhằm đảm bảo tính chất chuyển tác user lập trình Các trigger xử lý hành động nhiều dòng Trigger không ngăn ngừa thay đổi cấu trúc, trigger quan tâm đến thay đổi liệu bảng Khi bạn xóa đối tượng CSDL với bước hợp lý, SQL Server cho phép xóa đối tượng trigger kiểm soát Trigger Events: Có biến cố mà trigger tự động thực thi biến cố xảy ra, Insert, Update, Delete Trigger gọi cách trực tiếp Cơ cấu thực thi trigger: Khi insert update liệu bảng bật trigger, trigger lưu trữ dòng liệu dòng liệu hiệu chỉnh vào bảng có tên Inserted nhớ cash, xóa liệu bảng bật trigger lên, trigger lưu trữ dòng liệu bị xóa vào bảng có tên Deleted b ộ nhớ cash Các bảng tồn nhớ truy vấn lệnh T-SQL trigger Bạn sử dụng thông tin bảng inserted Deleted để so sánh, lưu trữ, rollback,… cần, bạn không cần tạo biến để lưu trữ thông tin tốc độ truy xuất nhanh Hai loại trigger SQL Server: INSTEAD OF AFTER (nếu nói trigger có nghĩa nói đến AFTER Trigger) FOR triggers AFTER triggers: trigger thực thi tất thao tác Insert, Update hay Delete thực xong Tất hành động tham chiếu kiểm tra constraint phải thực xong trước trigger thi hành Loại trigger cài đặt bảng, không cài đặt View Khi tạo trigger không định rõ mặc định AFTER, FOR từ khóa tương thích ngược với phiên trước SQL Server INSTEAD OF triggers: Trigger có SQL Server 2000 trở lên Trigger thi hành thay cho câu lệnh Insert, Delete, Update Như tạo trigger kiểu bạn phải viết lại lệnh insert, Delete, Update liệu Có thể áp dụng cho bảng View, nhiên không cho phép áp dụng với view có lựa chọn WITH CHECK OPTION Nested trigger: có nghĩa bảng Table1 có trigger, Table2 có trigger khác Nếu ta thao tác Table1 trigger thực thi, thao tác có liên quan đến Table2 trigger2 bảng Table2 thực thi Gọi lồng trigger, bạn lồng tối đa 32 cấp 150 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 11.2.Tạo quản lý trigger Một trigger tạo quản lý cách sử dụng Query Analyzer Enterprice Manager Tạo trigger đối tượng phải có quyền Owner đối tượng 11.2.1.Tạo trigger CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [DELETE] [,] [ INSERT ] [, ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [IF UPDATE(tên_cột) [AND UPDATE(tên_cột)|OR UPDATE(tên_cột)] ] sql_statement [ n ] } } Giải thích: - Trigger_name : Tên trigger Nếu bảng có nhiều trigger tên trigger phải ON { table | view }: Chỉ định table/View áp dụng trigger, có instead of áp dụng cho view table [ WITH ENCRYPTION ]: Trigger mã hóa Thông tin mã hóa năm bảng syscomment { FOR | AFTER | INSTEAD OF }: Xác định loại trigger cho thao tác DELETE, INSERT, UPDATE Delete trigger: trigger thực thi có mẫu tin bị xóa khỏi bảng, SQL 151 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên Server tạo bảng mang tên DELETED để cất mẫu tin bị xóa, trigger ta tham khảo đến mẫu tin Insert trigger: trigger thực thi có mẫu tin chèn vào bảng, SQL server tạo bảng mang tên INSERTED để cất mẫu tin chèn, trigger ta tham khảo đến mẫu tin Update trigger: Mỗi có mẫu tin cập nhật, giá trị cột có liên quan đến trigger kiểm tra trước cập nhật Mẫu tin bị cập nhật lưu bảng Inserted (chứa giá trị mới) Deleted (chứa giá trị cũ) [ NOT FOR REPLICATION ]: Trigger không thực bảng có liên quan đến kỹ thuật chép nhân (relication) Một trigger đối tượng gắn liền với bảng tự động kích hoạt xảy giao tác làm thay đổi liệu bảng Định nghĩa trigger bao gồm yếu tố sau: - Trigger áp dụng bảng nào? - Trigger kích hoạt câu lệnh thực thi bảng: INSERT, UPDATE, DELETE? - - Trigger làm kích hoạt? Lưu ý: Một hành động (Insert Delete Update) kích hoạt lúc nhiều trigger khác Trigger thi hành cho dù thao tác người sử dụng có tác động thực mẫu tin hay không, dùng @@ROWCOUNT để kiểm tra trước cho hành động trigger thi hành Các phát biểu sau có trigger: phát biểu Create, Drop, Alter Table, Alter DataBase, Truncate Table, Grant/Revoke, Reconfigure, Load DataBase, Transaction, Update statistics, Select Into, Disk 11.2.2.Vai trò bảng logic Inserted Deleted o Các Trigger truy nhập tới hai bảng logic có tên Inserted Deleted o Bảng Inserted Deleted chứa ảnh liệu trước sau trình cập nhật o Giản đồ tương đồng với bảng cập nhật o Dữ liệu bảng không bị tác động thao tác cập nhật không nằm bảng Inserted Deleted 152 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên 11.2.3 Quản lý trigger Alter Trigger: Sửa trigger Drop Trigger : Xóa trigger; Sp_rename : đổi tên Sp_helptrigger, Sp_heltext: Xem code trigger DISABLE TRIGGER/ ENABLE TRIGGER câu lệnh Alter Table 11.3.Ví dụ trigger Ví dụ 11.1: Giả sử ta định nghĩa bảng R sau: CREATE TABLE R ( A INT, B INT, C INT ) trigger trg_R_UPDATE cho bảng R: CREATE TRIGGER trg_R_test ON R FOR UPDATE AS Câu lệnh: IF UPDATE(A) Print 'A UPDATEd' IF UPDATE(C) Print 'C UPDATEd' UPDATE R SET A=100 WHERE A=1 kích hoạt trigger cho kết là: A UPDATEd câu lệnh: UPDATE R SET C=100 WHERE C=2 153 Bộ môn CNPM – Khoa CNTT – Trường Đại học Sư phạm Kỹ thuật Hưng Yên kích hoạt trigger cho kết là: C UPDATEd câu lệnh: UPDATE R SET B=100 WHERE B=3 hiển nhiên không kích hoạt trigger Ví dụ 11.2: Viết trigger cho thao tác Insert, điểm kiểm tra ngày lập hoá đơn luôn lớn ngày giao CREATE TRIGGER Trg_NgayLap_NgayGiaoHD ON Hoadon AFTER INSERT AS DECLARE @NgayLapHD DateTime, @NgayGiao DateTime SELECT @NgayLapHD=hd.NGayLapHD,NgayGiao=hd.NgayGiaoNhan FROM HoaDon hd INNER JOIN Inserted i ON hd.MaHD=i.Mahd If @NgayGiao

Ngày đăng: 24/10/2017, 15:50

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

Tài liệu liên quan