Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

18 54 0
Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Đ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

Bài giảng Cơ sở dữ liệu - Chương 6: Ràng buộc toàn vẹn cung cấp cho người học các kiến thức: Khái niệm, các đặc trưng của ràng buộc toàn vẹn, phân loại, cài đặt. Mời các bạn cùng tham khảo nội dung chi tiết.

Chương RÀNG BUỘC TOÀN VẸN CƠ SỞ DỮ LIỆU Khoa Cơng nghệ thơng tin – Đại học Sài Gịn Nội dung chi tiết Khái niệm Khái niệm •RBTV (Integrety Constraints) xuất phát từ qui định hay điều kiện – Trong thực tế – Trong mơ hình liệu Các đặc trưng RBTV • Các thao tác làm thay đổi liệu không nên thực cách tùy tiện đưa CSDL đến tình trạng ‘xấu’ Phân loại Cài đặt •RBTV điều kiện định nghĩa hay nhiều quan hệ khác •Các RBTV điều kiện bất biến mà thể quan hệ phải thỏa thời điểm Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn Các đặc trưng RBTV Khái niệm Tại cần phải có RBTV?  Bảo đảm tính kết dính thành phần cấu tạo nên CSDL  Bảo đảm tính quán liệu  Bảo đảm CSDL biểu diễn ngữ nghĩa thực tế Bối cảnh Nội dung Bảng tầm ảnh hưởng Ví dụ – Mức lương người nhân viên khơng vượt q trưởng phịng (R1) – Người quản lý trực tiếp (của nhân viên) phải nhân viên cơng ty (R2) – Giới tính nhân viên thuộc giá trị «Nam» «Nữ»  RBTV Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn a Bối cảnh a Bối cảnh Ví dụ (R1) Bối cảnh RBTV Mức lương người nhân viên khơng Là quan hệ có khả bị vượt q trưởng phịng • Các phép cập nhật vi phạm RBTV thực – Cập nhật lương cho nhân viên phép cập nhật – Thêm nhân viên vào phòng ban – Bổ nhiệm trưởng phịng cho phịng ban • Bối cảnh: NHANVIEN, PHONGBAN Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn a Bối cảnh b Nội dung Ví dụ (R2) 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ười quản lý trực tiếp phải nhân viên công ty 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ệ – Mã giả (pseudo code) • Các phép cập nhật – Cập nhật người quản lý trực tiếp nhân viên – Thêm nhân viên • Bối cảnh: NHANVIEN Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn b Nội dung b Nội dung Ví dụ (R1) Ví dụ (R2) 10 o Ngôn ngữ tự nhiên o Ngôn ngữ tự nhiên • Mức lương người nhân viên không vượt • Người quản lý trực tiếp phải nhân viên cơng ty trưởng phịng o Ngơn ngữ hình thức o Ngơn ngữ hình thức t  NHANVIEN ( t.MA_NQL  null  t  NHANVIEN ( u  PHONGBAN ( v  NHANVIEN ( u.TRPHG  v.MANV  u.MAPHG  t.PHG  t.LUONG  v.LUONG ))) Khoa CNTT – Đại học Sài Gòn s  NHANVIEN (t.MA_NQL  s.MANV )) 11 Khoa CNTT – Đại học Sài Gòn 12 c Bảng tầm ảnh hưởng Bảng tầm ảnh hưởng RBTV Bảng tầm ảnh hưởng Tên_RB – Xác định thao tác cập nhật cần phải kiểm tra Thêm  Quan hệ RBTV thực quan hệ bối cảnh Quan hệ Xóa  Sửa  (Thuộc tính)       … Quan hệ n Có loại – Bảng tầm ảnh hưởng cho RBTV () Vi phạm RBTV – Bảng tầm ảnh hưởng tổng hợp () Không vi phạm RBTV Khoa CNTT – Đại học Sài Gòn 13 Bảng tầm ảnh hưởng tổng hợp Khoa CNTT – Đại học Sài Gòn 14 Khoa CNTT – Đại học Sài Gòn 16 Phân loại 3.1 Một quan hệ Ràng buộc Ràng buộc T X S T X S Quan hệ + - + + - + Quan hệ - + - Quan hệ - - + 3.1.1 Miền giá trị Ràng buộc m … … … T X S 3.1.2 Liên + - + 3.1.3 Liên thuộc tính - + - - - + 3.2 Nhiều quan hệ 3.2.1 Tham chiếu … Quan hệ n - + - 3.2.2 Liên bộ, liên quan hệ 3.2.3 Liên thuộc tính, liên quan hệ 3.3.4 Thuộc tính tổng hợp 3.3.5 Chu trình Khoa CNTT – Đại học Sài Gòn 15 3.1.1 RBTV - Miền giá trị Ví dụ oRàng buộc qui định giá trị cho thuộc tính Thời gian tham gia đề án nhân viên không 60 • Bối cảnh: R A B C D   1     12   23 PHANCONG   9{,  , {1 10} } • Biểu diễn: t  PHANCONG ( t.THOIGIAN  60 ) oMiền giá trị • Bảng tầm ảnh hưởng: • Liên tục Thêm R3 • Rời rạc   PHANCONG Khoa CNTT – Đại học Sài Gòn Xóa  (THOIGIAN) Khoa CNTT – Đại học Sài Gịn 17 Ví dụ Sửa 18 3.1.2 RBTV - Liên Giới tính nhân viên ‘Nam’ ‘Nu’ oSự tồn hay nhiều phụ thuộc vào tồn hay nhiều khác quan hệ o Bối cảnh: NHANVIEN R o Biểu diễn: t  NHANVIEN ( t.PHAI  {‘Nam’, ‘Nu’} ) hay A B C D   1     12   23 DOM(PHAI)  {‘Nam’, ‘Nu’} oTrường hợp đặc biệt o Bảng tầm ảnh hưởng: R4 NHANVIEN Thêm  Xóa  Sửa • RB khóa  (PHAI) • RB (unique) Khoa CNTT – Đại học Sài Gòn 19 Khoa CNTT – Đại học Sài Gòn 20 Ví dụ Ví dụ Tên phịng Một nhân viên tham gia tối đa đề án o Bối cảnh: o Bối cảnh: PHONGBAN PHANCONG o Biểu diễn: o Biểu diễn: t  PHANCONG ( ∑({ s  PHANCONG | s.MA_NVIEN  t.MA_NVIEN})  ) t1, t2  PHONGBAN ( t1 t2  t1.TENPHG  T2.TENPHG ) o Bảng tầm ảnh hưởng: o Bảng tầm ảnh hưởng: Thêm R5 Xóa   PHONGBAN Sửa  (TENPHG) Khoa CNTT – Đại học Sài Gòn Thêm R6 PHANCONG Xóa    (MA_VIEN, SODA) Khoa CNTT – Đại học Sài Gịn 21 Ví dụ Sửa 22 3.1.3 RBTV - Liên thuộc tính THIDAU(NGAY, GIO, DOI, SOBAN) Là ràng buộc thuộc tính quan hệ Mỗi trận đấu thi đấu đội • Bối cảnh: R THIDAU • Biểu diễn: t  THIDAU ( !s  THIDAU ( t  s  t.NGAY  s.NGAY  t.GIO  s.GIO )) A B C D   1     12   23 • Bảng tầm ảnh hưởng R7 THIDAU Thêm  Xóa  Sửa  (NGAY, GIO, DOI) Khoa CNTT – Đại học Sài Gòn 23 Khoa CNTT – Đại học Sài Gịn 24 Ví dụ Ví dụ Một nhân viên khơng quản lý trực tiếp KHOAHOC(MAKH, TENKH, BDAU, KTHUC) Mỗi khóa học kéo dài tháng • Bối cảnh: • Bối cảnh: NHANVIEN • Biểu diễn: KHOAHOC • Biểu diễn: t  NHANVIEN ( t.MA_NQL  t.MANV  t.MA_NQL  null ) t  KHOAHOC ( t.KTHUC  t.BDAU  ) • Bảng tầm ảnh hưởng: Thêm R8 NHANVIEN Xóa  + • Bảng tầm ảnh hưởng: Sửa  (MA_NQL) Khoa CNTT – Đại học Sài Gòn B C D  1     12   23  (BDAU, KTHUC) Khoa CNTT – Đại học Sài Gịn 26 • Bối cảnh: cho trước  Sửa Mọi thân nhân phải có mối quan hệ gia đình với nhân viên công ty phải tham chiếu đến giá trị khóa quan hệ khác A Xóa  Ví dụ 10 Giá trị xuất thuộc tính quan hệ R  25 3.2.1 RBTV - Tham chiếu o Thêm R9 KHOAHOC Ở thời điểm thêm vào NHANVIEN, MA_NQL null S E F 7 3 • Biểu diễn: THANNHAN, NHANVIEN t  THANNHAN ( s  NHANVIEN ( s.MANV  t.MA_NVIEN )) hay THANNHAN.MA_NVIEN  NHANVIEN.MANV • Bảng tầm ảnh hưởng: Bắt buộc phải tồn trước o Trường hợp đặc biệt R10 • RB khóa ngoại Khoa CNTT – Đại học Sài Gịn 27 Thêm Xóa NHANVIEN   THANNHAN   Sửa  (MANV)  (MA_NVIEN) Khoa CNTT – Đại học Sài Gòn 28 3.2.1 RBTV - Tham chiếu 3.2.2 RBTV - Liên bộ, liên quan hệ Còn gọi phụ thuộc tồn Thường có bối cảnh hai quan hệ Là ràng buộc xảy nhiều quan hệ khác R o Nhưng có trường hợp suy biến thành quan hệ o Ví dụ (R2) • Người quản lý trực tiếp phải nhân viên cơng ty • Bối cảnh: NHANVIEN • Biểu diễn: A B C D   1     12   23 A B C     10 S t  NHANVIEN ( t.MA_NQL  null  s  NHANVIEN (t.MA_NQL  s.MANV )) • Bảng tầm ảnh hưởng Thêm R2 NHANVIEN  Xóa  Sửa  (MANV, MA_NQL) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn 29 Ví dụ 11 30 3.2.3 RBTV - Liên thuộc tính, liên quan hệ HOADON(SOHD, MAKH, NGAYHD) CTHD(SOHD, MAHH, DGIA, SLG) Mỗi hóa đơn phải có chi tiết hóa đơn Là ràng buộc xảy thuộc tính nhiều quan hệ khác • Bối cảnh: R HOADON, CTHD • Biểu diễn: t  HOADON ( s  CTHD ( t.SOHD  s.SOHD )) A B C D A B C   1 S       12    23  10 • Bảng tầm ảnh hưởng: R11 Thêm Xóa HOADON   CTHD   Sửa  (SOHD)  (SOHD) Khoa CNTT – Đại học Sài Gòn 31 Khoa CNTT – Đại học Sài Gịn 32 3.2.4 RBTV - Thuộc tính tổng hợp Ví dụ 12 Ngày sinh trưởng phịng phải nhỏ ngày nhận chức • Bối cảnh: • Là thuộc tính có giá trị tính tốn từ thuộc NHANVIEN, PHONGBAN tính khác • Biểu diễn: t  PHONGBAN ( s  NHANVIEN ( s.MANV  t.TRPHG  t.NG_NHANCHUC  s.NGSINH )) oKhi CSDL có thuộc tính tổng hợp • RBTV bảo đảm quan hệ thuộc tính tổng hợp thuộc tính nguồn • Bảng tầm ảnh hưởng: Thêm R12 oThuộc tính tổng hợp Xóa Sửa NHANVIEN  +  (NGSINH, MANV) PHONGBAN    (NG_NHANCHUC, TRPHG) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn 33 Ví dụ 13 3.2.5 RBTV – Chu trình PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC, SO_NV) Lược đồ CSDL biểu diễn đồ thị Số nhân viên phòng ban phải tổng số lượng nhân viên thuộc phịng • Bối cảnh: o Đỉnh • Quan hệ • Thuộc tính • Biểu diễn: NHANVIEN, PHONGBAN Tên thuộc tính • Đường nối đỉnh quan hệ với đỉnh thuộc tính lược đồ CSDL Tên quan hệ • Bảng tầm ảnh hưởng: Thêm Tên quan hệ o Cạnh t  PHONGBAN ( t.SO_NV   { s  NHANVIEN | s.PHG  t.MAPHG} ) R13 Xóa 34 Tên thuộc tính Chu trình Sửa NHANVIEN    (PHG) PHONGBAN    (SO_NV, MAPHG) Khoa CNTT – Đại học Sài Gòn o Đồ thị xuất đường khép kín ~ Lược đồ CSDL có chu trình 35 Khoa CNTT – Đại học Sài Gịn 36 Ví dụ 14 Ví dụ 14 Nhân viên phân công vào đề án phịng ban phụ trách Nhân viên phân cơng vào đề án phịng ban phụ trách • Bối cảnh: NHANVIEN MANV, MADA NHANVIEN, DEAN, PHANCONG • Biểu diễn: PHG=PHONG NVDA  NHANVIEN PHG=PHONG DEAN t  PHANCONG ( s  NVDA ( t.MA_NVIEN  s.MANV  t.MADA  s.SODA )) DEAN • Bảng tầm ảnh hưởng: MANV=MA_NVIEN MA_NVIEN, SODA SODA=MADA PHANCONG Khoa CNTT – Đại học Sài Gòn R14 NHANVIEN Thêm Xóa  Sửa  DEAN    (MADA,PHONG) PHANCONG    (MA_NVIEN,SODA) 37 Cài đặt  (MANV,PHG) Khoa CNTT – Đại học Sài Gòn 38 Khoa CNTT – Đại học Sài Gòn 40 Cài đặt oCác RBTV cài đặt Assertion • Primary key Trigger • Foreign key Transaction (giao tác) • Check contraint Stored Procedure (thủ tục lưu trữ nội) • Assertion • Trigger • Transaction Khoa CNTT – Đại học Sài Gịn 39 10 Sửa Sửa •PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) •PHONGBAN (MAPHG, TENPHG, TRPHG, NGNC) Mỗi phòng ban: tên, mã phòng Trưởng phòng nhân viên công ty Ngày nhận chức phải lớn ngày sinh nhân viên Mỗi phịng ban: tên, mã phòng Trưởng phòng nhân viên công ty Ngày nhận chức phải lớn ngày sinh nhân viên •DIADIEM_PHG (MAPHG, DIADIEM) Mỗi phịng ban có nhiều địa điểm khác •DEAN (MADA, TENDA, DDIEM_DA, PHONG, NGBD_DK, NGKT_DK) Mỗi đề án: tên, mã Ngày bắt đầu phải nhỏ ngày kết thúc dự kiến đề án •NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, LUONG) t1, t2  PHONGBAN ( t1 t2  t1.TENPHG  t2.TENPHG ) Trưởng phịng NV cơng ty: Phái phải nam nữ Lương nhân viên phải nhỏ lương người quản lý •PHANCONG (MANV, MADA, THOIGIAN) t PHONGBAN ( t1 t2  t1.TENPHG  t2.TENPHG ) Mỗi nhân viên tham gia khơng q đề án đề án phải phòng chủ trì Tổng thời gian tham gia đề án NV không 40h Ngày nhận chức phải lớn ngày sinh: •THANNHAN (MANV, MATN, TENTN, PHAI, NGSINH, QUANHE) t  PHONGBAN ( s  NHANVIEN ( s.MANV t.TRPHG  t.NGNC  s.NGSINH )) Mỗi thân nhân phải có quan hệ với nhân viên cơng ty, quan hệ Vo chong Con Khoa CNTT – Đại học Sài Gòn Tên phòng ban nhất: Khoa CNTT – Đại học Sài Gịn 41 Sửa 42 Sửa •DEAN (MADA, TENDA, DDIEM_DA, PHONG, NGBD_DK, NGKT_DK) •NHANVIEN (MANV, HONV, TENLOT, TENNV, NGSINH, PHAI, DCHI, MA_NQL, PHONG, LUONG) Mỗi đề án: tên, mã Ngày bắt đầu phải nhỏ ngày kết thúc dự kiến đề án Phái phải nam nữ Lương nhân viên phải nhỏ lương người quản lý Tên đề án nhất: Phái phải nam nữ: t  NHANVIEN ( t.PHAI  {‘Nam’, ‘Nu’} ) t1, t2  DEAN ( t1 t2  t1.TENDA  t2.TENDA ) Lương NV nhỏ lương người quản lý: Ngày bắt đầu nhỏ ngày kết thúc: t DEAN ( t.NGBD_DK < t.NGKT_DK ) t  NHANVIEN ( s  NHANVIEN ( t.MA_NQL = s.MANV t.LUONG < s.LUONG )) Khoa CNTT – Đại học Sài Gòn 43 Khoa CNTT – Đại học Sài Gòn 44 11 Sửa Sửa •PHANCONG (MANV, MADA, THOIGIAN) Mỗi nhân viên tham gia khơng q đề án đề án phải phịng chủ trì Tổng thời gian tham gia đề án NV không 40h NV tham gia không đề án: •THANNHAN (MANV, MATN, TENTN, PHAI, NGSINH, QUANHE) Mỗi thân nhân phải có quan hệ với nhân viên cơng ty, quan hệ Vo chong Con 11 Thân nhân phải có quan hệ với NV: t  PHANCONG ( ∑({ s  PHANCONG | s.MANV  t.MANV})  ) t  THANNHAN (s  NHANVIEN ( s.MANV  t.MANV)) NV tham gia đề án phịng chủ trì: NVDA  NHANVIEN PHG=PHONG DEAN t  PHANCONG ( s  NVDA ( t.MANV  s.MANV  t.MADA  s.SODA )) 12 Quan hệ Vo chong Con: t  THANNHAN ( t.QUANHE  {‘Vochong’, ‘Con’} ) 10 Tổng thời gian tham gia đề án không 40h t  PHANCONG (s  PHANCONG ( s.MANV  t.MANV  ∑ s.THOIGIAN NGAY_NHANCHUC ) AND LUONG < 50000 ) ) ) Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn 49 50 Ví dụ 16 Ví dụ 15 Lương trưởng phòng phải lớn 50000 Số lượng nhân viên phịng ban khơng q 20 người ALTER TABLE PHONGBAN ( Check Constraint CREATE ASSERTION R16 CHECK TENPB VARCHAR(20) UNIQUE, ( MAPHG INT NOT NULL, 20 >= ALL ( SELECT COUNT(MANV) TRPHG CHAR(9), FROM NHANVIEN NG_NHANCHUC DATETIME, GROUP BY PHG ) CONSTRAINT CHK_PB_LUONGTRPHG CHECK ( ) TRPHG NOT IN (SELECT MANV FROM NHANVIEN WHERE LUONG < 50000 )) ) Khoa CNTT – Đại học Sài Gòn 51 Khoa CNTT – Đại học Sài Gịn 52 13 Ví dụ 16 Số lượng nhân viên phịng ban khơng 20 người Check Constraint ALTER TABLE NHANVIEN ADD CONSTRAINT CHK_NV_SLNVPB CHECK ( ASSERTION HAY CHECK CONSTRAINT ? 20 >= ALL ( SELECT COUNT(MANV) FROM NHANVIEN GROUP BY PHG ) ) Khoa CNTT – Đại học Sài Gòn 54 53 b Trigger b 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 Cú pháp CREATE TRIGGER AFTER|BEFORE INSERT|UPDATE|DELETE ON REFERENCING Biến cố NEW ROW|TABLE AS OLD ROW|TABLE AS FOR EACH ROW | FOR EACH STATEMENT giá trị giá trị cũ Điều kiện Không thỏa Thông báo lỗi Thỏa WHEN () Tập hợp lệnh row-level statementlevel Khoa CNTT – Đại học Sài Gòn DROP TRIGGER 55 Khoa CNTT – Đại học Sài Gòn 56 14 Trigger – FOR Ví dụ 15 Lương trưởng phịng phải lớn 50000 CREATE TRIGGER TênTrigger ON Tên Bảng CREATE TRIGGER TR_PB_UPD FOR Hành động cập nhật AFTER UPDATE OF TRPHG ON PHONGBAN AS REFERENCING Khai báo biến … NEW ROW AS NewTuple FOR EACH ROW Nhận liệu từ bảng trung gian … WHEN (50000 >= (SELECT LUONG Các kiểm tra … FROM NHANVIEN WHERE MANV=NewTuple.TRPHG) GO ) Thông báo lỗi cho người dùng Khoa CNTT – Đại học Sài Gịn Khoa CNTT – Đại học Sài Gịn 57 Ví dụ 15 – cách Ví dụ 15 – cách Lương trưởng phòng phải lớn 50000 Lương trưởng phòng phải lớn 50000 CREATE TRIGGER TR_PB_UPD CREATE TRIGGER TR_PB_UPD AFTER UPDATE OF TRPHG ON PHONGBAN AFTER UPDATE OF LUONG ON NHANVIEN REFERENCING REFERENCING 58 NEW ROW AS NewTuple NEW ROW AS NewTuple OLD ROW AS OldTuple OLD ROW AS OldTuple FOR EACH ROW FOR EACH ROW WHEN (NewTuple.LUONG = (SELECT LUONG SELECT TRPHG FROM PHONGBAN )) FROM NHANVIEN WHERE MANV=NewTuple.TRPHG)) UPDATE NHANVIEN SET LUONG=OldTuple.LUONG UPDATE PHONGBAN WHERE LUONG=NewTuple.LUONG SET TRPHG=OldTuple.TRPHG WHERE TRPHG=NewTuple.TRPHG Khoa CNTT – Đại học Sài Gòn 59 Khoa CNTT – Đại học Sài Gòn 60 15 c Transaction c Transaction Là tập lệnh thực xử lý ứng dụng CSDL, cho oGiao tác phải đảm bảo • Hoặc tất lệnh thực thành cơng • Tính ngun tố (atomicity) • Hoặc khơng có lệnh thực • Tính qn CSDL (consistency) Các RBTV khơng bị vi phạm Ví dụ: xử lý chuyển tiền ngân hàng  Trong thực giao tác Giao tác Chuyển_tiền  Trước sau thực giao tác Giảm tiền tài khoản người gửi Tăng tiền tài khoản người nhận Nếu tất thành cơng hồn tất giao tác Ngược lại quay lui giao tác Cuối giao tác Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn 61 Ví dụ 62 Ví dụ Mỗi trận đấu thi đấu đội Giao tác Xóa_trận_đấu(ngay, gio) Với sTHIDAU (s.NGAYngay  s.GIOgio) Giao tác Thêm_trận_đấu(t, s) Xóa s khỏi THIDAU Thêm t vào THIDAU Thêm s vào THIDAU Cuối với Nếu có thao tác thất bại Nếu có thao tác thất bại Quay lui giao tác Quay lui giao tác Ngược lại Ngược lại Hoàn tất giao tác Hoàn tất giao tác Cuối Cuối Cuối giao tác Cuối giao tác Khoa CNTT – Đại học Sài Gòn 63 Khoa CNTT – Đại học Sài Gịn 64 16 Ví dụ 11 Ví dụ 11 Mỗi hóa đơn phải có chi tiết hóa đơn Giao tác Thêm_hóa_đơn Giao tác Thêm_hóa_đơn Thêm HOADON Thêm HOADON Thêm chi tiết thứ vào CTHD Thêm chi tiết thứ vào CTHD Thêm chi tiết thứ vào CTHD Thêm chi tiết thứ vào CTHD … … Nếu có thao tác thêm thất bại Nếu có thao tác thêm thất bại Quay lui giao tác Quay lui giao tác Ngược lại Ngược lại Hoàn tất giao tác Hoàn tất giao tác Cuối Cuối Cuối giao tác Cuối giao tác Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gòn 65 d Stored Procedure Ví dụ Các DBMS thương mại cung cấp cách thức lưu trữ hàm hay thủ tục Mỗi trận đấu thi đấu đội 66 CREATE PROCEDURE Thêm_trận_đấu t THIDAU , s THIDAU AS begin tran Thêm t vào THIDAU If @@error0 rollback tran – Được lưu trữ lược đồ CSDL – Được sử dụng câu lệnh SQL Cú pháp Thêm s vào THIDAU If @@error0 rollback tran commit tran CREATE PROCEDURE AS GO Khai báo biến cục EXEC Thêm_trận_đấu x, y Thân chương trình GO EXEC Khoa CNTT – Đại học Sài Gòn 67 Khoa CNTT – Đại học Sài Gòn 68 17 Nhận xét DBMS kiểm tra RBTV • Sau thao tác cập nhật diễn CSDL • Cuối giao tác Thank you! Nên cài đặt RBTV đâu ??? • DBMS • Application  Trigger nhiều  hệ thống chậm chạm  Stored Procedure  hiệu cao Khoa CNTT – Đại học Sài Gòn 69 18 ... 16 Phân loại 3.1 Một quan hệ Ràng buộc Ràng buộc T X S T X S Quan hệ + - + + - + Quan hệ - + - Quan hệ - - + 3.1.1 Miền giá trị Ràng buộc m … … … T X S 3.1.2 Liên + - + 3.1.3 Liên thuộc tính -. .. Ràng buộc m … … … T X S 3.1.2 Liên + - + 3.1.3 Liên thuộc tính - + - - - + 3.2 Nhiều quan hệ 3.2.1 Tham chiếu … Quan hệ n - + - 3.2.2 Liên bộ, liên quan hệ 3.2.3 Liên thuộc tính, liên quan hệ... khoản người nhận Nếu tất thành cơng hồn tất giao tác Ngược lại quay lui giao tác Cuối giao tác Khoa CNTT – Đại học Sài Gòn Khoa CNTT – Đại học Sài Gịn 61 Ví dụ 62 Ví dụ Mỗi trận đấu thi đấu đội

