1. Trang chủ
  2. » Thể loại khác

Nghiên cứu, xây dựng cơ sở dữ liệu tích cực

78 21 0

Đ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 78
Dung lượng 1,69 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGƠ THỊ THANH HỒ NGHIÊN CỨU, XÂY DỰNG CƠ SỞ DỮ LIỆU TÍCH CỰC LUẬN VĂN THẠC SĨ Hà Nội, 2011 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ NGƠ THỊ THANH HỒ NGHIÊN CỨU, XÂY DỰNG CƠ SỞ DỮ LIỆU TÍCH CỰC Ngành: Cơng nghệ thông tin Chuyên nghành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN TUỆ Hà Nội, 2011 LỜI CẢM ƠN L ời em xin chân thành cảm ơn thầy giáo TS.Nguyễn Tuệ cho em nhiều ý kiến đóng góp q báu, tận tình hướng dẫn giúp đỡ em mặt kiến thức tài liệu để em hồn thành luận văn Em xin gửi lời cảm ơn đến Ban Giám hiệu, phòng ban, Khoa sau Đại học Trường Đại học Công nghệ tạo điều kiện cho em suốt khố học Em xin bày tỏ lịng biết ơn sâu sắc đến thầy giáo, cô giáo Trường Đại học Công nghệ – Đại học Quốc Gia Hà Nội , thầy, cô giáo tham gia giảng dạy, hướng dẫn, bảo cho em suốt hai năm học qua Và em xin gửi lời cảm ơn đến bạn bè, gia đình đồng nghiệp có động viên, khuyến khích hỗ trợ cần thiết để em hoàn thành luận văn Hà nội, ngày 10 tháng năm 2011 Ngơ Thị Thanh Hồ MỤC LỤC LỜI CẢM ƠN MỤC LỤC BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT MỞ ĐẦU Chương I TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN 1.1 TỔNG QUAN VỀ CSDL QUAN HỆ 1.1.1 Các khái niệm CSDL quan hệ 1.1.2 Chuẩn hóa 10 1.1.2.1 Các cấu trúc phụ thuộc 11 1.1.2.2 Các dạng chuẩn 14 1.1.3 Các quy tắc toàn vẹn 17 1.1.4 Các ngôn ngữ quan hệ liệu 18 1.1.4.1 Đại số quan hệ 19 1.1.4.2 Các tính tốn quan hệ 22 1.1.4.3 Tương tác với ngơn ngữ lập trình 25 1.1.5 Hệ Quản trị CSDL quan hệ 25 1.2 CÁC RÀNG BUỘC TOÀN VẸN TRÊN CSDL QUAN HỆ 28 1.2.1 Kiểm sốt tồn vẹn ngữ nghĩa tập trung 30 1.2.1.1 Khái niệm ràng buộc toàn vẹn 30 1.2.1.2 Các yếu tố ràng buộc toàn vẹn 31 1.2.1.3 Phân loại ràng buộc toàn vẹn 34 1.2.2 Bắt tuân theo ràng buộc toàn vẹn 38 Chƣơng II 42 CƠ SỞ DỮ LIỆU TÍCH CỰC 42 2.1 CƠ SỞ DỮ LIỆU TÍCH CỰC 42 2.1.1 Khái niệm sở liệu tích cực 42 2.1.2 Quy tắc ECA 42 2.1.2.1 Sự kiện (Event) 42 2.1.2.2 Điều kiện (Condition) 46 2.1.2.3 Hành động (Active) 47 2.2 MƠ HÌNH TỔNG QT VÀ CÁC TRIGGER TRONG ORACLE 48 2.2.1 Mơ hình tổng quát CSDL tích cực: 48 2.2.2 Vấn đề thiết kế cài đặt cho sở liệu tích cực 54 2.2.3 Các ứng dụng tiềm sở liệu tích cực 56 Chƣơng III 58 CÀI ĐẶT CÁC QUY TẮC ECA BẰNG NGÔN NGỮ SQL 58 3.1 GIỚI THIỆU TRIGGER TRONG SQL-SERVER 58 3.2 CSDL TRONG QUẢN LÝ BÁN HÀNG 58 3.2.1 Danh mục Cart: 59 2.2.2 Danh mục CartStatus: 59 2.2.3 Danh mục News: 59 2.2.4 Danh mục Parent Product: 60 2.2.5 Danh mục Product: 60 2.2.6 Danh mục ProductCart: 60 2.2.7 Danh mục Role: 61 2.2.8 Danh mục user: 61 3.3 QUY TẮC TẠO TRIGGER 61 3.4 CÁC TRIGGER TRONG CSDL 62 3.4.1 Trigger ngăn chặn việc xóa database Server 62 3.4.2 Trigger ngăn chặn insert vào bảng Product 63 3.4.3 Trigger ngăn chặn update (cập nhật) bảng Product 65 3.4.4 Trigger ngăn chặn xóa liệu bảng 66 3.4.5 Trigger ngăn chặn tạo record bảng 67 3.4.6 Tạo bảng ( không vi phạm trigger trigger 05) 68 3.4.7 Trigger ngăn chặn xóa bảng database 70 3.4.8 Ngăn chặn xóa trigger CSDL 70 3.4.9 Không cho phép tạo bảng CSDL 71 3.4.10 Không cho phép tạo trigger CSDL 72 KẾT LUẬN 74 TÀI LIỆU THAM KHẢO 75 BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT Stt Từ viết tắt Tiếng Anh Active Database System Tiếng Việt Hệ thống sở liệu tích cực ABDS CSDL DBMS Database Management System Hệ quản trị sở liệu ECA Event-Condition-Active Sự kiện-Điều kiện-Hành động HQTCSDL WFF Cơ sở liệu Hệ quản trị sở liệu Well-formal formular Một công thức xây dựng tốt MỞ ĐẦU Theo truyền thống, hệ thống sở liệu đƣợc xem nhƣ kho để lƣu trữ thông tin cần thiết ứng dụng chúng đƣợc truy cập ngƣời sử dụng chƣơng trình giao diện tƣơng tác Tuy nhiên, hệ thống sở liệu đƣợc sử dụng cho phạm vi lĩnh vực liên quan đến việc xử lý thông tin phức tạp, chí số lƣợng lớn liệu, địi hịi thực xác cao, mơi trƣờng nhiều thành phần theo quy ƣớc chứng tỏ không đƣợc thỏa mãn Điều dẫn đến xu hƣớng chung việc nghiên cứu sở liệu hƣớng chức đƣợc yêu cầu ứng dụng đƣợc hỗ trợ sở liệu, sinh hệ thống sở liệu với nhiều khả tinh xảo để mơ khía cạnh cấu trúc hoạt động ứng dụng Trong số lĩnh vực nhận đƣợc ý năm gần với nhìn làm bật hoạt động dễ dàng lập trình sở liệu, sở liệu tạm thời, sở liệu không gian, sở liệu đa phƣơng tiện (truyền thông), sở liệu suy diễn sở liệu tích cực Trong luận văn này, tập trung vào vấn đề sở liệu tích cực Hệ thống sở liệu tích cực (ADBS) hỗ trợ chế cho phép chúng tự động phản ứng tới kiện diễn bên bên ngồi hệ thống sở liệu Trong năm gần đây, nỗ lực đáng kể đƣợc hƣớng tới việc nâng cao hiểu biết hệ thống đó, có nhiều ứng dụng đƣợc đề xuất Sự tích cực mức độ cao không mang lại phù hợp với phƣơng pháp tiếp cận để tích hợp chức hoạt động với hệ thống sở liệu quy ƣớc, nhƣng mang tới việc cải thiện tầm hiểu biết ngôn ngữ miêu tả cách thức hành động tích cực, mơ hình thực kiến trúc Trong luận văn trình bày tính chất hệ sở liệu tích cực, mô tả tập hợp hệ thống tiêu biểu framework phổ biến, nghiên cứu tầm quan trọng việc thiết kế công cụ để phát triển ứng dụng tích cực Cơ sở liệu tích cực hỗ trợ ứng dụng cách di chuyển hành động phản ứng lại từ ứng dụng tới hệ quản trị sở liệu (DBMS) Các sở liệu tích cực theo cách có đủ khả giám sát phản ứng lại tình riêng biệt có liên quan đến ứng dụng Bản chất phản ứng lại tập trung xử lý cách lúc Mục đích luận văn: - Tìm hiểu xây dựng CSDL tích cực: sở liệu mà việc đảm bảo ràng buộc tồn vẹn đƣợc thực cách tự động thơng qua quy tắc ECA - Cơ sở liệu tích cực có ứng dụng tốt việc mở rộng hệ thống sở liệu, làm dễ dàng cho ngƣời sử dụng khai thác sở liệu Nội dung luận văn trình bày chương: Chương 1: Tổng quan sở liệu quan hệ loại ràng buộc CSDL quan hệ Chương 2: Cơ sở lý thuyết sở liệu tích cực, cụ thể cấu trúc việc xây dựng quy tắc ECA Chương 3: Cài đặt quy tắc ECA SQL Chương I TỔNG QUAN VỀ CSDL QUAN HỆ VÀ CÁC RÀNG BUỘC TOÀN VẸN 1.1 TỔNG QUAN VỀ CSDL QUAN HỆ Có nhiều lý để chọn mơ hình liệu quan hệ nhƣ: Cơ sở tốn học mơ hình quan hệ ứng viên tốt cho xử lý lý thuyết Mơ hình quan hệ đƣợc đặc trƣng tính chất mạnh mẽ: a Cấu trúc liệu đơn giản Chúng quan hệ, bảng hai chiều mà phần tử chúng mục liệu Điều cho phép mức độ độc lập cao biểu diễn liệu vật lý (tức tệp mục) b Mơ hình quan hệ cung cấp sở chắn cho việc tƣơng thích liệu Việc thiết kế CSDL đƣợc giúp đỡ q trình chuẩn hóa loại bỏ bất thƣờng liệu Các trạng thái tƣơng thích CSDL đƣợc định nghĩa cách đồng đƣợc trì thơng qua quy tắc tồn vẹn c Mơ hình CSDL cho phép thao tác quan hệ hƣớng tập hợp Tính chất dẫn đến phát triển mạnh mẽ ngôn ngữ phi thủ tục dựa lý thuyết tập hợp (đại số quan hệ) dựa logic (tính tốn quan hệ) 1.1.1 Các khái niệm CSDL quan hệ Một CSDL tập hợp liệu có cấu trúc liên quan đến vài tƣợng sống thực mà ta muốn mơ hình hóa Một CSDL quan hệ CSDL mà cấu trúc liệu dạng bảng Một cách hình thức, quan hệ đƣợc định nghĩa n tập hợp D1, D2, … , Dn (không thiết phân biệt) tập hợp n-bộ cho d1 D1, d2 D2, …., dn Dn Ví dụ 1.1 Xét CSDL mơ hình hóa cơng ty khí Các thực thể đƣợc mơ hình hóa nhân viên (EMP) dự án (PROJ) Với nhân viên lƣu trữ mã số nhân viên (ENO), tên (ENAME), danh hiệu công ty (TITLE), lƣơng (SAL), mã số dự án mà nhân viên làm việc (PNO), trách nhiệm dự 61 2.2.7 Danh mục Role: STT Tên trƣờng Kiểu liệu Ràng buộc Id Int Khố Discription nvarchar(250) code nvarchar(50) 2.2.8 Danh mục user: STT Tên trƣờng Kiểu liệu Ràng buộc Id Bigint Khoá UserName nvarchar(50) FullName nvarchar(250) Password Ntext discription Ntext Email nvarchar(250) Phone nvarchar(50) typeCustomer nvarchar(50) 3.3 QUY TẮC TẠO TRIGGER Cú pháp để tạo trigger giống nhƣ tạo thủ tục thƣờng trú Tuy nhiên, Trigger đƣợc tạo cho bảng liệu cụ thể CREATE Trigger ON [WITH ENCRYPTION] { { FOR | AFTER} | INSTEAD OF } AS 62 Trong đó: - ON Trigger đƣợc viết cho bảng tên bảng ảo Trigger với từ khóa AFTER khơng hỗ trợ VIEW - WITH ENCRYPTION: giống nhƣ Thủ tục thƣờng trú bảng ảo cho phép ngăn ngừa việc sửa đổi nội dung Trigger Sử dụng ALTER Trigger WITH ENCRYPTION khơng hỗ trợ - FOR | AFTER: Mệnh đề FOR (AFTER) Trigger áp dụng cho hành động ba hành động sau: INSERT, DELETE, UPDATE Mệnh đề có dạng nhƣ sau: + FOR INSERT + FOR DELETE + FOR UPDATE + FOR INSERT, UPDATE, DELETE - INSTEAD OF: Trigger đƣợc thực thi thay cho câu lệnh SQL gây Trigger INSTEAD OF dùng đƣợc cho View - [DELETE] [,] [INSERT] [,] [UPDATE]: xác định câu lệnh mà thực thi bảng VIEW gây trigger 3.4 CÁC TRIGGER TRONG CSDL Trong phạm vi luận văn tơi xin đƣa chƣơng trình thử nghiệm CSDL quản lý hàng hóa Xây dựng trigger đảm bảo số ràng buộc CSDL 3.4.1 Trigger ngăn chặn việc xóa database Server Với trigger đƣợc dụng phạm vi Server với tên: tr_01_DontDropDataBase a Lệnh tạo (create) kiểm tra (test) trigger: /*1.tr_01_DontDropDataBase*/ Create IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'tr_01_DontDropDataBase') DROP TRIGGER tr_01_DontDropDataBase 63 ON ALL SERVER; GO CREATE TRIGGER tr_01_DontDropDataBase ON ALL SERVER FOR DROP_DATABASE AS RAISERROR ('tr_01_DontDropDataBase:Ban khong the xoa DataBase nay.Muon xoa ban phai disable trigger tr_01_DontDropDataBase !',10, 1) ROLLBACK GO Test DROP Database databaseTest GO c Hiển thị thông báo sau chạy Test 3.4.2 Trigger ngăn chặn insert vào bảng Product a Mô tả: Với tên: tr_02_Product Sử dụng phạm vi bảng Table Product - Khi gặp kiện Thêm liệu vào bảng Product 64 - Với điều kiện Các trƣờng Name, Code, ParentId insert vào bị trùng với record tồn bảng Product - Hành động xảy là: Không cho phép insert liệu trùng Name, Code, ParentId (rollback lại table, liệu table nhƣ cũ) b Lệnh tạo kiểm tra: /*2.tr_02_Product*/ Create IF OBJECT_ID('tr_02_Product','TR') IS NOT NULL DROP TRIGGER tr_02_Product; GO CREATE TRIGGER tr_02_Product ON Product AFTER INSERT AS DECLARE @Name nvarchar(250), @Code nvarchar(50), @ParentId bigint SELECT @Name = inst.Name, @Code =inst.Code, @ParentId = inst.ParentId FROM inserted AS inst IF EXISTS ( SELECT * FROM Product WHERE Name = @Name AND Code = @Code AND ParentId =@ParentId ) BEGIN RAISERROR ('tr_02_Product:San pham da co bang, ban khong insert vao duoc nua',16,1) ROLLBACK TRANSACTION END GO Test 65 SELECT * FROM [Product] WHERE ParentId =16 AND Code = 'updatecode' AND Name = 'updateproduct' GO INSERT INTO [ECADataBase].[dbo].[Product] ([Name],[Code],[ParentId],[FlagNew],[FlagDeleted],[Fl agHot]) VALUES ('updateproduct','updatecode',16,1,1,1) c Hiển thị thông báo sau chạy Test 3.4.3 Trigger ngăn chặn update (cập nhật) bảng Product Với tên tr_03_Product Phạm vi sử dụng bảng Table Product a Mô tả - Event: cập nhật (Update) bảng Product - Condition: Giá trị update CurrentCost nằm khoảng (10000,2000000) - Action: Rollback lại liệu, không update liệu b Lệnh tạo kiểm tra: /*3.tr_03_Product*/ 66 Create IF OBJECT_ID('tr_03_Product','TR') IS NOT NULL DROP TRIGGER tr_03_Product; GO CREATE TRIGGER tr_03_Product ON Product AFTER UPDATE AS DECLARE @CurrentCost bigint SELECT @CurrentCost = inst.CurrentCost FROM inserted AS inst IF (@CurrentCost < 10000 OR @CurrentCost > 2000000) BEGIN IF(@CurrentCost < 10000) RAISERROR ('tr_03_Product:Ban Update sai.CurrentCost khong the nho hon 10000',16,1) IF (@CurrentCost > 2000000) RAISERROR ('tr_03_Product:Ban Update sai.CurrentCost khong the lon hon 2000000',16,1) ROLLBACK TRANSACTION END GO Test SELECT * FROM Product WHERE Id =1195 Update Product Set CurrentCost =2300000 WHERE Id =1195 3.4.4 Trigger ngăn chặn xóa liệu bảng Tên tr_04_Product Sử dụng phạm vi bảng Table Product a Mô tả: - Event: Xóa liệu bảng - Condition: Record (row) bảng có trƣờng Amount > - Action: Rollback lại liệu, khơng xóa đƣợc record có Amount >0 b Lệnh tạo kiểm tra: 67 Create IF OBJECT_ID('tr_04_Product','TR') IS NOT NULL DROP TRIGGER tr_04_Product; GO CREATE TRIGGER tr_04_Product ON Product AFTER DELETE AS DECLARE @Amount bigint SELECT @Amount = inst.Amount FROM deleted AS inst BEGIN IF(@Amount > 0) RAISERROR ('tr_04_Product:San pham van kho.Ban khong the xoa duoc',16,1) ROLLBACK TRANSACTION END GO Test SELECT * FROM Product WHERE Id =1195 DELETE FROM Product WHERE Id =1195 3.4.5 Trigger ngăn chặn tạo record bảng Tên tr_05_ProductCart Sử dụng phạm vi bảng Table ProductCart a Mô tả: - Event: tạo record bảng - Condition:Trƣờng Amount record có giá trị lớn trƣờng Amount record bảng Product mà có ProducId với - Action: Rollback lại liệu, không tạo đƣợc b Lệnh tạo kiểm tra: Create IF OBJECT_ID('tr_05_ProductCart','TR') IS NOT NULL DROP TRIGGER tr_05_ProductCart; 68 GO CREATE TRIGGER tr_05_ProductCart ON ProductCart AFTER INSERT AS DECLARE @AmountInProduct INT, @AmountInProductCart INT, @ProductId BIGINT SELECT @AmountInProductCart = Amount,@ProductId = ProductId FROM inserted SELECT @AmountInProduct = Amount FROM Product WHERE Id = @ProductId IF (@AmountInProduct < @AmountInProductCart) BEGIN RAISERROR ('tr_05_ProductCard:Ban ko the tao moi ProductCart.Vi Amount table Product < Amount ma ban muon tao table ProductCart',16,1) ROLLBACK TRANSACTION END GO Test SELECT Id as ProductId,Name,Code,Amount,ParentId Product WHERE Id =1195 INSERT INTO ProductCart (CartId,ProductId,Amount) VALUES (213,1195,1001) 3.4.6 Tạo bảng ( không vi phạm trigger trigger 05) Với tên tr_06_ProductCart Đƣợc sử dụng phạm vi bảng Table ProductCart, Product a Mô tả: - Event : tạo record bảng FROM 69 - Condition: không vi phạm condition trigger tr_05_ProductCart - Action: Cập nhật lại trƣờng Amount bảng Product = Amount - giá trị Amount tạo table ProductCart b Lệnh tạo kiểm tra: /*6.tr_06_ProductCart*/ Create IF OBJECT_ID('tr_06_ProductCart','TR') IS NOT NULL DROP TRIGGER tr_06_ProductCart; GO CREATE TRIGGER tr_06_ProductCart ON ProductCart AFTER INSERT AS DECLARE @AmountInProduct INT, @AmountInProductCart INT, @ProductId BIGINT SELECT @AmountInProductCart = Amount,@ProductId = ProductId FROM inserted SELECT @AmountInProduct = Amount FROM Product WHERE Id = @ProductId IF (@AmountInProduct > @AmountInProductCart) BEGIN UPDATE Product SET Amount = @AmountInProduct @AmountInProductCart WHERE Id = @ProductId PRINT('tr_06_ProductCart: Da update, giam Amount= ' +CAST(@AmountInProductCart AS nvarchar(10))+ ' Product xuong tao moi data ProductCart') END GO 70 Test SELECT Id as ProductId,Name,Code,Amount,ParentId FROM Product WHERE Id =1195 INSERT INTO ProductCart (CartId,ProductId,Amount) VALUES (213,1195,100) DELETE FROM ProductCart UPDATE Product SET Amount = 1000 WHERE Id = 1195 3.4.7 Trigger ngăn chặn xóa bảng database Với tên tr_07_DontDropTable Sử dụng phạm vi bảng Database a Mô tả: Không cho phép xóa table sở liệu ECA Database b Lệnh tạo kiểm tra: /*7.tr_07_DontDropTable*/ Create IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'tr_07_DontDropTable') DROP TRIGGER tr_07_DontDropTable ON DATABASE; GO CREATE TRIGGER tr_07_DontDropTable ON DATABASE FOR DROP_TABLE AS RAISERROR ('tr_07_DontDropTable:Ban khong the xoa table co so du lieu duoc.Muon xoa ban phai disable trigger tr_07_DontDropTable !',10, 1) ROLLBACK GO Test DROP TABLE TableForTest2 3.4.8 Ngăn chặn xóa trigger CSDL Với tên: tr_08_DontDropTrigger Sử dụng phạm vi bảng Database a Mơ tả: Khơng cho phép xóa trigger CSDL ECA Database 71 b Lệnh tạo kiểm tra: /*8.tr_08_DontDropTrigger*/ Create IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'tr_08_DontDropTrigger') DROP TRIGGER tr_08_DontDropTrigger ON DATABASE; GO CREATE TRIGGER tr_08_DontDropTrigger ON DATABASE FOR DROP_TRIGGER AS RAISERROR ('tr_08_DontDropTrigger:Ban khong the xoa Trigger co so du lieu duoc.Muon xoa ban phai disable trigger tr_08_DontDropTrigger !',10, 1) ROLLBACK GO Test DROP TRIGGER tr_07_DontDropTable ON DATABASE 3.4.9 Không cho phép tạo bảng CSDL Với tên bảng: tr_09_DontCreateTable Sử dụng phạm vi bảng Database a Mô tả: Không cho phép tạo table CSDL ECA DataBase b Lệnh tạo kiểm tra: /*09.tr_09_DontCreateTable*/ Create IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'tr_09_DontCreateTable') DROP TRIGGER tr_09_DontCreateTable ON DATABASE; GO CREATE TRIGGER tr_09_DontCreateTable ON DATABASE 72 FOR CREATE_TABLE,ALTER_TABLE AS RAISERROR ('tr_09_DontCreateTable:Ban khong co quyen them table hoac sua chua table ! Muon tao moi table ban phai disable trigger tr_09_DontCreateTable !',16, 1) ROLLBACK GO Test CREATE TABLE TestCreateTable (OrderID int, CustID int) 3.4.10 Không cho phép tạo trigger CSDL Với tên bảng: tr_10_DontCreateTrigger Phạm vi sử dụng bảng Database a Mô tả: Không cho phép tạo trigger CSDL b Lệnh tạo kiểm tra: /*10.tr_10_DontCreateTrigger*/ Create IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'tr_10_DontCreateTrigger') DROP TRIGGER tr_10_DontCreateTrigger ON DATABASE; GO CREATE TRIGGER tr_10_DontCreateTrigger ON DATABASE FOR CREATE_TRIGGER AS RAISERROR ('tr_10_DontCreateTrigger:Ban khong the tao Trigger moi duoc nua Muon tao them trigger ban phai xoa trigger tr_10_DontCreateTrigger ROLLBACK GO Test !',10, 1) 73 IF EXISTS (SELECT * FROM sys.triggers WHERE parent_class = AND name = 'triggerForTest') DROP TRIGGER triggerForTest ON DATABASE; GO CREATE TRIGGER triggerForTest ON Product AFTER INSERT AS PRINT('Tao moi triggerForTest') GO 74 KẾT LUẬN Cơ sở liệu tảng việc lƣu trữ liệu, đƣợc thể chỗ liệu tồn thực cho ứng dụng Trong số lĩnh vực nhận đƣợc ý năm gần với nhìn làm bật hoạt động dễ dàng lập trình sở liệu, sở liệu tạm thời, sở liệu không gian, sở liệu đa phƣơng tiện (truyền thông), sở liệu suy diễn sở liệu tích cực Vì tính ứng dụng khai thác sở liệu vấn đề đƣợc quan tâm tính ứng dụng cao thực tế Trên sở luận văn nghiên cứu đƣa số vấn đề sau: Thứ nhất, trình đƣợc tổng quan sở liệu quan hệ, ràng buộc toàn vẹn sở liệu Thứ hai, luận văn tìm hiểu sở liệu tích cực quy tắc ECA sở liệu tích cực Thứ ba, sở tìm hiểu lý thuyết sở liệu tích cực, luận văn đƣa chƣơng trình thử nghiệm ứng dụng tốt việc mở rộng hệ thống sở liệu, làm dễ dàng cho ngƣời sử dụng khai thác sở liệu Với nội dung trình bày luận văn hy vọng đóng góp phần việc tìm hiểu xây dựng cài đặt quy tắc ECA SQL Tuy nhiên, giới hạn phạm vi nghiên cứu, luận văn tập trung tìm hiểu khái niệm thời gian khả có hạn chƣơng trình thử nghiệm cịn nhiều hạn chế luận văn khó tránh khỏi thiếu sót Rất mong ý kiến tham gia bổ sung thầy cô để luận văn đƣợc hoàn thiện 75 TÀI LIỆU THAM KHẢO Tiếng Việt TS Nguyễn Tuệ (2007), Nhập môn sở liệu, Nhà xuất Giáo dục TS Nguyễn Tuệ (2006), Giáo trình Ngơn ngữ SQL, Nhà xuất Đại học Quốc Gia Tiếng Anh N H Gehani-H V Jagadish-AT&T Bell Laboratories-Murray Hill, Ode as an Active Database: Constraints and Triggers, New Jersey 07974, pp 19-22 Klaus R Dittrich, Stella Gatziu-Institut fr Informatik, Universitt Zrich: Time Issues in Active Database Systems, Winterthurerstrasse 190, CH-8057 Zurich, Switzerland NORMANW.PATON, ActiveDatabaseSystems, University of Manchester and OSCARDIAZ, University of the Basque Country, pp 67-72

Ngày đăng: 23/09/2020, 21:26

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN