1. Trang chủ
  2. » Tất cả

Ctt102 chuong 7 rbtv (2)

64 0 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 64
Dung lượng 1,03 MB

Nội dung

CHƯƠNG Ràng buộc toàn vẹn (Integrety Constraints) Slide giảng mơn Cơ sở liệu © Bộ mơn Hệ Thống Thông Tin - Khoa Công Nghệ Thông Tin - Trường Đại học Khoa học Tự nhiên Nội dung chi tiết     Khái niệm Các đặc trưng RBTV Phân loại Cà i đạ t © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN Khái niệm  RBTV (Integrety Constraints) phát từ ngữ nghĩa  liệu thể liệu thực tế (1) RBTV nhằm đảm bảo (1):  Tính liệu mơ hình liệu  Ngữ nghĩa CSDL  Khi RBTV khai báo, thể quan hệ   phải thỏa RBTV thời điểm (1) RBTV phát khai báo thiết kế viên trình thiết kế liệu (1) RBTV định nghĩa quan hệ liên quan đến nhiều quan hệ (1) Trích từ sách: Fundamental of Databases 4th , Ramez Elmasri & Shamkant B Navathe, ISBN 0-321-12226-7, 2003 (1) © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN Nội dung chi tiết  Khái niệm phân loại  Các đặc trưng RBTV - Bối cảnh - Nội dung - Bảng tầm ảnh hưởng  Phân loại  Cài đặt © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN Bối cảnh  Bối cảnh RBTV - Là quan hệ có khả bị vi phạm RBTV thực phép cập nhật liệu (thêm, xóa, sửa liệu)  Ví dụ (R1) - Mức lương người giáo viên khơng vượt q trưởng mơn • Các phép cập nhật – Cập nhật lương cho giáo viên – Thêm giáo viên vào môn – Bổ nhiệm trưởng môn cho môn • Bối cảnh: GIAOVIEN, BOMON © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN Bối cảnh (tt)  Ví dụ (R2) - Người quản lý trực tiếp (của giáo viên) phải giáo viên mơn • Các phép cập nhật – Cập nhật người quản lý trực tiếp giáo viên – Thêm giáo viên • Bối cảnh: GIAOVIEN © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN Nội dung  Nội dung RBTV phát biểu - Ngơn ngữ tự nhiên • Dễ hiểu thiếu tính chặt chẽ - Ngơn ngữ hình thức • Cơ đọng, chặt chẽ đơi lúc khó hiểu • Biểu diễn thơng qua – Đại số quan hệ – Phép tính quan hệ (biến bộ) – Mã giả (pseudo code) © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN Nội dung (tt)  Ví dụ (R1) - Ngơn ngữ tự nhiên • Mức lương người giáo viên không vượt trưởng mơn giáo viên - Ngơn ngữ hình thức (t)(GIAOVIEN(t)  (s)(BOMON(s)  (u)(GIAOVIEN(u)  s.TRUONGBM  u.MAGV  s.MABM  t.MABM  t.LUONG  u.LUONG ))) © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN Nội dung (tt)  Ví dụ (R2) - Ngơn ngữ tự nhiên • Người quản lý trực tiếp giáo viên phải giáo viên mơn - Ngơn ngữ hình thức (t)(GIAOVIEN(t)  (t.GVQLCM  null  (s)(GIAOVIEN(s)  s.MABM = t.MABM  s.MAGV = t.GVQLCM ))) © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN Bảng tầm ảnh hưởng  Bảng tầm ảnh hưởng - Xác định thao tác cập nhật cần phải kiểm tra RBTV thực quan hệ bối cảnh  Có loại - Bảng tầm ảnh hưởng cho RBTV - Bảng tầm ảnh hưởng tổng hợp © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN 10 Trigger  Là tập hợp lệnh thực tự động xuất biến cố thêm xóa sửa trước sau giá trị giá trị cũ Biến cố Điều kiện Không thỏa Thỏa Tập hợp lệnh row-level statement-level Thơng báo lỗi © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN 50 Trigger (tt)  Cú pháp CREATE TRIGGER AFTER|BEFORE INSERT|UPDATE|DELETE ON REFERENCING NEW ROW|TABLE AS OLD ROW|TABLE AS FOR EACH ROW | FOR EACH STATEMENT WHEN () DROP TRIGGER © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN 51 Ví dụ 15  Lương trưởng môn phải lớn 50000 CREATE TRIGGER TR_BM_UPD AFTER UPDATE OF TRUONGBM ON BOMON REFERENCING NEW ROW AS NewTuple FOR EACH ROW WHEN (50000 >= (SELECT LUONG FROM GIAOVIEN WHERE MAGV=NewTuple.TRUONGBM)) Thơng báo lỗi cho người dùng © Bộ môn HTTT - Khoa CNTT - Trường ĐH KHTN 52 Ví dụ 15 (tt)  Lương trưởng môn phải lớn 50000 CREATE TRIGGER TR_BM_UPD AFTER UPDATE OF TRUONGBM ON BOMON REFERENCING NEW ROW AS NewTuple OLD ROW AS OldTuple FOR EACH ROW WHEN (50000 >= (SELECT LUONG FROM GIAOVIEN WHERE MAGV=NewTuple.TRUONGBM)) UPDATE BOMON SET TRUONGBM=OldTuple.TRUONGBM WHERE TRUONGBM=NewTuple.TRUONGBM © Bộ mơn HTTT - Khoa CNTT - Trường ĐH KHTN 53 Ví dụ 15 (tt)  Lương trưởng môn phải lớn 50000 CREATE TRIGGER TR_BM_UPD AFTER UPDATE OF LUONG ON GIAOVIEN REFERENCING NEW ROW AS NewTuple OLD ROW AS OldTuple FOR EACH ROW WHEN (NewTuple.LUONG

Ngày đăng: 04/04/2023, 08:25

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN