Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
Ràng buc toàn vn 1 Ràng buc toàn vn (Integrity Constraint) Chng 6 Ni dung trình bày ̇ Gii thiu ̇ Các yu t ca RBTV ̇ Phân loi RBTV ̇ Cài đt RBTV Ràng buc toàn vn 2 Gii thiu ̇ RBTV •Các điu kin mi trng thái ca quan h đu phi tha bt k thi đim nào. •Xut phát t các qui tc qun lý đc áp đt lên các đi tng trong th gii thc. ̇ Mc đích ca RBTV • m bo tính nht quán ca d liu. -Ngi giám sát phi là mt nhân viên trong công ty. -D án phi đc điu phi bi mt phòng trong công ty. • m bo ng ngha thc t ca CSDL. - Ngày nhn chc > Ngày sinh. -Lng nhân viên < Lng trng phòng. ̇ RBTV có 3 yu t •Ni dung. •Bi cnh. •Bng tm nh hng. Ni dung ca RBTV ̇ c phát biu bng • Ngôn ng t nhiên. - n gin, d hiu. • Ngôn ng hình thc - i s quan h, phép tính quan h, mã gi (pseudo code). -Cós toán hc, đôi lúc khó hiu. Ràng buc toàn vn 3 Ví d ̇ RB-1 •Mi nhân viên có mt mã s riêng bit dùng đ phân bit vi các nhân viên khác. • ∀t 1 , t 2 ∈ NHANVIEN (t 1 ≠ t 2 ⇒ t 1 .MaNV ≠ t 2 .MaNV) ̇ RB-2 •Mi nhân viên phi làm vic trong mt phòng ban. • NHANVIEN[MaPhong] ⊆ PHONGBAN[MaPB] ̇ RB-3 •Mi nhân viên ch đc phép tham gia không quá 3 d án. • ∀s ∈ THAMGIA (card({t | t ∈ THAMGIA ∧ t.MaNV = s.MaNV}) ≤ 3) ̇ RB-4 •Mi phòng ban phi có ít nht mt nhân viên • ∀s ∈ PHONGBAN (∃t ∈ NHANVIEN (t.MaPhong = s.MaPB)) Bi cnh ca RBTV ̇ Là nhng quan h mà RBTV có hiu lc. ̇ Bi cnh có th là mt quan h hoc nhiu quan h. ̇ Ví d •RB-1 có bi cnh là NHANVIEN. •RB-2, RB-4 có bi cnh là NHANVIEN, PHONGBAN. •RB-3 có bi cnh là THAMGIA. Ràng buc toàn vn 4 Bng tm nh hng ca RBTV (1) ̇ RBTV có th b vi phm khi thc hin các thao tác cp nht trên bi cnh • Thêm •Xóa •Sa ̇ Bng tm nh hng dùng đ xác đnh thi đim cn kim tra RBTV. +Quan h k -++Quan h 1 SaXóaThêmTên RBTV + : cn phi kim tra RBTV - : không cn kim tra RBTV Các quan h bi cnh Ví d +NHANVIEN SaXóaThêmRB-1 -+-PHONGBAN +-+NHANVIEN SaXóaThêmRB-2 +THAMGIA SaXóaThêmRB-3 +PHONGBAN + NHANVIEN SaXóaThêmRB-4 Ràng buc toàn vn 5 Bng tm nh hng ca RBTV (2) ̇ Bng tm nh hng tng hp •Xây dng trên c s bng tm nh hng ca các RBTV. • xác đnh thi đim kim tra RBTV khi mt thao tác cp nht trên mt quan h nào đó đc thc hin. + T Tên RBTV r - X + + SSXT -+Quan h n +Quan h 1 Tên RBTV 1 Ví d + - T RB-4 - - X - + S +THAMGIA -+-PHONGBAN +-+ +NHANVIEN SXTSXTSXT RB-3RB-2RB-1 Ràng buc toàn vn 6 Phân loi RBTV ̇ Phân loi theo bi cnh •Bi cnh là mt quan h. •Bi cnh là nhiu quan h. ̇ Mc đích • Giúp ngi thit k phát hin các RBTV ca mt CSDL. ̇ RBTV có bi cnh là mt quan h • RBTV min giá tr. • RBTV liên thuc tính. • RBTV liên b. ̇ RBTV có bi cnh là nhiu quan h • RBTV tham chiu. • RBTV liên thuc tính - liên quan h • RBTV liên b - liên quan h. • RBTV thuc tính tng hp. RBTV min giá tr (1) ̇ RB-5 •Lng ca nhân viên không thp hn 10.000. • ∀t ∈ NHANVIEN (t.Luong ≥ 10.000) +-+NHANVIEN SaXóaThêmRB-5 Ràng buc toàn vn 7 RBTV min giá tr (2) ̇ RB-6 •Gi s quan h NHANVIEN có thêm thuc tính ngày xp lng. Khi mc lng thay đi, thì giá tr ca ngày xp lng phi luôn tng. • τ : NHANVIEN → NHANVIEN ∀t ∈ NHANVIEN (t.NgXepLuong < τ(t).NgXepLuong) + NHANVIEN SaXóaThêmRB-6 RBTV liên thuc tính ̇ RB-7 • Ngày xp lng phi ln hn ngày sinh ca nhân viên. • ∀t ∈ NHANVIEN (t.NgSinh < t.NgXepLuong) ̇ RB-8 •Mt nhân viên không đc giám sát chính mình. • ∀t ∈ NHANVIEN (t.MaGSat ≠ t.MaNV) +-+NHANVIEN SaXóaThêmRB-7 +-+NHANVIEN SaXóaThêmRB-8 Ràng buc toàn vn 8 RBTV liên b ̇ S tn ti ca b này ph thuc vào b khác. •Trng hp đc bit là ràng buc khóa chính. ̇ RB-1 và RB-3. RBTV tham chiu (1) ̇ RB-9 •Ch có nhân viên ca công ty mi đc tham gia vào d án ca công ty. -S tn ti ca mt b t ∈ THAMGIA ph thuc vào s tn ti ca mt b u ∈ NHANVIEN và mt b v ∈ DUAN. • ∀t ∈ THAMGIA (∃u ∈ NHANVIEN, ∃v ∈ DUAN (u.MaNV = t.MaNV ∧ v.MaDA = t.MaDA)) -+-DUAN -+-NHANVIEN +THAMGIA SaXóaThêmRB-9 Ràng buc toàn vn 9 RBTV tham chiu (2) ̇ RB-10 •Mi thân nhân phi có mi quan h h hàng vi nhân viên ca công ty. -S tn ti ca b mt t ∈ THANNHAN ph thuc vào s tn ti ca mt b u ∈ NHANVIEN. • ∀t ∈ THANNHAN (∃u ∈ NHANVIEN (u.MaNV = t.MaNV)) +THANNHAN -+-NHANVIEN SaXóaThêmRB-10 RBTV tham chiu (3) ̇ RB-11 •Ngi giám sát trc tip (nu có) phi là mt nhân viên trong công ty. -S tn ti ca b mt t ∈ NHANVIEN ph thuc vào s tn ti ca mt b u ∈ NHANVIEN. • ∀t ∈ NHANVIEN (t ≠ null ∧∃u ∈ NHANVIEN (u.MaNV = t.MaGS)) ̇ Nhn xét • RBTV tham chiu có th có bi cnh là mt quan h. +++NHANVIEN SaXóaThêmRB-11 Ràng buc toàn vn 10 RBTV liên thuc tính - liên quan h ̇ Mi liên h gia các thuc tính trong nhiu lc đ quan h. ̇ RB-12 •Ngày nhn chc ca trng phòng phi ln hn ngày sinh. • ∀t ∈ PHONGBAN (∃u ∈ NHANVIEN (u.MaNV = t.TrPhong ∧ u.NgSinh < t.NgNhanChuc)) +-+PHONGBAN + NHANVIEN SaXóaThêmRB-12 RBTV liên b - liên quan h ̇ Mi liên h gia các b trên nhiu lc đ quan h. ̇ RB-4 . ̇ RB-13 •Lng ca nhân viên không đc cao hn lng trng phòng. • ∀t ∈ NHANVIEN (∃u ∈ PHONGBAN (∃v ∈ NHANVIEN (v.MaNV = u.TrPhong ∧ u.MaPB = t.MaPhong ∧ v.Luong > t.Luong))) +-+PHONGBAN +-+NHANVIEN SaXóaThêmRB-13 [...]... NgSinh > NgNhanChuc)); Ràng bu c toàn v n 11 Cài t RBTV v i Assertion (2) ̇ RB-3 • create assertion ( check (not exists ( select MaNV from THAMGIA group by MaNV having count(*) > 3)); Cài t RBTV v i Check (1) ̇ create table ( check < i u ki n>, , check < i u ki n> ); ̇ RB-5 • create table NHANVIEN ( , Luong int check (Luong >= 10000), , ) Ràng bu c toàn v n 12 Cài t RBTV... new.Luong > (select Luong from NHANVIEN where MaNV = new.MaGSat)) ERROR(“Luong moi cao hon luong giam sat”); Ràng bu c toàn v n 14 Cài t RBTV trên SQL Server ̇ SQL Server 2000 • Không h tr Assertion • H tr Check và Trigger ̇ Trigger trên SQL 2000 • Xem Help Book Online - Transact SQL Ràng bu c toàn v n CREATE TRIGGER 15 ... date, , check (NgSinh < NgXepLuong) ); Cài t RBTV v i Trigger (1) ̇ T p h p các l nh t ng th c hi n khi x y ra các s ki n nào ó ̇ Mô hình ECA (S ki n - i u ki n - Hành ng) S KI N -Thêm -Xóa -S a Ràng bu c toàn v n I U KI N Xác nh trên các b c và m i úng HÀNH NG T p h p các l nh 13 Cài t RBTV v i Trigger (2) ̇ create trigger on [for . Ràng buc toàn vn 1 Ràng buc toàn vn (Integrity Constraint) Chng 6 Ni dung trình bày ̇ Gii thiu ̇ Các yu t ca RBTV ̇ Phân loi RBTV ̇ Cài đt RBTV Ràng buc toàn vn 2 Gii. t.MaNV) +-+NHANVIEN SaXóaThêmRB-7 +-+NHANVIEN SaXóaThêmRB-8 Ràng buc toàn vn 8 RBTV liên b ̇ S tn ti ca b này ph thuc vào b khác. •Trng hp đc bit là ràng buc khóa chính. ̇ RB-1 và RB-3. RBTV. là NHANVIEN. •RB-2, RB-4 có bi cnh là NHANVIEN, PHONGBAN. •RB-3 có bi cnh là THAMGIA. Ràng buc toàn vn 4 Bng tm nh hng ca RBTV (1) ̇ RBTV có th b vi phm khi thc hin các thao