![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Triggers and Views- P3
Số trang: 5
Loại file: pdf
Dung lượng: 298.01 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu triggers and views- p3, công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Triggers and Views- P3(Nếu trong môi trường nhiều user thì ta thêmmột column UserID để ghi nhận user nào thayđổi).Sau đó ta sẽ tạo ra 3 trigger dùng cho việc auditnhư sau: --Insert Trigger CREATE TRIGGER[AuditInsertOrders] ON [dbo].[Orders] FOR Insert AS insert into aud_orders select*,I,getdate() From inserted --Update Trigger CREATE TRIGGER[AuditUpdateOrders] ON [dbo].[Orders] for UPDATE AS insert into aud_orders select*,U,Getdate() from deleted --Delete Trigger CREATE TRIGGER[AuditDeleteOrders] ON [dbo].[Orders] FOR DELETE AS insert into aud_orders select*,D,getdate() From deletedTrong ví dụ trên khi user insert một record thìrecord mới vừa được insert sẽ nằm tronginserted table như đã trình bày ở phần trên. Dođó ta sẽ select tất cả các column trong insertedtable cộng thêm Audit Type I và dùng hàmGetDate() trong SQL Server để lấy system datetime dùng cho Date_Time_Stamp column, sauđó insert vào Aud_Orders table. Tương tự vớitrường hợp Update và Delete, record đã đượcupdate hay delete nằm trong deleted table.Như vậy trở lại trường hợp thí dụ ở trên nếu bàtám yêu cầu ta có thể vào tìm kiếm trong audittable để phục hồi lại record. Ngoài ra ta có thểdùng table này để tìm ra thủ phạm đã xoá haysửa chữa data khi cần thiết.Ðể tạo ra hay xem một trigger bằng EnterpriseManager bạn làm như sau: Right-Click lêntable mà bạn muốn tạo trigger->All Tasks->Manage Triggers.Lưu ý: Ðôi Khi ta chỉ muốn trigger thực sự hoạtđộng khi một hay vài column nào đó đượcUpdate chứ không phải bất kỳ column nào. Khiđó ta có thể dùng hàm Update(Column_Name)để kiểm tra xem column nào đó có bị update haykhông.Ví dụ:Tạo một trigger cho Customer table. Bên trongTrigger (sau chữ AS) ta có thể kiểm tra xem nếucolumn First_Name hay Last_Name bị thay đổithì mới hành động nếu không thì không làm gìcả IF UPDATE (first_name) ORUPDATE (Last_Name) BEGIN Do some conditionalprocessing when either of these columns areupdated. ENDNếu muốn kiểm tra nhiều columns ta có thểdùng hàm khác là Columns_Updated() . Xinxem thêm trong SQL Server Books Online đểbiết thêm chi tiết về cách sử dụng.ViewsÐịnh nghĩa một cách đơn giản thì view trongSQL Server tương tự như Query trong Accessdatabase. View có thể được xem như một tableảo mà data của nó được select từ một storedquery. Ðối với programmer thì view không khácchi so với table và có thể đặt ở vị trí của tabletrong các câu lệnh SQL. Ðặc điểm của View làta có thể join data từ nhiều table và trả về mộtrecordset đơn. Ngoài ra ta có thể xào nấu data(manipulate data) trước khi trả về cho user bằngcách dùng một số logic checking như (if,case...).Ví dụ:
Nội dung trích xuất từ tài liệu:
Triggers and Views- P3(Nếu trong môi trường nhiều user thì ta thêmmột column UserID để ghi nhận user nào thayđổi).Sau đó ta sẽ tạo ra 3 trigger dùng cho việc auditnhư sau: --Insert Trigger CREATE TRIGGER[AuditInsertOrders] ON [dbo].[Orders] FOR Insert AS insert into aud_orders select*,I,getdate() From inserted --Update Trigger CREATE TRIGGER[AuditUpdateOrders] ON [dbo].[Orders] for UPDATE AS insert into aud_orders select*,U,Getdate() from deleted --Delete Trigger CREATE TRIGGER[AuditDeleteOrders] ON [dbo].[Orders] FOR DELETE AS insert into aud_orders select*,D,getdate() From deletedTrong ví dụ trên khi user insert một record thìrecord mới vừa được insert sẽ nằm tronginserted table như đã trình bày ở phần trên. Dođó ta sẽ select tất cả các column trong insertedtable cộng thêm Audit Type I và dùng hàmGetDate() trong SQL Server để lấy system datetime dùng cho Date_Time_Stamp column, sauđó insert vào Aud_Orders table. Tương tự vớitrường hợp Update và Delete, record đã đượcupdate hay delete nằm trong deleted table.Như vậy trở lại trường hợp thí dụ ở trên nếu bàtám yêu cầu ta có thể vào tìm kiếm trong audittable để phục hồi lại record. Ngoài ra ta có thểdùng table này để tìm ra thủ phạm đã xoá haysửa chữa data khi cần thiết.Ðể tạo ra hay xem một trigger bằng EnterpriseManager bạn làm như sau: Right-Click lêntable mà bạn muốn tạo trigger->All Tasks->Manage Triggers.Lưu ý: Ðôi Khi ta chỉ muốn trigger thực sự hoạtđộng khi một hay vài column nào đó đượcUpdate chứ không phải bất kỳ column nào. Khiđó ta có thể dùng hàm Update(Column_Name)để kiểm tra xem column nào đó có bị update haykhông.Ví dụ:Tạo một trigger cho Customer table. Bên trongTrigger (sau chữ AS) ta có thể kiểm tra xem nếucolumn First_Name hay Last_Name bị thay đổithì mới hành động nếu không thì không làm gìcả IF UPDATE (first_name) ORUPDATE (Last_Name) BEGIN Do some conditionalprocessing when either of these columns areupdated. ENDNếu muốn kiểm tra nhiều columns ta có thểdùng hàm khác là Columns_Updated() . Xinxem thêm trong SQL Server Books Online đểbiết thêm chi tiết về cách sử dụng.ViewsÐịnh nghĩa một cách đơn giản thì view trongSQL Server tương tự như Query trong Accessdatabase. View có thể được xem như một tableảo mà data của nó được select từ một storedquery. Ðối với programmer thì view không khácchi so với table và có thể đặt ở vị trí của tabletrong các câu lệnh SQL. Ðặc điểm của View làta có thể join data từ nhiều table và trả về mộtrecordset đơn. Ngoài ra ta có thể xào nấu data(manipulate data) trước khi trả về cho user bằngcách dùng một số logic checking như (if,case...).Ví dụ:
Tìm kiếm theo từ khóa liên quan:
cơ sở dữ liệu quan hệ cơ sở dữ liệu quan hệ database relationship thiết kế cơ sở dữ liệu quan hệ phương pháp thiết kế ngôn ngữ sqlTài liệu liên quan:
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 306 0 0 -
Giáo trình Lập trình quản lý với Microsoft Access 2013 toàn tập: Phần 1
195 trang 255 0 0 -
Xây dựng ontology cho hệ thống truy vấn dữ liệu tùy chọn
5 trang 143 0 0 -
Mô tả công việc Chuyên gia cố vấn UI-UX
1 trang 101 0 0 -
Giáo trình Nhập môn cơ sở dữ liệu: Phần 2 - Trần Thành Trai
145 trang 83 0 0 -
54 trang 72 0 0
-
26 trang 72 0 0
-
Giáo trình Tin học ứng dụng trong kinh doanh
170 trang 62 0 0 -
Bài giảng Cơ sở dữ liệu - Hồ Cẩm Hà
163 trang 60 0 0 -
Đáp án một số bài tập mẫu môn cơ sở dữ liệu (Phần 1)
0 trang 50 1 0