Chuyên ngành công nghệ thông tin hệ thống quản lý đào tạo và cấp giấy phép lái xe

Về lý thuyết : Đề tài đã khảo sát được toàn bộ hiện trạng hệ thống, nắm bắt được quy trình quy phạm công tác quản lý đào tạo và cấp GPLX để phát biểu bài toán, phân tích hoàn chỉnh bài toán từ sơ đồ tổ chức, phân tích dữ liệu và phân tích chức năng hệ thống, thiết kế dữ liệu, thiết kế chức năng hệ thống .

doc78 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2233 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chuyên ngành công nghệ thông tin hệ thống quản lý đào tạo và cấp giấy phép lái xe, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
®ît s¸t h¹ch, thuéc tÝnh khãa trong thùc thÓ ®ît s¸t h¹ch M· khãa ®µo t¹o (makhoa) : Lµ m· khãa ®µo t¹o, thuéc tÝnh khãa trong thùc thÓ khãa ®µo t¹o Sè l­îng thÝ sinh (SL) : M« t¶ sè l­îng thÝ sinh tham gia s¸t h¹ch cña c¸c khãa ®µo t¹o Thùc thÓ Hå s¬ GPLX : M« t¶ c¸c thuéc tÝnh ®Ó x¸c ®Þnh mét hå s¬ GPLX. X¸c ®Þnh c¸c thuéc tÝnh cña thùc thÓ : Sè hå s¬ (sohoso) : §©y lµ thuéc tÝnh khãa, nhê thuéc tÝnh nµy ta ph©n biÖt ®­îc hå s¬ GPLX nµy víi hå s¬ GPLX kh¸c Sè lý lÞch (solylich) : Lµ sè lý lÞch, thuéc tÝnh khãa trong thùc thÓ lý lÞch M· GPLX (magplx) : Lµ m· GPLX, thuéc tÝnh khãa trong thùc thÓ GPLX M· h¹ng GPLX (mahang) : M· h¹ng GPLX, thuéc tÝnh khãa trong thùc thÓ h¹ng GPLX M· c¬ së ®µo t¹o (macsdt) : Lµ m· c¬ së ®µo t¹o, thuéc tÝnh khãa trong thùc thÓ c¬ së ®µo t¹o TØnh chuyÓn ®i (tinhdi) : Lµ m· tØnh, thuéc tÝnh khãa trong thùc thÓ tØnh, m« t¶ tØnh mµ hå s¬ GPLX sÏ chuyÓn ®i TØnh chuyÓn ®Õn (tinhden) : Lµ m· tØnh, thuéc tÝnh khãa trong thùc thÓ tØnh, m« t¶ tØnh mµ cã hå s¬ GPLX ®· chuyÓn ®Õn Thùc thÓ C¸n bé : M« t¶ c¸c thuéc tÝnh ®Ó x¸c ®Þnh c¸n bé s¸t h¹ch trong Ban qu¶n lý s¸t h¹ch, lµ ng­êi tham gia trong Héi ®ång s¸t h¹ch vµ Tæ s¸t h¹ch. X¸c ®Þnh c¸c thuéc tÝnh cña thùc thÓ : M· c¸n bé (macanbo) : §©y lµ thuéc tÝnh khãa, nhê thuéc tÝnh nµy ta ph©n biÖt ®­îc c¸n bé s¸t h¹ch nµy víi c¸n bé s¸t h¹ch kh¸c Tªn c¸n bé (tencanbo) : M« t¶ tªn c¸n bé s¸t h¹ch t­¬ng øng víi m· c¸n bé CÊp ®é (capdo) : M« t¶ tr×nh ®é cña c¸n bé s¸t h¹ch cã thÓ s¸t h¹ch ®Õn h¹ng GPLX nµo S¬ ®å thùc thÓ vµ c¸c mèi liªn kÕt : huyÖn lý lÞch 1 n ² XÐt hai thùc thÓ HuyÖn vµ Lý lÞch, ta thÊy r»ng mét lý lÞch chØ ë trong mét huyÖn, nh­ng mét huyÖn cã thÓ cã nhiÒu lý lÞch. Nh­ vËy, hai thùc thÓ HuyÖn vµ Lý lÞch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. tØnh lý lÞch 1 n ² XÐt hai thùc thÓ tØnh vµ Lý lÞch, ta thÊy r»ng mét lý lÞch chØ ë trong mét tØnh, nh­ng mét tØnh cã thÓ cã nhiÒu lý lÞch. Nh­ vËy, hai thùc thÓ tØnh vµ Lý lÞch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. tØnh huyÖn 1 n ² XÐt hai thùc thÓ tØnh vµ huyÖn, ta thÊy r»ng mét huyÖn chØ ë trong mét tØnh, nh­ng mét tØnh cã thÓ cã nhiÒu huyÖn. Nh­ vËy, hai thùc thÓ tØnh vµ huyÖn cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. d©n téc lý lÞch 1 n ² XÐt hai thùc thÓ d©n téc vµ Lý lÞch, ta thÊy r»ng mét lý lÞch chØ mang mét d©n téc, nh­ng mét d©n téc cã thÓ cã nhiÒu lý lÞch. Nh­ vËy, hai thùc thÓ d©n téc vµ Lý lÞch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. t«n gi¸o lý lÞch 1 n ² XÐt hai thùc thÓ t«n gi¸o vµ Lý lÞch, ta thÊy r»ng mét lý lÞch chØ ë trong mét t«n gi¸o, nh­ng mét t«n gi¸o cã thÓ cã nhiÒu lý lÞch. Nh­ vËy, hai thùc thÓ t«n gi¸o vµ Lý lÞch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. lý lÞch gplx 1 n ² XÐt hai thùc thÓ Lý lÞch vµ gplx, ta thÊy r»ng mét GPLX chØ x¸c ®Þnh mét lý lÞch, nh­ng mét lý lÞch cã thÓ cã nhiÒu GPLX. Nh­ vËy, hai thùc thÓ Lý lÞch vµ gplx cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. lý lÞch hå s¬ 1 n ² XÐt hai thùc thÓ Lý lÞch vµ hå s¬, ta thÊy r»ng mét hå s¬ chØ x¸c ®Þnh mét lý lÞch, nh­ng mét lý lÞch cã thÓ cã nhiÒu hå s¬. Nh­ vËy, hai thùc thÓ Lý lÞch vµ hå s¬ cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. lý lÞch hå s¬ gplx 1 n ² XÐt hai thùc thÓ Lý lÞch vµ hå s¬ gplx, ta thÊy r»ng mét hå s¬ GPLX chØ x¸c ®Þnh mét lý lÞch, nh­ng mét lý lÞch cã thÓ cã nhiÒu hå s¬ GPLX. Nh­ vËy, hai thùc thÓ Lý lÞch vµ hå s¬ GPLX cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. h¹ng gplx gplx 1 n ² XÐt hai thùc thÓ h¹ng gplx vµ gplx, ta thÊy r»ng mét GPLX chØ x¸c ®Þnh mét h¹ng GPLX cao nhÊt, nh­ng mét h¹ng GPLX cã thÓ cã nhiÒu GPLX. Nh­ vËy, hai thùc thÓ h¹ng gplx vµ gplx cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. h¹ng gplx khãa ®µo t¹o 1 n ² XÐt hai thùc thÓ h¹ng gplx vµ khãa ®µo t¹o, ta thÊy r»ng mét khãa ®µo t¹o chØ ®µo t¹o mét h¹ng GPLX, nh­ng mét h¹ng GPLX cã thÓ cã nhiÒu khãa ®µo t¹o. Nh­ vËy, hai thùc thÓ h¹ng gplx vµ khãa ®µo t¹o cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. h¹ng gplx hå s¬ 1 n ² XÐt hai thùc thÓ h¹ng gplx vµ hå s¬, ta thÊy r»ng mét hå s¬ chØ cã mét h¹ng GPLX cao nhÊt, nh­ng mét h¹ng GPLX cã thÓ cã nhiÒu hå s¬. Nh­ vËy, hai thùc thÓ h¹ng gplx vµ hå s¬ cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. h¹ng gplx hå s¬ gplx 1 n ² XÐt hai thùc thÓ h¹ng gplx vµ hå s¬ gplx, ta thÊy r»ng mét hå s¬ GPLX chØ cã mét h¹ng GPLX cao nhÊt, nh­ng mét h¹ng GPLX cã thÓ cã nhiÒu hå s¬ GPLX. Nh­ vËy, hai thùc thÓ h¹ng gplx vµ hå s¬ gplx cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. c¬ së ®µo t¹o khãa ®µo t¹o 1 n ² XÐt hai thùc thÓ c¬ së ®µo t¹o vµ khãa ®µo t¹o, ta thÊy r»ng mét khãa ®µo t¹o chØ ®­îc ®µo t¹o trong mét c¬ së ®µo t¹o, nh­ng mét c¬ së ®µo t¹o cã thÓ ®µo t¹o ®­îc nhiÒu khãa ®µo t¹o. Nh­ vËy, hai thùc thÓ c¬ së ®µo t¹o vµ khãa ®µo t¹o cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. c¬ së ®µo t¹o hå s¬ gplx 1 n ² XÐt hai thùc thÓ c¬ së ®µo t¹o vµ hå s¬ gplx, ta thÊy r»ng mét hå s¬ GPLX chØ ®­îc ®µo t¹o trong mét c¬ së ®µo t¹o, nh­ng mét c¬ së ®µo t¹o cã thÓ cã nhiÒu hå s¬ GPLX. Nh­ vËy, hai thùc thÓ c¬ së ®µo t¹o vµ hå s¬ gplx cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. gplx hå s¬ gplx 1 n ² XÐt hai thùc thÓ gplx vµ hå s¬ gplx, ta thÊy r»ng mét hå s¬ GPLX chØ cã mét lo¹i GPLX, nh­ng mét lo¹i GPLX cã thÓ cã nhiÒu hå s¬ GPLX. Nh­ vËy, hai thùc thÓ gplx vµ hå s¬ gplx cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. khãa ®µo t¹o dßng s¸t h¹ch 1 n ² XÐt hai thùc thÓ khãa ®µo t¹o vµ dßng s¸t h¹ch, ta thÊy r»ng mét dßng s¸t h¹ch chØ cã trong mét khãa ®µo t¹o, nh­ng mét khãa ®µo t¹o cã thÓ s¸t h¹ch nhiÒu lÇn. Nh­ vËy, hai thùc thÓ khãa ®µo t¹o vµ dßng s¸t h¹ch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. ®ît s¸t h¹ch dßng s¸t h¹ch 1 n ² XÐt hai thùc thÓ ®ît s¸t h¹ch vµ dßng s¸t h¹ch, ta thÊy r»ng mét dßng s¸t h¹ch chØ cã trong mét ®ît s¸t h¹ch, nh­ng mét ®ît s¸t h¹ch cã thÓ cã nhiÒu dßng s¸t h¹ch. Nh­ vËy, hai thùc thÓ ®ît s¸t h¹ch vµ dßng s¸t h¹ch cã sù liªn kÕt víi nhau theo quan hÖ mét - nhiÒu. C¸c phô thuéc hµm : Tinh : (matinh) ® (tentinh) huyen : (mahuyen)® (tenhuyen, matinh) dantoc : (madt) ® (tendt) tongiao : (matg) ® (tentg) hanggplx : (mahang) ® (tenhang, loaixe) cosodaotao : (macsdt) ® (tencsdt) lylich : (solylich) ® (holot, ten, ngaysinh, gioitinh, cmnd, tinhns, dctt, huyentt, dcct, huyenct, tel, madt, matg, quoctich, anh, ghichu) hoso : (sothutu) ® (solylich, mahang, DIEMLT, diemth) gplx : (magplx) ® (solylich, serial, ngaycap, thoihan, mahang) khoadaotao : (makhoa) ® (tenkhoa, sl, hinhthuc, mahang, macsdt) dotsathach : (madotsh) ® (tendotsh, ddsh, tungay, denngay) dongsathach : (madotsh, makhoa) ® (sl) hosogplx : (sohoso) ® (solylich, magplx, mahang, macsdt, tinhdi, tinhden) M« h×nh d÷ liÖu thùc thÓ ERD : 1 n n 1 1 n 1 n n 1 1 n 1 n n 1 1 n n 1 1 n 1 n 1 n 1 n 1 n n 1 1 n Ch­¬ng iiI thiÕt kÕ hÖ thèng 1. ThiÕt kÕ c¬ së d÷ liÖu Sau ®©y lµ tæ chøc c¸c tËp tin c¬ së d÷ liÖu Microsoft SQL 1.1. tØnh (tinh) : L­u th«ng tin vÒ danh môc tØnh Field Field name Type Size DiÔn gi¶i 1 matinh Nchar 02 M· tØnh 2 tentinh Varchar 16 Tªn tØnh 1.2. huyÖn (huyen) : L­u th«ng tin vÒ danh môc huyÖn Field Field name Type Size DiÔn gi¶i 1 mahuyen Nchar 04 M· huyÖn 2 matinh Nchar 02 M· tØnh 3 tenhuyen Varchar 20 Tªn huyÖn 1.3. d©n téc (dantoc) : L­u th«ng tin vÒ danh môc d©n téc Field Field name Type Size DiÔn gi¶i 1 madt Nchar 02 M· d©n téc 2 tendt Varchar 10 Tªn d©n téc 1.4. t«n gi¸o (tongiao) : L­u th«ng tin vÒ danh môc t«n gi¸o Field Field name Type Size DiÔn gi¶i 1 matg Nchar 02 M· t«n gi¸o 2 tentg Varchar 16 Tªn t«n gi¸o 1.5. h¹ng gplx (hanggplx) : L­u th«ng tin vÒ c¸c h¹ng GPLX Field Field name Type Size DiÔn gi¶i 1 mahang Nchar 02 M· h¹ng GPLX 2 tenhang Nchar 02 Tªn h¹ng GPLX 3 loaixe Varchar 95 Lo¹i xe ®­îc sö dông 1.6. c¬ së ®µo t¹o (cosodaotao) : L­u th«ng tin vÒ c¸c c¬ së ®µo t¹o Field Field name Type Size DiÔn gi¶i 1 macsdt Nchar 01 M· c¬ së ®µo t¹o 2 tencsdt Varchar 30 Tªn c¬ së ®µo t¹o 1.7. lý lÞch (lylich) : L­u th«ng tin vÒ ng­êi cã GPLX Field Field name Type Size DiÔn gi¶i 1 solylich Nchar 10 Sè lý lÞch 2 Holot Varchar 30 Hä vµ tªn lãt 3 ten Varchar 7 Tªn 4 ngaysinh Datetime 8 Ngµy th¸ng n¨m sinh 5 gioitinh Bit 01 Giíi tÝnh 6 cmnd Char 12 Sè CMND 7 tinhns Smallint 02 M· tØnh 8 diachitt Varchar 50 §Þa chØ th­êng tró ®Õn x· ph­êng 9 huyentt Nchar 04 M· huyÖn 10 diachict Varchar 50 §Þa chØ c­ tró ®Õn x· ph­êng 11 huyenct Nchar 04 M· huyÖn 12 tel Char 10 §iÖn tho¹i liªn l¹c 13 madt Nchar 02 M· d©n téc 14 matg Nchar 02 M· t«n gi¸o 15 quoctich Varchar 20 Quèc tÞch 16 anh Image 16 H×nh ¶nh 17 ghichu Varchar 100 Ghi c¸c th«ng tin cÇn thiÕt kh¸c 1.8. hå s¬ (hoso) : L­u th«ng tin vÒ hå s¬ cña ng­êi cã GPLX Field Field name Type Size DiÔn gi¶i 1 sothutu Nchar 10 Sè thø tù cña hå s¬ (sè BD) 2 solylich Nchar 10 Sè lý lÞch 3 mahang Nchar 02 M· h¹ng GPLX 4 diemlt Int 04 §iÓm thi lý thuyÕt 5 diemth Int 04 §iÓm thi thùc hµnh 1.9. dßng ®µo t¹o (dongdaotao) : L­u th«ng tin vÒ Dßng ®µo t¹o Field Field name Type Size DiÔn gi¶i 1 solylich Nchar 10 Sè lý lÞch 2 macsdt Nchar 01 M· c¬ së ®µo t¹o 3 makhoa Nchar 05 M· khãa ®µo t¹o 4 sathach bit 01 §­îc tham dù s¸t h¹ch 5 lydokhongdu Nchar 100 Lý do kh«ng ®ñ ®iÒu kiÖn 1.10. khãa ®µo t¹o (khoadaotao) : L­u th«ng tin vÒ c¸c khãa ®µo t¹o Field Field name Type Size DiÔn gi¶i 1 makhoa Nchar 05 M· khãa ®µo t¹o 2 macsdt Nchar 01 M· c¬ së ®µo t¹o 3 tenkhoa Varchar 20 Tªn khãa ®µo t¹o 4 sl Int 04 Sè l­îng thÝ sinh 5 hinhthuc Varchar 15 H×nh thøc ®µo t¹o 6 mahang Nchar 02 M· h¹ng GPLX 1.11. ®ît s¸t h¹ch (dotsathach) : L­u th«ng tin vÒ c¸c ®ît s¸t h¹ch Field Field name Type Size DiÔn gi¶i 1 madotsh Nchar 04 M· ®ît s¸t h¹ch 2 tendotsh Varchar 20 Tªn ®ît s¸t h¹ch 3 ddsh Varchar 90 §Þa ®iÓm s¸t h¹ch 4 tungay Datetime 8 Ngµy b¾t ®Çu s¸t h¹ch 5 denngay Datetime 8 Ngµy kÕt thóc s¸t h¹ch 1.12. dßng s¸t h¹ch (dongsathach) : L­u th«ng tin vÒ dßng s¸t h¹ch Field Field name Type Size DiÔn gi¶i 1 madotsh Nchar 04 M· ®ît s¸t h¹ch 2 makhoa Nchar 05 M· khãa ®µo t¹o 3 macsdt Nchar 01 M· c¬ së ®µo t¹o 4 sl Int 03 Sl­îng thÝ sinh tham gia s¸t h¹ch 1.13. hå s¬ gplx (hosogplx) : L­u th«ng tin vÒ hå s¬ GPLX Field Field name Type Size DiÔn gi¶i 1 magplx Nchar 12 M· GPLX 2 mahang Nchar 02 M· h¹ng GPLX 3 solylich Nchar 10 Sè lý lÞch 4 serial Nchar 12 Sè serial trªn GPLX 5 Ngaycap Datetime 08 Ngµy th¸ng n¨m cÊp GPLX 6 Thoihan Nchar 08 Ngµy th¸ng n¨m hÕt h¹n 7 macsdt Nchar 01 M· c¬ së ®µo t¹o 8 tinhdi Nchar 02 M· tØnh 9 tinhden Nchar 02 M· tØnh 1.14. c¸n bé (canbo) : L­u th«ng tin vÒ c¸n bé s¸t h¹ch Field Field name Type Size DiÔn gi¶i 1 macanbo Nchar 02 M· c¸n bé s¸t h¹ch 2 tencanbo Varchar 40 Tªn c¸n bé 3 capdo Nchar 01 CÊp ®é s¸t h¹ch cña c¸n bé 1.15. s¬ ®å quan hÖ d÷ liÖu trªn microsoft sql server 7.0 m« t¶ tiÕn tr×nh Qu¸ tr×nh : CËp nhËt c¸c Danh môc (nh­ : TØnh, C¬ së ®µo t¹o,....) WHO : Nh©n viªn bé phËn §µo t¹o, TiÕp nhËn hå s¬ WHEN : Khi cã c¸c danh môc míi cÇn cËp nhËt INPUT : C¸c th«ng tin cÇn cËp nhËt OUTPUT : File Danhmuc open File danhmuc Do While cã sù thay ®æi Input record danh môc Write record danh môc vµo File Danhmuc Enddo Close File Qu¸ tr×nh : CËp nhËt hå s¬ thÝ sinh, l¸i xe WHO : Nh©n viªn bé phËn §µo t¹o, TiÕp nhËn hå s¬ WHEN : Khi cã nép hå s¬ ®Ó häc vµ thi ®Ó nhËn GPLX hoÆc hå s¬ cÊp ®æi INPUT : Hå s¬ thÝ sinh, l¸i xe OUTPUT : File LYLICH, HOSO, GPLX, hosogplx open File lylich, HOSO, GPLX, hosogplx Do While cã sù thay ®æi Input record lý lÞch, hå s¬, GPLX, hå s¬ GPLX Write record lý lÞch, hå s¬, GPLX, hå s¬ GPLX vµo File lylich, HOSO, GPLX, hosogplx Enddo Close File Qu¸ tr×nh : CËp nhËt th«ng tin Khãa ®µo t¹o WHO : Nh©n viªn bé phËn §µo t¹o, S¸t h¹ch WHEN : Khi cã khãa ®µo t¹o míi vµ xin s¸t h¹ch INPUT : C¸c th«ng tin míi vµ cã thay ®æi OUTPUT : File khoadaotao, dongsathach open File khoadaotao, dongsathach Do While cã sù thay ®æi Input record khãa ®µo t¹o, dßng s¸t h¹ch Write record khãa ®µo t¹o, dßng s¸t h¹ch vµo File khoadaotao, dongsathach Enddo Close File Qu¸ tr×nh : CËp nhËt th«ng tin §ît s¸t h¹ch WHO : Nh©n viªn bé phËn S¸t h¹ch WHEN : Khi cã nhu cÇu cña c¸c c¬ së ®µo t¹o vµ bé phËn s¸t h¹ch INPUT : C¸c th«ng tin míi, thay ®æi OUTPUT : File dotsathach, dongsathach open File dotsathach, dongsathach Do While cã sù thay ®æi Input record ®ît s¸t h¹ch, dßng s¸t h¹ch Write record ®ît s¸t h¹ch, dßng s¸t h¹ch vµo File dotsathach, dongsathach Enddo Close File Qu¸ tr×nh : §iÒu chØnh s¬ thÝ sinh WHO : Nh©n viªn bé phËn XÐt duyÖt hå s¬, §µo t¹o, CÊp ®æi WHEN : Khi cã th«ng tin vÒ thÝ sinh cÇn thay ®æi INPUT : C¸c th«ng tin míi, cÇn thay ®æi OUTPUT : File lylich, hoso open File lylich, hoso Do While cßn hå s¬ thÝ sinh cÇn thay ®æi Input thÝ sinh cÇn t×m find record lý lÞch, hå s¬ cÇn thay ®æi th«ng tin If found() Read record lý lÞch, hå s¬ cÇn thay ®æi th«ng tin Input record lý lÞch, hå s¬ Write record lý lÞch, hå s¬ vµo File lylich, hoso Else Write }Kh«ng t×m thÊy. Xin nhËp l¹i thÝ sinh kh¸c~ Endif Enddo Close File Qu¸ tr×nh : Xãa hå s¬ thÝ sinh WHO : Nh©n viªn bé phËn S¸t h¹ch, §µo t¹o, CÊp ®æi WHEN : Khi cã thÝ sinh kh«ng tham gia s¸t h¹ch, nghØ häc, cËp nhËt sai INPUT : C¸c th«ng tin cÇn hñy OUTPUT : File lylich, hoso open File lylich, hoso Do While cßn hå s¬ thÝ sinh cÇn hñy Input thÝ sinh cÇn t×m find record lý lÞch, hå s¬ cÇn hñy If found() delete record lý lÞch, hå s¬ trong File lylich, hoso Else Write }Kh«ng t×m thÊy. Xin nhËp l¹i thÝ sinh kh¸c~ Endif Enddo Close File Qu¸ tr×nh : T×m kiÕm vµ xem th«ng tin thÝ sinh, l¸i xe WHO : Nh©n viªn bé phËn S¸t h¹ch, XÐt duyÖt hå s¬, CÊp ®æi, §µo t¹o WHEN : Khi cÇn xem th«ng tin vÒ thÝ sinh hoÆc l¸i xe INPUT : M· sè cña thÝ sinh hoÆc l¸i xe (nh­ M· GPLX, Sè lý lÞch,....) OUTPUT : File lylich, hoso, gplx, hosogplx open File lylich, hoso, gplx, hosogplx Do While cßn muèn xem Input M· sè cña thÝ sinh hoÆc l¸i xe (nh­ M· GPLX, Sè lý lÞch,....) cÇn t×m find record lý lÞch, hå s¬, GPLX, hå s¬ GPLX cÇn t×m thÊy If found() Read record lý lÞch, hå s¬, GPLX, hå s¬ GPLX cÇn t×m thÊy list record lý lÞch, hå s¬, GPLX, hå s¬ GPLX cÇn t×m thÊy Else Write }Kh«ng t×m thÊy. Xin nhËp l¹i thÝ sinh kh¸c~ Endif Enddo Close File 3. ThiÕt kÕ menu hÖ thèng Khi khëi ®éng ch­¬ng tr×nh, menu chÝnh cña hÖ thèng gåm c¸c môc sau : HÖ thèng Ph©n hÖ ®µo t¹o Ph©n hÖ qu¶n lý cÊp ®æi Ph©n hÖ qu¶n lý thèng kª Gióp ®ì hÖ thèng Môc chän DiÔn gi¶i Danh môc tØnh (thµnh phè) Dïng ®Ó cËp nhËt Danh môc tØnh Danh môc huyÖn (quËn) Dïng ®Ó cËp nhËt Danh môc huyÖn Danh môc c¬ së ®µo t¹o Dïng ®Ó cËp nhËt Danh môc c¬ së ®µo ¹to Danh môc t«n gi¸o Dïng ®Ó cËp nhËt Danh môc t«n gi¸o Danh môc d©n téc Dïng ®Ó cËp nhËt Danh môc d©n téc CÊu h×nh hÖ thèng Th«ng b¸o vÒ hÖ thèng L­u dù phßng c¬ së d÷ liÖu Dïng ®Ó sao l­u d÷ liÖu khi cÇn Phôc håi c¬ së d÷ liÖu Dïng ®Ó phôc håi c¬ së d÷ liÖu khi cã sù cè Qu¶n lý ng­êi sö dông T¹o ng­êi dïng míi hoÆc xãa ng­êi sö dông ®ang cã Tho¸t ch­¬ng tr×nh KÕt thóc ch­¬ng tr×nh trë vÒ Windows Ph©n hÖ ®µo t¹o Môc chän DiÔn gi¶i Tæ chøc s¸t h¹ch Gåm 5 menu con dïng cho c¸c c«ng t¸c chuÈn bÞ cho mét ®ît s¸t h¹ch nh­ lµ : - Më ®ît s¸t h¹ch míi, - TiÕp nhËn míi hå s¬, - §¨ng ký s¸t h¹ch l¹i, - Lo¹i bá hå s¬ qu¸ h¹n ®¨ng ký l¹i, - In danh s¸ch hå s¬ dù s¸t h¹ch ban ®Çu XÐt duyÖt hå s¬ Gåm 7 menu con dïng cho c¸c c«ng t¸c xÐt tuyÓn hå s¬ dù s¸t h¹ch ®Ó tæ chøc ®ît s¸t h¹ch nh­ lµ : - XÐt ®iÒu kiÖn dù s¸t h¹ch, - §iÒu chØnh hå s¬ dù s¸t h¹ch, - Xãa hå s¬ kh«ng hîp lÖ, - In danh s¸ch hå s¬ kh«ng hîp lÖ, - In danh s¸ch hå s¬ ®­îc s¸t h¹ch, - In biªn b¶n ph©n c«ng s¸t h¹ch, - In quyÕt ®Þnh tæ chøc s¸t h¹ch KÕt qu¶ s¸t h¹ch Gåm 5 menu con dïng cho c«ng t¸c sau khi s¸t h¹ch nh­ lµ : - NhËp kÕt qu¶ s¸t h¹ch, - In danh s¸ch kh«ng ®¹t, - In danh s¸ch tróng tuyÓn, - In biªn b¶n xÐt kÕt qu¶ s¸t h¹ch, - In quyÕt ®Þnh cÊp GPLX CÊp giÊy phÐp l¸i xe Gåm 2 menu con dïng cho c¸c c«ng t¸c chuÈn bÞ GPLX ®Ó cÊp cho ng­êi l¸i xe nh­ lµ : - NhËp GPLX, - In GPLX Ph©n hÖ qu¶n lý cÊp ®æi Môc chän DiÔn gi¶i TiÕp nhËn hå s¬ cÊp ®æi Dïng cho c«ng t¸c tiÕp nhËn hå xin ®æi GPLX khi chuÈn bÞ hÕt h¹n dïng cña GPLX XÐt duyÖt hå s¬ cÊp ®æi Dïng cho c«ng t¸c kiÓm tra hå s¬ cã ®ñ tiªu chuÈn theo quy ®Þnh vÒ viÖc cÊp ®æi GPLX Lµm GPLX ®­îc cÊp ®æi NhËp GPLX ®· ®ñ ®iÒu kiÖn cÊp ®æi In DS hå s¬ xin cÊp ®æi In toµn bé danh s¸ch hå s¬ trong mét ®ît cÊp ®æi In DS hå s¬ ®­îc cÊp ®æi In danh s¸ch nh÷ng hå s¬ kh«ng ®ñ ®iÒu kiÖn cÊp ®æi In DS GPLX qu¸ h¹n In danh s¸ch nh÷ng hå s¬ ®· qu¸ h¹n sö dông mµ ch­a lµm thñ tôc cÊp ®æi. dïng phôc vô c«ng t¸c th«ng b¸o In GPLX ®­îc cÊp ®æi In GPLX ®­îc cÊp ®æi ®Ó cÊp cho ng­êi l¸i xe Ph©n hÖ qu¶n lý thèng kª Môc chän DiÔn gi¶i T×m kiÕm tra cøu GPLX Dïng cho c«ng t¸c t×m kiÕm vµ tra cøu bÊt kú mét th«ng tin nµo liªn quan ®Õn GPLX Qu¶n lý GPLX di dêi Phôc vô c«ng t¸c cËp nhËt th«ng tin hå s¬ GPLX chuyÓn ®Õn, ®ång thêi lµm thñ tôc cho c¸c hå s¬ GPLX chuyÓn ®i vµ ®­a vµo l­u tr÷ c¸c hå s¬ nµy Thèng kª GPLX cÊp ®æi Phôc vô c«ng t¸c b¸o c¸o sè l­îng GPLX ®· cÊp ®æi theo ®Þnh kú : th¸ng, quý hoÆc n¨m Thèng kª GPLX cÊp míi Phôc vô c«ng t¸c b¸o c¸o sè l­îng GPLX ®· cÊp míi theo ®Þnh kú : th¸ng, quý hoÆc n¨m Thèng kª GPLX theo h¹ng Phôc vô c«ng t¸c b¸o c¸o sè l­îng GPLX theo tõng h¹ng ®Þnh kú : th¸ng, quý hoÆc n¨m Thèng kª GPLX di dêi Phôc vô c«ng t¸c b¸o c¸o sè l­îng GPLX ®· chuyÓn ®Õn vµ ®· chuyÓn ®i theo ®Þnh kú : th¸ng, quý hoÆc n¨m Gióp ®ì Môc chän DiÔn gi¶i Néi dung Tr×nh bµy toµn bé néi dung trî gióp cho ng­êi sö dông hÖ thèng Tham kh¶o Minh häa phÇn trî gióp ®Ó ng­êi sö dông tham kh¶o trong qu¸ tr×nh sö dông hÖ thèng B¶n quyÒn Th«ng b¸o vÒ b¶n quyÒn cña hÖ thèng 4. ThiÕt kÕ m· (Code Design) Tªn hÖ thèng : Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp GPLX ThiÕt kÕ m· cho form sè 1 Ngµy thiÕt kÕ : Tªn code : SOLYLICH Sè lý lÞch Ph­¬ng ph¸p thiÕt kÕ : M· tuÇn tù Sè cét : Check digit : No Sè l­îng sö dông : HiÖn nay : 150.000 T­¬ng lai : kh«ng dù ®o¸n Chu kú sö dông : 10 n¨m SOLYLICH ®­îc sö dông trong LYLICH, hoso, gplx, hosogplx §èi t­îng code : Sè lý lÞch CÊu tróc : TuÇn tù t¨ng dÇn CÊu tróc : 999999999 D¹ng sè lý lÞch : 1..999999999 KiÓu : Charater Tªn hÖ thèng : Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp GPLX ThiÕt kÕ m· cho form sè 2 Ngµy thiÕt kÕ : Tªn code : macsdt M· c¬ së ®µo t¹o Ph­¬ng ph¸p thiÕt kÕ : M· gîi nhí Sè cét : Check digit : No Sè l­îng sö dông : HiÖn nay : T­¬ng lai : Chu kú sö dông : 10 n¨m macsdt ®­îc sö dông trong cosodaotao, hosogplx, khoadaotao §èi t­îng code : M· c¬ së ®µo t¹o CÊu tróc : Do ng­êi sö dông nhËp CÊu tróc : AAAA : M· gîi nhí KiÓu : Charater Tªn hÖ thèng : Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp GPLX ThiÕt kÕ m· cho form sè 3 Ngµy thiÕt kÕ : Tªn code : sohoso Sè hå s¬ Ph­¬ng ph¸p thiÕt kÕ : M· tuÇn tù Sè cét : Check digit : No Sè l­îng sö dông : HiÖn nay : T­¬ng lai : Chu kú sö dông : 10 n¨m SOhoso ®­îc sö dông trong hosogplx §èi t­îng code : Sè hå s¬ CÊu tróc : TuÇn tù t¨ng dÇn CÊu tróc : 99999999999 D¹ng sè hå s¬ : 1..99999999999 KiÓu : Charater Tªn hÖ thèng : Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp GPLX ThiÕt kÕ m· cho form sè 4 Ngµy thiÕt kÕ : Tªn code : Magplx M· GPLX Ph­¬ng ph¸p thiÕt kÕ : M· tuÇn tù Sè cét : Check digit : No Sè l­îng sö dông : HiÖn nay : T­¬ng lai : Chu kú sö dông : 10 n¨m magplx ®­îc sö dông trong gplx, hosogplx §èi t­îng code : M· GPLX CÊu tróc : T×m kiÕm nÕu tån t¹i g¸n m· cò, nÕu kh«ng th× t¨ng dÇn theo tuÇn tù CÊu tróc : 99999999999 D¹ng m· GPLX : 1..99999999999 KiÓu : Charater T­¬ng tù ta lËp b¶ng thiÕt m· cho c¸c m· cßn l¹i nh­ M· h¹ng GPLX, M· khãa ®µo t¹o,.... 5. ThiÕt kÕ report HÖ thèng Qu¶n lý ®µo vµ cÊp giÊy phÐp l¸i xe cã rÊt nhiÒu mÉu b¸o c¸o nh­ ®· tr×nh bµy mét phÇn trong môc 3 cña ch­¬ng I, ®Ó ®¸p øng ®Çy ®ñ nhu cÇu vµ thuËn lîi cho ng­êi sö dông, chóng ta cÇn ph¶i thiÕt kÕ tÊt c¶ c¸c b¸o biÓu cã thÓ (c¸c b¸o biÓu nµy cã mÉu quy ®Þnh t¹i c¸c v¨n b¶n ph¸p quy) nh»m hæ trî cho viÖc qu¶n lý nhanh gän, kÞp thêi vµ chÝnh x¸c, ®ång thêi tiÕn ®Õn tù ®éng hãa hÖ thèng cµng nhiÒu cµng tèt. Do thêi gian ®Çu t­ cho ®Ò tµi cã h¹n nªn phÇn thiÕt kÕ Report kh«ng tr×nh bµy cô thÓ trong thuyÕt minh nµy. 6. mét sè h×nh ¶nh cña ch­¬ng tr×nh hép th«ng b¸o vÒ hÖ thèng Giao diÖn chÝnh vµ hép kiÓm tra th«ng tin ng­êi sö dông Giao diÖn chÝnh giíi thiÖu menu ph©n hÖ ®µo t¹o Giao diÖn chÝnh giíi thiÖu menu ph©n hÖ qu¶n lý thèng kª Giao diÖn chÝnh giíi thiÖu form : danh môc tØnh Giao diÖn chÝnh giíi thiÖu form : xÐt ®iÒu kiÖn dù s¸t h¹ch Giao diÖn chÝnh giíi thiÖu form : më ®ît s¸t h¹ch míi Ch­¬ng iv giíi thiÖu m«i tr­êng vµ c«ng cô ph¸t triÓn hÖ thèng 1. hÖ qu¶n trÞ c¬ së d÷ liÖu microsoft sql server 7.0 MS SQL Server lµ mét hÖ qu¶n trÞ c¬ së d÷ liÖu quan hÖ m¹nh cã tÝnh më, ®¸ng tin cËy, lµ hÖ qu¶n trÞ c¬ së d÷ liÖu theo m« h×nh Client/Server vµ cã thÓ dÔ dµng ph¸t triÓn theo m« h×nh d÷ liÖu ph©n t¸n. MS SQL Server cung cÊp ®Çy ®ñ c¸c c«ng cô ®Ó : - DÔ dµng x©y dùng mét c¬ së d÷ liÖu quan hÖ lín, mçi c¬ së d÷ liÖu cã thÓ chøa 2 tû quan hÖ vµ mçi quan hÖ cã thÓ chøa 1024 thuéc tÝnh - Gi¶i quyÕt t×nh tr¹ng va ch¹m gi÷a c¸c user khi cïng truy xuÊt mét d÷ liÖu t¹i cïng mét thêi ®iÓm - B¶o ®¶m c¸c rµng buéc toµn vÑn trªn c¬ së d÷ liÖu - B¶o vÖ an toµn c¬ së d÷ liÖu (Qu¶n lý nhiÒu møc ®é ®Ó truy cËp vµo c¬ së d÷ liÖu) - Truy vÊn d÷ liÖu nhanh CÊu tróc c¬ së d÷ liÖu sql server SQL Server tæ chøc d÷ liÖu l­u trong c¬ së d÷ liÖu (CSDL) thµnh nh÷ng thµnh phÇn lý luËn. User lµm viÖc trªn nh÷ng thµnh phÇn lý luËn nh­ b¶ng (Table), view, procedure,.... Thµnh phÇn vËt lý cña nh÷ng file th× trong suèt (Transparent), chØ cã ng­êi qu¶n lý CSDL míi ®­îc lµm viÖc ®ã. c¸c ®èi t­îng d÷ liÖu trong csdl sql server Mçi c¬ së d÷ liÖu trªn SQL Server cßn bao gåm nh÷ng ®èi t­îng kh¸c ®­îc dïng ®Õn trong viÖc l­u tr÷ vµ tæ chøc d÷ liÖu, c¸c ®èi t­îng cña c¬ së d÷ liÖu SQL server bao gåm : Table, Colums, Indexes, View, Constraints, Rules, Defaults, Triggers, Stored procedure, vµ Extended Stored Procedure. B¶ng d÷ liÖu (Table) : Mçi c¬ së d÷ liÖu trªn SQL server ®Òu chøa mét hoÆc nhiÒu b¶ng d÷ liÖu (table). §èi t­îng b¶ng d÷ liÖu lµ cÊu thµnh chñ yÕu l­u tr÷ d÷ liÖu (data storage) cña SQL server. Mét b¶ng d÷ liÖu thùc chÊt lµ mét l« cét (colums) cã tæ chøc. Mét l« cét ®­îc qui chiÕu nh­ lµ mét hµng (row). Trªn SQL server cã hai lo¹i b¶ng d÷ liÖu : b¶ng d÷ liÖu hÖ thèng (system table) vµ b¶ng d÷ liÖu ng­êi dïng (user table). B¶ng d÷ liÖu hÖ thèng chøa th«ng tin liªn quan ®Õn SQL server víi nh÷ng ®èi t­îng kh¸c nhau, trong khi b¶ng d÷ liÖu ng­êi dïng th× chøa thuÇn tuý d÷ liÖu cña ng­êi dïng. C¸c b¶ng d÷ liÖu hÖ thèng ®­îc ®Æt tªn víi tiÒn tè }sys~ (viÕt t¾t cña system). Cét d÷ liÖu (Colum) : Mçi b¶ng d÷ liÖu th­êng gåm mét l« nh÷ng cét d÷ liÖu cã liªn hÖ víi nhau. Cét lµ nh÷ng môc tin (data item) t­îng tr­ng cho mét thuéc tÝnh (property) cña b¶ng d÷ liÖu. ChØ môc (Index) : C¸c chØ môc dïng ®Ó tèi ­u hãa tèc ®é truy xuÊt d÷ liÖu. NÕu kh«ng cã chØ môc, mçi lÇn ng­êi dïng chän mét lo¹t hµng trªn mét b¶ng d÷ liÖu nµo ®ã, th× cÇn ph¶i rµ chän b¶ng tõ ®Çu cho tíi khi hoµn tÊt yªu cÇu cña ng­êi dïng, ®èi víi nh÷ng b¶ng d÷ liÖu lín th× ®iÒu nµy kh«ng ®­a ®Õn hiÖu qu¶ cao. ChØ môc sÏ lo¹i trõ viÖc rµ tõ ®Çu b¶ng mÊt thêi gian vµ cho phÐp tr×nh bµy d÷ liÖu theo nhiÒu tæ chøc thay thÕ kh¸c nhau vµ h÷u hiÖu h¬n. Ng­êi ta t¹o mét chØ môc nh­ lµ mét ®èi chøc thay thÕ kh¸c nhau vµ h÷u hiÖu h¬n. Ng­êi ta t¹o mét chØ môc nh­ lµ mét ®èi t­îng c¨n cø d÷ liÖu riªng biÖt t¸ch khái b¶ng d÷ liÖu nguyªn thñy, cã 2 lo¹i chØ môc Clustered vµ nonclustered. B¶ng nh×n xem (View) : View lµ b¶ng d÷ liÖu ¶o (virtual table), lµ n¬i l­u tr÷ nh÷ng c©u lÖnh select qui chiÕu vÒ mét hoÆc nhiÒu b¶ng d÷ liÖu c¬ së. Ta cã thÓ truy vÊn view gièng nh­ víi c¸c b¶ng d÷ liÖu b×nh th­êng, còng cã thÓ nhËn tõ view lµ c«ng t¸c nhËn chØ ¶nh h­ëng mét b¶ng d÷ liÖu ®¬n chiÕc mµ th«i Nh÷ng rµng buéc : Rµng buéc ®¶m b¶o tÝnh chÊt toµn vÑn d÷ liÖu ®èi víi c¸c b¶ng d÷ liÖu còng nh­ ®èi víi c¸c cét d÷ liÖu. Th«ng th­êng, c¸c rµng buéc ®­îc thªm vµo khi mét b¶ng d÷ liÖu ®­îc t¹o ra vµ ®­îc khai b¸o ë cÊp b¶ng hoÆc ë cÊp cét. Cã n¨m lo¹i rµng buéc. + Primary Key (môc khãa chÝnh) : ®¶m b¶o tÝnh toµn vÑn chñ thÓ (entity integrity), nghÜa lµ tÊt c¶ c¸c hµng trªn mét b¶ng d÷ liÖu ®Òu cã mét môc kho¸ (key) duy nhÊt kh«ng null + Foreign Key : dïng ®Ó ®¶m b¶o tÝnh toµn vÑn qui chiÕu (referential integrity) rµng buéc foreign key ®¶m b¶o cã mét mèi liªn hÖ ®­îc khai b¸o gi÷a hai tËp tin + Unique Key : ng¨n kh«ng cho bÊt cø cét nµo cã mét trÞ trïng lÆp (duplicate value). Dïng unique key ®Ó ®¶m b¶o tÝnh toµn vÑn chñ thÓ vµ cßn ®­a ®Õn kÕt qu¶ t¹o mét chØ môc. Tuy nhiªn kh¸c víi Primary key, Unique key cho phÐp cã gi¸ trÞ null + Check : t¨ng c­êng tÝnh toµn vÑn ph¹m vi b»ng c¸ch h¹n chÕ kho¶ng gi¸ trÞ cã thÓ ®­îc nhËp vµo mét cét. + Not null : mét cét sÏ kh«ng chøa bÊt cø trÞ null nµo. C¸c quy t¾c : C¸c qui t¾c còng gÇn gièng nh­ rµng buéc check trong viÖc h¹n chÕ trÞ cã thÓ ®­îc nhËp vµo mét cét. Tuy nhiªn, kh¸c víi rµng buéc check ®Æt ra mét tr¾c nghiÖm t­¬ng ®èi ®¬n gi¶n vÒ trÞ, mét qui t¾c cã thÓ h¹n chÕ nh÷ng gi¸ trÞ d÷ liÖu dùa trªn mét biÓu thøc ®iÒu kiÖn (condition expression) hoÆc mét danh s¸ch c¸c trÞ. Ngoµi ra, kh«ng gièng nh­ mét rµng buéc check, b¹n chØ cã thÓ cã mét qui t¾c cho mét cét vµ c¸c qui t¾c SQL server sÏ ®­îc l­u tr÷ d­íi d¹ng mét ®èi t­îng c¨n cø d÷ liÖu riªng rÏ. Th× mét qui t¾c cã thÓ phñ lªn nhiÒu cét. Nh÷ng mÆc nhiªn : Trong SQL Server, mçi colum trong mét record ph¶i chøa c¸c gi¸ trÞ kÓ c¶ ®ã lµ c¸c gi¸ trÞ Null. Gi¸ trÞ mÉu tin t¹i colum sÏ chøa gi¸ trÞ lµ Null nÕu kh«ng ®­îc chÊp nhËn d÷ liÖu. Trªn thùc tÕ cã thÓ cã nhu cÇu colum sÏ chøa mét gi¸ trÞ x¸c ®Þnh nµo ®ã thay v× gi¸ trÞ null nÕu colum kh«ng ®­îc nhËp d÷ liÖu MS SQL Server cung cÊp ®èi t­îng mÆc nhiªn dïng ®Ó t¹o c¸c gi¸ trÞ mÆc ®Þnh g¾n vµo colum trong tr­êng hîp t¹o míi mÉu tin nh÷ng gi¸ trÞ cña colum nµy kh«ng chÊp nhËn. C«ng viÖc nµy gièng nh­ viÖc x¸c ®Þnh c¸c gi¸ trÞ mÆc nhiªn giao t¸c trong sql server Giíi thiÖu vÒ giao t¸c : Mét biÕn côc bé trong giao t¸c lµ mét ®èi t­îng cã thÓ l­u tr÷ mét gi¸ trÞ d÷ liÖu ®¬n cña mét kiÓu x¸c ®Þnh. C¸c biÕn trong batcher vµ scripts ®­îc sö dông tiªu biÓu nh­ sau : + Sö dông nh­ lµ mét bé ®Õm dïng ®Ó ®Õm sè lÇn lÆp ®­îc thùc hiÖn hoÆc dïng ®Ó ®iÒu khiÓn vßng lÆp + Sö dông ®Ó l­u gi÷ gi¸ trÞ d÷ liÖu sÏ ®­îc kiÓm tra bëi mét lÖnh ®iÒu khiÓn dßng (control-of-flow) + Sö dông ®Ó ghi nhËn gi¸ trÞ tr¶ vÒ tõ mét strored procedure (kh¸i niÖm vÒ stored procedure ®­îc ®Ò cËp ë phÇn sau cña ch­¬ng nµy nµy) C¸c vÊn ®Ò th­êng gÆp khi x©y dùng giao t¸c : a. KiÓm tra lçi khi thùc hiÖn Giao t¸c Mét sè lçi th­êng gÆp sau khi thùc hiÖn mét c©u lÖnh trong giao t¸c : Kh«ng cã quyÒn truy cËp trªn mét ®èi t­îng (table, stored procedure,....) Vi ph¹m rµng buéc toµn vÑn Update hay Insert mét dßng d÷ liÖu ®· cã trong table Deadlock SQL Server tr¶ gi¸ trÞ lçi vÒ trong biÕn toµn côc @@ERROR @@ERROR = 0 : kh«ng x¶y ra lçi @@ERROR # 0 : x¶y ra lçi víi m· lçi lµ @@ERROR Giao t¸c kh«ng thÓ tù ®éng rollback khi gÆp nh÷ng lçi ph¸t sinh trong qu¸ tr×nh thùc hiÖn mét c©u lÖnh thµnh phÇn trong giao t¸c CÇn kiÓm tra gi¸ trÞ cña biÕn @@ERROR sau mçi c©u lÖnh thµnh phÇn trong giao t¸c vµ cÇn xö lý nh÷ng lçi (nÕu cã) : yªu cÇu giao t¸c rollback mét c¸ch t­êng minh b»ng lÖnh rollback tran {saction} b. @@ROWCOUNT vµ @@ERROR BiÕn toµn côc @@Rowcount chøa sè l­îng nh÷ng dßng d÷ liÖu ®­îc t×m thÊy (vÝ dô nh­ khi thùc hiÖn lÖnh select hay update). §©y chÝnh lµ sè l­îng nh÷ng dßng d÷ liÖu tháa m·n ®iÒu kiÖn trong mÖnh ®Ò where NÕu t×m thÊy mét dßng d÷ liÖu nµo tháa m·n yªu cÇu truy vÊn (tháa m·n ®iÒu kiÖn trong mÖnh ®Ò where) th× @@ERROR vÉn b»ng 0 (nghÜa lµ kh«ng x¶y ra lçi). Do ®ã trong tr­êng hîp nµy cÇn kiÓm tra gi¸ trÞ @@ RowCount. C¸c lo¹i giao t¸c : a. Explicit Explicit Transaction lµ giao t¸c mµ user ®Þnh nghÜa mét c¸ch râ rµng c¶ qu¸ tr×nh khëi ®éng lÉn kÕt thóc giao dÞch. Explicit Transtion còng ®­îc gäi bëi giao dÞch user_defined hay user_specified trong c¸c version cña SQL Server. b. Autocommit Giao t¸c autocommit ®­îc thiÕt lËp qu¶n lý giao dÞch mÆc ®Þnh trong SQL Server. NÕu mét giao t¸c thùc hiÖn thµnh c«ng th× nã ®­îc commit (tÊt c¶ sù thay ®æi ®­îc t¹o ra tõ c¸c giao t¸c ®ã sÏ ®­îc cËp nhËt trong c¬ së d÷ liÖu), nÕu nã gÆp bÊt kú lçi nã sÏ roll back. Trong mode autocommit, thØnh tho¶ng xuÊt hiÖn lçi nÕu SQL Server roll back nguyªn c¶ batch (mét tËp c¸c lÖnh SQL server còng ®­îc xem xÐt vµ ®­îc thùc thi, nã ®­îc biªn dÞch mét lÇn vµ kÕt thóc bëi lÖnh Go) thay v× mét lÖnh SQL. §iÒu nµy chØ x¶y ra nÕu lçi ®ông ®é lµ lçi biªn dÞch kh«ng ph¶i lµ lçi run_time. Lçi biªn dÞch ng¨n c¶n SQL Server x©y dùng kÕ ho¹ch thùc thi, v× thÕ kh«ng cã lÖnh nµo trong batch ®­îc thùc thi. c. Implicit Khi kÕt nèi ®­îc t¹o ra theo mode implicit transtion. SQL Server tù ®éng khëi ®éng mét giao t¸c míi sau khi giao t¸c hiÖn thêi ®­îc commit hay roll back. User kh«ng lµm bÊt cø ®iÒu g× ®Ó ph¸c häa khëi t¹o giao t¸c, user chØ commit hay roll back mçi giao t¸c. Implicit Transtion mode ®­a ra c¸c m¾c xÝch nèi kÕt liªn tôc c¸c giao t¸c. Lock vµ viÖc xö lý ®ång thêi Lock : Microsoft SQL Server ®¶m b¶o sù toµn vÑn cña giao t¸c vµ sù nhÊt qu¸n d÷ liÖu. Locking ng¨n c¶n user ®äc d÷ liÖu ®ang ®­îc thay ®æi bëi nh÷ng user kh¸c, vµ ng¨n c¶n nhiÒu user thay ®æi cïng mét d÷ liÖu trong cïng thêi gian. NÕu locking kh«ng ®­îc sö dông th× d÷ liÖu trong mét database trë nªn kh«ng ®óng vµ c¸c truy vÊn t­¬ng ph¶n víi d÷ liÖu sÏ cho kÕt qu¶ kh«ng ®óng nh­ mong ®îi MÆc dï Microsoft SQL Server ®· thùc thi locking mét c¸ch tù ®éng, user cã thÓ thiÕt kÕ øng dông hiÖu qu¶ h¬n. Nh÷ng vÊn ®Ò cña viÖc xö lý ®ång thêi : MÊt d÷ liÖu cËp nhËt : ®iÒu ph¸t sinh do hai hay nhiÒu giao t¸c chän cïng mét dßng vµ cËp nhËt d÷ liÖu dùa vµo gi¸ trÞ ®­îc chän ban ®Çu. Bëi v× mçi mét giao t¸c kh«ng cã ý thøc vÒ nh÷ng giao t¸c kh¸c, gi¸ trÞ ®­îc update cuèi cïng sÏ viÕt ®Ì gi¸ trÞ update cña nh÷ng giao dÞch kh¸c. V× vËy d÷ liÖu bÞ mÊt. + §äc d÷ liÖu ch­a commit (dirty data) : vÝ dô Giao t¸c T1 thay ®æi mét dßng d÷ liÖu. Giao t¸c T2 ®äc sù thay ®æi tr­íc khi giao t¸c T1 commit. NÕu giao t¸c T1 roll back sù thay ®æi th× giao t¸c T2 ®äc mét dßng d÷ liÖu ®­îc xem nh­ kh«ng tån t¹i + Thao t¸c ®äc kh«ng thÓ lÆp l¹i (Unrepeatable read) : nÕu mét giao t¸c ®äc cïng mét d÷ liÖu h¬n mét lÇn vµ gi÷a hai lÇn ®äc ®ã cã sù thay ®æi d÷ liÖu bëi mét giao t¸c t¸ch biÖt kh¸c. Bëi viÖc ®äc d÷ liÖu nhiÒu lÇn trong cïng mét giao t¸c mµ cã sù thay ®æi kh¸c t¸c ®éng vµo do mét giao t¸c kh¸c g©y ra sù m©u thuÉn + VÊn ®Ò phantom read : khi mét giao t¸c cè g¾ng select mét dßng mµ nã kh«ng tån t¹i vµ giao t¸c thø hai insert dßng ®ã tr­íc khi giao t¸c thø nhÊt kÕt thóc. NÕu dßng nµy ®­îc chÌn vµo th× nã xuÊt hiÖn nh­ mét phantom ®èi víi giao t¸c thø nhÊt, sù xuÊt hiÖn vµ biÕn mÊt g©y ra m©u thuÉn. C¸c møc ®é t¸ch biÖt : Khi lock ®­îc sö dông nh­ lµ mét c«ng cô ®iÒu khiÓn ®ång thêi th× nã sÏ gi¶i quyÕt vÊn ®Ò ®ång thêi. §iÒu nµy cho phÐp tÊt c¶ c¸c giao t¸c ch¹y ®ång thêi t¸ch biÖt víi nhau, mÆc dï cã nhiÒu giao t¸c ch¹y trªn cïng mét SQL Server t¹i mét thêi ®iÓm TÝnh tuÇn tù (Serializability) lµ mét tÝnh chÊt mµ c¬ së d÷ liÖu ®¹t ®­îc khi mét sè giao t¸c ®­îc thùc hiÖn ®ång thêi th× kÕt qu¶ ph¶i gièng nh­ khi chóng thùc hiÖn tuÇn tù theo mét sè thø tù nµo ®ã. NÕu mét hÖ thèng cung cÊp ®iÒu khiÓn ®ång thêi, ng­êi lËp tr×nh cã thÓ viÕt c¸c giao t¸c nh­ lµ khi chóng ®­îc thùc hiÖn mét m×nh Møc ®é mµ mét giao t¸c chÊp nhËn sù kh«ng nhÊt qu¸n d÷ liÖu ®­îc nhãm thµnh c¸c møc ®é kh¸c nhau. §iÒu nµy sÏ lµm gi¶m khi mét giao t¸c ph¶i ®­îc t¸ch biÖt víi nh÷ng giao t¸c kh¸c. Møc ®é t¸ch biÖt thÊp th× lµm t¨ng tÝnh ®ång thêi nh­ng ph¶i tr¶ gi¸ cho sù ®óng ®¾n d÷ liÖu cao. Ng­îc l¹i, ®èi víi møc ®é t¸ch biÖt cao h¬n th× ®¶m b¶o d÷ liÖu ®óng nh­ng kh«ng hiÖu qu¶ vÒ viÖc ®ång thêi. Møc ®é t¸ch biÖt trong øng dông x¸c ®Þnh c¸ch thøc lock trong SQL Server. 2. microsoft visual basic 6.0 §Ó viÕt mét ch­¬ng tr×nh trªn Windows, tøc t¹o ra c¸c cöa sæ, bè trÝ c¸c control trªn cöa sæ vµ qui ®Þnh c¸c c¸ch øng xö cña cöa sæ, c¸c control cña nã øng víi tõng t¸c ®éng ng­êi sö dông ph¶i khai b¸o, tÝnh to¸n vµ viÕt rÊt nhiÒu c©u lÖnh phøc t¹p. V× vËy ®Ó cho c«ng viÖc lËp tr×nh ®­îc dÔ dµng, nhÑ nhµng vµ nhanh chãng h¬n ng­êi ta ®­a ra mét kiÓu lËp tr×nh míi gäi lµ visual hay cßn gäi lµ RAD (Rapid Application Development). Visual Basic lµ mét trong nh÷ng ng«n ng÷ lËp tr×nh kiÓu míi nµy. Víi kiÓu lËp tr×nh Visual nµy b¹n chØ cÇn dïng mouse kÐo tõng ®èi t­îng control vµo cöa sæ, råi viÕt thªm mét sè c©u lÖnh ®Ó qui ®Þnh c¸ch lµm viÖc cña nã. Visual Basic lµ mét ng«n ng÷ lËp tr×nh theo kiÓu ®Þnh nghÜa h­íng ®èi t­îng. Trong kiÓu lËp tr×nh nµy, ng­êi lËp tr×nh cã thÓ ph©n mçi yÕu tè trong ch­¬ng tr×nh thµnh mét ®èi t­îng vµ viÕt c¸ch øng xö riªng cho tõng ®èi t­îng ®ã Kh¸i niÖm ®èi t­îng : ®Ó viÕt ch­¬ng tr×nh ®¬n gi¶n, ng­êi ta t¹o mçi yÕu tè trong ch­¬ng tr×nh thµnh mét ®èi t­îng. Trong Visual basic ®èi t­îng lµ nh÷ng thµnh phÇn t¹o nªn giao diÖn ng­êi sö dông cho øng dông. §Æc ®iÓm cña ®èi t­îng trong ch­¬ng tr×nh : - Mét ®èi t­îng cã mét c¸i tªn ®Ó ph©n biÖt víi c¸c ®èi t­îng kh¸c, - Mçi ®èi t­îng cã thÓ cã nhiÒu ®Æc tÝnh, c¸c ®Æc tÝnh nµy gäi lµ c¸c property cña ®èi t­îng ®ã, - Mçi ®èi t­îng cã thÓ cã nhiÒu ho¹t ®éng, c¸c ho¹t ®éng nµy gäi lµ c¸c Method cña nã. C¸c ®èi t­îng trªn Windows cßn cã nh÷ng ®éng t¸c ®Ó ®¸p l¹i nh÷ng sù kiÖn t¸c ®éng lªn nã, mçi lo¹i ®èi t­îng chØ ®¸p l¹i mét sè sù kiÖn nµo ®ã mµ th«i. C¸c sù kiÖn mµ c¸c ®èi t­îng cã ph¶n øng víi nã ®­îc gäi lµ c¸c Event cña ®èi t­îng nµy. Truy xuÊt ®èi t­îng : nghÜa lµ ®äc hoÆc ®Æt gi¸ trÞ cho c¸c property cña ®èi t­îng, hay cßn gäi lµ method cña ®èi t­îng ®ã cho nã ho¹t ®éng. BÊt cø khi nµo truy xuÊt mét ®èi t­îng b¹n ®Òu ph¶i viÕt theo có ph¸p sau : . Khi viÕt ch­¬ng tr×nh b»ng Visual Basic, chóng ta ph¶i qua hai b­íc : + ThiÕt kÕ giao diÖn (Visual programming) + ViÕt lÖnh (Code programming) ThiÕt kÕ giao diªn : do Visual Basic lµ ng«n ng÷ lËp tr×nh h­íng ®èi t­îng nªn viÖc thiÕt kÕ giao diÖn rÊt ®¬n gi¶n b»ng c¸ch ®­a c¸c ®èi t­îng vµo form vµ tiÕn hµnh thay ®æi mét sè thuéc tÝnh cña c¸c ®èi t­îng ®ã. FORM : form lµ biÓu mÉu cña mçi øng dông trong visual basic. Ta dïng form (nh­ lµ mét biÓu mÉu) nh»m ®Þnh vÞ vµ s¾p xÕp c¸c bé phËn trªn nã khi thiÕt kÕ c¸c phÇn giao tiÕp víi ng­êi dïng. TOOLS BOX (hép c«ng cô) : hép c«ng cô nµy chøa c¸c biÓu t­îng biÓu thÞ cho c¸c ®iÒu khiÓn mµ ta cã thÓ bæ sung vµo biÓu mÉu, lµ b¶ng chøa c¸c ®èi t­îng ®­îc ®Þnh nghÜa s½n cña Visual Basic. C¸c ®èi t­îng nµy ®­îc sö dông trong form ®Ó t¹o thµnh giao diÖn cho c¸c ch­¬ng tr×nh øng dông cña Visual Basic. PROPERTIES WINDOWS (cöa sæ thuéc tÝnh) : properties windows lµ n¬i chøa danh s¸ch c¸c thuéc tÝnh cña mét ®èi t­îng cô thÓ. C¸c thuéc tÝnh nµy cã thÓ thay ®æi ®­îc ®Ó phï hîp víi yªu cÇu vÒ giao diÖn cña c¸c ch­¬ng tr×nh øng dông PROJECT EXPLORER Do c¸c øng dông cña Visual Basic th­êng dïng chung m· hoÆc c¸c form ®· tïy biÕn tr­íc ®ã, nªn Visual Basic tæ chøc c¸c øng dông thµnh c¸c project. Mçi project cã thÓ cã nhiÒu form vµ m· kÝch ho¹t c¸c ®iÒu khiÓn trªn mét form sÏ ®­îc l­u tr÷ chung víi form ®ã trong c¸c tËp tin riªng biÖt. M· lËp tr×nh chung mµ tÊt c¶ c¸c form trong øng dông chia sÏ cã thÓ ®­îc ph©n thµnh c¸c Module kh¸c nhau vµ còng ®­îc l­u tr÷ t¸ch biÖt, gäi lµ c¸c Module m·. Project Explorer nÕu tÊt c¶ c¸c biÓu mÉu tïy biÕn ®­îc vµ c¸c Module m· chung, t¹o nªn øng dông cña ta. ViÕt lÖnh cho ®èi t­îng : Visual Basic xö lý m· chØ ®Ó ®¸p øng c¸c sù kiÖn. Thùc vËy, kh«ng nh­ nhiÒu ng«n ng÷ lËp tr×nh kh¸c, c¸c dßng m· thi hµnh trong mét ch­¬ng tr×nh Visual Basic ph¶i n»m trong c¸c thñ tôc hoÆc c¸c hµm, c¸c dßng m· bÞ c« lËp sÏ kh«ng lµm viÖc. Cöa sæ code : + Hép liÖt kª Object + Hép liÖt kª Procedure + Intellisense : cho phÐp thuËn lîi tra cøu. Intellisense bËt ra c¸c hép nhá víi c¸c th«ng tin h÷u Ých vÒ ®èi t­îng mµ ta ®ang lam viÖc. BiÕn : trong Visual Basic, c¸c biÕn [Variables] l­u gi÷ th«ng tin (c¸c gi¸ trÞ). Khi dïng mét biÕn, Visual Basic x¸c lËp mét vïng trong bé nhí m¸y tÝnh ®Ó l­u gi÷ th«ng tin. Trong Visual Basic, tªn biÕn cã thÓ dµi tíi 255 ký tù vµ trõ ký tù ®Çu tiªn ph¶i lµ mét mÉu tù, ta cã thÓ gép mét tæ hîp mÉu tù, con sè vµ dÊu g¹ch d­íi bÊt kú. Ch÷ hoa, ch÷ th­êng trong tªn biÕn kh«ng quan träng. C¸c c©u lÖnh ®iÒu khiÓn : - Ph¸t biÓu IF If ®iÒu kiÖn Then C¸c lÖnh thùc hiÖn khi ®iÒu kiÖn tháa Else C¸c lÖnh thùc hiÖn khi ®iÒu kiÖn kh«ng tháa End If - Ph¸t biÓu SELECT CASE Select Case [Case [khèi lÖnh -1]] [ Case [khèi lÖnh - 2]] ... [Case Else [Khèi lÖnh - n]] End Select - LÖnh DO WHILE..LOOP Do While Loop - LÖnh DO..LOOP WHILE Do Loop While - LÖnh FOR..NEXT For = To [ Step ] Next [] - LÖnh DO..LOOP UNTIL Do Loop Until LÖnh EXIT..FOR LÖnh EXIT DO MÆt kh¸c, mét trong nh÷ng thÕ m¹nh cña ng«n ng÷ lËp tr×nh n¨ng ®éng nµy lµ vÊn ®Ò vÒ qu¶n lý CSDL. Nã cung cÊp cho ta tõ c¸c thao t¸c c¬ b¶n trªn CSDL nh­ c¸c c©u truy vÊn ®Õn c¸c kü thuËt lËp tr×nh nh­ : ADO, ODBC, DAO, RDO, RDS. C¸c ®iÒu khiÓn ActiveX, CSDL nhiÒu ng­êi dïng, c¸c øng dông CSDL trªn Internet. Ngoµi ra cßn cã mét sè ®iÒu khiÓn nh­ : MSLlexGrid, DBGrid,.... S¬ l­îc c¸c ®iÒu khiÓn, ®èi t­îng truy cËp d÷ liÖu : + Sö dông DAO ®Ó lµm viÖc víi CSDL + Dïng ®èi t­îng Database ®Ó kÕt nèi víi mét CSDL + Ph­¬ng thøc Opendatabase ®Ó t¹o mét ®èi t­îng Database + Ph­¬ng thøc Execute ®Ó thi hµnh truy vÊn hµnh ®éng + §èi t­îng DBEngine ®Ó kiÓm so¸t truy nhËp CSDL + Sö dông ®èi t­îng recordset : ph­¬ng thøc OpenRecordset ®Ó t¹o mét ®èi t­îng Recodset + Dïng ®èi t­îng Filed ®Ó thao t¸c víi c¸c tr­êng. C¸c ph­¬ng thøc duyÖt cña mét ®èi t­îng Recordset : + MoveFirst : di chuyÓn ®Õn mÉu tin ®Çu tiªn trong Recordset + MoveNext : di chuyÓn ®Õn mÉu tin kÕ tiÕp trong Recordset + MovePrevious : di chuyÓn ®Õn mÉu tin tr­íc trong Recordset + MoveLast : di chuyÓn ®Õn mÉu tin cuèi cïng trong Recordset + Thuéc tÝnh EOF (end of file) + Thuéc tÝnh BOF ( begin of file) + Thuéc tÝnh Recordcount ®Ó x¸c ®Þnh sè mÉu tin trong Recorset + Ph­¬ng thøc Edit ®Ó söa ®æi gi¸ trÞ trong mét mÉu tin + Ph­¬ng Thøc Addnew vµ Update ®Ó t¹o mÉu tin míi + Ph­¬ng thøc Close ®Ó ®ãng Recordset + T×m kiÕm d÷ liÖu trong Recordset vµ b¶ng + Ph­¬ng thøc Find ®Ó ®Þnh vÞ mÉu tin trong mét Recordset + Ph­¬ng thøc Seek ®Ó thi hµnh t×m kiÕm theo chØ môc + Thuéc tÝnh Bookmark ®Ó ghi nhí vÞ trÝ trong mét Recordset + Sö dông tËp hîp Error vµ ®èi t­îng Error ®Ó xö lý lçi Sö dông ®iÒu khiÓn MSFLEXGRID : + Dïng ph­¬ng thøc AddItem ®Ó ®­a d÷ liÖu vµo FlexGrid + Thuéc tÝnh FormatString ®Ó t¹o tiªu ®Ò cho l­íi + Thuéc tÝnh TextMatrix ®Ó ®­a d÷ liÖu vµo + §­a h×nh ¶nh vµo ®iÒu khiÓn l­íi C©u truy vÊn : c©u truy vÊn lµ mét lÖnh CSDL ®Ó lÊy vÒ c¸c mÉu tin. Sö dông c¸c c©u truy vÊn ta cã thÓ lÊy d÷ liÖu tõ mét hoÆc nhiÒu tr­êng trong mét hay nhiÒu b¶ng. C¸c c©u truy vÊn trong Visual Basic chñ yÕu dùa trªn SQL. SQL lµ mét ng«n ng÷ kh¸ chuÈn ®Ó lÊy vÒ d÷ liÖu hoÆc thao t¸c víi CSDL. C¸c c©u lÖnh SQL ®­îc chia thµnh hai lo¹i : + C¸c c©u thuéc ng«n ng÷ ®Þnh nghÜa d÷ liÖu (DDL) : cho phÐp sö dông truy vÊn SQL ®Ó t¹o c¸c thµnh phÇn trong CSDL nh­ B¶ng, tr­êng,.... + C¸c c©u lÖnh thuéc ng«n ng÷ thao t¸c d÷ liÖu : ®­îc thiÕt kÕ ®Ó lÊy vÒ c¸c mÉu tin tõ c¸c CSDL. Ph¹m vi ®Ò tµi nµy chØ sö dông c¸c c©u lÖnh thuéc ng«n ng÷ thao t¸c d÷ liÖu. C¸c c©u truy vÊn th­êng dïng. C©u lÖnh SELECT : lÊy vÒ c¸c mÉu tin. Dïng mÖnh ®Ò FROM : chØ ra nguån mÉu tin Dïng mÖnh ®Ò WHERE ®Ó chØ ra tiªu chÝ läc To¸n Tö Chøc N¨ng < Nhá h¬n <= Nhá h¬n hoÆc b»ng > Lín h¬n >= Lín h¬n hoÆc b»ng = B»ng Kh¸c Between Thuéc mét miÒn c¸c gi¸ trÞ Like §èi chiÕu víi mét mÉu In Chøa trong danh s¸ch c¸c gi¸ trÞ Sö dông ORDER BY ®Ó ®­îc s¾p xÕp kÕt qu¶ Dïng TOP ®Ó hiÓn thÞ phÇn ®Çu hoÆc phÇn cuèi cña mét miÒn gi¸ trÞ Nèi c¸c b¶ng quan hÖ trong mét c©u truy vÊn Sö dông c©u truy vÊn chøa s¾n trong CSDL Ch­¬ng v s¬ l­îc vÒ an toµn d÷ liÖu 1. vÊn ®Ò vÒ an toµn d÷ liÖu Cho dï hÖ thèng cã ®­îc cµi ®Æt trªn m¸y ®¬n hay lµ trªn m¸y m¹ng th× vÊn ®Ò vÒ an toµn d÷ liÖu lu«n lu«n ®­îc quan t©m hµng ®Çu. D÷ liÖu chóng ta lu«n ®­îc l­u trong ®Üa cøng cña m¸y tÝnh, v× mét lý do nµo ®ã ch¼ng h¹n nh­ bÞ virus tÊn c«ng, ®Üa cøng bÞ háng,.... th× toµn bé d÷ liÖu cã kh¶ n¨ng bÞ mÊt hoÆc bÞ sai lÖch. §Ó tr¸nh sù tæn thÊt to lín nµy, ta ph¶i tiÕn hµnh tæ chøc c«ng t¸c an toµn d÷ liÖu. 2. ph­¬ng ph¸p tæ chøc ®¶m b¶o an toµn d÷ liÖu vµ hÖ thèng Nh­ ®· tr×nh bµy ë trªn, nªn viÖc b¶o vÖ hÖ thèng b¶o vÖ d÷ liÖu lµ mét vÊn ®Ò hµng ®Çu khi ®­a hÖ thèng vµ sö dông. Do hÖ thèng ®­îc cµi ®Æt cho nhiÒu ng­êi sö dông, nªn ®ßi hái hÖ thèng ph¶i ®­îc b¶o vÖ mét c¸ch ch¾c ch¾n, tr¸nh nh÷ng sai sãt cã thÓ g©y t¸c h¹i trÇm träng cho hÖ thèng còng nh­ cho d÷ liÖu trong qu¸ tr×nh khai th¸c sö dông. ChØ cã nh÷ng ng­êi cã ®ñ thÈm quyÒn míi cã thÓ cËp nhËt vµ thay ®æi hÖ thèng, còng nh­ d÷ liÖu hÖ thèng. Ta cã thÓ b¶o vÖ hÖ thèng vµ b¶o vÖ d÷ liÖu b»ng c¸ch kÕt hîp nhiÒu ph­¬ng ph¸p tõ cæ truyÒn ®Õn hiÖn ®¹i. NÕu chóng ta ph¸t triÓn hÖ thèng ®­îc ho¹t ®éng trªn m¸y m¹ng th× hÖ thèng qu¶n lý nµy ®­îc cµi ®Æt b¶o mËt víi 3 cÊp : + HÖ thèng ®­îc b¶o mËt ë cÊp m¹ng trªn m«i tr­êng Windows NT. Mäi ng­êi sö dông khi truy cËp trªn m«i tr­êng m¹ng Windows NT ®Òu ph¶i ®­îc cÊp quyÒn sö dông nhÊt ®Þnh, mµ dùa trªn quyÒn ®ã, ng­êi sö dông cã thÓ thÊy ®­îc nh÷ng g× hä cã thÓ ®­îc ®äc, ®­îc ghi. QuyÒn cao nhÊt Administrator cã thÓ cÊp, söa ®æi quyÒn sö dông. Windows NT cã hai c¬ chÕ gióp b¶o toµn tµi nguyªn trªn Windows NT Server lµ user account vµ NTFS. Mäi ng­êi muèn th©m nhËp vµo Server ph¶i cã mét account vµ password do administrator cung cÊp. C¬ chÕ NTFS gióp b¶o vÖ tµi nguyªn cña hÖ thèng chÆt chÎ h¬n. C¸c tËp tin cÇn b¶o vÖ ph¶i ®­îc ®Æt vµo partition NTFS, tµi nguyªn trong partition nµy sÏ chÞu ¶nh h­ëng cña c¬ chÕ Access Control List, cho phÐp quy ®Þnh tËp tinhoÆc th­ môc nµo ®­îc nh×n thÊy bëi user, group nµo vµ kiÓu th©m nhËp (Read, Write, Execute,....). + HÖ thèng ®­îc b¶o mËt ë cÊp c¬ së d÷ liÖu cña SQL Server. Trong SQL Server quy ®Þnh cô thÓ quyÒn sö dông cña tõng ng­êi sö dông, cña tõng b¶ng d÷ liÖu ®èi víi tõng ng­êi sö dông. Ng­êi qu¶n trÞ c¬ së d÷ liÖu sÏ cÊp quyÒn cho tõng ng­êi sö dông vµ quyÒn nµy sÏ x¸c ®Þnh quyÒn h¹n cña ng­êi sö dông ®èi víi c¬ së d÷ liÖu. + HÖ thèng còng ®­îc cµi ®Æt b¶o mËt ë cÊp ch­¬ng tr×nh. Tõng ng­êi sö dông sÏ cã quyÒn cô thÓ víi tõng mµn h×nh lµm viÖc, tõng nhãm mµn h×nh còng nh­ quyÒn víi toµn bé hÖ thèng ch­¬ng tr×nh. QuyÒn cao nhÊt Administrator sÏ cã cho tõng ng­êi sö dông hoÆc mét nhãm ng­êi sö dông ®iÒu hµnh hÖ thèng. ë quyÒn nµy, míi cã thÓ cÊp quyÒn sö dông cho tõng ng­êi sö dông hoÆc nhãm ng­êi sö dông kh¸c. Bªn c¹nh ®ã, ta cã thÓ kÕt hîp mét sè ph­¬ng ph¸p truyÒn thèng ®Ó b¶o vÖ d÷ liÖu nh­ : + Sao l­u d÷ liÖu : c¸c d÷ liÖu cã thÓ ®­îc sao l­u ra ®Üa mÒm, ®Üa cøng kh¸c hoÆc CD, c«ng viÖc nµy ®­îc thùc hiÖn theo mét chu kú nµo ®ã, chu kú nµy cµng ng¾n th× ®é ®¶m b¶o d÷ liÖu cµng cao. Khi c¸c d÷ liÖu bÞ háng do sù cè nµo ®ã, nã sÏ ®­îc kh«i phôc l¹i tõ c¸c b¶n sao l­u nµy. + Dïng hai file server víi m«i tr­êng m¹ng : d÷ liÖu ®­îc ghi ®ång thêi vµo hai file server, chóng ta chØ cÇn lµm viÖc trªn mét file. Trong tr­êng hîp cã mét sù cè nµo ®ã trªn mét file server, chóng ta cã thÓ lµm viÖc víi file server cßn l¹i. kÕt luËn C«ng viÖc qu¶n lý ®µo t¹o vµ cÊp giÊy phÐp l¸i xe c¬ giíi ®­êng bé t¹i c¸c Së Giao th«ng VËn t¶i ®Ó ®­îc nhanh gän vµ chÝnh x¸c, ®¸p øng kÞp thêi nhu cÇu cho ng­êi d©n lµ mét ho¹t ®«ng cã gi¸ trÞ hÕt søc cÇn thiÕt hiÖn nay cho mét c¬ quan qu¶n lý nhµ n­íc. Ngµy nay d­íi sù ph¸t triÓn m¹nh mÏ cña m¸y tÝnh ®ßi hái ph¶i x©y xùng mét hÖ th«ng qu¶n lý ®µo t¹o sao cho phï hîp víi mçi Së Giao Th«ng lµ hÕt søc cÇn thiÕt, nh»m gi¶m ®i c«ng søc lao ®éng trong viÖc l­u tr÷ th«ng tin, ®ång thêi ®em l¹i hiÖu qu¶ cao, th«ng tin chÝnh x¸c vµ nhanh chãng. §èi víi L·nh ®¹o Së, viÖc dùa vµo nh÷ng th«ng tin chÝnh x¸c nµy ®Ó x©y dùng c¸c ph­¬ng h­íng qu¶n lý ®¹t hiÖu qu¶ cao lµ ®iÒu tèi cÇn thiÕt. Do tr×nh ®é cßn h¹n chÕ, thêi gian ®Çu t­ cho ®Ò tµi kh«ng ®­îc nhiÒu, nªn kÕt qu¶ cña ®Ò tµi ®¹t ®­îc v« cïng khiªm tèn. Nh÷ng kÕt qu¶ ®¹t ®­îc cña ®Ò tµi : VÒ lý thuyÕt : + Kh¶o s¸t ®­îc toµn bé hiÖn tr¹ng hÖ thèng, n¾m b¾t ®­îc quy tr×nh quy ph¹m thùc hiÖn cña c«ng viÖc ®µo t¹o, s¸t h¹ch vµ cÊp GPLX ®Ó ®i ®Õn ph¸t biÓu bµi to¸n + Ph©n tÝch ®­îc toµn bé bµi to¸n tõ b­íc m« t¶ s¬ ®å tæ chøc, m« t¶ c¸c ho¹t ®éng cña hÖ thèng ®Ó ®i ®Õn : · Ph©n tÝch d÷ liÖu · Ph©n tÝch chøc n¨ng hÖ thèng + ThiÕt kÕ bµi to¸n : · ThiÕt kÕ d÷ liÖu · ThiÕt kÕ ch­¬ng tr×nh VÒ ch­¬ng tr×nh : do thêi gian cã h¹n nªn ch­¬ng tr×nh ®­îc cµi ®Æt míi ®¸p øng ®­îc mét phÇn yªu cÇu cña bµi to¸n h­íng ph¸t triÓn ®Ò tµi §©y lµ bµi to¸n lín cã nhiÒu tiÒm n¨ng ®Ó ph¸t triÓn thµnh mét hÖ thèng qu¶n lý hoµn chØnh c¸c c«ng ®o¹n tõ ®Çu ®Õn cuèi. Chóng ta cã thÓ nhóng c¸c OLE ®Ó qu¶n lý ng­êi sö dông b»ng c¸ch scan h×nh cña c¸c lý lÞch vµo trong c¬ së d÷ liÖu. Trong thêi gian tíi hÖ thèng sÏ ®­îc hoµn thiÖn cã kh¶ n¨ng ho¹t ®éng trªn m¸y ®¬n, LAN vµ Intranet, ®ång thêi kÕt hîp víi viÖc thiÕt kÕ c¸c website ®Ó ®­a c¬ së d÷ liÖu nµy lªn WEB, gióp cho viÖc ®µo t¹o vµ thi lý thuyÕt trùc tiÕp trªn m¹ng, nh»m phôc vô ng­êi d©n ngµy mét tèt h¬n, thuËn lîi h¬n. Sinh viªn thùc hiÖn Huúnh V¨n ¸nh Tµi liÖu tham kh¶o TuyÓn tËp c¸c v¨n b¶n ph¸p quy vÒ ®µo t¹o, s¸t h¹ch, cÊp vµ ®æi giÊy phÐp l¸i xe c¬ giíi ®­êng bé - Côc §­êng bé ViÖt Nam - Nhµ XuÊt b¶n Giao th«ng VËn t¶i, 1999 C¸c v¨n b¶n quy ®Þnh vÒ Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp giÊy phÐp l¸i xe - Côc §­êng bé ViÖt Nam - Trung t©m Kü thuËt nghiÖp vô, 2002 C¸c v¨n b¶n h­íng dÉn thùc hiÖn Qu¶n lý ®µo t¹o, s¸t h¹ch vµ cÊp giÊy phÐp l¸i xe - Côc §­êng bé ViÖt Nam - Trung t©m Kü thuËt nghiÖp vô, 2002 Ph©n tÝch ThiÕt kÕ HÖ thèng qu¶n lý th«ng tin - Th¹c sü §inh ThÕ HiÓn, Trung t©m øng dông kinh tÕ Thµnh phè, ViÖn Kinh tÕ thµnh phè Hå ChÝ Minh - Nhµ XuÊt b¶n Thèng kª, 2000 Ph©n tÝch & ThiÕt kÕ HÖ thèng th«ng tin qu¶n lý - TrÇn Thµnh Trai, Ph©n viÖn C«ng nghÖ th«ng tin thµnh phè Hå ChÝ Minh, Trung t©m Khoa häc tù nhiªn & C«ng nghÖ Quèc gia - Nhµ XuÊt b¶n Thèng trÎ 1996, Ph©n tÝch ThiÕt kÕ HÖ thèng trong lËp tr×nh - Kü s­ §inh Xu©n L·m, VN - GUIDE - Nhµ XuÊt b¶n Thèng kª, 2003 NhËp m«n C¬ së d÷ liÖu quan hÖ - Lª TiÕn V­¬ng - Nhµ XuÊt b¶n Khoa häc vµ Kü thuËt, 1997 Tù häc Microsoft SQL Server 7.0 - NguyÔn V¨n Hoµng - Nhµ XuÊt b¶n Thèng kª, 2001 Microsoft Visual Basic 6.0 & LËp tr×nh c¬ së d÷ liÖu - NguyÔn ThÞ Ngäc Mai, Cè vÊn Khoa häc GSTS NguyÔn H÷u Anh - Nhµ XuÊt b¶n Gi¸o dôc, 2000 Môc lôc Lêi nãi ®Çu 1 Ch­¬ng I : Giíi thiÖu vµ kh¶o s¸t hiÖn tr¹ng hÖ thèng 3 1. Tæng quan vÒ hÖ thèng 3 1.1. Giíi thiÖu chung 3 1.2. Yªu cÇu vÒ bµi to¸n 3 1.3. NhiÖm vô cña bµi to¸n 4 1.4. Nhu cÇu vµ ý nghÜa viÖc tin häc hãa bµi to¸n 5 2. Kh¶o s¸t hÖ thèng 5 2.1. C¬ së ®µo t¹o l¸i xe 5 2.2. Tæ tiÕp nhËn hå s¬ 6 2.3. Héi ®ång s¸t h¹ch 6 2.4. Tæ s¸t h¹ch 6 2.5. Tæ ph¸t hµnh vµ cÊp GPLX 7 3. Kh¶o s¸t quy tr×nh hÖ thèng 7 3.1. VÒ c¸c cÊp ®é (h¹ng) cña giÊy phÐp l¸i xe 7 3.2. T×m hiÓu, nghiªn cøu quy tr×nh ®µo t¹o, s¸t h¹ch vµ cÊp GPLX 9 Ch­¬ng II : Ph©n tÝch bµi to¸n 11 1. S¬ ®å tæ chøc 11 2. M« t¶ s¬ ®å ph©n cÊp c¸c chøc n¨ng 12 2.1. HÖ thèng 12 2.2. Ph©n hÖ ®µo t¹o 13 2.3. Ph©n hÖ qu¶n lý cÊp ®æi 16 2.4. Ph©n hÖ qu¶n lý thèng kª 16 2.5. Trî gióp 17 3. M« t¶ m«i tr­êng vµ nhãm c«ng viÖc 17 4. Ph©n tÝch hÖ thèng 20 4.1. S¬ ®å chøc n¨ng BFD 20 4.2. S¬ ®å dßng d÷ liÖu DFD 21 4.3. M« h×nh d÷ liÖu thùc thÓ ERD 28 Ch­¬ng III : ThiÕt kÕ hÖ thèng 45 1. ThiÕt kÕ c¬ së d÷ liÖu 45 1.1. TØnh 45 1.2. HuyÖn 45 1.3. D©n téc 45 1.4. T«n gi¸o 45 1.5. H¹ng GPLX 45 1.6. C¬ së ®µo t¹o 46 1.7. Lý lÞch 46 1.8. Hå s¬ 46 1.9. GPLX 46 1.10. Khãa ®µo t¹o 47 1.11. §ît s¸t h¹ch 47 1.12. Dßng s¸t h¹ch 47 1.13. Hå s¬ GPLX 47 1.14. C¸n bé 48 1.15. S¬ ®å quan hÖ d÷ liÖu trªn Microsoft SQL Server 7.0 48 2. M« t¶ tiÕn tr×nh 48 3. ThiÕt kÕ menu hÖ thèng 51 3.1. HÖ thèng 51 3.2. Ph©n hÖ ®µo t¹o 51 3.3. Ph©n hÖ qu¶n lý cÊp ®æi 52 3.4. Ph©n hÖ qu¶n lý thèng kª 52 3.5. Gióp ®ì 53 4. ThiÕt kÕ m· (Code design) 53 5. ThiÕt kÕ Report 54 6. Mét sè h×nh ¶nh cña ch­¬ng tr×nh 55 6.1. Hép th«ng b¸o vÒ hÖ thèng 55 6.2. Giao diÖn chÝnh vµ hép kiÓm tra th«ng ng­êi sö dông 55 6.3. Giao diÖn chÝnh giíi thiÖu ph©n hÖ ®µo t¹o 56 6.4. Giao diÖn chÝnh giíi thiÖu ph©n hÖ qu¶n lý thèng kª 56 6.5. Giao diÖn chÝnh giíi thiÖu Form : Danh môc tØnh 57 6.6. Giao diÖn chÝnh giíi thiÖu Form : XÐt ®iÒu kiÖn dù s¸t h¹ch 57 6.7. Giao diÖn chÝnh giíi thiÖu Form : Më ®ît s¸t h¹ch míi 58 Ch­¬ng IV : Giíi thiÖu m«i tr­êng vµ c«ng cô ph¸t triÓn hÖ thèng 59 1. HÖ qu¶n trÞ c¬ së d÷ liÖu Microsoft SQL Server 7.0 59 1.1. CÊu tróc c¬ së d÷ liÖu SQL Server 59 1.2. C¸c ®èi t­îng d÷ liÖu trong c¬ së d÷ liÖu SQL Server 59 1.3. Giao t¸c trong SQL Server 61 1.4. Lock vµ viÖc xö lý ®ång thêi 63 2. Microsoft Visual Basic 6.0 64 Ch­¬ng V : S¬ l­îc vÒ an toµn d÷ liÖu 70 VÊn ®Ò vÒ an toµn vÒ d÷ liÖu 70 Ph­¬ng ph¸p tæ chøc ®¶m b¶o an toµn d÷ liÖu vµ hÖ thèng 70 KÕt luËn 72 H­íng ph¸t triÓn ®Ò tµi 73 Tµi liÖu tham kh¶o 74 Môc lôc 76

Các file đính kèm theo tài liệu này:

  • docDTTNghiep.doc
  • pptBaocao.ppt
  • docBia.doc
  • docBia1.doc