Tóm tắt luận văn thạc sĩ kỹ thuật: Nghiên cứu xây dựng công cụ kiểm thử đột biến các câu lệnh SQL
lượt xem 16
download
Tóm tắt luận văn thạc sĩ: Nghiên cứu xây dựng công cụ kiểm thử đột biến các câu lệnh SQL được chia thành 3 chương như sau: chương 1 kiểm thử đột biến, chương 2 kiểm thử đột biến các câu truy vấn SQL, chương 3 xây dựng công cụ hỗ trợ kiểm thử đột biến các câu lệnh truy vấn SQL.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tóm tắt luận văn thạc sĩ kỹ thuật: Nghiên cứu xây dựng công cụ kiểm thử đột biến các câu lệnh SQL
- -1- B GIÁO D C VÀ ĐÀO T O Đ I H C ĐÀ N NG TR N VĂN MINH NGHIÊN C U XÂY D NG CÔNG C KI M TH Đ T BI N CÁC CÂU L NH SQL Chuyên ngành: KHOA H C MÁY TÍNH Mã s : 60.48.01 TÓM T T LU N VĂN TH C SĨ K THU T Đà N ng - Năm 2011
- -2- Công trình ñư c hoàn thành t i Đ I H C ĐÀ N NG Ngư i hư ng d n khoa h c: TS. NGUY N THANH BÌNH Ph n bi n 1: PGS.TS. LÊ VĂN SƠN Ph n bi n 2: TS. NGUY N M U HÂN Lu n văn ñư c b o v trư c H i ñ ng ch m Lu n văn t t nghi p th c sĩ k thu t h p t i Đ i h c Đà N ng vào ngày 16 tháng 10 năm 2011 Có th tìm hi u lu n văn t i: - Trung tâm Thông tin - H c li u, Đ i h c Đà N ng - Trung tâm H c li u, Đ i h c Đà N ng.
- -3- M Đ U 1. Lý do ch n ñ tài Ki m th là m t trong nh ng ho t ñ ng quan tr ng trong ti n trình phát tri n ph n m m. Nó góp ph n vào vi c ñánh giá ch t lư ng s n ph m ph n m m. Hi n nay, h u h t các s n ph m ph n m m ng d ng ñ u có s d ng ngôn ng truy v n d li u ñ lưu tr qu n lý thông tin, do ñó vi c qu n lý và ki m th chúng trong quá trình phát tri n ph n m m t n nhi u th i gian.Vì v y, nhu c u có ñư c m t h th ng ng d ng ki m th ñ t bi n ñ ñánh giá ch t lư ng các b d li u ki m th khi th c hi n ki m th các câu l nh truy v n SQL th c s là c n thi t. M t khác, hi n nay v n ñ b n quy n ph n m m ñang là v n ñ nan gi i ñ i v i các t ch c, ngư i dùng và nhu c u s d ng mã ngu n m ñang phát tri n r ng kh p nh m giúp gi m chi phí. Xu t phát t nh ng phân tích và nh n xét trên, tôi ch n ñ tài “Nghiên c u xây d ng công c ki m th ñ t bi n các câu l nh SQL” dư i s hư ng d n c a TS. Nguy n Thanh Bình, s giúp gi m th i gian và chi phí trong vi c giám sát và ki m th s n ph m ph n m m. 2. M c ñích ý nghĩa M c ñích c a ñ tài là nghiên c u và ng d ng k thu t ki m th ñ t bi n vào vi c ñánh giá ch t lư ng b d li u ki m th khi ki m th các câu l nh truy v n SQL, t ñó phát hi n các
- -4- l i còn t n t i ñ các l p trình viên hoàn thi n hơn s n ph m c a mình. Ý nghĩa khoa h c: Hi u và ñánh giá các k thu t ki m th ñ t bi n và phương pháp ki m th ñ t bi n câu l nh truy v n SQL. K t qu có th làm tài li u tham kh o cho các ki m th viên ho c các ñơn v phát tri n ph n m m. Ý nghĩa th c ti n: Cung c p m t công c ng d ng k thu t ki m th ñ t bi n vào vi c ki m th cho các câu l nh truy v n SQL. 3. Nhi m v m c tiêu Đ tài t p trung nghiên c u v k thu t ki m th ñ t bi n và c u trúc ñ c ñi m c a ngôn ng truy v n d li u SQL ñ nh n bi t các toán t ñ t bi n, t ñó ñ xu t gi i pháp xây d ng công c h tr ki m th ñ t bi n câu l nh SQL và tri n khai ki m th th c nghi m trên các câu l nh truy v n SQL làm cơ s ñ phân tích và ñánh giá k t qu . 4. Đ i tư ng và ph m vi nghiên c u Đ tài t p trung nghiên c u trên các ñ i tư ng như sau: - K thu t ki m th ñ t bi n. - Ngôn ng truy v n có c u trúc. - Mã ngu n SQL Parser (GuduSoft.gsqlparser.dll). - K thu t l p trình ngôn ng VS.Net. Đ tài thu c ph m vi nghiên c u và ng d ng. 5. Phương pháp nghiên c u
- -5- - Thu th p và phân tích các tài li u và thông tin liên quan ñ n ñ tài. - Th o lu n, l a ch n hư ng gi i quy t v n ñ . - Phân tích thi t k h th ng chương trình ng d ng. - Tri n khai xây d ng chương trình ng d ng. - Ki m tra, th nghi m, nh n xét và ñánh giá k t qu . 6. D ki n k t qu ñ t ñư c - V m t lý thuy t: N m ñư c ki n th c v k thu t ki m th ñ t bi n và các toán t ñ t bi n câu l nh truy v n SQL. - V m t th c ti n: Xây d ng và ñánh giá công c ki m th áp d ng k thu t ki m th ñ t bi n cho các câu l nh truy v n SQL. 7. B c c lu n văn Lu n văn ñư c chia thành 3 chương như sau: Chương 1: Ki m th ñ t bi n. Chương 2: Ki m th ñ t bi n các câu l nh truy v n SQL. Chương 3: Xây d ng công c h tr ki m th ñ t bi n các câu l nh truy v n SQL.
- -6- CHƯƠNG 1. KI M TH Đ T BI N 1.1. GI I THI U Trong chương này, chúng tôi trình bày chi ti t lý thuy t v ki m th ñ t bi n, phân tích các ưu và như c ñi m c a phương pháp. Ti p theo, chúng tôi trình bày các k thu t ki m th ñ t bi n khác nhau cũng như các ng d ng ph bi n c a ki m th ñ t bi n trong th c t . 1.2. LÝ THUY T KI M TH Đ T BI N Trư c khi trình bày lý thuy t ki m th ñ t bi n, chúng ta b t ñ u b i m t ý tư ng ñơn gi n sau: ñ ư c lư ng s lư ng cá trong m t cái h , m t cách ñ th c hi n vi c ñó là ñánh d u m t s cá và th vào h (gi s , 80 con cá), sau ñó ñánh b t m t s cá và ñ m s cá b ñánh d u. N u chúng ta b t ñư c 50 con cá và 5 trong s ñó b ñánh d u, như v y 1/10 s cá trong h b ñánh d u, khi ñó toàn b s cá trong h có th th ñư c ư c lư ng là 800 con. N u chúng ta b t ñư c t t c các cá b ñánh d u, chúng ta có th cho r ng toàn b cá trong h ñã b ñánh b t. K thu t ki m th ñ t bi n ñư c xây d ng d a trên ý tư ng này. Chúng ta ñưa vào mã ngu n m t s l i “b ñánh d u”, sau ñó tìm cách xác ñ nh chúng. N u chúng ta xác ñ nh ñư c t t c các l i này, “lư i” c a chúng ta có th cũng ñã b t ñư c nhi u các lo i “cá” khác, ñó chính là các l i chưa bi t.
- -7- 1.2.1. Khái ni m ki m th ñ t bi n Ki m th ñ t bi n ñư c thi t k nh m t o ra d li u ki m th có hi u qu , nghĩa là phát hi n các l i c a chương trình. Trong khi th c hi n ki m th ñ t bi n, chúng ta t o ra các phiên b n l i c a chương trình g c b ng cách chèn l i vào mã ngu n c a nó. Sau ñó, th c thi ki m th v i l n lư t các d li u ki m th cho t ng phiên b n l i. So sánh k t qu ñ u ra c a t ng phiên b n l i v i chương trình g c, t ñó ñánh giá ñư c kh năng phát hi n l i c a các d li u ki m th [3]. Các phiên b n l i ñư c t o ra t chương trình g c g i là các ñ t bi n (mutants). Ki m th ñ t bi n là m t k thu t ki m th h p tr ng, hay còn g i k thu t ki m th c u trúc. 1.2.2. Hai gi thuy t cơ b n Ki m th ñ t bi n ñư c xây d ng d a trên hai gi thuy t cơ b n. Gi thuy t “l p trình viên gi i” (competent programmer hypothesis) và gi thuy t “hi u ng liên k t” (coupling effect hypothesis) [3]. Gi thuy t l p trình viên gi i cho r ng thông thư ng các l p trình viên ñ u r t gi i và h s không bao gi vi t ra các chương trình m t cách tuỳ ti n, c u th . Gi thuy t hi u ng liên k t cho r ng các l i ph c t p ñư c liên k t t các l i ñơn gi n, như v y b d li u ki m th ñ kh năng phát hi n t t c các l i ñơn gi n thì cũng có kh năng phát hi n các l i ph c t p v i t l cao.
- -8- 1.2.3. M t s khái ni m cơ b n Toán t ñ t bi n Toán t ñ t bi n (mutation operator) hay còn ñư c g i lu t ñ t bi n (mutation rule) là m t lu t ñư c áp d ng vào chương trình g c ñ t o ra các phiên b n ñ t bi n. Nó có th là vi c thay th m t toán t này b ng m t toán t khác; thay ñ i toán h ng c a bi u th c; xoá toàn b các bi u th c; thay ñ i câu l nh… hay có th ñư c t o ra b ng cách thay ñ i nh v cú pháp c a chương trình theo hư ng mà các l p trình viên thư ng ph m ph i. 1.2.4. Đ t bi n b di t và ñ t bi n s ng Khi ti n hành th c thi ki m th l n lư t chương trình g c P và ñ t bi n P’ c a P v i m t d li u th T, s có hai k ch b n khác nhau có th x y ra: - M t là, ho c l i ñư c chèn vào trong chương trình ñ t bi n P’ ñư c nh n bi t, nghĩa là chương trình P và ñ t bi n P’ cho ra các k t qu khác nhau. Trong trư ng h p này, ñ t bi n P’ ñư c g i là b di t (killed) b i d li u th T. Khi ñó, T ñư c g i là d li u th thích h p vì nó có kh năng phát hi n ñư c s khác nhau gi a chương trình g c P và ñ t bi n P’. - Hai là, chương trình g c P và ñ t bi n P’ cho ra k t qu hoàn toàn gi ng nhau. Trong trư ng h p này, có th có hai kh năng x y ra. Kh năng th nh t là d li u th T không ñ t t (hay ñư c g i là d li u th không thích h p), chúng ta s ph i ti n hành th c hi n ki m th l i v i các d li u th t t hơn. Kh năng th hai là chương trình
- -9- P và ñ t bi n P’ là nh ng chương trình tương t nhau, m i d li u th ñ u không th phân bi t s khác nhau gi a chúng. Trong c hai trư ng h p này, ñ t bi n P’ ñư c cho là còn s ng (alive). 1.2.5. Đ t bi n tương ñương Các ñ t bi n tương ñương (equivalent mutant) là các ñ t bi n cho ra k t qu gi ng v i chương trình g c v i m i d li u th ho c cú pháp c a ñ t bi n và chương trình g c khác nhau nhưng ho t ñ ng tương t nhau. M t cách hình th c, chúng ta nói: ñ t bi n tương ñương là ñ t bi n còn s ng mà m i d li u th T ⊂ D (D, t p các d li u th cho P) ñ u xác ñ nh ñư c P và P’ tương ñương nhau (P ≡ P’). 1.2.6. T l ñ t bi n T l ñ t bi n (Mutation Score), ñư c ký hi u MS, c a chương trình P và d li u th T là t l các ñ t bi n không tương ñương (so v i chương trình g c) b di t b i d li u th T, ñư c mô t b i công th c sau: D MS ( P, T ) = N −E trong ñó, - D: s ñ t bi n ñã b di t, - N: t ng s các ñ t bi n, - E: s ñ t bi n tương ñương. Như v y, 0 ≤ MS ≤ 1 hay 0 ≤ MS% ≤ 100.
- -10- 1.2.7. Chi phí c a ki m th ñ t bi n Chi phí trong ki m th ñ t bi n t p trung ba bư c t n kém nh t là s n sinh ñ t bi n, biên d ch các ñ t bi n và ki m th t ng phiên b n ñ t bi n v i các d li u ki m th . Như v y, s lư ng l n các ñ t bi n s làm cho chi phí ki m th ñ t bi n r t l n. 1.3. TI N TRÌNH KI M TH Đ T BI N G i chương trình g c là P, các ñ t bi n là P’ và t p d li u ki m th là T. Chúng ta có th gi i thích ti n trình th c hi n ki m th ñ t bi n như sau: Bư c 1: T o ñ t bi n P’ t chương trình g c P. Bư c 2: Sinh các d li u ki m th T. Bư c 3: Th c hi n chương trình g c P v i m i d li u ki m th . Ki m tra k t qu nh n ñư c: - N u ñ u ra không ñúng, ph i ch nh s a chương trình g c P và ki m th l i. - N u ñ u ra ñúng, th c hi n bư c ti p theo. Bư c 4: Th c hi n t ng ñ t bi n còn s ng v i m i d li u ki m th . So sánh k t qu th c hi n ñ t bi n v i k t qu th c hi n chương trình g c ñ i v i m i d li u th . - N u t t c các ñ t bi n ñ u b di t. Hoàn thành ki m th . - N u còn ñ t bi n chưa b di t, chuy n sang bư c ti p theo.
- -11- Bư c 5: Phân tích và xác ñ nh các ñ t bi n tương ñương. N u còn các ñ t bi n không tương ñương nhưng chưa b di t thì các d li u ki m th không ñ kh năng di t ñ t bi n. Ph i hi u ch nh t p d li u ki m th . Quay l i bư c 1. 1.4. H N CH C A KI M TH Đ T BI N Lý thuy t và k t qu th c nghi m ñã cho th y r ng, ki m th ñ t bi n là phương pháp hi u qu ñ ñánh giá ch t lư ng c a các b ki m th . Tuy nhiên, có m t s h n ch khi th c hi n ki m th ñ t bi n như sau: - Vi c nh n d ng các ñ t bi n tương ñương là r t quan tr ng nhưng r t khó khăn. - M t s các ñ t bi n không tương ñương nhưng v n còn t n t i trong quá trình ki m th . - Chi phí tính toán trong ki m th ñ t bi n r t cao, do s lư ng toán t ñ t bi n thư ng r t l n. - Ki m th ñ t bi n cũng t n nhi u nhân công trong quá trình ki m th . 1.5. M TS K THU T NÂNG CAO HI U QU KI M TH Đ T BI N 1.5.1. Gi m chi phí tính toán trong phân tích ñ t bi n Các k thu t ñư c nghiên c u theo ba chi n lư c: làm thông minh hơn, làm ít hơn và nhanh hơn. Chi n lư c làm thông minh hơn, g m các k thu t: ñ t bi n y u (weak mutation), ki n trúc phân tán (distributed architectures). Chi n lư c làm ít hơn hư ng ñ n l a ch n nh ng ñ t bi n sao cho hi u qu nh t nhưng v n
- -12- ñ m b o ch t lư ng ki m th , g m các k thu t: ñ t bi n l a ch n (selective mutation), l y m u ñ t bi n (mutation sampling). Chi n lư c làm nhanh hơn, hư ng vào t ñ ng hoá m t s công ño n và gi m t i các công ño n chi m nhi u chi phí tính toán, g m các k thu t: th c thi ñ t bi n d a vào gi n ñ (schema-based), phương pháp tách r i biên d ch (separate compilation approach). Ngoài ra, còn nhi u k thu t khác như k thu t gom c m ñ t bi n (clustering of mutants). 1.5.2. Gi m b t các công ño n th công Vi c phát tri n th công các d li u ki m th ñ t bi n m t cách ñ y ñ yêu c u r t nhi u n l c. Hơn n a vi c quy t ñ nh phiên b n ñ t bi n nào tương ñương v i chương trình g c là r t nhàm chán và ho t ñ ng này thư ng d n ñ n nhi u sai sót. Vi c t ñ ng hóa các ho t ñ ng này s nâng cao hi u qu và ch t lư ng c a ki m th ñ t bi n. 1.5.3. C i ti n ti n trình ki m th ñ t bi n Ti n trình ki m th ñ t bi n truy n th ng còn t n t i m t s v n ñ , như th c thi l p l i nh ng ca ki m th , th c thi chương trình g c, … Ti n trình c i ti n ñư c ñ xu t nh m kh c ph c các h n ch nêu trên. Trư c h t, t ñ ng t o ra m t t p các d li u th . Các d li u th ñó s ñư c th c thi l n lư t v i chương trình g c và sau ñó v i các chương trình ñ t bi n. Ki m th viên s ñ nh nghĩa m t giá tr ngư ng, ñó là giá tr nh nh t có th ch p nh n ñư c c a t l ñ t bi n. N u ngư ng ñó không ñ t ñư c, khi các d li u th không di t ñư c ñ t bi n nào (gi i h n không hi u
- -13- qu ), s b lo i tr . Ti n trình này s ñư c l p l i, v i m i m t th i ñi m s n sinh các d li u th ch nh m ñ n các ñ t bi n còn s ng, cho ñ n khi ngư ng t l ñ t bi n ñ t ñư c. 1.6. NG D NG C A KI M TH Đ T BI N 1.6.1. Đ t bi n mã ngu n Đ t bi n mã ngu n chương trình ñã ñư c áp d ng cho c hai m c ki m th ñơn v và ki m th tích h p. Đ i v i ki m th m c ñơn v , ñ t bi n ñư c t o ra ñ mô t l i trong m t ñơn v ph n m m mà l p trình viên th c hi n; trong khi ñó ñ i v i m c ki m th tích h p, ñ t bi n ñư c t o ra ñ mô t l i tích h p b i l i k t n i ho c tương tác gi a các ñơn v ph n m m. Đ t bi n này ñư c áp d ng trên các ngôn ng l p trình như ngôn ng Fortran, Ada, C, Java, C#, AspectJ. 1.6.2. Đ t bi n ñ c t Ki m th ñ t bi n cũng ñã ñư c ñ xu t áp d ng cho các ñ c t và thi t k ph n m m. Ki m th ñ t bi n áp d ng m c ñ c t và thi t k thư ng ñư c g i là “ñ t bi n ñ c t ". Trong ñ t bi n ñ c t , l i thư ng ñư c phát sinh trong máy tr ng thái ho c các bi u th c lôgic ñ t o ra các ñ t bi n. M t ñ t bi n b di t n u ñi u ki n ñ u ra là sai l ch. Ki m th ñ t bi n thu c lo i này g m ñ c t hình th c, môi trư ng th c thi, d ch v Web, h th ng m ng. 1.7. T NG K T CHƯƠNG 1
- -14- CHƯƠNG 2. KI M TH Đ T BI N CÁC CÂU L NH TRUY V N SQL 2.1. GI I THI U Trong chương này, trư c h t chúng tôi trình bày sơ lư c v cơ s d li u và ngôn ng truy v n có c u trúc. M t s công trình nghiên c u v ki m th cơ s d li u cũng ñư c ñ c p. Đ c bi t, chúng tôi phân tích m t s l i ñi n hình trong các câu l nh truy v n cơ s d li u. Trên cơ s ñó, chúng tôi trình bày ng d ng ki m th ñ t bi n cho các câu l nh truy v n. 2.2. CƠ S D LI U QUAN H VÀ NGÔN NG TRUY V N CÓ C U TRÚC 2.2.1. Cơ s d li u quan h Cơ s d li u là m t t p h p có c u trúc nh ng d li u có liên quan v i nhau. Cơ s d li u ñư c s d ng ph bi n hi n nay là cơ s d li u quan h . Cơ s d li u quan h là các cơ s d li u d ng b ng có th d dàng ñư c t ch c l i và ñư c truy v n. 2.2.2. Ngôn ng truy v n có c u trúc Ngôn ng truy v n có c u trúc (SQL) là ngôn ng thư ng ñư c s d ng ñ ñ nh nghĩa lư c ñ cơ s d li u và th c hi n vi c c p nh t, xóa, ch nh s a và truy c p d li u lưu tr trong cơ s d li u. Ngôn ng truy v n có c u trúc g m các nhóm l nh:
- -15- − Nhóm l nh ñ nh nghĩa d li u (Data Definition Language - DDL). − Nhóm l nh thao tác d li u (Data Manipulation Language - DML). Ngoài ra, ngôn ng truy v n có c u trúc còn có các l nh dùng ñ qu n lý quy n, các l nh ñ nh nghĩa khung nhìn như CREATE VIEW, DROP VIEW; các l nh ñi u khi n giao tác như COMMIT, ROLLBACK… L nh truy v n cơ b n SQL Câu l nh truy v n cơ b n ñư c mô t b i các m nh ñ SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Các phép toán trong SQL Trong SQL, có hai phép toán cơ b n: phép toán lô-gíc và phép toán quan h . Các hàm k t h p Các hàm k t h p như AVG, SUM, MAX, MIN, COUNT,… 2.3. KI M TH CƠ S D LI U Phương pháp t o ra các ca ki m th b ng cách xem xét các lư c ñ cơ s d li u, các thu c tính khác ho c các ràng bu c quan h . Câu l nh truy v n SQL ñư c chuy n thành d ng ngôn ng l p trình th t c, sau ñó, k thu t ki m th thông thư ng ñư c áp d ng ñ ki m th và ñánh giá câu l nh SQL.
- -16- 2.4. L I TRONG TRUY V N CƠ S D LI U Các l i trong truy v n SQL có th chia làm hai lo i: l i cú pháp và l i ng nghĩa. Các l i cú pháp nghĩa là chu i ký t nh p vào không ph i là truy v n SQL h p l . Các l i ng nghĩa là câu truy v n SQL h p l . 2.4.1. M nh ñ SELECT 2.4.2. M nh ñ FROM 2.4.3. M nh ñ WHERE 2.4.4. Các hàm k t h p 2.4.5. M nh ñ GROUP BY 2.4.6. M nh ñ ORDER BY 2.4.7. UNION/UNION ALL 2.4.8. Truy v n vi ph m các m u chu n 2.4.9. B trùng l p 2.5. KI M TH Đ T BI N CÁC CÂU L NH TRUY V N ng d ng ki m th ñ t bi n cho các câu truy v n cơ s d li u g m các bư c cơ b n: − Xác ñ nh các l i thư ng ph m ph i c a l p trình viên khi vi t c a câu truy v n. − Xây d ng t p toán t ñ t bi n áp d ng cho câu truy v n SQL. − Xây d ng công c h tr th c hi n ti n trình ki m th ñ t bi n các câu truy v n.
- -17- − Th nghi m và ñánh giá k thu t ki m th ñ t bi n trên các câu l nh truy v n trong các ng d ng cơ s d li u c th . 2.6. TOÁN T Đ T BI N CHO CÁC CÂU L NH TRUY V N Các toán t ñ t bi n ñư c chia làm b n nhóm: − Toán t ñ t bi n các m nh ñ chính (SC - SQL Clause mutation operators); − Toán t ñ t bi n cho các toán t xu t hi n trong các ñi u ki n và bi u th c (OR - Operator Replacement mutation operators); − Toán t ñ t bi n liên quan ñ n vi c x lý giá tr NULL (NL – NULL mutation operators); − Toán t ñ t bi n thay th các ñ nh danh: c t tham chi u, h ng s và tham s (IR – Identifier Replacement mutation operators). M i nhóm ñ t bi n ñư c ký hi u b i các tên ng n g n ch g m hai ký hi u và m i toán t ñ t bi n trong các nhóm ñư c ký hi u b i các tên ng n g n g m ba ký hi u. 2.6.1. Toán t ñ t bi n các m nh ñ chính (SC) M c ñích c a các toán t ñ t bi n các m nh ñ chính, ñư c ký hi u SC, là ñ t bi n nh ng tính năng khác nhau trong ngôn ng SQL tương t như các ngôn ng khác (m nh ñ , hàm k t h p, các câu truy v n con…). Nh ng toán t SC góp ph n phát hi n các l i như ñi u ki n k t n i không ñúng, s d ng không ñúng t khóa
- -18- DISTINCT, tính toán các hàm k t h p không ñúng ho c không ñúng th t trong t p k t qu . 2.6.2. Toán t ñ t bi n cho các ñi u ki n và bi u th c (OR) Các toán t ñ t bi n các ñi u ki n và các bi u th c ñư c thi t k nh m phát hi n các l i lô-gíc trong các bi u th c trong các m nh ñ WHERE và HAVING. 2.6.3. Toán t ñ t bi n giá tr NULL (NL) Trong ngôn ng truy v n SQL, mi n giá tr c a m i thu c tính ñư c m r ng thêm ký hi u ñ c bi t NULL ñ bi u th cho m i giá tr d li u ñư c hi u là không ñư c ñ nh nghĩa, ho c không thích h p, ho c không xác ñ nh. Vi c x lý các giá tr NULL không ñúng có th d n ñ n k t qu không lư ng trư c ñư c. Do ñó, các ñ t bi n có liên quan ñ n các giá tr NULL c n ph i ñư c xem xét ñ phát hi n các lo i l i này. 2.6.4. Toán t ñ t bi n các ñ nh danh (IR) Các toán t ñ t bi n IR thay th các ñ nh danh c t, h ng và tham chi u trong các tham s c a truy v n. Vì v y, các toán t ñ t bi n này có kh năng phát hi n các l i như s d ng không ñúng các trư ng. 2.7. T NG K T CHƯƠNG 2
- -19- CHƯƠNG 3. XÂY D NG CÔNG C KI M TH Đ T BI N CÁC CÂU L NH SQL 3.1. GI I THI U Công c dùng ñ phân tích c u trúc l nh SQL, sinh các ñ t bi n, th c thi ñ t bi n, nh m giúp ñánh giá ch t lư ng c a câu l nh và các b d li u ki m th . Công c s d ng b mã ngu n gsqlparser for .Net ñ phân tích c u trúc l nh SQL và s d ng ngôn ng C# th c thi trong môi trư ng .NetFrameWork. Công c t o ra các ñ t bi n b ng cách chèn l i vào câu l nh g c, th c thi l n lư t câu l nh g c và câu l nh ñ t bi n vào trên các b d li u th , t ñó ñánh giá ch t lư ng c a câu l nh SQL và ch t lư ng c a các b d li u th . 3.2. GI I PHÁP Trên cơ s phân tích các ñ t bi n câu l nh truy v n cơ s d li u SQL chương 2, chúng tôi ñ xu t thu t toán xây d ng công c ki m th ñ t bi n cho câu l nh SQL như sau. Bư c 1. Nh n câu l nh SQL vào, ki m tra, phân tích cú pháp câu l nh và lưu dư i d ng cây cú pháp XML. Bư c 2. Th c hi n ñ t bi n trên câu l nh SQL t o ra t p h p các ñ t bi n c a câu l nh SQL g c. Bư c 3. Th c hi n vòng l p g m các bư c sau: a. Th c thi câu l nh SQL ñ t bi n.
- -20- b. So sánh k t qu th c thi câu l nh ñ t bi n và k t qu th c thi câu l nh g c. c. N u k t qu khác nhau thì ñ t bi n b di t, n u ngư c l i s ñánh d u câu l nh ñ t bi n và xem xét tính tương ñương câu câu l nh ñ t bi n v i câu l nh g c. d. Bư c 4. K t thúc quá trình, xu t ra báo cáo sơ b g m các thông tin v s lư ng ñ t bi n sinh ra, s lư ng ñ t bi n b di t và t l ñ t bi n. 3.3. CÔNG NGH Công ngh s d ng: - H ñi u hành: Microsoft Windows Server, Windows XP, Windows 7, … - H qu n tr cơ s d li u: MS SQL Server 2008 - Công ngh .Net FrameWork 3.5 - Mã ngu n SQL Parser (gudusoft.gsqlparser.dll) 3.4. KI N TRÚC CÔNG C C t lõi c a h th ng này là b s n sinh ñ t bi n, nghĩa là t o ra các ñ t bi n c a câu l nh truy v n cơ s d li u. Đ sinh các ñ t bi n, b phân tích cú pháp phân tích câu l nh truy v n g c và t o ra cây cú pháp tương ng. T cây cú pháp, b sinh ñ t bi n th c hi n các toán t ñ t bi n ñ t o ra các ñ t bi n c a câu l nh truy v n g c. Sau ñó, m i ñ t bi n và câu l nh truy v n g c s ñư c th c thi trên b d li u th ñ tính t l ñ t bi n.
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Tóm tắt luận văn thạc sĩ khoa học xã hội và nhân văn: Ảnh hưởng của văn học dân gian đối với thơ Tản Đà, Trần Tuấn Khải
26 p | 788 | 100
-
Tóm tắt luận văn thạc sĩ quản trị kinh doanh: Hoạch định chiến lược kinh doanh dịch vụ khách sạn tại công ty cổ phần du lịch - dịch vụ Hội An
26 p | 421 | 83
-
Tóm tắt Luận văn Thạc sĩ: Hoàn thiện công tác thẩm định giá bất động sản tại Công ty TNHH Thẩm định giá và Dịch vụ tài chính Đà Nẵng
26 p | 504 | 76
-
Tóm tắt luận văn thạc sĩ khoa học: Nghiên cứu thành phần hóa học của lá cây sống đời ở Quãng Ngãi
12 p | 542 | 61
-
Tóm tắt luận văn Thạc sĩ Luật học: Hoàn thiện hệ thống pháp luật đáp ứng nhu cầu xây dựng nhà nước pháp quyền xã hội chủ nghĩa Việt Nam hiện nay
26 p | 527 | 47
-
Tóm tắt luận văn Thạc sĩ Luật học: Cải cách thủ tục hành chính ở ủy ban nhân dân xã, thị trấn tại huyện Quảng Xương, Thanh Hóa
26 p | 342 | 41
-
Tóm tắt luận văn Thạc sĩ Quản trị kinh doanh: Giải pháp tăng cường huy động vốn tại Ngân hàng thương mại cổ phần Dầu khí Toàn Cầu
26 p | 305 | 39
-
Tóm tắt luận văn thạc sĩ kỹ thuật: Nghiên cứu xây dựng chương trình tích hợp xử lý chữ viết tắt, gõ tắt
26 p | 330 | 35
-
Tóm tắt luận văn Thạc sĩ Luật học: Xây dựng ý thức pháp luật của cán bộ, chiến sĩ lực lượng công an nhân dân Việt Nam
15 p | 350 | 27
-
Tóm tắt luận văn Thạc sĩ luật học: Pháp luật Việt Nam về hoạt động kinh doanh của công ty chứng khoán trong mối quan hệ với vấn đề bảo vệ quyền lợi của nhà đầu tư
32 p | 246 | 14
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu ảnh hưởng của quản trị vốn luân chuyển đến tỷ suất lợi nhuận của các Công ty cổ phần ngành vận tải niêm yết trên sàn chứng khoán Việt Nam
26 p | 286 | 14
-
Tóm tắt luận văn Thạc sĩ: Phân tích và đề xuất một số giải pháp hoàn thiện công tác lập dự án đầu tư ở Công ty cổ phần tư vấn xây dựng Petrolimex
1 p | 114 | 10
-
Tóm tắt luận văn Thạc sĩ Luật học: Tăng cường trách nhiệm công tố trong hoạt động điều tra ở Viện Kiểm sát nhân dân tỉnh Bắc Giang
26 p | 228 | 9
-
Tóm tắt luận văn Thạc sĩ Khoa học: Lý thuyết độ đo và ứng dụng trong toán sơ cấp
21 p | 220 | 9
-
Tóm tắt luận văn Thạc sĩ Quản trị kinh doanh: Phát triển thương hiệu Trần của Công ty TNHH MTV Ẩm thực Trần
26 p | 99 | 8
-
Tóm tắt luận văn Thạc sĩ luật học: Pháp luật về quản lý và sử dụng vốn ODA và thực tiễn tại Thanh tra Chính phủ
13 p | 264 | 7
-
Tóm tắt luận văn Thạc sĩ Khoa học: Các cấu trúc đại số của tập thô và ngữ nghĩa của tập mờ trong lý thuyết tập thô
26 p | 233 | 3
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu tính chất hấp phụ một số hợp chất hữu cơ trên vật liệu MCM-41
13 p | 199 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn