tài liệu RẰNG BUỘC TOÀN VẸN

20 413 0
tài liệu RẰNG BUỘC TOÀN VẸN

Đ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

Ràng buộc toàn vẹn (RBTV) là một quy tắc định nghĩa trên một (hay nhiều) quan hệ do môi trường ứng dụng quy định. ÎĐó chính là quy tắc để đảm bảo tính nhất quán của dữ liệu trong CSDL. ™ Mỗi RBTV được định nghĩa bằng một thuật toán trong CSDL

CCƠƠ SỞ DỮ LI Ệ USỞ DỮ LI Ệ U ỆỆ GV: ThS. Lê Thị NgọcThảo Chương 4: Ràng buộctoànvẹn  RBTV là gì ?  RBTV là gì ? Các yếutố của RBTV  Phân loại ràng buộc toàn vẹn  Phân loại ràng buộc toàn vẹn www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 22 Ràng buộctoànvẹnlàgì?  Ràng buộctoànvẹn (RBTV) là một quy tắc ề định nghĩa trên một (hay nhi ề u) quan hệ do môi trường ứng dụng quy định. ÎĐó chính là quy tắc để đảmbảotính nhất quán củadữ liệu trong CSDL.  Mỗi RBTV được định nghĩabằng một thuật toán trong CSDL. 33 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 1. Định nghĩa  Ví dụ  R1 : Mỗi lớp học có 1 mã số duy nhất để  R1 : Mỗi lớp học có 1 mã số duy nhất để phân biệtvớimọilớphọc khác.  R2 : Mỗi lớp học phải thuộc một KHOA của  R2 : Mỗi lớp học phải thuộc một KHOA của trường.  R3 : Mỗi học viên có 1 mã số riêng biệt  R3 : Mỗi học viên có 1 mã số riêng biệt , không trùng với các học viên khác.  R4 Mỗi h iê hải đă ký à ột lớ  R4 : Mỗi h ọcv iê np hải đă ng ký v à om ột lớ p củatrường. 44 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 1. Định nghĩa  Khóa nội, Khóa ngoại, NOT NULL là nhữn g RBTV về miền g iá trị của các thuộc g g tính.  Trong thựctế, tấtcả các RBTV củamột ầ CSDL phải được phát hiện đ ầ y đủ  Trong một CSDL, RBTV được xem như một ể ễ công cụđ ể di ễ n đạtng ữ nghĩacủaCSDL đó.  T ốt á tì h kh i thá CSDL á  T rong su ốt qu á t r ì n h kh a i thá c CSDL , c á c RBTV đềuphải đượcthỏamãnở bấtkỳ thời điểm nào 55 điểm nào www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu Phương pháp kiểm tra RBTV  Hệ quảntrị CSDL có các cơ chế tựđộng kiểm tra các RBTV về miền giá trị của Khóa kiểm tra các RBTV về miền giá trị của Khóa nội, Khóa ngoại, NOT NULL qua khai báo cấu trúc các bảng cấu trúc các bảng  Thông qua những thủ tụckiểm tra và xử lý vi phạm RBTV do những người phân tích - vi phạm RBTV do những người phân tích thiếtkế cài đặt 66 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu Thời điểm kiểm tra RBTV  Kiểm tra ngay khi thựchiện 1 thao tác cập nhật CSDL ( thêm sửa xóa ) nhật CSDL ( thêm , sửa , xóa ) .  Thao tác cậpnhậtchỉđược xem là hợplệ nếu như nó không vi phạm bất cứ một nếu như nó không vi phạm bất cứ một RBTV nào.  Kiểm tra định kỳ hay đột xuất  Kiểm tra định kỳ hay đột xuất .  Đốivớinhững trường hợpvi phạm RBTV, hệ thống sẽ có những ử lý thích hợp hệ thống sẽ có những x ử lý thích hợp . 77 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiện: tứclànội dung của RBTV, từđó xác định cách biểu diễn xác định cách biểu diễn .  Bốicảnh xảy ra RBTV: trên một hay nhiều quan hệ , cụ thể trên các quan hệ nào . quan hệ , cụ thể trên các quan hệ nào .  Tầm ảnh hưởng của RBTV: Khả năng tính toà nv ẹ n dữ li ệu bị vi p h ạ m toà ẹ dữ ệu bị p ạ  Hành động cầnphải có khi phát hiệncó RBTV b ị vi p h ạ m. ị p ạ 88 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiệncủa RBTV:  Là sự mô tả và biểu diễn hình thức nội dung  Là sự mô tả và biểu diễn hình thức nội dung của nó. Có thể được biểu diễn bằng :  Có thể được biểu diễn bằng : • ngôn ngữ tự nhiên th ật iải ( bằ ã iả PdCd ô • th u ật g iải ( bằ ng m ã g iả - P seu d o C o d e, ng ô n ngữ tựa Pascal) • ngôn ngữ đại số tập hợp đại số quan hệ • ngôn ngữ đại số tập hợp , đại số quan hệ … • các phụ thuộc hàm 99 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiệncủa RBTV – Ví dụ: Cho 1CSDL quản lý hóa đơn bán hàng Cho 1 CSDL quản lý hóa đơn bán hàng gồm các bảng sau: HÓAĐƠN ( Số - hóa - đơn , Số - mặt - hàng , HÓAĐƠN ( Số hóa đơn , Số mặt hàng , Tổng-trị-giá). DM HÀNG ( Mã - hàng , Tên - hàng , Đơn - vị - DM _ HÀNG ( Mã hàng , Tên hàng , Đơn vị tính). CHITIẾT-HĐ ( Số-hóa-đơn , Mã-hàn g , Số- ( , g , lượng-đặt, Đơn-giá, Trị-giá). 1010 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiệncủa RBTV – Ví dụ:  R1 : “ Mỗi hóa đơn có 1 Số hóa đơn riêng biệt ,  R1 : Mỗi hóa đơn có 1 Số hóa đơn riêng biệt , không trùng với hóa đơn khác”: ∀ hđ1, hđ2 ∈ HÓAĐƠN, hđ1 ≠ hđ2 ⇒ hđ1.Số-hóa-đơn ≠ hđ2. Số-hóa-đơn.  R2 : “ Số - mặt - hàng = số bộ của CHITIẾTHĐ  R2 : Số - mặt - hàng = số bộ của CHITIẾT _ HĐ có cùng Số-hóa-đơn”: ∀ hđ ∈ HÓAĐƠN thì : ∀ hđ ∈ HÓAĐƠN thì : hđ.Số-mặt-hàng = COUNT (cthđ ∈ CHITIẾT_HĐ, cthđ.Số - hóa - đơn = hđ.Số - hóa - đơn ) 1111 cthđ.Số hóa đơn hđ.Số hóa đơn ) www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiệncủa RBTV – Ví dụ: R3 : “ Tổng các trị giá của các mặt hàng trong R3 : Tổng các trị giá của các mặt hàng trong CHITIẾT_HĐ có cùng Số-hóa-đơnphảibằng Tổng - trị - giá ghi trong HÓAĐƠN ” : Tổng - trị - giá ghi trong HÓAĐƠN: ∀ hđ ∈ HÓAĐƠN thì: hđ.Tổng-trị-giá = SUM ( thđ T ị iá ) đối ới á thđ CHITIẾTHĐ ( c thđ . T r ị -g iá ) đối v ới c á cc thđ ∈ CHITIẾT _ HĐ sao cho : cthđ. Số-hóa-đơn= hđ. Số-hóa-đơn. 1212 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Điềukiệncủa RBTV – Ví dụ:  R4 : “ Mỗi bộ của CHITIẾTHĐ phải có mã  R4 : Mỗi bộ của CHITIẾT _ HĐ phải có mã hàng thuộcvề danh mục hàng”: CHITIẾTHĐ [ Mã hàng ] ⊆ DM HÀNG[ Mã hàng ] CHITIẾT _ HĐ [ Mã - hàng ] ⊆ DM _ HÀNG[ Mã - hàng ] ∀ cthđ ∈ CHITIẾT_HĐ, ∃ hh ∈ DM_HÀNG, sao cho: cthđ Mã - hàng = hh Mã - hàng cthđ . Mã - hàng = hh . Mã - hàng . 1313 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Bốicảnh của RBTV:  B ố i cả nh có t h ể đị nh n g hĩ a t r ê nm ột qua nh ệ cơ sở ố cả có t ể đị g a tê ột qua ệ cơ sở hay nhiều quan hệ cơ sở.  Đólànhững quan hệ mà RBTV đượcápdụng trên đó 1414 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Bốicảnh củaRBTV –vídụ: Trong ví dụ trên bối cảnh của các ràng Trong ví dụ trên , bối cảnh của các ràng buộctoànvẹnnhư sau  R1 :chỉ là m ộ t q uan h ệ HÓAĐƠN ộ q ệ  R2 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;  R3 : 2 quan hệ HÓAĐƠN và CHITIẾT_HĐ;  R4 : 2 quan hệ CHITIẾT_HĐ và DM_HÀNG. 1515 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV Tầm ảnh hưởng của RBTV:  Một RBTV có thể liên quan đến một số quan  Một RBTV có thể liên quan đến một số quan hệ, và chỉ khicóthaotáccậpnhật (Thêm, Sửa , Xóa ) mới có nguy cơ dẫn đến vi phạm Sửa , Xóa ) mới có nguy cơ dẫn đến vi phạm RBTV  Î cần xác định rõ thao tác nào dẫn đến việc  Î cần xác định rõ thao tác nào dẫn đến việc cầnphảikiểm tra RBTV. 1616 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV Tầm ảnh hưởng của RBTV:  Trong quá trình phân tích thiết kế một  Trong quá trình phân tích , thiết kế một CSDL, người phân tích cầnlập bảng xác định tầm ảnh hưởng cho mỗi ràng buộc toàn định tầm ảnh hưởng cho mỗi ràng buộc toàn vẹn Î nhằm xác định khi nào thì phải tiến hành Î nhằm xác định khi nào thì phải tiến hành kiểm tra các ràng buộctoànvẹn đó 1717 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV Bảng Tầm ảnh hưởng:  Bảng tầm ảnh hưởng gồm 4 cột :  Bảng tầm ảnh hưởng gồm 4 cột :  cột1 chứatêncácbảng liên quan tới RBTV;  3 c ộ ttiế p theo là thao tác Thêm / Sửa / Xóa 1 b ộ ộ p ộ giá trị  Nếu RBTV có nguy cơ bị vi phạmthìtạiô ấ ằ ấ đóngườitađánh d ấ ub ằ ng d ấ ucộng (+)  Có thể chỉ rõ thêm các thuộctínhnàonếu đ ậ hật ới dẫ đế i h RBTV đ ượcc ậ pn hật m ới dẫ n đế nv i p h ạm RBTV bằng cách liệt kê chúng dướidấu(+). 1818 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV Bảng Tầm ảnh hưởng (tt):  Nế RBTV khô ó bị i h khi  Nế u RBTV khô ng c ó nguy c ơ bị v i p h ạm khi cậpnhậtCSDL thìđánh dấutrừ (-) ế ô ì ô é  N ế ukh ô ng bị vi phạmv ì kh ô ng đượcph é p sửa đổi thì ký hiệulàtrừ vớidấu sao ( -(*) ). 1919 www.tdt.edu.vn www.tdt.edu.vn Cơ Sở Dữ LiệuCơ Sở Dữ Liệu 2. Các yếu tố của RBTV  Tầm ảnh hưởng của RBTV – Ví dụ: Bản g tầm ảnh hưởn g củaR1 g g Quan hệ Thêm SửaXóa HÓAĐƠN +( Số hó đ ) (*) HÓAĐƠN + ( Số - hó a- đ ơn ) - (*) - Bảng tầm ảnh hưởng của R2 Bảng tầm ảnh hưởng của R2 Quan hệ Thêm SửaXóa HÓAĐƠN + +( Số ặt hà ) HÓAĐƠN CHITIẾT_HĐ + + + ( Số -m ặt - hà ng ) - - + 2020 www.tdt.edu.vn www.tdt.edu.vn CCơơ Sở Dữ LiệuSở Dữ Liệu [...]... Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV do có chu trình Nếu trên đồ thị ta thấy xuất hiện 1 đường thị, khép kín thì ta nói rằng trong lược đồ CSDL có sự hiện diện của chu trình ự ệ ệ Sự hiện diện này làm nảy sinh một vấn đề mới: Xác định khả năng đảm bảo tính nhất quán của dữ liệu, đó là một RBTV, do sự hiện diện của chu trình www.tdt.edu.vn 36 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn. .. 0 ≤ kq.Điểm ≤ 10 www.tdt.edu.vn 27 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV liên thuộc tính Đó là loại RBTV có liên quan tới nhiều thuộc tính của một quan hệ Thông thường đó là các phụ thuộc tính toán, hoặc một suy diễn từ giá trị của một hay nhiều thuộc tính trong cùng một bộ giá trị www.tdt.edu.vn 28 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV liên thuộc tính – Ví dụ Trong Quan... www.tdt.edu.vn 24 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn 1 RBTV có bối cảnh là 1 bảng • RBTV về miền giá trị • RBTV liên thuộc tính • RBTV liên bộ 2 RBTV có bối cảnh là nhiều bảng • • • • RBTV về phụ th ộ tồ t i ề h thuộc tồn tại RBTV liên thuộc tính – liên quan hệ RBTV liên bộ – liên quan hệ RBTV do có chu trình www.tdt.edu.vn 25 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV về miền giá trị... [Mã-nhân-viên, [Mã-nhân-viên Mã-đề-án] www.tdt.edu.vn 39 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn Giả thiết 3: Với tân từ sau: ợ p g g Mỗi nhân viên được phân công vào những đề án bất kỳ 2 con đường hoàn toàn độc lập nhau, không liên quan gì tới nhau, mang ý nghĩa hoàn toàn khác nhau Do đó không có RBTV www.tdt.edu.vn 40 Cơ Sở Dữ Liệu ... Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV về phụ thuộc – tồn tại Ví dụ: Mỗi sinh viên phải thuộc 1 lớp Mỗi lớp phải thuộc 1 khoa Mỗi Điểm phải của 1 sinh viên, 1 môn Mỗi nhân viên phải thuộc 1 phòng Mỗi Mã-hàng trong Chitiết-HĐ phải tồn tại trong quan hệ Hàng-hóa Hàng hóa Mỗi Số-hóa-đơn trong Chitiết-HĐ phải tồn tại trong quan hệ Hóa-Đơn Hóa Đơn www.tdt.edu.vn 32 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc. .. 4.2.Phân loại ràng buộc toàn vẹn RBTV liên thuộc tính – liên quan hệ: Một thuộc tính trong 1 quan hệ này có mối liên hệ với 1 thuộc tính trong 1 quan hệ khác Ví dụ: g yg gp g y ặ Ngày giao hàng phải sau ngày đặt Hóađơn.Ngày-giao >= Đặthàng Ngày-đặt gp gp Trưởng phòng phải từ 40 tuổi trở lên Year(NgayNhChuc) – Year(Ngsinh) >= 40 www.tdt.edu.vn 33 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV liên bộ... phổ biến Mỗi thuộc tính được đặc trưng không chỉ bởi kiểu giá trị, mà còn bị giới hạn bởi miền giá trị trong kiểu dữ liệu đó Do đó, khi thực hiện các thao tác cập nhật (thêm, xóa, sửa) cho quan hệ đều phải kiểm tra RBTV này ể www.tdt.edu.vn 26 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV về miền giá trị – ví dụ: Trong quan hệ KQUẢ-THI(MASV MAMH KQUẢ-THI(MASV, MAMH, LANTHI, DIEM), do quy định mỗi... giáo viên phải dạy ít nhất 1 lớp Hóađơn.Sốmặthàng = số bộ của Chitiết-HĐ Chitiết HĐ có cùng số hóa đơn p ợ ợ ợ Mỗi phiếu mượn chỉ được mượn tối đa 3 quyển sách www.tdt.edu.vn 34 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV do có chu trình Biểu diễn cấu trúc CSDL dưới dạng đồ thị như sau: Mỗi nút của đồ thị biểu diễn 1 q quan hệ hoặc 1 thuộc tính ệ ặ ộ Quan hệ được biểu diễn bằng nút tròn trắng Thuộc... Với quy ố định 18 tuổi trở lên mới được tuyển Ta có RBTV liên thuộc tính sau: ∀ nv ∈ NHANVIEN / Year(nv.Ngay-TD) – Year(nv.Ngay-sinh) Year(nv Ngay-sinh) ≥ 18 www.tdt.edu.vn 29 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn RBTV liên bộ Liên quan tới nhiều bộ q Có thể tới nhiều thuộc tính của (các) bộ giá trị trong một quan hệ Ví dụ: Mã số sinh viên không được trùng nhau Điểm thi lần sau > lần trước:... ràng buộc toàn vẹn RBTV do có chu trình Ví dụ: Q1 (Mã-nhân-viên, Mã-phòng) Q2 (Mã-phòng, Mã-đề-án) Q3 (Mã-đề-án, Tên-đề-án) ( , ) Q4 (Mã-đề-án, Mã-nhân-viên) www.tdt.edu.vn 37 Cơ Sở Dữ Liệu 4.2.Phân loại ràng buộc toàn vẹn Giả thiết 1: Với tân từ sau: Mỗi nhân viên được phân công vào tất cả các đề án ợ p g do phòng đó phụ trách 2 con đường mang ý nghĩa giống nhau Đường dài hơn Q1 kết nối với Q2 (ký hiệu

Ngày đăng: 09/04/2015, 20:42

Từ khóa liên quan

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

Tài liệu liên quan