Phan41. www.elarion.com C S畛 D畛 Li畛U [email_address] Never stop improving quality Ph畉n 4: Rng bu畛c ton v畉n 2. Kh叩i ni畛m v畛 RBTV Kh叩i ni畛m: Rng bu畛c ton v畉n (RBTV) l m畛t qui t畉c 畛nh ngh挑a tr棚n m畛t hay nhi畛u quan h畛 do m担i tr動畛ng 畛ng d畛ng qui 畛nh. RBTV l qui 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 b棚n trong CSDL. VD: M畛i l畛p h畛c c坦 1 m達 s畛 duy nh畉t 畛 ph但n bi畛t v畛i c叩c l畛p h畛c kh叩c. Kh担ng 動畛c tr湛ng MALOP LOPHOC MALOP TENLOP 08TH1D Tin h畛c kh坦a 2008 08TA1D Trung Anh kh坦a 2008 08TA1D Trung Anh kh坦a 2009 3. Ki畛m tra RBTV Ph動董ng ph叩p ki畛m tra RBTV: H畛 qu畉n tr畛 CSDL c坦 c叩c c董 ch畉 t畛 畛ng 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 b畉ng. Th担ng qua nh畛ng th畛 t畛c ki畛m tra v x畛 l箪 vi ph畉m RBTV do nh畛ng ng動畛i ph但n t鱈ch v thi畉t k畉 ci 畉t. Th畛i i畛m ki畛m tra RBTV: Ngay khi th畛c hi畛n 1 thao t叩c c畉p nh畉t CSDL (th棚m, s畛a, x坦a). Thao t叩c c畉p nh畉t 動畛c xem l h畛p l畛 n畉u kh担ng vi ph畉m rng bu畛c no. 畛i v畛i nh畛ng tr動畛ng h畛p vi ph畉m h畛 th畛ng s畉 c坦 h動畛ng x畛 l箪 th鱈ch h畛p. 4. C叩c y畉u t畛 c畛a RBTV C叩c y畉u t畛 c畛a RBTV: i畛u ki畛n: t畛c l n畛i dung c畛a RBTV t畛 坦 x叩c 畛nh c叩ch bi畛u di畛n. B畛i c畉nh: RBTV x畉y ra tr棚n m畛t hay nhi畛u quan h畛, c畛 th畛 l c叩c quan h畛 no. T畉m 畉nh h動畛ng: kh畉 nng t鱈nh ton v畉n d畛 li畛u b畛 vi ph畉m. Hnh 畛ng: c畉n ph畉i c坦 khi ph叩t hi畛n c坦 RBTV b畛 vi ph畉m. 5. i畛u ki畛n c畛a RBTV (1/4) i畛u ki畛n c畛a RBTV: 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: Ng担n ng畛 t畛 nhi棚n Thu畉t gi畉i Ng担n ng畛 畉i s畛 t畉p h畛p, 畉i s畛 quan h畛. C叩c ph畛 thu畛c hm VD: Cho 1 CSDl qu畉n l箪 h坦a 董n b叩n hng g畛m c叩c b畉ng: HOADON SOHOADON SOMATHANG TONGTRIGIA DANHMUCHANG MAHANG TENHANG DONVI CHITIETHOADON SOHOADON MAHANG SOLUONGDAT DONGIA TRIGIA 6. i畛u ki畛n c畛a RBTV (2/4) Rng bu畛c R1: M畛i h坦a 董n c坦 m畛t s畛 h坦a 董n ri棚ng bi畛t kh担ng tr湛ng v畛i h坦a 董n kh叩c: Bi畛u di畛n: h1, h2 HOADON, h1 h2 h1.SOHOADON h 2.SOHOADON. Rng bu畛c R2:SOMATHANG = s畛 b畛 c畛aCHITIETHOADON c坦 c湛ng SOHOADON Bi畛u di畛n: h HAN th狸: h .S OMATHANG = COUNT (cth CHITIETHOADON , cth. SOHOADON = h. SOHOADON ) HOADON SOHOADON SOMATHANG TONGTRIGIA CHITIETHOADON SOHOADON MAHANG SOLUONGDAT DONGIA TRIGIA 7. i畛u ki畛n c畛a RBTV (3/4) Rng bu畛c R3 : T畛ng c叩c tr畛 gi叩 c畛a c叩c m畉t hng trong CHIT IET H OA ON c坦 c湛ng SOHOADON ph畉i b畉ng TONGTRIGIA ghi trong HOADON : Bi畛u di畛n: h H O A O N th狸: h.T ONGTRIGIA = SUM ( CHITIETHOADON.TRIGIA ) 畛i v畛i c叩c cth CHITIETHOADON s ao cho: cth. SOHOADON =h. SOHOADON HOADON SOHOADON SOMATHANG TONGTRIGIA A001 3 1.400.000 A002 1 600.000 CHITIETHOADON SOHOADON MAHANG SOLUONGDAT DONGIA TRIGIA A001 KTS035 2 500.000 1.000.000 A001 MG047 1 400.000 400.000 A002 LCD022 1 600.000 600.000 8. i畛u ki畛n c畛a RBTV (4/4) Rng bu畛c R4: M畛i b畛 c畛a CHITIETHOADON ph畉i c坦 MAHANG thu畛c v畛 DANHMUCHANG : Bi畛u di畛n: CHITI ETHOADON [ MAHANG ] DM HAN G [ MAHANG ] cth CHI TIETHOADON , hh DANHMUCHANG , sao cho cth . M AHANG = hh. MAHANG DANHMUCHANG MAHANG TENHANG DONVI KTS035 M叩y 畉nh KTS Canon c叩i LCD022 Tivi LCD SamSung c叩i CHITIETHOADON SOHOADON MAHANG SOLUONGDAT DONGIA TRIGIA A001 KTS035 2 500.000 1.000.000 A002 LCD022 1 600.000 600.000 9. B畛i c畉nh c畛a RBTV B畛i c畉nh c畛a RBTV: Trong v鱈 d畛 tr棚n b畛i c畉nh c畛a c叩c rng Trong v鱈 d畛 tr棚n, b畛i c畉nh c畛a c叩c rng bu畛c ton v畉n nh動 sau : R1 :ch畛 l m畛t quanh畛 HOADON. R2 : 2 quan h畛 H OADON v CHITIETHOADON. R3 : 2 quan h畛 H OADON v CHITIETHOADON. R4 : 2 quan h畛 CHIT IETHOADON v DANHMUCHANG . 10. T畉m 畉nh h動畛ng c畛a RBTV T畉m 畉nh h動畛ng c畛a RBTV: M畛t RBTV c坦 th畛 li棚n quan 畉n m畛t s畛 quan h畛, v ch畛 khi c坦 thao t叩c c畉p nh畉t (Th棚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 no d畉n 畉n vi畛c c畉n x叩c 畛nh r探 thao t叩c no d畉n 畉n vi畛c c 畉n ph畉i ki畛m tra RBTV. Trong qu叩 tr狸nh ph但n t鱈ch thi畉t k畉 m畛t CSDL, ng動畛i ph但n t鱈ch c畉n l畉p b畉ng x叩c 畛nh t畉m 畉nh h動畛ng cho m畛i rng bu畛c ton v畉n nh畉m x叩c 畛nh khi no th狸 ph畉i ti畉n k i畛m tra c叩c rng bu畛c ton v畉n 坦 . 11. B畉ng t畉m 畉nh h動畛ng (1/3) B畉ng t畉m 畉nh h動畛ng: B畉ng t畉m 畉nh h動畛ng g畛m 4 c畛t : c 畛t 1 ch畛a t棚n c叩c b畉ng li棚n quan t畛i RBTV; 3 c畛t ti畉p theo l thao t叩cTh棚m/ S畛a / X坦a1 b畛 gi叩 tr畛 . N畉u RBTV c坦 nguy c董 b畛 vi ph畉m th狸 t畉i 担 坦 ng動畛i ta 叩nh d畉u b畉ng d畉u c畛ng (+) . C坦 th畛 ch畛 r探 th棚m c叩c thu畛c t鱈nh no n畉u 動畛c c畉p nh畉t m畛i d畉n 畉n vi ph畉m RBTV b畉ng c叩ch li畛t k棚 ch炭ng d動畛i d畉u (+). N畉u RBTV kh担ng c坦 nguy c董 b畛 vi ph畉m kh ic畉p nh畉t CSDL th狸 叩nh d畉u tr畛 (-) . N畉u kh担ng b畛 vi ph畉m v狸 kh担ng 動畛c ph辿p s畛a 畛i th狸 k箪 hi畛u l tr畛 v畛i d畉u sao ( -(*) ). VD: <Xem trang sau> 12. B畉ng t畉m 畉nh h動畛ng (2/3) B畉ng t畉m 畉nh h動畛ng c畛a R1,R2,R3,R4: R1 Quan h畛 Th棚m S畛a X坦a HOADON + (SOHOADON) - (*) - R2 Quan h畛 Th棚m S畛a X坦a HOADON + +(SOMATHANG) - CHITIETHOADON + - + R3 Quan h畛 Th棚m S畛a X坦a HOADON + +(TONGTRIGIA) - CHITIETHOADON + +(TRIGIA) + R4 Quan h畛 Th棚m S畛a X坦a CHITIETHOADON + (MAHANG) - (*) - DANHMUCHANG - - (*) + 13. B畉ng t畉m 畉nh h動畛ng (3/3) B畉ng t畉m 畉nh h動畛ng t畛ng h畛p. QH HOADON CHITIETHOADON DANHMUCHANG RB Th棚m S畛a X坦a Th棚m S畛a X坦a Th棚m S畛a X坦a R1 + - (*) - R2 + + - + - + R3 + + - + + + R4 + - (*) - - - (*) + 14. Hnh 畛ng khi vi ph畉m RBTV Hnh 畛ng khi RBTV b畛 vi ph畉m Hnh 畛ng (ph畉n 畛ng) g畛m 2 ph畉n : Th担ng b叩o: th担ng b叩o cho ng動畛i d湛ng bi畉t d畛 li畛u vi ph畉m RBTV no v c畉n s畛a l畉i nh動 th畉 no . X畛 l箪: 動a ra ph動董ng 叩n x畛 l箪 khi RBTV b畛 vi ph畉m, c坦 th畛 t畛 ch畛i thao t叩c ho畉c ti畉p t畛c cho hi畛u ch畛nh d畛 li畛u . Th担ng th動畛ng c坦 2 gi畉i ph叩p: 動a ra th担ng b叩o v y棚u c畉u s畛a ch畛a d畛 li畛u cho ph湛 h畛p v畛i RBTV. Th担ng b叩o ph畉i 畉 y 畛 v t畉o 動畛 c s 畛 th但n thi畛n v 畛i ng 動 畛i s畛 d畛ng.Gi畉i ph叩p ny l ph湛 h畛p cho vi畛c x畛 l箪 th畛i gian th畛c. T畛 ch畛i thao t叩c c畉p nh畉t.Gi畉i ph叩p ny l ph湛 h畛p 畛i v畛i vi畛c x畛 l箪 theo l担 (Batch processing). 15. Ph但n lo畉i rng bu畛c ton v畉n RBTV c坦 b畛i c畉nh l 1 b畉ng: RBTV v畛 mi畛n gi叩 tr畛 RBTV v畛 mi畛n gi叩 tr畛. RBTV li棚n thu畛c t鱈nh. RBTV li棚n b畛. RBTV c坦 b畛i c畉nh l nhi畛u b畉ng: RBTV v畛 ph畛 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. 16. RBTV v畛 mi畛n gi叩 tr畛 RBTV v畛 mi畛n gi叩 tr畛 Trong h畉u h畉t c叩c CSDL quan h畛 lo畉i RBTV ny l r畉t 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 m i畛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 k i畛m tra RBTV ny. VD: Trong quan h畛 K et QU A -THI(MASV, MAMH, LANTHI, DIEM), do quy 畛nh m畛i sinh vi棚n ch畛 動畛c thi 1 m担n t畛i a 3 l畉n, v i畛m thi c畛a m担n h畛c trong m畛i l畉n thi kh担ng b畛 但m v kh担ng v動畛t qu叩 10. C坦 2 RBTV v畛 mi畛n gi叩 tr畛 trong quan h畛: R1: kq KQU畉-THI th狸0 kq.L畉nthi 3 R2: kq KQU畉-THI th狸0 kq.i畛m 10 17. RBTV li棚n thu畛c t鱈nh 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畛 . VD: Quan h畛 NHANVIEN ( M A NV, H OTEN , PHAI , NGAYSINH , N GAY-TD , HESOLUONG ) V 畛i quy 畛nh18 tu畛i tr畛 l棚n m畛i 動畛c tuy畛n. Ta c坦 RBTV li棚n thu畛c t鱈nh sau: nv NHANVIEN /Year( nv.N GAY -TD )Year( nv . N GAYSINH) 18 NHANVIEN MANV HOTEN PHAI NGAYSINH NGAY-TD HESOLUONG KT025 Tr畉n Ti畉n 1 02/12/1978 11/05/2008 3.0 HM011 Tr畉n Thu H 0 16/04/1989 12/10/2010 1.8 18. RBTV li棚n b畛 RBTV li棚n b畛 Li棚n quan t畛i nhi畛u b畛 v c 坦 th畛 t畛i nhi畛u thu畛c t鱈nh c畛a (c叩c) b畛 gi叩 tr畛 t rong m畛 t quan h畛. V鱈 d畛: Qui 畛nh i畛m thi ph畉i >=0 v <= 10 v i畛m thi l畉n sau > = l畉n tr動畛c: kq K ET QU A THI N畉u kq.L ANTHI = 1 th狸 0 kq. IEM 10 ho畉c: N畉u kq.L ANTHI > 1 th狸 kq K ET QU A THI Sao cho kq. LANTHI =kq. LANTHI v kq. DIEM kq. DIEM KETQUATHI MSSV LANTHI DIEM LANTHI DIEM 080095T 1 9 080173T 1 5 2 10 090051T 1 4 2 3 Status OK OK NOT OK 19. RBTV v畛 ph畛 thu畛c t畛n t畉i RBTV v畛 ph畛 thu畛c t畛n t畉i: RBTV v畛 ph畛 thu畛c t畛n t畉i c嘆n 動畛c g畛i l ph畛 thu畛cv畛 kh坦a ngo畉i. 但y l lo畉i RBTV ph畛 bi畉n trong c叩c CSDL. B畛 gi叩 tr畛 c畛a quan h畛 ny 動畛c th棚m vo m畛t c叩ch h畛p l畛 n畉u t畛n t畉i m畛t b畉n ghi t動董ng 畛ng c畛a 1 quan h畛 kh叩c. P h畛 thu畛c t畛n t畉i x畉y ra n畉u c坦 m畛t trong hai tr動畛ng h畛p sau: C坦 s畛 hi畛ndi畛nc畛a kh坦a ngo畉i. C坦 s畛 l畛ng kh坦a gi畛a c叩c quan h畛. VD: m畛i l畛p ph畉i thu畛c m畛t khoa LOP MALOP TENLOP 08TH1D Tin h畛c kh坦a 2008 08TA1D Anh vn kh坦a 2008 DANHSACHLOP-KHOA MALOP TENKHOA 08TH1D C担ng ngh畛 th担ng tin 08TA1D Ngo畉i ng畛 20. RBTV li棚n thu畛c t鱈nh li棚n quan h畛 RBTV li棚n thu畛c t鱈nh li棚n quan h畛: M畛t thu畛c t鱈nh trong 1 quan h畛 ny c坦 m畛i li棚n h畛 v畛i 1thu畛c t鱈nh trong 1 quan h畛 kh叩c. V鱈 d畛: Ngy giao hng ph畉i sau ngy 畉t H OADON . NGAYGIAO >= DATHANG . NGAYDAT DATHANG MADON-DH MAHANG SOLUONG NGAYDAT NGUOIDAT DH033 TV017 1 20/09/2010 Nguy畛n Vn Minh DH034 MG005 1 20/09/2010 Nguy畛n Vn Minh DH035 DT012 1 21/09/2010 Tr畛nh B畉o Chi HOADON MAHOADON MADON-DH NGAYGIAO MAHANG SOLUONG THANHTIEN HD053 DH033 26/09/2010 TV017 1 3.950.000 HD053 DH034 26/09/2010 MG005 1 3.500.000 HD054 DH035 27/09/2010 DT012 1 1.100.00 21. RBTV li棚n b畛 - li棚n quan h畛 RBTV li棚n b畛 li棚n quan h畛: M畛t thu畛c t鱈nh c畛a quan h畛 ny c坦 m畛i li棚n h畛 v畛i c叩c b畛 c畛a 1 quan h畛 kh叩c. V鱈 d畛: M畛i phi畉u m動畛n ch畛 動畛c m動畛n t畛i a 3 quy畛n s叩ch. PHIEUMUON MAPM SOLUONG NGAYMUON TENNGUOIMUON PM032 3 22/06/2010 L棚 Vn Linh PM033 1 22/06/2010 L箪 Minh H CHITIET-PHIEUMUON MAPM TENSACH NXB PM032 Gi叩o tr狸nh M畛 h畛c Gi叩o d畛c PM032 Kh担ng gia 狸nh Vn h畛c PM032 C叩nh 畛ng b畉t t畉n H担i nh vn PM033 C董 s畛 tin h畛c Gi叩o d畛c 22. RBTV do c坦 chu tr狸nh (1/5) 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畛n1 quan h畛 ho畉c1 thu畛c t鱈nh . Quan h畛 動畛c bi畛u di畛n b畉ng n炭t tr嘆n tr畉ng . Thu畛c t鱈nh 動畛c bi畛u di畛n b畛i m畛t n炭t tr嘆n en nh畛 h董n. C叩c n炭t 動畛cch畛 r探 b畉ng t棚n c畛a quan h畛 ho畉c thu畛c t鱈nh. Thu畛c t鱈nh thu畛c m畛t quan h畛 動畛c bi畛u di畛n b畛i m畛t cung n畛i gi畛a n炭t tr嘆n tr畉ng v n炭t tr嘆n en 坦. N畉u tr棚n 畛 th畛 ta th畉y xu畉t hi畛n 1 動畛ng N畉u tr棚n 畛 th畛, ta th畉y xu畉t hi畛n 1 動畛ng 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 ny lm n畉y sinh m畛t v畉n 畛 m畛i: X叩c 畛nh kh畉 nng 畉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. 23. RBTV do c坦 chu tr狸nh (2/5) 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) 24. RBTV do c坦 chu tr狸nh (3/5) Gi畉 thi畉t 1: V畛i t但n t畛 sau: M畛i nh但n vi棚n 動畛c ph但n c担ng vo t畉t c畉 c叩c 畛 叩n do ph嘆ng 坦 ph畛 tr叩ch. 2 con 動畛ng mang 箪 ngh挑agi畛ng nhau. 動畛ng di h董n Q1 k畉t n畛i v畛i Q2 (k箪 hi畛u l Q1 I><I Q2) ? con 動畛ng ng畉n h董n Q4 khi c湛ng x叩c 畛nh 1 畛 叩n m 1 nh但n vi棚n tham gia vo. 但y l m畛t chu tr狸nh gi畉. N畉u v畉n mu畛n gi畛 l畉i quan h畛 Q4, t畛c l kh担ng h畛y b畛 chu tr狸nh, th狸 ph畉i c坦 m畛t RBTV v畛i thu畉t to叩n sau: Q1 I><I Q2 [M達-nh但n-vi棚n, M達-畛-叩n] = Q4 [M達-nh但n-vi棚n, M達-畛-叩n] 25. RBTV do c坦 chu tr狸nh (4/5) Gi畉 thi畉t 2: V畛i t但n t畛 sau: M畛i nh但n vi棚n 動畛c ph但n c担ng vo m畛t s畛 畛 叩n do ph嘆ng 坦 ph畛 tr叩ch. Con 動畛ng ng畉n Q4 ph畛 thu畛c vo con 動畛ng di Q1 I><I Q2, v狸 1 nh但n vi棚n c坦 th畛 kh担ng tham gia vo t畉t c畉 c叩c 畛 叩n do ph嘆ng m狸nh ph畛 tr叩ch. Chu tr狸nh tr棚n mang 箪 ngh挑a th畛c s畛. RBTV 動畛c th畛 hi畛n b畛i thu畉t to叩n sau: Q4 [M達-nh但n-vi棚 n. M達-畛-叩n] ? Q1 I><I Q2 [M達-nh但n-vi棚n . M達-畛-叩n] 26. RBTV do c坦 chu tr狸nh (5/5) Gi畉 thi畉t 3: V畛i t但n t畛 sau: M畛i nh但n vi棚n 動畛c ph但n c担ng vo nh畛ng 畛 叩n b畉t k畛. 2 con 動畛ng hon ton 畛cl畉p nhau, kh担ng li棚n quan g狸 t畛i nhau, mang 箪 ngh挑a hon ton kh叩c nhau. Do 坦 kh担ng c坦 RBTV . 27. Ti li畛u tham kh畉o Gi叩o tr狸nh CSDL, ThS L棚 Th畛 Ng畛c Th畉o - H T担n 畛c Th畉ng.