Ngày đăng: 11/07/2020, 04:26

Hình ảnh liên quan

3. Bảng tầm ảnh hưởng - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

3..

Bảng tầm ảnh hưởng Xem tại trang 2 của tài liệu.
– Người quản lý trực tiếp (của một nhân viên) phải là một nhân viên trong công ty(R2) - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

g.

ười quản lý trực tiếp (của một nhân viên) phải là một nhân viên trong công ty(R2) Xem tại trang 2 của tài liệu.
Ngôn ngữ hình thức - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

g.

ôn ngữ hình thức Xem tại trang 3 của tài liệu.
o Ngôn ngữ hình thức - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

o.

Ngôn ngữ hình thức Xem tại trang 3 của tài liệu.
Bảng tầm ảnh hưởng - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng Xem tại trang 4 của tài liệu.
c. Bảng tầm ảnh hưởng - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

c..

Bảng tầm ảnh hưởng Xem tại trang 4 của tài liệu.
Bảng tầm ảnh hưởng một RBTV Tên_RB - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng một RBTV Tên_RB Xem tại trang 4 của tài liệu.
o Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

o.

Bảng tầm ảnh hưởng: Xem tại trang 5 của tài liệu.
3.1.1. RBTV - Miền giá trị - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

3.1.1..

RBTV - Miền giá trị Xem tại trang 5 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 5 của tài liệu.
o Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

o.

Bảng tầm ảnh hưởng: Xem tại trang 6 của tài liệu.
o Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

o.

Bảng tầm ảnh hưởng: Xem tại trang 6 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 7 của tài liệu.
R8 NHANVIEN - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

8.

NHANVIEN Xem tại trang 7 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 7 của tài liệu.
Một nhân viên không quản lý trực tiếp chính mình - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

t.

nhân viên không quản lý trực tiếp chính mình Xem tại trang 7 của tài liệu.
3.2.1. RBTV - Tham chiếu - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

3.2.1..

RBTV - Tham chiếu Xem tại trang 8 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 9 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 9 của tài liệu.
MA_NVIEN,SODAVí dụ 14 - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

d.

ụ 14 Xem tại trang 10 của tài liệu.
• Bảng tầm ảnh hưởng: - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

Bảng t.

ầm ảnh hưởng: Xem tại trang 10 của tài liệu.
Nhân viên chỉ được phân công vào các đề án do phòng ban của mình phụ trách - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

h.

ân viên chỉ được phân công vào các đề án do phòng ban của mình phụ trách Xem tại trang 10 của tài liệu.
SODA=MADAMANV=MA_NVIEN - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy
SODA=MADAMANV=MA_NVIEN Xem tại trang 10 của tài liệu.
Nhân viên chỉ được phân công vào các đề án do phòng ban của mình phụ trách - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

h.

ân viên chỉ được phân công vào các đề án do phòng ban của mình phụ trách Xem tại trang 10 của tài liệu.
Số lượng nhân viên của mỗi phòng ban không quá 20 người - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

l.

ượng nhân viên của mỗi phòng ban không quá 20 người Xem tại trang 14 của tài liệu.
AFTER|BEFORE INSERT|UPDATE|DELETE ON &lt;Tên_bảng&gt; REFERENCING - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

lt.

;Tên_bảng&gt; REFERENCING Xem tại trang 14 của tài liệu.
Trigger – FOR - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

rigger.

– FOR Xem tại trang 15 của tài liệu.
Nhận dữ liệu từ bảng trung gian … - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

h.

ận dữ liệu từ bảng trung gian … Xem tại trang 15 của tài liệu.
FOR Hành động cập nhật - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

nh.

động cập nhật Xem tại trang 15 của tài liệu.
CREATE TRIGGER TênTrigger ON Tên Bảng - Bài giảng Cơ sở dữ liệu: Chương 6 - Lê Nhị Lãm Thúy

n.

Trigger ON Tên Bảng Xem tại trang 15 của tài liệu.

Từ khóa liên quan

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

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

Tài liệu liên quan