Ràng Buộc Toàn Vẹn.ppt (Cơ Sở Dữ Liệu) | Tải Miễn Phí

Trang chủ Trang chủ Tìm kiếm Trang chủ Tìm kiếm Ràng buộc toàn vẹn ppt Số trang Ràng buộc toàn vẹn 61 Cỡ tệp Ràng buộc toàn vẹn 292 KB Lượt tải Ràng buộc toàn vẹn 1 Lượt đọc Ràng buộc toàn vẹn 56 Đánh giá Ràng buộc toàn vẹn 4.3 ( 6 lượt) Xem tài liệu Nhấn vào bên dưới để tải tài liệu Tải về Chuẩn bị Đang chuẩn bị: 60 Bắt đầu tải xuống Để tải xuống xem đầy đủ hãy nhấn vào bên trên Chủ đề liên quan Cơ sở dữ liệu ràng buộc toàn vẹn Integrety Constraints điều kiện Ràng buộc toàn vẹn tài liệu lập trình xây dựng cơ sở dữ liệu

Nội dung

Chương 7 Ràng buộc toàn vẹn Nội dung chi tiết     Khái niệm Các đặc trưng của RBTV Phân loại Cài đặt 2 Khái niệm  RBTV (Integrety Constraints) xuất phát từ những qui định hay điều kiện - Trong thực tế Trong mô hình dữ liệu    Các thao tác làm thay đổi dữ liệu không nên được thực hiện một cách tùy tiện vì có thể đưa CSDL đến một tình trạng ‘xấu’ RBTV là một điều kiện được định nghĩa trên một hay nhiều quan hệ khác nhau Các RBTV là những điều kiện bất biến mà mọi thể hiện của quan hệ đều phải thỏa ở bất kỳ thời điểm nào 3 Khái niệm (tt)  Tại sao cần phải có RBTV? - -  Bảo đảm tính kết dính của các thành phần cấu tạo nên CSDL Bảo đảm tính nhất quán của dữ liệu Bảo đảm CSDL luôn biểu diễn đúng ngữ nghĩa thực tế Ví dụ - - Mức lương của một người nhân viên không được vượt quá trưởng phòng (R1) 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) 4 Nội dung chi tiết   Khái niệm Các đặc trưng của RBTV -   Bối cảnh Nội dung Bảng tầm ảnh hưởng Phân loại Cài đặt 5 Bối cảnh  Bối cảnh của một RBTV -  Là những quan hệ có khả năng bị vi phạm RBTV khi thực hiện các phép cập nhật Ví dụ (R1) - Mức lương của một người nhân viên không được vượt quá trưởng phòng  Các phép cập nhật     Cập nhật lương cho nhân viên Thêm mới một nhân viên vào một phòng ban Bổ nhiệm trưởng phòng cho một phòng ban Bối cảnh: NHANVIEN, PHONGBAN 6 Bối cảnh (tt)  Ví dụ (R2) - Người quản lý trực tiếp phải là một nhân viên trong công ty  Các phép cập nhật    Cập nhật người quản lý trực tiếp của một nhân viên Thêm mới một nhân viên Bối cảnh: NHANVIEN 7 Nội dung  Nội dung của một RBTV được phát biểu bằng - Ngôn ngữ tự nhiên  - Dễ hiểu nhưng thiếu tính chặt chẽ Ngôn ngữ hình thức   Cô đọng, chặt chẽ nhưng đô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) 8 Nội dung (tt)  Ví dụ (R1) - Ngôn ngữ tự nhiên  - Mức lương của một người nhân viên không được vượt quá trưởng phòng Ngôn ngữ hình thức  t  NHANVIEN ( u  PHONGBAN ( v  NHANVIEN ( u.TRPHG  v.MANV  u.MAPHG  t.PHG  t.LUONG  v.LUONG ))) 9 Nội dung (tt)  Ví dụ (R2) - Ngôn ngữ tự nhiên  - Người quản lý trực tiếp phải là một nhân viên trong công ty Ngôn ngữ hình thức  t  NHANVIEN ( t.MA_NQL  null  s  NHANVIEN (t.MA_NQL  s.MANV )) 10 Bảng tầm ảnh hưởng  Bảng tầm ảnh hưởng -  Xác định thao tác cập nhật nào cần phải kiểm tra RBTV khi được thực hiện trên quan hệ bối cảnh Có 2 loại - Bảng tầm ảnh hưởng cho một RBTV Bảng tầm ảnh hưởng tổng hợp 11 Bảng tầm ảnh hưởng một RBTV Tên_RB Thêm Xóa Sửa Quan hệ 1   Quan hệ 2        (Thuộc tính) … Quan hệ n () Vi phạm RBTV () Không vi phạm RBTV 12 Bảng tầm ảnh hưởng tổng hợp Ràng buộc Ràng buộc 1 S T X 2 S … T X Quan hệ 1 + - + Quan hệ 2 - + - Quan hệ 3 - - + + - + … Ràng buộc … T m X S + - + - + - - - + … Quan hệ n - + - 13 Nội dung chi tiết    Khái niệm Các đặc trưng của RBTV Phân loại - Một quan hệ    - Nhiều quan hệ       Miền giá trị Liên bộ Liên thuộc tính Tham chiếu Liên bộ, liên quan hệ Liên thuộc tính, liên quan hệ Thuộc tính tổng hợp Chu trình Cài đặt 14 RBTV - Miền giá trị  Ràng buộc qui định các giá trị cho một thuộc tính R  A B C D   1 1   5 7   12 3   23 9  9 {,  {1..10} , } Miền giá trị - Liên tục Rời rạc 15 Ví dụ 3  Thời gian tham gia đề án của một nhân viên không quá 60 giờ - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 16 Ví dụ 4  Giới tính của nhân viên là ‘Nam’ hoặc ‘Nu’ - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 17 RBTV - Liên bộ  Sự tồn tại của một hay nhiều bộ phụ thuộc vào sự tồn tại của một hay nhiều bộ khác trong cùng quan hệ R  A B C D   1 1   5 7   12 3   23 9 Trường hợp đặc biệt - RB khóa chính RB duy nhất (unique) 18 Ví dụ 5  Tên phòng là duy nhất - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 19 Ví dụ 6  Một nhân viên được tham gia tối đa 5 đề án - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 20 Ví dụ 7   THIDAU(NGAY, GIO, DOI, SOBAN) Mỗi trận đấu là cuộc thi đấu của đúng 2 đội - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng 21 RBTV - Liên thuộc tính  Là ràng buộc giữa các thuộc tính trong cùng quan hệ R A B C D   1 1   5 7   12 3   23 9 22 Ví dụ 8  Một nhân viên không quản lý trực tiếp chính mình - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 23 Ví dụ 9   KHOAHOC(MAKH, TENKH, BDAU, KTHUC) Mỗi khóa học kéo dài ít nhất 3 tháng - Bối cảnh: - Biểu diễn: - Bảng tầm ảnh hưởng: 24 RBTV - Tham chiếu  Giá trị xuất hiện tại các thuộc tính trong một quan hệ nào đó phải tham chiếu đến giá trị khóa chính của một quan hệ khác cho trước R A B C D   1 1   5 7   12 3   23 9 S E F 7 1 3 2 Bắt buộc phải tồn tại trước  Trường hợp đặc biệt - RB khóa ngoại 25 Ví dụ 10  Mọi thân nhân phải có mối quan hệ gia đình với một nhân viên trong công ty - Bối cảnh: Biểu diễn: - Bảng tầm ảnh hưởng: - 26 RBTV - Tham chiếu (tt)   Còn gọi là phụ thuộc tồn tại Thường có bối cảnh là hai quan hệ - Nhưng có trường hợp suy biến thành một quan hệ Ví dụ (R2)  Người quản lý trực tiếp phải là một nhân viên trong công ty Bối cảnh: Biểu diễn:  Bảng tầm ảnh hưởng   27 RBTV - Liên bộ, liên quan hệ  Là ràng buộc xảy ra giữa các bộ trên nhiều quan hệ khác nhau R A B C D   1 1   5 7   12 3   23 9 S A B C  2 7  4 7  2 3  2 10 28 Ví dụ 11    HOADON(SOHD, MAKH, NGAYHD) CTHD(SOHD, MAHH, DGIA, SLG) Mỗi hóa đơn phải có ít nhất một chi tiết hóa đơn - Bối cảnh: Biểu diễn: - Bảng tầm ảnh hưởng: - 29 RBTV - Liên thuộc tính, liên quan hệ  Là ràng buộc xãy ra giữa các thuộc tính trên nhiều quan hệ khác nhau R A B C D   1     S A B C 1  2 7 5 7  4 7  12 3  2 3  23 9  2 10 30 Ví dụ 12  Ngày sinh của trưởng phòng phải nhỏ hơn ngày nhận chức - Bối cảnh: Biểu diễn: - Bảng tầm ảnh hưởng: - 31 RBTV - Thuộc tính tổng hợp  Thuộc tính tổng hợp -  Là thuộc tính có giá trị được tính toán từ các thuộc tính khác Khi CSDL có thuộc tính tổng hợp - RBTV bảo đảm quan hệ giữa thuộc tính tổng hợp và các thuộc tính nguồn 32 Ví dụ 13   PHONGBAN(TENPHG, MAPHG, TRPHG, NG_NHANCHUC, SO_NV) Số nhân viên của một phòng ban phải bằng tổng số lượng nhân viên thuộc phòng đó - Bối cảnh: Biểu diễn: - Bảng tầm ảnh hưởng: - 33 RBTV – Chu trình  Lược đồ CSDL có thể được biểu diễn bằng đồ thị - Đỉnh   - Quan hệ Thuộc tính Tên quan hệ Cạnh  Đường nối một đỉnh quan hệ với một đỉnh thuộc tính trong lược đồ CSDL Tên quan hệ  Tên thuộc tính Tên thuộc tính Chu trình - Đồ thị xuất hiện đường đi khép kín ~ Lược đồ CSDL có chu trình 34 Ví dụ 14  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 PHG=PHONG NHANVIEN MANV=MA_NVIE N MANV, MADA MA_NVIEN, SODA DEAN SODA=MAD A PHANCONG 35 Ví dụ 14 (tt)  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 cảnh: Biểu diễn: - Bảng tầm ảnh hưởng: - 36 Nội dung chi tiết     Khái niệm Các đặc trưng của RBTV Phân loại Cài đặt - Assertion Trigger Transaction (giao tác) Stored Procedure (thủ tục lưu trữ nội) 37 Cài đặt  Các RBTV được cài đặt bởi - - Primary key Foreign key Check contraint Assertion Trigger Transaction 38 Assertion  Là một biểu thức SQL luôn mang giá trị TRUE tại mọi thời điểm -  Người sử dụng cần cho biết cái gì phải đúng Cú pháp CREATE ASSERTION CHECK () DROP ASSERTION 39 Ví dụ 12  Ngày sinh của trưởng phòng phải nhỏ hơn ngày nhận chức 40 Ví dụ 15  Lương của trưởng phòng phải lớn hơn 50000 41 Ví dụ 15 (tt)  Lương của trưởng phòng phải lớn hơn 50000 Check Constraint 42 Ví dụ 16  Số lượng nhân viên của mỗi phòng ban không quá 20 người 43 Ví dụ 16 (tt)  Số lượng nhân viên của mỗi phòng ban không quá 20 người Check Constraint 44 Assertion hay Check Constraint ? 45 Trigger  Là tập hợp các lệnh được thực hiện tự động khi xuất hiện một biến cố nào đó thêm xóa sửa trước sau giá trị mới giá trị cũ Biến cố Điều kiện Không thỏa Thông báo lỗi Thỏa Tập hợp các lệnh row-level statementlevel 46 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 47 Ví dụ 15  Lương của trưởng phòng phải lớn hơn 50000 48 Ví dụ 15 (tt)  Lương của trưởng phòng phải lớn hơn 50000 49 Ví dụ 15 (tt)  Lương của trưởng phòng phải lớn hơn 50000 50 Transaction  Là tập các lệnh thực hiện một xử lý nào đó trong một ứng dụng CSDL, sao cho -  Hoặc là tất cả các lệnh đều được thực hiện thành công Hoặc là không có lệnh nào được thực hiện Ví dụ: xử lý chuyển tiền trong ngân hàng Giao tác Chuyển_tiền Giảm tiền trong tài khoản người gửi Tăng tiền trong tài khoản người nhận Nếu tất cả đều thành công thì hoàn tất giao tác Ngược lại quay lui giao tác Cuối giao tác 51 Transaction (tt)  Giao tác phải đảm bảo - Tính nguyên tố (atomicity) Tính nhất quán của CSDL (consistency)  Các RBTV không bị vi phạm   Trong khi thực hiện giao tác Trước và sau khi thực hiện giao tác 52 Ví dụ 7  Mỗi trận đấu là cuộc thi đấu của đúng 2 đội Giao tác Thêm_trận_đấu(t, s) Thêm t vào THIDAU Thêm s vào THIDAU Nếu có một thao tác thất bại thì Quay lui giao tác Ngược lại Hoàn tất giao tác Cuối nếu Cuối giao tác 53 Ví dụ 7 (tt) Giao tác Xóa_trận_đấu(ngay, gio) Với mọi sTHIDAU (s.NGAYngay  s.GIOgio) Xóa s khỏi THIDAU Cuối với mọi Nếu có một thao tác thất bại thì Quay lui giao tác Ngược lại Hoàn tất giao tác Cuối nếu Cuối giao tác 54 Ví dụ 11  Mỗi hóa đơn phải có ít nhất một chi tiết hóa đơn Giao tác Thêm_hóa_đơn Thêm HOADON Thêm chi tiết thứ 1 vào CTHD Thêm chi tiết thứ 2 vào CTHD … Nếu có một thao tác thêm thất bại thì Quay lui giao tác Ngược lại Hoàn tất giao tác Cuối nếu Cuối giao tác 55 Ví dụ 11 (tt) Giao tác Thêm_hóa_đơn Thêm HOADON Thêm chi tiết thứ 1 vào CTHD Thêm chi tiết thứ 2 vào CTHD … Nếu có một thao tác thêm thất bại thì Quay lui giao tác Ngược lại Hoàn tất giao tác Cuối nếu Cuối giao tác 56 Stored Procedure  Các DBMS thương mại cung cấp cách thức lưu trữ các hàm hay thủ tục -  Được lưu trữ trong lược đồ CSDL Được sử dụng trong các câu lệnh SQL Cú pháp CREATE PROCEDURE AS Khai báo biến cục bộ Thân chương trình GO EXEC 57 Ví dụ 7  Mỗi trận đấu là cuộc thi đấu của đúng 2 đội CREATE PROCEDURE Thêm_trận_đấu t THIDAU , s THIDAU AS begin tran Thêm t vào THIDAU If @@error0 rollback tran Thêm s vào THIDAU If @@error0 commit tran rollback tran GO EXEC Thêm_trận_đấu x, y 58 Nhận xét  DBMS sẽ kiểm tra RBTV -  Sau khi một thao tác cập nhật diễn ra trên CSDL Cuối mỗi giao tác Nên cài đặt RBTV ở đâu ??? - - DBMS Application Trigger quá nhiều  hệ thống chậm chạm Stored Procedure  hiệu quả cao 59 Bài tập về nhà  Bài tập -  7.2 / 331-333 7.3 / 335-336 7.4 / 345-347 Đọc - Procedures stored in schema / 365-378 60 61 This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Tìm kiếm

Tìm kiếm

Chủ đề

Tài chính hành vi Trắc nghiệm Sinh 12 Atlat Địa lí Việt Nam Hóa học 11 Bài tiểu luận mẫu Mẫu sơ yếu lý lịch Lý thuyết Dow Đồ án tốt nghiệp Đơn xin việc Thực hành Excel Giải phẫu sinh lý Đề thi mẫu TOEIC adblock Bạn đang sử dụng trình chặn quảng cáo?

Nếu không có thu nhập từ quảng cáo, chúng tôi không thể tiếp tục tài trợ cho việc tạo nội dung cho bạn.

Tôi hiểu và đã tắt chặn quảng cáo cho trang web này

Từ khóa » Bài Tập Ví Dụ Về Ràng Buộc Toàn Vẹn