Xây dựng hệ thống thi trắc nghiệm trên mạng cục bộ (LAN)

Tài liệu Xây dựng hệ thống thi trắc nghiệm trên mạng cục bộ (LAN): ... Ebook Xây dựng hệ thống thi trắc nghiệm trên mạng cục bộ (LAN)

doc130 trang | Chia sẻ: huyen82 | Lượt xem: 1488 | Lượt tải: 0download
Tóm tắt tài liệu Xây dựng hệ thống thi trắc nghiệm trên mạng cục bộ (LAN), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHÖÔNG 1 TOÅNG QUAN VEÀ HEÄ THOÁNG QUAÛN LYÙ THI TRAÉC NGHIEÄM ÑAËC TAÛ YEÂU CAÀU: Moãi moät khoa trong moät khoaù hoïc cuûa tröôøng Ñaïi Hoïc Daân Laäp Kyõ Thuaät Coâng Ngheä coù raát nhieàu sinh vieân, moãi sinh vieân chæ hoïc taïi moät lôùp maø lôùp hoïc ñoù chæ thuoäc moát khoaù hoïc vaø thuoäc moät khoa duy nhaát. Khoaù hoïc ñöôïc hieåu laø naêm baét ñaàu cuûa sinh vieân khi truùng tuyeån vaøo tröôøng. Thoâng tin veà sinh vieân goàm maõ sinh vieân, hoï teân sinh vieân, phaùi ngaøy sinh, nôi sinh, … . Thoâng tin veà lôùp goàm maõ lôùp, teân lôùp maõ khoa, maõ khoaù hoïc. Do vieäc naâng cao chaát löôïng ñaøo taïo ngaøy moät phuø hôïp vôùi thöïc teá, neân moät soá moân hoïc cuûa caùc khoa trong caùc khoaù hoïc seõ gioáng nhau. Ví duï nhu khoa Coâng ngheä thoâng tin vaø khoa Ñieän töû seõ coù moät soá moân hoïc gioáng nhau ôû giai ñoaïn ñaïi cöông; do ñoù vieäc laøm baøi thi vôùi nhöõng caâu hoûi gioáng nhau cuõng khoâng ngoaïi leä. Caâu hoûi seõ ñöôïc caùc giaùo vieân ra ñeà öùng vôùi caùc moân hoïc maø giaùo vieân ñoù coù theå giaûng daïy. Thoâng tin veà moân hoïc goàm maõ moân hoïc, teân moân hoïc, soá tieát hoïc cuûa moân hoïc ñoù. Thoâng tin caù nhaân cuûa giaùo vieân goàm maõ giaùo vieân, hoï teân giaùo vieân, phaùi, ngaøy sinh, nôi sinh, … . vaø caâu hoûi seõ ñöôïc xaùc ñònh vôùi nhöõng thoâng tin: maõ caâu hoûi, noäi dung caâu hoûi, ñoä khoù deã, giaùo vieân soaïn caâu hoûi, caâu hoûi thuoäc moân hoïc naøo vaø traïng thaùi cuûa caâu hoûi naøy; caâu hoûi coøn ñöôïc söû duïng nöõa hay khoâng. Vì laø caâu hoûi thi traéc nghieäm neân töông öùng vôùi caâu hoûi thi seõ coù caùc caâu choïn ñeå traû lôøi cho caâu hoûi ñoù, moät caâu hoûi ñöôïc giôùi haïn toái ña laø 6 caâu choïn, vaø chæ coù moät caâu choïn laø ñuùng cho moät caâu hoûi. Thoâng tin veà caâu choïn goàm maõ caâu choïn, ñaùp aùn ñuùng cuûa caâu choïn ñoù, vaø maõ caâu hoûi cuûa caâu choïn. Trong moät hoïc kyø, ngoaøi kyø thi chính thöùc cho nhöõng moân hoïc ñöôïc giaûng daïy trong hoïc kyø ñoù, khoa coøn toå chöùc caùc kyø thi laïi hoaëc kyø thi hoïc laïi cho nhöõng sinh vieân khoâng ñaït. Thoâng tin veà kyø thi veà goàm maõ kyø thi, teân kyø thi. Trong moãi ñôït thi seõ coù thoâng baùo veà thôøi gian thi, moân thi cuûa ñôït thi naøy, ñôït thi cuûa khoaù naøo, khoa naøo, thi cho kyø thi gì… Ñeå ñaùnh giaù vieäc hoïc taäp cuûa sinh vieân, keát quaû naøy seõ döïa vaøo baøi thi cuûa sinh vieân. Baøi thi cuûa sinh vieân goàm moät soá caâu hoûi ñöôïc laáy ngaãu nhieân khi sinh vieân nhaäp vaøo maõ soá cuøng vôùi maät khaåu cuûa mình ñeå log vaøo phaàn laøm baøi thi daønh cho sinh vieân, trong soá caâu hoûi thi seõ coù tyû leä caâu hoûi khoù, baøi thi coøn goàm nhöõng thoâng tin nhö maû baøi thi, maõ ñôït thi, maõ sinh vieân, soá caâu laøm ñuùng, keát quaû, traïng thaùi baøi thi ñaõ ñöôïc laøm hay chöa Beân treân laø nhöõng thoâng tin cô baûn caàn thieát ñeå baét ñaàu cho coâng vieäc phaân tích vaø thieát keá heä thoáng. II. XAÂY DÖÏNG MOÂ HÌNH QUAN NIEÄM DÖÕ LIEÄU THEO MOÂ HÌNH THÖÏC THEÅ KEÁT HÔÏP EER (Enteded Entity Relationship): II.1 Moâ Taû Thöïc Theå –YÙ Nghóa LOP (MALOP, TEN LOP, GHICHU) Moãi lôùp coù moät maõ lôùp (MALOP) vaø teân lôùp (TENLOP) ñeå phaân bieät vôùi caùc lôùp hoïc khaùc nhau vaø ghi chuù (GHICHU) ñeå ghi chuù theâm thoâng tin veà lôùp hoïc ñoù. SINHVIEN ( MASV, HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HINH, GHICHU) Moãi sinh vieân coù moät maõ sinh vieân (MASV) ñeå phaân bieät vôùi caùc sinh vieân khaùc vaø coù hoï teân (HOTENSV), phaùi (PHAI), ngaøy sinh (NGAYSINH), nôi sinh (NOISINH), ñòa chæ (DIACHI), ñieän thoaïi (DTHOAI) vaø hình (HINH) keøm vôùi ghi chuù ( GHICHU) töông öùng vôùi sinh vieân ñoù. KHOA ( MAKHOA, TENKHOA, GHICHU) Moãi khoa coù moät maõ khoa (MAKHOA) teân khoa (TENKHOA) ñeå phaân bieät vôùi caùc khoa khaùc keøm vôùi ghi chuù (GHICHU) Dñeå ghi chuù theâm thoâng tin veà khoa. KHOAHOC (MAKH, TENKH, GHICHU) Moãi khoùa hoïc coù moät maõ khoaù hoïc (MAKH) teân khoùa hoïc (TENKH) ñeå phaân bieät vôùi caùc khoùa hoïc khaùc keøm vôùi ghi chuù (GHICHU) ñeå ghi chuù theâm thoâng tin veà khoaù hoïc ñoù. MONHOC (MAMH, TENMH, SOTIET, GHICHU) Moãi moân hoïc coù moät maõ moân hoïc (MAMH) teân moân hoïc (TENMH) ñeå phaân bieät vôùi caùc moân hoïc khaùc, soá tieát cuûa moân hoïc ñoù ( SOTIET) vôùi ghi chuù (GHICHU) ñeå ghi chuù theâm thoâng tin veà moân hoïc ñoù. CAUHOI (MACH, NDUNGCH, DOKHODE, HINH, TRANGTHAI, GHICHU) Moãi caâu hoûi coù moät maõ caâu hoûi (MACH), noäi dung caâu hoûi (NDUNGCH) ñeà phaân bieät vôùi caùc caâu hoûi khaùc, ñoä khoù deã cuûa caâu hoûi (DOKHODE), hình aûnh minh hoaï cho caâu hoûi ñoù (HINH), traïng thaùi cuûa caâu hoûi ( TRANGTHAI) xem caâu hoûi ñoù coøn ñöôïc söû duïng nöõa hay khoâng, vaø ghi chuù (GHICHU) ñeå ghi chuù theâm thoâng tin cho caâu hoûi ñoù neáu caàn thieát. GIAOVIEN (MAGV, HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, HINH, GHICHU) Moãi giaùo vieân coù moät maõ giaùo vieân (MAGV) ñeå phaân bieät vôùi caùc giaùo vieân khaùc vaø coù hoï teân (HOTENGV), phaùi (PHAI), ngaøy sinh (NGAYSINH), nôi sinh (NOISINH), ñòa chæ (DIACHI), ñieän thoaïi (DTHOAI) vaø hình (HINH) keøm vôùi ghi chuù ( GHICHU) töông öùng vôùi giaùo vieân ñoù. CAUCHON (MACC, NDUNGCC, DANDUNGSAI, GHICHU) Moãi caâu choïn coù moät maõ rieâng (MACC), noäi dung caâu choïn (NDUNGCC) ñeå phaân bieät vôùi caùc caâu choïn khaùc, caâu choïn ñoù laø ñuùng hay laø sai (DANDUNGSAI) vaø ghi chuù (GHICHU) ñeå moâ taû theâm thoâng tin veà caâu choïn ñoù. BAITHI (MABT, SOCAUDUNG, KETQUA, THAMGIA, GHICHU) Moãi baøi thi coù moät maõ baøi thi xaùc ñònh (MABT), soá caâu ñuùng cuûa baøi thi (SOCAUDUNG), keát quaû baøi thi (KETQUA), traïng thaùi baøi thi ñaõ ñöôïc thi hay chöa (THAMGIA) vaø ghi chuù (GHICHU) ñeå ghi chuù thoâng tin cuûa baøi thi. KYTHI ( MAKT, TENKT, GHICHU) Moãi kyø thi coù moät maõ kyø thi phaân bieät (MAKT), vaø teân cuûa kyø thi ñoù (TENKT) vaø ghi chuù (GHICHU) veà kyø thi naøy. DOTTHI (MADT, TENDT, NGAYTHI, KETTHUC, TGIANTHI, SOCAUHOI, PTCAUKHO, GHICHU) Moãi ñôït thi ñöôïc môû ra goàm coù maõ ñôït thi (MADT), teân ñôït thi (TENDT), ngaøy thi (NGAYTHI), thôøi gian thi (TGIANTHI), soá caâu hoûi trong ñôït thi naøy (SOCAUHOI), phaàn traêm caâu khoù trong toång soá caâu cuûa ñôtï thi naøy (PTCAUKHO), trang thaùi cuûa ñôït thi ñaõ keát thuùc hay chöa (KETTHUC) vaø ghi chuù (GHICHU) ñeå moâ taû theâm thoâng tin veà ñôït thi naøy. II.2 Moâ taû moái keát hôïp cuûa caùc thöïc theå: Moät sinh vieân chæ thuoäc moät lôùp, vaø moät lôùp coù nhieàu sinh vieân. 1,n 1,1 Co3 LOP SINHVIEN Moät khoa toå chöùc nhieàu lôùp, vaø moät lôùp chæ thuoäc moät khoa LOP KHOA 0,n 1,1 ToChuc Moät khoaù hoïc coù nhieàu lôùp , moät lôùp chæ thuoäc moät khoùa hoïc. 1,1 0,n Thuoc 7 LOP KHOAHOC Moät moân hoïc seõ coù nhieàu ñôït thi, moät ñôït thi chæ thuoäc moät moân hoïc. 1,n 1,1 Thuoc 6 DOTTHI MONHOC Moät khoùa hoïc seõ coù nhieàu ñôït thi, moät ñôït thi chæ thuoäc moät khoùa hoïc. 1,n 1,1 Thuoc 3 DOTTHI KHOAHOC Moät khoa seõ coù nhieàu ñôït thi, moät ñôït thi chæ thuoäc moät khoa. 1,n 1,1 Thuoc 4 DOTTHI KHOA 1,1 1,n Moät kyø thi seõ coù nhieàu ñôït thi, moät ñôït thi chæ thuoäc moät kyø thi. Thuoc 5 DOTTHI KYTHI Moät sinh vieân coù nhieàu baøi thi, moät baøi thi chæ thuoäc moät sinh vieân Lam 1,1 1,n SINHVIEN BAITHI Moät baøi thi chæ thuoäc moät ñôït thi, moät ñôït thi coù nhieàu baøi thi BAITHI 1,n 1,1 Thuoc 2 DOTTHI Moät baøi thi coù nhieàu caâu hoûi, moät caâu hoûi coù trong nhieàu baøi thi. 0,n 1,n BAILAMSV BAITHI CAUHOI Moät caâu hoûi coù nhieàu caâu choïn, moät caâu choïn chæ thuoäc moät caâu hoûi CAUCHON CAUHOI Co 1 1,1 1,n Moät giaùo vieân ra nhieàu caâu hoûi, moät caâu hoûi ñöôïc ra bôûi moät giaùo vieân 1,1 Soan GIAOVIEN CAUHOI 0,n Quan heä môùi ñöôïc sinh ra töø moái lieân keát BAILAMSV (MABT, MACH) Moät baøi laøm cuûa sinh vieân chæ coù moät caâu choïn laø ñuùng cho moät caâu hoûi, moät caâu choïn coù theå xuaát hieän trong nhieàu baøi laøm cuûa caùc sinh vieân. Moái lieân keát giöõa BAILAMSV vaø CAUCHON BAILAMSV 1,n CAUCHON Co3 1,1 II.3 Xaây döïng moâ hình thöïc theå ERD: IV. THIEÁT LAÄP CAÙC TABLE: LOP ( MALOP, TENLOP, MAKHOA, MAKH, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MALOP Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät lôùp hoïc TENLOP Varchar(20) Teân lôùp hoïc cuûa khoa trong khoaù hoïc MAKHOA Khoaù ngoaïi Varchar(10) Lôùp hoïc naøy thuoäc khoa naøo MAKH Khoaù ngoaïi Varchar(10) Lôùp hoïc naøy thuoäc khoaù hoïc naøo GHICHU Nvarchar(1000) Ghi chuù thoâng tin veà lôùp hoïc Null SINHVIEN ( MASV, HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, MALOP, MATKHAU, HINH, ONLINE, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MASV Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät sinh vieân HOTENSV Varchar(30) Hoï vaø teân cuûa sinh vieân PHAI Bit Sinh vieân laø nam hay nöõ NGAYSINH Datetime Ngaøy sinh cuûa sinh vieân NOISINH Varchar(30) Nôi sinh cuûa sinh vieân DIACHI Varchar(50) Ñòa chæ thöôøng truù cuûa sinh vieân DTHOAI Varchar(20) Soá ñieän thoaïi lieân laïc Null MALOP Khoaù ngoaïi Varchar(10) Maõ lôùp maø sinh vieân theo hoïc MATKHAU Varchar(15) Maät khaåu ñeå ñaêng nhaäp vaøo heä thoáng HINH Image Hình aûnh sinh vieân ONLINE Bit Trang thaùi coù online hay khoâng GHICHU Varchar(1000) Ghi chuù theâm thoâng tin sinh vieân Null KHOA ( MAKHOA, TENKHOA, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MAKHOA Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät khoa TENKHOA Varchar(20) Teân cuûa khoa GHICHU Varchar(1000) Ghi chuù thoâng tin veà khoa Null KHOAHOC ( MAKH, TENKH, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MAKH Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät khoaù hoïc TENKH Varchar(20) Teân cuûa khoaù hoïc GHICHU Varchar(1000) Ghi chuù thoâng tin veà khoaù hoïc Null MONHOC ( MAMH, TENMH, SOTIET, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MAMH Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät moân hoïc TENMH Varchar(20) Teân cuûa moân hoïc SOTIET Char(5) Soá tieát hoïc cuûa moät moân hoïc GHICHU Varchar(1000) Ghi chuù thoâng tin veà moân hoïc Null CAUHOI ( MACH, NDUNGCH, DOKHODE, HINH, MAGV, MAMH, TRANGTHAI, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MACH Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät caâu hoûi NDUNGCH Varchar(1000) Noäi dung cuûa caâu hoûi DOKHODE Bit Ñoä khoù deã cuûa caâu hoûi HINH Image Hình veõ minh hoaï cho caâu hoûi MAGV Khoaù ngoaïi Varchar(10) Maõ giaùo vieân ra caâu hoûi MAMH Khoaù ngoaïi Varchar(10) Caâu hoûi thuoäc moân hoïc naøo TRANGTHAI Bit Caâu hoûi coøn ñöôïc söû duïng hay khoâng GHICHU Varchar(1000) Ghi chuù thoâng tin veà caâu hoûi Null GIAOVIEN ( MAGV, HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, MANHOM, MATKHAU, HINH, ONLINE, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MAGV Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät giaùo vieân HOTENGV Varchar(30) Hoï vaø teân cuûa giaùo vieân PHAI Bit Giaùo vieân laø nam hay nöõ NGAYSINH Datetime Ngaøy sinh cuûa sinh vieân NOISINH Varchar(30) Nôi sinh cuûa sinh vieân DIACHI Varchar(50) Ñòa chæ thöôøng truù cuûa sinh vieân DTHOAI Varchar(20) Soá ñieän thoaïi lieân laïc Null HOCVI Varchar(15) Hoïc vò cuûa giaùo vieân HINH Image Hình aûnh cuûa giaùo vieân Null MATKHAU Varchar(15) Maät khaåu ñeå ñaêng nhaäp vaøo heä thoáng ONLINE Bit Traïng thaùi coù online hay khoâng GHICHU Varchar(1000) Ghi chuù theâm thoâng tin veà giaùo vieân Null CAUCHON ( MACC, NDUNGCC, DANDUNGSAI, MACH, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MACC Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät caâu choïn NDUNGCC Varchar(1000) Noäi dung cuûa caâu choïn DANDUNGSAI Bit Ñaùp aùn ñuùng sai cuûa caâu choïn MACH Khoaù ngoaïi Varchar(10) Maõ caâu hoûi öùng vôùi caùc caâu choïn GHICHU Varchar(1000) Ghi chuù thoâng tin veà caâu choïn Null BAITHI ( MABT, MADT, MASV, SOCAUDUNG, KETQUA, THAMGIA, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MABT Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät baøi thi MADT Khoaù ngoaïi Varchar(10) Maõ baøi thi seõ thuoäc kyø thi naøo MASV Khoaù ngoaïi Varchar(10) Maõ baøi thi cuûa sinh vieân naøo SOCAUDUNG Char(5) Soá caâu sinh vieân laøm ñuùng KETQUA Bit Sinh vieân ñaäu hay rôùt THAMGIA Bit Sinh vieân coù thi hay chöa GHICHU Varchar(1000) Ghi chuù thoâng tin veà baøi thi Null KYTHI (MAKT, TENKT, GHI CHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MAKT Khoaù chính Int(4) Maõ duy nhaát cuûa moät baøi thi TENKT Varchar(20) Maõ duy nhaát cuûa moät caâu hoûi GHICHU Varchar(1000) Maõ caâu choïn cuûa sinh vieân öùng vôùi caâu hoûi Null DOTTHI ( MADT, TENDT, MAKT, MAKH, MAKHOA, MAMH, NGAYTHI, TGIANTHI, SOCAUHOI, KETTHUC, PTCAUKHO, GHICHU) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MADT Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät ñôït thi TENDT Varchar(20) Teân cuûa ñôït thi MAKT Khoaù ngoaïi Int(4) Maõ kyø thi thuoäc ñôït thi naøo MAKH Khoaù ngoaïi Varchar(10) Maõ khoaù hoïc thuoäc ñôït thi naøo MAKHOA Khoaù ngoaïi Varchar(10) Maõ khoa thuoäc ñôït thi naøo MAMH Khoaù ngoaïi Varchar(10) Maõ moân hoïc thuoäc ñôït thi naøo NGAYTHI Datetime Ngaøy thi cuûa moät moân hoïc KETTHUC Bit Traïng thaùi cuûa ñôït thi TGIANTHI Datetime Thôøi gian thi cho moät moân hoïc SOCAUHOI Char(5) Soá caâu hoûi cho moät moân thi PTCAUKHO GHICHU Varchar(1000) Null BAILAMSV ( MABT, MACH, MACC, DUNGSAI) Teân vieát taét Raøng buoäc Kieåu döõ lieäu Dieãn giaûi Ghi chuù MABT Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät baøi thi MACH Khoaù chính Varchar(10) Maõ duy nhaát cuûa moät caâu hoûi MACC Khoaù ngoaïi Varchar(10) Maõ caâu choïn cuûa sinh vieân öùng vôùi caâu hoûi DUNGSAI Bit Caâu chon naøy la ñuùng hay sai Moái quan heä giöõa caùc table (cuoái chöông) VI. CAØI ÑAËT CAÙC RAØNG BUOÄC TOAØN VEÏN VAØ TAÀM AÛNH HÖÔÛNG: VI. 1. Raøng buoäc toaøn veïn coù boái caûnh laø moät quan heä: Raøng buoäc toaøn veïn veà mieàn giaù trò: R1 . Ngaøy sinh cuûa sinh vieân phaûi coù naêm sinh sao cho tuoåi sinh vieân lôùn hôn hoaëc baèng 16 tuoåi vaø nhoû hôn 60 tuoåi Bieåu dieãn: " sv Î SINHVIEN Year (now () – Year (sv.[NGAYSINH]) >=16 and Year (now () – Year (sv.[NGAYSINH]) < 60 Cuoái " Taàm aûnh höôûng: R1 Theâm Xoaù Söûa SINHVIEN + - + R2 . Ngaøy sinh cuûa giaùo vieân phaûi coù naêm sinh sao cho tuoåi giaùo vieân lôùn hôn hoaëc baèng 18 tuoåi vaø nhoû hôn hoaëc baèng 60 tuoåi Bieåu dieãn: " sv Î GIAOVIEN Year (now () – Year (sv.[NGAYSINH]) >=18 and Year (now () – Year (sv.[NGAYSINH]) < 60 Cuoái " Taàm aûnh höôûng: R2 Theâm Xoaù Söûa GIAOVIEN + - + b. Raøng buoäc toaøn veïn lieân thuoäc tính: khoâng coù c. Raøng buoäc toaøn veïn lieân boä: R3 . Moãi sinh vieân coù moät maõ sinh vieân khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î SINHVIEN q1. MASV q2. MASV Cuoái " Taàm aûnh höôûng: R3 Theâm Xoaù Söûa SINHVIEN + - + R4 . Moãi lôùp coù moät maõ lôùp khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î LOP q1. MALOP q2. MALOP Cuoái " Taàm aûnh höôûng: R4 Theâm Xoaù Söûa LOP + - + R5 . Moãi khoa coù moät maõ khoa khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î KHOA q1. MAKHOA q2. MAKHOA Cuoái " Taàm aûnh höôûng: R5 Theâm Xoaù Söûa KHOA + - + R6 . Moãi khoaù hoïc coù moät maõ khoaù hoïc khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î KHOAHOC q1. MAKH q2. MAKH Cuoái " Taàm aûnh höôûng: R6 Theâm Xoaù Söûa KHOAHOC + - + R7 . Moãi moân hoïc coù moät maõ moân hoïc khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î MONHOC q1. MAMH q2. MAMH Cuoái " Taàm aûnh höôûng: R7 Theâm Xoaù Söûa MONHOC + - + R8 . Moãi caâu hoûi coù moät maõ caâu hoûi khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î CAUHOI q1. MACH q2. MACH Cuoái " Taàm aûnh höôûng: R8 Theâm Xoaù Söûa CAUHOI + - + R9 . Moãi giaùo vieân coù moät maõ giaùo vieân khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î GIAOVIEN q1. MAGV q2. MAGV Cuoái " Taàm aûnh höôûng: R9 Theâm Xoaù Söûa GIAOVIEN + - + R10 . Moãi caâu choïn coù moät maõ caâu choïn khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î CAUCHON q1. MACC q2. MACC Cuoái " Taàm aûnh höôûng: R10 Theâm Xoaù Söûa CAUCHON + - + R11 . Moãi ngöôøi ñieàu haønh coù moät maõ ñieàu haønh khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î DIEUHANH q1. MADH q2. MADH Cuoái " Taàm aûnh höôûng: R11 Theâm Xoaù Söûa DIEUHANH + - + R12 . Moãi baøi thi coù moät maõ baøi thi khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î BAITHI q1. MABT q2. MABT Cuoái " Taàm aûnh höôûng: R12 Theâm Xoaù Söûa BAITHI + - + R13 . Moãi baøi laøm cuûa sinh vieân coù moät maõ baøi thi vaø maõ caâu hoûi khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î BAILAMSV q1. MABT q2. MABT q1. MACH q2. MACH Cuoái " Taàm aûnh höôûng: R13 Theâm Xoaù Söûa BAILAMSV + - + R14 . Moãi kyû thi coù moät maõ kyø thi khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î KYTHI q1. MAKT q2. MAKT Cuoái " Taàm aûnh höôûng: R14 Theâm Xoaù Söûa KYTHI + - + R15 . Moãi ñôït thi coù moät maõ ñôït thi khaùc nhau ñeå phaân bieät Bieåu dieãn: " q1, q2 Î DOTTHI q1. MADT q2. MADT Cuoái " Taàm aûnh höôûng: R15 Theâm Xoaù Söûa DOTTHI + - + VI. 2. Raøng buoäc toaøn veïn coù boái caûnh treân nhieàu quan heä: Raøng buoäc toaøn veïn veà phuï thuoäc toàn taïi: R1 :LOP(MAKHOA) Î KHOA(MAKHOA) Ç LOP(MAKH) Î KHOAHOC(MAKH) " q Î LOP, $ q1 Î KHOA/ q. MAKHOA = q1. MAKHOA Ç $ q2 Î KHOAHOC/ q. MAKH = q2. MAKH Cuoái " Taàm aûnh höôûng: R1 Theâm Xoaù Söûa LOP + - + KHOA - + + KHOAHOC - + + R2 :SINHVIEN(MALOP) Î LOP(MALOP) " q Î SINHVIEN, $ q1 Î LOP q. MALOP = q1. MALOP Cuoái " Taàm aûnh höôûng: R2 Theâm Xoaù Söûa LOP + + + SINHVIEN - + + R3 :CAUHOI(MAGV) Î GIAOVIEN(MAGV) Ç CAUHOI(MAMH) Î MONHOC(MAMH) " q Î CAUHOI, $ q1 Î GIAOVIEN/ q. MAGV = q1. MAGV Ç $ q2 Î MONHOC/ q. MAMH = q2. MAMH Cuoái " Taàm aûnh höôûng: R3 Theâm Xoaù Söûa CAUHOI + + + GIAOVIEN - + + MONHOC - + + R4 :CAUCHON(MACH) Î CAUHOI(MACH) " q Î CAUCHON, $ q1 Î CAUHOI q. MACH = q1. MACH Cuoái " Taàm aûnh höôûng: R4 Theâm Xoaù Söûa CAUCHON - + + CAUHOI + + + R5 :BAITHI(MASV) Î SINHVIEN(MASV) Ç BAITHI(MADT) Î DOTTHI(MADT) " q Î BAITHI, $ q1 Î SINHVIEN/ q. MASV = q1. MASV Ç $ q2 Î DOTTHI/ q. MADT = q2. MADT Cuoái " Taàm aûnh höôûng: R5 Theâm Xoaù Söûa BAITHI - + + SINHVIEN - + + DOTTHI + + + R6 :DOTTHI(MAKT) Î KYTHI(MAKT) Ç DOTTHI(MAKH) Î KHOAHOC(MAKH) Ç DOTTHI(MAKHOA) Î KHOA(MAKHOA) Ç DOTTHI(MAMH) Î MONHOC(MAMH) " q Î DOTTHI, $ q1 Î KYTHI/ q. MAKT = q1. MAKT $ q2 Î KHOAHOC/ q. MAKH = q2. MAKH $ q3 Î KHOA/ q. MAKHOA = q3. MAKHOA Ç $ q4 Î MONHOC/ q. MAMH = q4. MAMH Cuoái " Taàm aûnh höôûng: R5 Theâm Xoaù Söûa DOTTHI - + + KYTHI - + + KHOAHOC - + + KHOA - + + MONHOC - + + VI. 3. Xaùc ñònh phuï thuoäc haøm: LOP: Khoaù : { MALOP} F = {MALOP ->TENLOP, MAKHOA, MAKH, GHICHU} SINHVIEN: Khoaù : { MASV} F = {MASV ->HOTENSV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, MALOP, MATKHAU, HINH, ONLINE, GHICHU} KHOA: Khoaù : { MAKHOA} F = {MAKHOA->TENKHOA, GHICHU} KHOAHOC: Khoaù : { MAKH} F = {MAKH ->TENKH, GHICHU} MONHOC: Khoaù : { MAMH} F = {MAMH ->TENMH, SOTIET, GHICHU} CAUHOI: Khoaù : { MACH} F = {MACH ->NDUNGCH, DOKHODE, HINH, MAGV, MAMH, TRANGTHAI, GHICHU} GIAOVIEN: Khoaù : { MAGV} F = {MAGV ->HOTENGV, PHAI, NGAYSINH, NOISINH, DIACHI, DTHOAI, HOCVI, HINH, MATKHAU, ONLINE, GHICHU} CAUCHON: Khoaù : { MACC} F = {MACC ->NDUNGCC, DANDUNGSAI, MACH, GHICHU} DIEUHANH: Khoaù : { MADH} F = {MADH ->MATKHAU, ONLINE} BAITHI: Khoaù : { MABT} F = {MABT ->MADT, MASV, SOCAUDUNG, KETQUA, THAMGIA, GHICHU} BAILAMSINHVIEN: Khoaù : { MABT, MACH} F = {MABT, MACH ->MACH, DUNGSAI} KYTHI: Khoaù : { MAKT} F = {MAKT ->TENKT, GHICHU} DOTTHI: Khoaù : { MADT} F = {MADT ->TENDT, MAKT, MAKH, MAKHOA, MAMH, NGAYTHI, KETTHUC, TGIANTHI, COCAUHOI, PTCAUKHO, GHICHU} CHÖÔNG 2 MOÂ HÌNH CLIENT/ SERVER I . Caùc Khaùi Nieäm: Khaùi nieäm veà phaàn cöùng: Client/ Server laø kieán truùc goàm hai thaønh phaàn maùy Client va Server, hai thaønh phaàn naøy lieân laïc vôùi nhau thoâng qua heä thoáng maïng. Client Server Client/ Server Software Network Operating Operating System Client/ Server Software Network Operating System Operating System RDBMS Network Cables Router Bridge Gateway Khaùi nieäm veà xöû lyù: Khi xaây döïng vaø khai thaùc öùng duïng treân moâi tröôøng maïng, moät trong nhöõng ñieàu kieän caàn quan taâm tröôùc tieân laø vieäc ñaùnh giaù caùc tính naêng cuûa heä thoáng maïng. Vieäc xaây döïng vaø khai thaùc öùng duïng treân maïng seõ deã daøng hôn neáu coù moät heä thoáng maïng oån ñònh, thöïc thi nhanh choùng vaø ñaùng tin caäy. Tuy nhieân, ñoái vôùi baát kyø heä thoáng maïng naøo, khi xaây döïng caùc öùng duïng treân noù, ta cuõng caàn phaûi tính toaùn sao cho vieäc truyeàn döõ lieäu laø toát nhaát ( Giaûm löôïng löu tröõ döõ lieäu treân ñöôøng truyeàn maø vaãn ñaùp öùng yeâu caàu veà döõ lieäu) vaø an toaøn nhaát. Moâ hình tính toaùn Client/ Server nhaèm giaûi quyeát vaán ñeà naøy. Trong moâ hình tính toaùn Client/ Server, caùc vieäc xöû lyù döõ lieäu, xöû lyù logic vaø giao dieän ngöôøi duøng ñöôïc phaân chia ra vaø ñöôïc thöïc hieän taïi nhieàu ñieåm khaùc nhau trong maïng. Maùy Client göûi ñeán maùy chuû yeâu caàu truy vaán döõ lieäu hoaëc caäp nhaät döõ lieäu (theâm, xoaù, söûa, caùc maãu tin). Maùy Server khi nhaän caùc yeâu caàu truy vaán, sau khi kieåm tra quyeàn truy caäp cuûa ngöôøi yeâu caàu, seõ tieán haønh choïn loïc tình toaùn toång hôïp thoâng tin trong cô sôû döõ lieäu ñeå göûi traû keát quaû truy vaán theo yeâu caàu cuûa maùy Client. Khi nhaän ñöôïc yeâu caàu caäp nhaät döõ lieäu ( theâm, xoaù , söûa), maùy chuû ngoaøi vieäc kieåm tra quyeàn truy caäp cuûa ngöôøi yeâu caàu coøn phaûi baûo ñaûm vieäc caäp nhaät khoâng paùh vôõ tính toaøn veïn döõ lieäu. Database Server coøn coù nhieäm vuï lieân laïc vôùi caùc cô sôû döõ lieäu khaùc ñeå ñeå laáy ñöôïc thoâng tin caàn thieát, baûo ñaûm cho ngöôøi duøng coù ñöôïc nhöõng thoâng tin caàn thieát moät caùch thoâng suoát cho duø döõ lieäu thöïc söï naèm phaân taùn ôû nhieàu maùy chuû khaùc nhau. Vieäc phaân chia nhieäm vuï giöõa Client vaø Server laø nhaân toá quyeát ñònh söï thaønh baïi cuûa vieäc öùng duïng moâ hình tính toaùn Client/ Server. II . Phaân loaïi öùng duïng Client/ Server: Thoâng thöôøng moät öùng duïng ñöôïc chia laøm 6 öùng duïng sau: Giao dieän ngöôøi duøng (User Interface) : laø nhöõng theå hieän treân maøn hình maø user thaáy vaø coù theå töông taùc ñöôïc. Login trình baøy (Presentation Logic): laø nhöõng gì xaûy ra khi user töông taùc vaøo nhöõng theå hieän treân maøn hình. Logic öùng duïng (Application Logic): laø nhöõng chöông trình hay ñoaïn chöông trình thi haønh nhöõng chöùc naêng naøo ñoù. Truy vaán döõ ieäu vaø keát quaû (data request and results acceptance) Toaøn veïn döõ lieäu (Data integrity): nhö chöùng nhaän hôïp leä an toaøn vaù toaøn dieän. Quaûn lyù döõ lieäu vaät lyù( Data Phisical Management): Theâm, xoaù, söûa vaø phuïc hoài döõ lieäu . Ñoái vôùi öùng duïng Client/ Server thì tuyø thuoäc vaøo yeâu caàu cuûa noù maø moãi nhieäm vuï ñöôïc ñaët vaøo thaønh phaàn Client hay Server ñeå cho ôû ñoù noù ñöôïc thöïc hieän hieäu quaû nhaát. Döïa vaøo caùch ñaët caùc nhieäm vuï treân maø ngöôøi ta ñaõ phaân ra öùng duïng Client/ Server thaønh 3 loaïi: Host-Based Processing, Client-Based Processing vaø Cooperative Processing. III . Server: Khaùi nieäm veà phaàn cöùng: Laø moät maùy tính coù caáu hình tuyø thuoäc vaøo vieäc ta söû duïng moâi tröôøng phaàn meàm naøo ñeå xaây döïng caùc öùng duïng vaø yeâu caàu veà caáu hình cuûa heä ñieàu haønh muoán duøng treân Server. Khaùi nieäm veà xöû lyù: Laø maùy tính cung caáp dòch vuï cho nhöõng maùy khaùc treân maïng, caùc dòch vuï nhö chia seõ file, caàu noái maïng, xöû lyù öùng duïng… Ñoái vôùi moâ hình Client/ Server. Server laøm nhieäm vuï quaûn lyù vieäc truy caäp CSDL, nhaän caùc yeâu caàu töø Client -> Xöû lyù -> Göûi keát quaû veà cho Client theo yeâu caàu. Phaân loaïi Server: Döïa vaøo chöùc naêng cuûa Server ngöôøi ta chia Server ra laøm 6 loaïi: File Server, Data Server, Computer Server, Application Server vaø Communication Server. File Server: Quaûn lyù öùng duïng cuûa moät nhoùm vaø quaûn lyù nhöõng file döõ lieäu. Do ñoù, nhöõng file döõ lieäu naøy coù theå ñöôïc chia seõ trong nhoùm. Khi Client ñoøi hoûi döõ lieäu trong moät file, File Server seõ chuyeån toaøn boä nhöõng file cuøng index ñeán Client. Do vaäy, seõ gaây löu thoâng lôùn treân maïng vaø chuyeån nhöõng döõ lieäu khoâng caàn thieát. Vieäc khoaù file theà hieän vieäc khoaù moät phaàn hay toaøn boä file, khoâng phaân chia khoaù ñeå ñoïc vaø khoaù ñeå ghi. Application Server: Moâ hình naøy laø söï thay theá Host-Terminal, Application Server chòu traùch nhieäm quaûn lyù döõ lieäu vaø thi haønh caùc öùng duïng. Data Server Chæ quaûn lyù nhöõng döõ lieäu vaø nhöõng chöùc naêng ñeå ñaûm baûo cho söï toaøn veïn döõ lieäu. Thöôøng hoaït ñoäng chung vôùi Computer Server. Data Server lo löu tröõ döõ lieäu vaø cung caáp döõ lieäu. Computer Server Quaûn lyù nhöõng chöùc naêng: Khi Client ñoøi hoûi döõ lieäu, noù seõ yeâu caàu Data Server theo caùch laáy döõ lieäu ít nhaát maø vaãn thoaû maõn yeâu caàu cuûa Client, sau ñoù noù seõ xöû lyù treân nhöõng döõ lieäu naøy vaø göûi keát quaû veà cho Client. Database Server Söï keát hôïp cuûa Computer Server vôùi Data Server. Khi Client göi yeâu caàu ñeán Server, Server coù theå chaáp nhaän hoaëc khoâng, neáu chaáp nhaän Server seõ truy caäp ñeán döõ lieäu caàn thieát ñang naèm treân Server cuïc boä ( Local) hoaëc treân caùc Server khaùc nhau ñeå xöû lyù vaø traû keát qua veà cho Client. Caùch xöû lyù naøy giuùp toái öu hoaù ñöôøng truyeàn: * Client chòu traùch nhieäm trình baøy vaø laø ñaàu vaøo caùc yeâu caàu göûi cho Server * Server lo quaûn trò CSDL, quaûn lyù söï hôïp taùc vôùi nhöõng Server khaùc. Communication Server Ñoùng vai troø laø moät caàu noái cho moät Client ôû xa vaøo moät LAN khaùc, moät maùy tính trung hoaëc lôùn. Nhö theá naøo laø moät Server toát ? Moät Server toát phaûi phuïc vuï cho nhieàu ngöôøi söû duïng, hoaït ñoäng nhanh, an toaøn, coù khaû naêng phuïc hoài döõ lieäu khi coù söï coá, nghóa laø phaûi coù caùc ñaëc tính sau: Multiprocessing: Coù khaû naêng duøng ñöôïc nhieàu process ñoàng thôøi (theo caùch phaân chia töï ñoäng nhieäm vuï hoaëc gaùn saün nhieäm vuï cho moãi process) Multithread: Thread laø ñôn vò nhoû nhaát coù theå laäp thôøi khoaù bieåu ñeå thöïc hieän. Moãi thread coù moät stack, moät instruction poiter, moät thöù töï öu tieân, traïng thaùi CPU vaø moät entry trong danh saùch phaân boá cuûa heä thoáng. Moät thread coù theå ñang thi haønh, ñang saün saøng thi haønh hoaëc ñang bò treo. Thread laø ñôn vò cuûa Process ñoäc laäp nhau, coù theå thöïc söï hoaït ñoäng ñoàng haønh vôùi nhau treân nhöõng CPU khaùc nhau. Disk Array: Nhieàu ñóa vaät lyù coù theå ñöôïc quaûn lyù nhö moät ñóa logic vaø xuyeân suoát ñoái vôùi ngöôøi duøng. Mirror Disk: Coù hai ñóa troáng chöùa cuøng döõ lieäu, khi bò hö moät ñóa thì seõ phuïc hoài töø ñóa coøn laïi. Error Correction Code Memory: Duøng bieåu dieãn chuaån ñeå phaùt hieän vaø söûa chöõa khi coù nhöõng sai soùt trong luùc chuyeån döõ lieäu treân Server Phaàn meàm Server: Döïa vaøo nhieäm vuï, ngöôøi ta phaân chia thaønh 8 loaïi phaàn meàm hoaït ñoäng treân Server. Nhöng phaûi coù cô cheá keát hôïp vôùi nhau thaønh moät theå thoáng nhaát. Taùm loaïi bao goàm: Network Management Environment, Network Computing Environment and Extention, Network Operating System, Server Operating System, Loadabel Module, DataBase Management, DataBase Gateway, Application. Application Loadable Modules DataBase Management DataBase Gateways Server Operating System Network Operating System Network Computing Environment Network Management Environment Network Management Environment: Khi moät heä thoáng thoâng tin coù tính phaân taùn thì caàn coù moät heä thoáng quaûn lyù maïng maø baát chaáp moâi tröôøng phaàn cöùng vaø phaàn meàm cuûa noù. Toaøn boä heä thoáng maïng phaûi ñöôïc xem nhö moät theå duy nhaát vaø vieäc xöû lyø noù nhö moät tieán trình. Network Computing Environment: Moâi tröôøng tính toaùn maïng cho pheùp nhöõng öùng duïng phaân taùn ôû nhieàu moâi tröôøng phaàn cöùng vaø phaàn meàm. Caùc chuaån OSF (Open Software Foundation) hoå trôï cho caáu truùc naøy laø: Moâi tröôøng phaân taùn (DCE : Distribute Computing Environment) Tính toaùn höôùng môû roäng maïng (ONC : Open Network Computing) Network Operating System : Heä ñieàu haønh maïng quaûn lyù caùc xöû lyù lieân quan ñeán xuaát/ nhaäp cuûa Server. Loadable Module: Laø nhöõng Module phaàn meàm ñöôïc load treân Server nhaèm laøm taêng theâm chöùc naêng cho heä ñieàu haønh. Server Operating System: Heä ñieàu haønh Server quaûn lyù caùc taøi nguyeân cuûa Server. Noù töông taùc vôùi heä ñieàu haønh maïng vaø phaàn meàm xöû lyù döõ lieäu ñeå nhaän vaø traû lôøi caùc yeâu caàu töø ngöôøi duøng. DataBase Gateway: Hoaït ñoäng nhö boä chuyeån ñoåi döõ lieäu, nhöõng caâu leänh SQL, vaø caùc öùng duïng töø moät kieåu CSDL thaønh kieåu khaùc. DataBase Management Application Heä ñieàu haønh cho Server: Caùc heä ñieàu haønh thoâng duïng Windows NT, Unix, OS/2 Heä quaûn trò cô sôû döõ lieäu treân Server: Caùc phaàn meàm quaûn trò CSDL treân Server hieän nay: Oracle Microsoft SQL Server Sysbase SQL Server SQLBASE NETWARE SQL IV . Client: Khaùi nieäm phaàn cöùng: Laø moät maùy desktop thöïc thi phaàn meàm Client ( Client Software) Desktop laø thuaät ngöõ duøng ñeå chæ toaøn boä maøng hình giao dieän ngöôøi söû duïng – maùy tính: goàm caùc cöûa soå, bieåu töôïng, vaø caùc hoäp thoaïi… Treân Client coù theå chaïy caùc phaàn meàm giao tie._.áp, heä ñieàu haønh, phaàn meàm truyeàn thoâng. Khaùi nieäm xöû lyù: Trong moâi tröôøng Client/ Server, coâng vieäc chính cuûa Client laø thöïc hieän chöùc naêng trình baøy, xöû lyù caùc töông taùc giöõa ngöôøi öùng duïng vaø söû duïng. Maùy Client göûi tôùi maùy chuû caùc yeâu caàu truy vaán döõ lieäu hoaëc caäp nhaät döõ lieäu ( Theâm, xoaù, söûa caùc maãu tin) ñoàng thôøi nhaän ñöôïc caùc keát quaû traû veà töø maùy Server. Nhö theá naøo laø Client toát? Moät client toát phaûi ñaùp öùng ñöôïc nhu caàu sau: * Giao dieän ñaùp öùng ñöôïc caùc taùc vuï caàn thieát vaø thaân thieän vôùi ngöôøi söû duïng * Khoâng trình baøy nhöõng thoâng tin khoâng caàn thieát ñoái vôùi coâng vieäc cuûa maùy traïm laøm vieäc. Phaàn cöùng Client: Laø moät maùy tính coù caáu hình tuyø thuoäc vaøo vieäc ta söû duïng moâi tröôøng phaàn meàm naøo ñeå xaây döïng caùc öùng duïng vaø yeâu caàu veà caáu hình cuûa heä ñieàu haønh muoán duøng treân Client. Phaàn meàm Client: Heä ñieàu haønh: Microsoft Windows ( Windows 3.x, Windows 95, Windows NT Workstation) DOS, OS/2, UNIX Client Phaàn meàm: Moät maùy Client coù theå chaïy 4 loaïi phaàn meàm: Moâi tröôøng giao tieáp, logic öùng duïng heä ñieàu haønh Client vaø heä ñieàu haønh maïng. Tuyø theo yeâu caàu cuûa öùng duïng maø ta löïa choïn phaàn meàm thích hôïp. Moâi tröôøng giao tieáp: Giuùp cho ngöôøi duøng khoâng caàn bieát döõ lieäu naèm ôû ñaâu maø vaãn truy caäp ñöôïc. Ñaùp öùng vieäc göûi nhöõng yeâu caàu vaø nhaän keát quaû töø Server Ñònh daïng keát quaû ñuùng yeâu caàu Giuùp truy vaán nhanh döõ lieäu V. Lôïi ích cuûa moâ hình Client/ Server: Tieát kieäm ( Dollars Saving): Chi phí veà phaàn cöùng: Maùy Server vaø Client ñeàu coù theå laø nhöõng maùy tính khoâng ñaét tieàn laém khoâng caàn phaûi söû duïng nhöõng maùy ñieän toaùn mainframe ñaét tieàn. Chi phí phaàn meàm: Nhöõng öùng duïng treân caáu truùc Client/ Server coù theå phaùt trieån vôùi thôøi gian ít hôn so vôùi vieäc phaùt trieån treân moâi tröôøng mainframe vaø phaàn meàm treân maùy vi tính thì reû hôn nhieàu. Taêng naêng suaát saûn phaåm (Increased Productive): Thoâng qua giao dieän ngöôøi söû duïng coù theå deã daøng truy caäp döõ lieäu maø khoâng caàn phaûi bieát caùch thöùc luö tröõ cuûa nhöõng döõ lieäu maø mình truy caäp. Hieän nay coù nhieàu coâng cuï maïnh giuùp deã daøng thieát keá caøi ñaët moät öùng duïng treân caáu truùc Client/ Server. Uyeån chuyeån vaø roäng raõi (Flexibility and Scalbility): Baèng caùch phaân chia öùng duïng thaønh nhöõng nhieäm vuï neân coù theå deã daøng hoaø hôïp vôùi nhöõng kyõ thuaät môùi ñoàng thôøi vaãn baûo ñaûm töông thích vôùi nhöõng kyõ thuaät cuû maø ít gaëp khoù khaên. Vieäc xaây döïng theo module khieán cho coâng vieäc söûa chöõa boå sung ñöôïc deã daøng. Taän duïng taøi nguyeân (Resource Utilization): Cho pheùp lieân keát vôùi nhöõng öùng duïng vaø phaàn cöùng hieän coù moät caùch hieäu quaû maø khoâng caàn phaûi thay ñoåi. Ñieàu khieån taäp trung (Centralize Control): heä thoáng môû (Opening system): Caáu truùc Client/ Server keát hôïp vôùi kyõ thuaät Rightsizing laøm taêng kích thöôùc uyeån chuyeån vaø môû roäng. Kyõ thuaät Rightsizing bao goàm: * Downsizing: Chuyeån töø moâi tröôøng lôùn sang moâi tröôøng nhoû hôn * Upsizing: Chuyeån töø moâi tröôøng nhoû sang moâi tröôøng lôùn * Smartsizing: Tính toaùn phaân chia vaø ñaït caùc nhieäm vuï laïi cho thích hôïp vôùi moâi tröôøng môùi. VI. Caùc chuù yù khi xaây döïng öùng duïng Client/ Server: Khi thöïc hieän caùc tính toaùn Client/ Server caàn quan taâm ñeán caùc vaán ñeà sau: * Khaû naêng hoaït ñoäng cuûa heä thoáng maïng: Toác ñoä truyeàn, ñoä tin caäy ñöôøng truyeàn, khaû naêng hoaït ñoäng cuûa maùy Server, khaû naêng hoaït ñoäng cuûa maùy Client. * Giaûm thieåu döõ lieäu truyeàn: Phaân phoái hôïp lyù caùc xöû lyù ( tuyø tröôøng hôïp cuï theå maø ta coù theå ñaët caùc xöû lyù ôû Server hoaëc Client, tuy nhieân öu tieân vieäc taän duïng ñaït caùc xöû lyù ôû Server ñeå giaûm döõ lieäu truyeàn taûi treân ñöôøng truyeàn) * Tính toaùn sao cho hôïp lyù thôøi gian giöõ keát noái cuûa maùy Client vôùi Server. * Taän duïng sao cheùp ñoái vôùi tröôøng hôïp heä thoáng maïng dieän roäng (WAN). * Xaây döïng hôïp lyù caùc chæ muïc (index) treân cô sôû döõ lieäu * Taän duïng caùc thuû tuïc coù saün. * Toái öu hoaù heä thoáng phuïc vuï SQL Server: Dung löôïng boä nhôù xem xeùt tröôøng hôïp phaân taùn sao cho hôïp lyù. * Chaïy thöû treân öùng duïng treân maùy Server, vaø chaïy thöû treân maùy Client, sau ñoù so saùnh vaø hieäu chænh maïng neáu caàn thieát. CHÖÔNG 3 CAÁU HÌNH CÔ SÔÛ DÖÕ LIEÄU CLIENT/ SERVER Nhìn chung moïi öùng duïng cô sôû döõ lieäu bao goàm caùc phaàn: Thaønh phaàn xöû lyù öùng duïng (Application processing components) Thaønh phaàn phaàn meàm cô sôû döõ lieäu (Database software components) Baûn thaân cô sôû döõ lieäu (The database itself) Caùc moâ hình veà xöû lyù cô sôû döõ lieäu khaùc nhau laø bôûi caùc tröôøng hôïp cuûa 3 loaïi thaønh phaàn noùi treân ñònh vò ôû ñaâu. Ñaây laø 5 moâ hình kieán truùc döïa treân caáu hình phaân taùn veà truy caäp döõ lieäu cuûa heä thoáng maùy tính Client/ Server. Moâ hình cô sôû döõ lieäu taäp trung (Centralize database model) Moâ hình cô sôû döõ lieäu theo kieåu file-server (File-server database model) Moâ hình xöû lyù töøng phaàn cô sôû döõ lieäu (Database extract processing model) Moâ hình cô sôû döõ lieäu Client/ Server (Client/ Server database model) Moâ hình cô sôû döõ lieäu phaân taùn (Distributed database model) I . Moâ hình cô sôû döõ lieäu taäp trung (Centralized database model): Trong moâ hình naøy, caùc thaønh phaàn xöû lyù öùng duïng , phaàn meàm cô sôû döõ lieäu vaø baûn thaân cô sôû döõ lieäu ñeàu ôû treân moät boä xöû lyù. Ví duï ngöôøi duøng maùy tính caù nhaân coù theå chaïy chöông trình öùng duïng coù söû duïng phaàn meàm cô sôû döõ lieäu Oracle ñeå truy caäp ñeán cô sôû döõ lieäu naèm treân ñóa cöùng cuûa maùy tính caù nhaân ñoù. Töø khi caøc thaønh phaàn öùng duïng, phaàn meàm cô sôû döõ lieäu vaø baûn thaân cô sôû döõ lieäu cuøng naèm treân moät maùy tính thì öùng duïng ñaõ thích hôïp vôùi moâ hình taäp trung. Server Öùng duïng Phaàn meàm CSDL CSDL Haàu heát coâng vieäc xöû lyù luoàng thoâng tin chính ñöôïc thöïc hieän bôûi nhieàu toå chöùc maø vaãn phuø hôïp vôùi moâ hình taäp trung. Ví duï moät boä xöû lyù main fram chaïy phaàn meàm cô sôû döõ lieäu IMS hoaëc DB2 cuûa IBM coù theå cung caáp cho caùc traïm laøm vieäc ôû caùc vò trí phaân taùn söï truy nhaäp nhanh choùng tôùi cô sôû döõ lieäu trung taâm. Tuy nhieân trong raát nhieàu heä thoáng nhö vaäy, caû 3 thaønh phaàn cuûa öùng duïng cô sôû döõ lieäu ñeàu thöïc hieän treân cuøng moät maùy mainframe. Do ñoù, caáu hình naøy cuõng thích hôïp vôùi moâ hình taäp trung. II. Moâ hình cô sôû döõ lieäu theo kieåu file-server (File – server database model): Trong moâ hình cô sôû döõ lieäu theo kieåu file-server caùc thaønh phaàn öùng duïng vaø phaàn meàm cô sôû döõ lieäu ôû treân moät heä thoáng maùy tính vaø caùc file vaät lyù taïo neân cô sôû döõ lieäu naèm treân moät heä thoáng maùy tính khaùc. Moät caáu hình nhö vaäy thöôøng ñöôïc duøng trong moâi tröôøng cuïc boä, trong ñoù coù moät hoaëc nhieàu heä thoáng maùy tính ñoùng vai troø cuûa server, luö tröõ caùc file döõ lieäu cho heä thoáng maùy tính khaùc thaâm nhaäp tôùi. Trong moâi tröôøng file-server, phaàn meàm maïng ñöôïc thi haønh vaø laøm cho caùc phaàn meàm öùng duïng cuõng nhö phaàn meàm cô sôû döõ lieäu chaïy treân heä thoáng cuûa ngöôøi duøng cuoái coi caùc file hoaëc cô sôû döõ lieäu treân file server thöïc söï nhö laø treân maùy tính cuûa ngöôøi chính hoï. Server Öùng duïng Phaàn meàm CSDL CSDL Maïng Moâ hình CSDL File-Server Moâ hình file server raát gioáng vôùi moâ hình taäp trung. Caùc file cô sôû döõ lieäu naèm treân maùy khaùc vôùi caùc thaønh phaàn öùng duïng vaø phaàn meàm cô sôû döõ lieäu; tuy nhieân, caùc thaønh phaàn öùng duïng vaø phaàn meàm cô sôû döõ lieäu coù theå coù cuøng thieát keá ñeå vaän haønh moät moâi tröôøng taäp trung. Thöïc chaát phaàn meàm maïng ñaõ laøm cho phaàn meàm öùng duïng vaø phaàn meàm cô sôû döõ lieäu töôûng raèng chuùng ñang truy caäp cô sôû döõ lieäu trong moâi tröôøng cuïc boä. Moät moâi tröôøng nhö vaäy coù theå phöùc taïp hôn moâ hình taäp trung bôûi vì phaàn meàm maïng coù theå phaûi thöïc hieän cô cheá ñoàng thôøi cho pheùp nhieàu ngöôøi duøng cuoái coù theå truy nhaäp vaøo cuøng cô sôû döõ lieäu. III. Moâ hình xöû lyù töøng phaàn cô sôû döõ lieäu ( Database extract processing model): Moät moâ hình khaùc trong ñoù coù moät cô sôû döõ lieäu ôû xa coù theå ñöôïc truy nhaäp bôûi phaàn meàm cô sôû döõ lieäu, ñöôïc goïi laø xöû lyù döõ lieäu töøng phaàn. Vôùi moâ hình naøy, ngöôøi söû duïng coù theå taïi moät maùy tính caù nhaân keát noái vôùi heä thoáng maùy tính ôû xa nôi coù döõ lieäu monh muoán. Ngöôøi söû duïng sau ñoù coù theå taùc ñoäng tröïc tieáp ñeán phaàn meàm chaïy treân maùy ôû xa vaø taïo yeâu caàu ñeå laáy döõ lieäu töø cô sôû döõ lieäu ñoù. Ngöôøi söû duïng cuõng coù theå chuyeån döõ lieäu töø maùy tính ôû xa veà chính maùy tính cuûa mình vaø vaøo ñóa cöùng vaø coù theå thöïc hieän vieäc sao cheùp baèng phaàn meàm cô sôû döõ lieäu treân maùy tính caù nhaân. Server Phaàn meàm CSDL Öùng duïng CSDL Maïng Phaàn meàm CSDL Öùng duïng CSDL Moâ hình xöû lyù töøng phaàn CSDL Vôùi caùch tieáp nhaän naøy, ngöôøi söû duïng phaûi bieát chaéc chaén laø döõ lieäu naèm ôû ñaâu vaø laøm nhö theá naøo ñeå truy nhaäp vaø laáy döõ lieäu töø moät maùy tính ôû xa. Phaàn meàm öùng duïng ñi keøm caàn phaûi coù treân hai heä thoáng maùy tính ñeå kieåm soaùt söû truy caäp döõ lieäu vaø chuyeån döõ lieäu giöõa hai heä thoáng. Tuy nhieân, phaàn meàm cô sôû döõ lieäu chaïy treân hai maùy khoâng caàn bieát raèng vieäc xöû lyù cô sôû döõ lieäu töø xa ñang dieãn ra vì ngöoøi söû duïng taùc ñoäng tôùi chuùng moät caùch ñoäc laäp. IV. Moâ hình cô sôû döõ lieäu Client/ Server (Client/ Server database model): Trong moâ hình cô sôû döõ lieäu Client/ Server, cô sôû döõ lieäu naèm treân moät maùy khaùc vôùi caùc maùy coù thaønh phaàn xöû lyù öùng duïng. Nhöng phaàn meàm cô sôû döõ lieäu ñöôïc taùch ra giöõa heä thoáng Client chaïy caùc chöông trình öùng duïng vaø heä thoáng server löu tröõ cô sôû döõ lieäu. Trong moâ hình naøy, caùc thaønh phaàn xöû lyù öùng duïng treân heä thoáng Client ñöa ra yeâu caàu cho phaàn meàm cô sôû döõ lieäu treân maùy Client, phaàn meàm naøy seõ keát noái vôùi phaàn meàm cô sôû döõ lieäu chaïy treân server. Phaàn meàm cô sôû döõ lieäu treân server seõ truy caäp vaøo cô sôû döõ lieäu vaø göûi traû keát quaû cho maùy Client. Server Moâ hình CSDL Client/ Server Khaùch haøng CSDL Phaàn meàm CSDL Öùng duïng Phaàn meàm CSDL Maïng Thoaït nhìn, moâ hình cô sôû döõ lieäu Client/ Server coù veû gioáng nhö moâ hình file-server, tuy nhieân, moâ hình Client/ Server coù raát nhieàu thuaän lôïi hôn moâ hình file-server. Vôùi moâ hình file server, thoâng tin gaén vôùi söï truy nhaäp cô sôû döõ lieäu coù theå gaây ra taéc ngeõn löu löôïng truyeàn treân maïng. Giaû söû, moät ngöôøi duøng cuoái taïo ra moät vaán tin ñeå laáy döõ lieäu toång soá, yeâu caàu ñoøi hoûi laáy döõ lieäu töø 1000 baûn ghi, vôùi caùch tieáp caän file-server, noäi dung cuûa taát caû 1000 baûn tin phaûi ñöa leân maïng, vì phaàn meàm cô sôû döõ lieäu chaïy treân maùy cuûa ngöôøi söû duïng phaûi truy nhaäp töø baûn ghi ñeå thoaû maõn yeâu caàu cuûa ngöôøi söû duïng. Vôùi caùch tieáp caän cô sôû döõ lieäu Client/ Server, chæ coù lôøi vaán tin khôûi ñoäng ban ñaàu vaø keát quaû cuoái cuøng caàn ñöa leân maïng, phaàn meàm cô sôû döõ lieäu chaïy treân maùy löu giöõ cô sôû döõ lieäu seõ truy nhaäp caùc baûn ghi caàn thieát, xöû lyù chuùng vaø goïi caùc thuû tuïc caàn thieát ñeå ñöa ra keát quaû cuoái cuøng. Front-end software: Trong moâ hình cô sôû döõ lieäu Client/ Server, thöôøng noùi ñeán caùc phaàn meàm front-end software vaø back-end software ñöôïc chaïy treân moät maùy tính caù nhaân hoaëc moät workstation vaø ñaùp öùng caùc yeâu caàu ñôn leû rieâng bieät, phaàn meàm naøy ñoùng vai troø cuûa Client trong öùng duïng cô sôû döõ lieäu Client/ Server vaø thöïc hieän caùc chöùc naêng höôùng tôùi nhu caàu cuûa ngöôøi duøng cuoái cuøng, phaàn meàm Front-end software thöôøng ñöôïc chia thaønh caùc loaïi sau: End user database software: Phaàn meàm cô sôû döõ lieäu naøy coù theå ñöôïc thöïc hieän bôûi ngöôøi söû duïng cuoái treân chính heä thoáng cuûa hoï ñeå truy nhaäp caùc cô sôû döõ lieäu cuïc boä nhoû cuõng nhö keát noái vôùi caùc cô sôû döõ lieäu lôùn hôn treân cô sôû döõ lieäu Server. Simple query and reporting software: phaàn meàm naøy ñöôïc thieát keá cung caáp caùc coâng cuï deã söû duïng hôn trong vieäc laáy döõ lieäu töø cô sôû döõ lieäu vaø taïo caùc baùo caùo ñôn giaûn töø döõ lieäu ñaõ coù. Data analysissoftware: phaàn meàm naøy cung caáp caùc haøm veà tìm kieám, khoâi phuïc, chuùng coù theå cung caáp caùc phaân tích phöùc taïp cho ngöôøi duøng. Application development tools : Caùc coâng cuï naøy cung caáp caùc khaû naêng veà ngoân ngöõ maø caùc nhaân vieân heä thoáng thoâng tin chuyeân nghieäp söû duïng ñeå xaây döïng caùc öùng duïng cô sôû döõ lieäu cuûa hoï. Caùc coâng cuï ôû ñaây bao goàm caùc coâng cuï veà thoâng dòch, bieân dòch ñôn ñeán caùc coâng cuï CASE (Computr Aided Software Engineering), chuùng töï ñoäng taát caû caùc böôùc trong quaù trình phaùt trieån öùng duïng vaø sinh ra chöông trình cho caùc öùng duïng cô sôû döõ lieäu. Database Administration Tolls : Caùc coâng cuï naøy cho pheùp ngöôøi quaûn trò cô sôû döõ lieäu söû duïng maùy tính caù nhaân hoaëc traïm laøm vieäc ñeå thöïc hieän vieäc quaûn trò cô sôû döõ lieäu nhö ñònh nghóa caùc cô sôû döõ lieäu, thöïc hieän löu tröõ hay phuïc hoài. Back-end software: Phaàn meàm naøy bao goàm phaàn meàm cô sôû döõ lieäu Client/ Server vaø phaàn meàm maïng chaïy treân maùy ñoùng vai troø laø server cô sôû döõ lieäu. V . Distributed database model (Moâ hình cô sôû döõ lieäu phaân taùn): Caû hai moâ hình File-Server vaø Client/ Server ñeàu giaû ñònh laø döõ lieäu naèm treân moät boä xöû lyù khaùc, coøn moâ hình cô sôû döõ lieäu phaân taùn laïi giaû ñònh baûn thaân cô sôû döõ lieäu coù ôû treân nhieàu maùy khaùc nhau. Maïng Server CSDL Phaàn meàm CSDL CSDL Phaàn meàm CSDL Server Öùng duïng Phaàn meàm CSDL Moâ hình CSDL phaân taùn CHÖÔNG 4 TRUY CAÄP CÔ SÔÛ DÖÕ LIEÄU TÖØ XA CLIENT/ SERVER Client/ Server vaø caùc thaønh phaàn: Tröôùc nay, moâ hình ñoái töôïng cô sôû döõ lieäu (hay noùi khaùc hôn laø heä ñieàu haønh ) ñaõ che chaén phaàn laøm vieäc phöùc taïp khi truy caäp cô sôû döõ lieäu töø xa, ta khoâng nhaän thaáy söï khaùc bieät khi cô sôû döõ lieäu chöùa treân maïng hay treân maùy cuïc boä. Thuaät ngöõ thaønh phaàn trung gian (middle-tier) ñaõ laøm thay ñoåi töø khi kyõ thuaät Client/ Server ñöôïc giôùi thieäu laàn ñaàu tieân. Ví duï ta taïo ñieàu khieån Active x nhuùng trong moät öùng duïng Client ñeå noùi chuyeän vôùi moät thaønh phaàn Active X Server cuõng chöùa treân Client. Sau ñoù thaønh phaàn Active X Server seõ noùi chuyeän vôùi Active X Server chöùa treân maùy thuoäc taàng trung gian. Ñeán löôït taàng trung gian seû noùi chuyeän vôùi Server cô sôû döõ lieäu chöùa treân WinNT Server. Moät soá khaùi nieäm cô baûn: Active X: Laø moät khaùi nieäm gaén lieàn vôùi caùc ñoái töôïng trong chöông trình duøng giao tieáp vôùi nhau. Noù khoâng phaûi laø moät saûn phaåm, cuõng khoâng phaûi laø moät kyõ thuaät. Ñieàu khieån Active X : Laø moät thaønh phaàn thöôøng coù giao dieän (nhöng khoâng phaûi toaøn boä caùc thaønh phaàn ñeàu coù). Thaønh phaàn löôùi CSDL (DB Grid) ñöôïc cung caáp bôûi Visual Basic laø thaønh phaàn Active X. Aán baûn Profession vaø Enterprise coù voâ soá thaønh phaàn nhö theá. Active X Server: Coøn goïi laø thaønh phaàn maõ hoaù Active X. Active X Server laø moät thaønh phaàn ñöa ra moät hay nhieàu lôùp chöùa trong moät khoái ñaõ ñöôïc bieân dòch. Öùng duïng naøy seõ ñöôïc duøng caùc ñoái töôïng sinh ra töø caùc lôùp chöùa trong thaønh phaàn Active X. Ta coù the73 truy caäp khoái bieân dòch naøy thoâng qua kyõ thuaät COM (Component Object Model) Caáu truùc Client/ Server Three-Tier: Khaùi nieäm veà heä thoáng Three-Tier : Thaät ra khaùi nieäm cô baûn cuûa Three-tier Client Server cuõng xuaát hieän nhieàu ngoaøi ñôøi soáng xaõ hoäi coù theå hình dung noù nhö sau: Moät ngöôøi khaùch haøng, moät chöông trình, ñi vaøo quaùn bar. Anh ta ngoài xuoáng moät caùi baøn vaø chôø ñôïi ngöôøi phuïc vuï ñi tôùi. Ngöôøi phuïc vuï hoûi: “ Anh duøng gì?” Ngöôøi khaùch traû lôøi: “ Cho toâi moät ly röôïu loaïi maïnh” Ngöôøi phuïc vuï quay vaøo baøn vaø noùi vôùi Batender: “ Ngöôøi khaùch muoán moät ly Long Island iced tea” Ngöôøi Bartender pha thöùc uoáng theo yeâu caàu vaø chuyeån ly cho ngöôøi phuïc vuï , ngöôøi phuïc vuï mang noù ñeán baøn cuûa ngöôøi khaùch. Ngöôøi khaùch uoáng xong laïi goïi ngöôøi phuïc vuï tôùi vaø noùi “ Toâi muoán 55 ly nöõa” Khoâng do döï ngöôøi phuïc vuï noùi “ Oâng khoâng ñieân ñoù chöù? Hoï seõ baét toâi vì phaïm toäi, moät laàn chæ uoáng 1 ly. Ñoù laø luaät.” Ngöôøi khaùch nhaân nhöôïng vaø giaûm yeâu caàu cuûa mình xuoáng “ OK cho toâi theâm moät nöõa” Ngöôøi phuïc vuï trôû laïi quaày bar vaø yeâu caàu Bartender pha moät ly Long Island iced tea nöõa. Laàn naøy ngöôøi Bartender töø choái “ Chuùng ta ñaõ heát röôïu naøy roài” Ngöôøi phuïc vuï trôû laïi vôùi tay khoâng vaø giaûi thích khoâng theå phuïc vuï ñöôïc. Ngöôøi khaùch rôøi khoûi quaùn bar. Ôû ñaây coù moät soá ñieåm ñaùng löu yù: Ai laø Server ? Ngöôøi phuïc vuï laø server bôûi vì anh ta phuïc vuï khaùch haøng. Ngöôøi Bartender cuõng laø server vì anh ta phuïc vuï cho ngöôøi phuïc vuï. Ai laø Client ? Ngöôøi khaùch laø Client vì anh ta yeâu caàu moät ly röôïu. Ngöôøi phuïc vuï cuõng laø Client ñoái vôùi Bartender. Vaäy vöøa laø Client laãn Server. Laøm sao ñeå phaân bieät giöõa Client vaø Server ? Client thì ñöa ra caùc yeâu caàu coøn server thì thöïc hieän caùc yeâu caàu ñoù. Ôû ñaây coù bao nhieâu ngöôøi lieân quan ? ÔÛ ñaây coù khaùch haøng, ngöôøi phuïc vuï, bartender – 3 ngöôøi (ba caáp – three tier). Löu yù raèng chuùng ta khoâng theå ñeà caäp ñeán nhöõng khaùch haøng khaùc. Ñeå laø moät caáp, moät ngöôøi phaûi laø moät phaàn trong toaøn boä quaù trình töø luùc yeâu caàu ñöôïc ñöa ra cho ñeán khi noù ñöôïc hoaøn taát. Ngöôøi khaùch khoâng giaûi thích laøm theá naøo ñeå coù ly röôïu ñoù, ngöôøi phuïc vuï taïo ra moät yeâu caàu naøo ñoù ñeå bartender laøm theo. Ngöôøi phuïc vuï khoâng caàn hoûi bartender coù neân phuïc vuï cho khaùch 55 ly moät luùc khoâng? Anh ta ñaõ bieát tröôùc quy luaät, töông töï nhö vaäy neáu ngöôøi phuïc vuï yeâu caàu 10 ly thì bartender bieát raèng anh ta ñang coù 10 ngöôøi khaùch. Khoâng coù gì ngaên caûn vieäc mang cuøng moät luùc 55 ly ra cho khaùch haøng. Cuõng nhö khoâng coù gì ngaên caûn bartender cuøng moät luùc 55 ly röôïu. Giôùi haïn ôû ñaây ñöôïc aùp ñaët nhö moät quy luaät kinh doanh (bussiness rule) Cuõng coù theå ruùt ra moät soá ñieàu khaùc nöõa: Server khoâng phaûi laø noâ leä. Ngöôøi phuïc vuï coù theå noùi “ Khoâng, anh khoâng theå coù cuøng moät luùc 55 ly”. Töông töï nhö bartender cuûng coù theå noùi “ Khoâng, chuùng ta ñaõ heát phuï lieäu roái” Trong caùc tröôøng hôïp nhö vaäy, server ñöôïc xem laø Client. Khi ngöôøi khaùch coù yeâu caàu, ngöôøi phuïc vuï khoâng mang caû bar ra, cuõng khoâng cuøng moät luùc mang 5 chai ra ñeå phuïc vuï cho khaùch. Anh ta chæ mang moät ly trong ñoù chöùa ñuùng moät loaïi thöùc uoáng maø oâng khaùch yeâu caàu. Treân khay cuûa mình, anh ta coù theå coù nhieàu ly khaùc nhau nhöng khoâng aûnh höôûng gì ñeán yeâu caàu naøy. Neáu bartender ñang phuïc vuï cho ngöôøi khaùc, khi ngöôøi phuïc vuï tôùi cuõng khoâng sao. Moãi moät giao dòch thì ñoäc laäp, khoâng aûnh höôûng ñeán khaû naêg cuûa heä thoáng trong vieäc phuïc vuï caùc giao dòch khaùc. Xem xeùt nhöõng gaûi thieát sau ñaây: Neáu ngöôøi khaùch haøng ngoài ôû quaày bar thay vì ngoài ôû baøn thì chæ coù 2 ngöôøi lieân quan tôùi giao dòch – client vaø server. Trong tröôøng hôïp naøy maø bartender phaûi bieát raèng anh ta khoâng neân phuïc vuï 55 ly moät luùc cho khaùch, ñaây laø moâ hình Two-tier Client Server. Giaû söû coù 75 ngöôøi khaùch ñang ngoài taïi quaùn bar. Quaù ñoâng ñeå bartender coù theå phuïc vuï ñöôïc. Vaäy neân chaêng coù moät haïn cheá naøo ñoù veà soá löôïng khaùch coù theå phuïc vuï tröïc tieáp töø bar ? Naáu nhaûy vaøo bar vaø töï pha cheá thöùc uoáng cho mình ñoù laø moâ hình heä thoáng One-tier. Khoâng coù gì ñaûm baûo seõ khoâng pha moät ly “ teä” khoâng theå chòu ñöôïc vaø anh ta seõ laøm röôïu ñoå traøn lan ra ngoaøi. So saùnh ba heä thoáng One-Tier, Two-Tier, Three-Tier: One-Tier : Moät chöông trình laøm taát caû moïi vieäc: Heä thoáng One-Tier duøng moät chöông trình laøm heát taát caû moïi vieäc. Hình beân döôùi minh hoaï öùng duïng chaïy treân mainframe. Noù chòu traùch nhieäm veà moïi maët cuûa heä thoáng: giao dieän ngöôøi duøng, chuaàn hoaù ñaàu vaøo, thi haønh luaät kinh doanh, xöû lyù yeâu caàu xuaát nhaäp caùc file döõ lieäu. Chöông trình öùng duïng Giao dieän chuaån hoaù Thi haønh luaät kinh doanh Xöû lyù yeâu caàu Mainframe Database Maïng SNA Ngöôøi duøng treân moät Terminal Ngöôøi duøng treân moät Terminal Ngöôøi duøng treân moät Terminal Ngöôøi duøng treân moät Terminal Ngöôøi duøng treân moät Terminal Heä thoáng One-tier MainFrame Khaùch quan veà heä thoáng One-tier laø heä thoáng file Server töïa PC. Ñaây laø heä thoáng thöôøng gaëp ôû caùc coâng ty nhoû coù ít hôn 10 traïm laøm vieäc treân moät heä thoáng LAN chia seõ caùc database Access hay Foxpro. Caùc thuaät ngöõ one-tier vaø Client Server thì loaïi tröø laãn nhau. Theo ñònh nghóa heä thoáng Client/ Server phaûi coù ít nhaát 2 maùy, moät maùy ñoùng vai troø Client , mayù coøn laïi ñoùng vai troø Server. Nhö vaäy, moâ hình one-tier seõ laøm vieäc raát naëng. Moâ hình Two-Tier : laøm vieäc thoâng minh hôn, bôùt cöïc hôn Heä thoáng Two-Tier döôùi ñaây thaät söï laø moät böôùc tieán tôùi ña xöû lyù. Ñaây laø moâ hình Client/ Server phoå bieán nhaát ngaøy nay, treân lyù thuyeát thì database treân Server khoâng caàn phaûi laø database quan heä. Database treân ñóa Database server DBMS Quan heä Thi haønh luaät kinh doanh Xöû lyù yeâu caàu Maïng Enterprice LAN hay WAN Traïm laøm vieäc Front-End Giao dieän ngöôøi duøng Kieåu döõ lieäu chuaån hoaù Luaät kinh doanh chuaån Traïm laøm vieäc Front-End Giao dieän ngöôøi duøng Kieåu döõ lieäu chuaån hoaù Luaät kinh doanh chuaån Ngöôøi duøng ôû traïm laøm vieäc Ngöôøi duøng ôû traïm laøm vieäc Heä thoáng Two Tier Client/ Server Trong heä thoáng naøy nhieäm vuï cuûa chöông trình öùng duïng ñöôïc phaân chia laøm 2 phaàn. Client öùng duïng front-end, thu nhaäp caùc input cuûa ngöôøi duøng, chuaån hoaù caùc kieåu döõ lieäu (nhö ngaøy thaùng hay soá ñieän thoaïi) vaø chuaån hoaù caùc luaät kinh doanh ñôn giaûn (nhö laø ñôn ñaët haøng naøy coù theå nhaèm vaøo nhöõng loaïi haøng naøo maø coâng ty khoâng coù). Coøn phía Server thì coù traùch nhieäm thi haønh thaät söï caùc luaät kinh doanh. Coù nghóa laø noù hoaït ñoäng thaät söï nhö ngöôøi gaùc coång loaïi boû taát caû nhöõng yeâu caàu coù theå gaây ra nhöõng döõ lieäu sai coù theå löu vaøo database. Moâ hình naøy chieám taûi maïng nheï hôn moâ hình One-Tier. Client khoâng caàn Server chuyeån cho mình moät khoái löôïng lôùn hôn caùc file döõ lieäu qua maïng. Ví duï Client chæ caàn chuyeån qua maïng bôûi chuoåi text theo tieu chuaån ASCII moâ taû nhöõng gì noù caàn xem (query) vaø nhöõng gì phaûi thay ñoåi trong döõ lieäu (transaction). Trong thöïc teá taát caû nhöõng yeâu caàu ñöôïc vieát baèng moät ngoân ngöõ goïi laø Structure Query Language (SQL). Chuoãi kyù töï ñoù seõ ñöôïc dieãn dòch taïi Server bôûi moät heä thoáng CSDL quan heä nhö laø : Oracle, Sysbase, Informix hay Microsoft SQL Server. Trong hình veõ treân, luaät kinh doanh xuaát hieän ôû caû hai nôi Client vaø Server. Nhöõng chuaån hoaù ñôn giaûn seõ ñöôïc thöïc hieän ôû Client coøn server thì thi haønh chuùng thöïc söï,. Söï baát lôïi ôû ñaây laø khi ta thay ñoåi luaät thì phaûi laøm ôû caû hai nôi. Coù nhieàu nguyeân nhaân ñeå ñaët luaät kinh doanh ôû hai nôi nhö treân. Thöù nhaát server coù theå ôû raát xa trong LAN, ñieàu naøy baét buoäc server phaûi chuaån hoaù taát caû caùc luaät ñeå ñaûm baûo thoáng nhaát döõ lieäu seõ laøm chaäm öùng duïng ñi raát nhieàu. Thöù hai, giao dieän vôùi ngöôøi duøng ñöôïc thieát keá ñeå laáy ñöôïc nhöõng thuaän lôïi cuûa kinh doanh. Ví duï caùc yeâu caàu coù theå ñöôïc thöïc hieän baèng caùc listbox keùo xuoáng thay vì ngöôøi duøng phaûi vaät vaõ vôùi caùc doøng SQL. Bôûi vì trong moâ hình döõ lieäu ñöôïc ruùt ra töø nhu caàu cuûa luaät kinh doanh. Three-Tier : Con ñöôøng daãn tôùi xöû lyù phaân boá : Moät heä thoáng Three-Tier, hay ñoâi khi laø n-tier, laø moät moâ hình ñöôïc bieán ñoåi töø caùc moâ hình tröùôc ñoù. Caùc front-end seõ nhoû goïn hôn. noù seõ chæ chöùa code ñeå thu thaäp döõ lieäu moät caùch saïch seõ vaø hieäu quaû. Luaät kinh doanh seõ ñöôïc dôøi caøng nhieàu caøng toát sang “taàng giöõa” goïi laø taàng dòch vuï hay laø middleware. Taàng coù nhieäm vuï taïo ra caùc giao dòch seõ chuyeån cho caùc Server döõ lieäu. Heä thoáng Tree-Tier coù theå ñöôïc goïi laø n-tier bôûi vì taàng giöõa coù theå phöùc taïp vôùi nhieàu thaønh phaàn töông taùc nhau. Neáu chuùng ta coi moãi thaønh phaàn laø moät taàng thì chuùng ta coù theå leân raát nhieàu taàng. Vì theá moät soá ngöôøi ñaõ goïi moâ hình naøy laø n-tier. Moâ hình two-tier döïa treân caùc caâu leänh SQL ñeå giao tieáp giöõa caùc taàng. Nhöng thaät khoâng may, SQL laø moät ngoân ngöõ thoâng dòch cho neân chuùng ñöôïc kieåm tra cuù phaùp vaø chuaån hoaù tröôùc khi thi haønh. Maëc duø chuùng coù moät öu ñieåm to lôùn laø vieäc göûi caùc yeâu caàu töø moâi tröôøng naøy sang moâi tröôøng khaùc – nhö laø töø moät PC sang heä thoáng UNIX– nhöng noù coù moät soá nhöôïc ñieåm laøm chaäm chöông trình. Cô sôû döõ lieäu treân ñóa Datavase RDBMS Server Xöû lyù yeâu caàu Xuaát nhaäp file döõ lieäu Datavase RDBMS Server Xöû lyù yeâu caàu Xuaát nhaäp file döõ lieäu Server öùng duïng Taàng giöõa (middleware) Thi haønh luaät kinh doanh Maïng LAN hay MAN Traïm laøm vieäc Front-end Giao dieän Traïm laøm vieäc Front-end Giao dieän Ngöôøi duøng ôû traïm laøm vieäc Ngöôøi duøng ôû traïm laøm vieäc Heä thoáng Three-tier Client/ Server Replication Trong nhöõng heä thoáng Three-Tier môùi ñaây, ngöôøi ta vaãn duøng caùc chuoãi text ñeå giao tieáp qua maïng. Ñieàu naøy coù nghóa laø taàng giöõa vaãn chaäm (bôûi vì chuùng phaûi dieãn dòch caùc chuoãi) vaø thuï ñoäng (vì chuùng xöû lyù caùc chuoåi nhö laø nhöõng thöïc teá ñoùng kín di chuyeån töø nôi naøy sang nôi khaùc- gioáng nhö böu ñieän xöû lyù moät laù thö). Vôùi söï phaùt trieån nhanh choùng cuûa Microsoft nhu laø moät caáu hình chuaån cho PC, coäng vôùi söï xuaát hieän cuûa Network OLE thì ñaõ coù moät giao thöùc ñöôïc ñònh nghóa cho söï giao tieáp giöõa caùc öùng duïng thay cho vieäc göûi caùc chuoåi text nhö tröôùc. Ñoù laø remote OLE moät caùnh cöûa môû roäng cho duø hieän thôøi noù chaïy vaãn coøn khaù chaäm nhöng trong töông lai gaàn, hu voïng chuùng ta seõ ñöôïc chöùng kieán nhöõng tieán boä ñaày kòch tính cuûa noù. Moät öu ñieåm to lôùn cuûa moâ hình Three-Tier laø chuùng ta khoâng caàn duøng SQL ñeå maõ hoaù caùc luaät kinh doanh. Trong moâ hình Two-tier caùc luaät kinh doanh naèm ôû caùc server chæ noùi coù moät ngoân ngöõ ñoù laø SQL. Bôûi vì SQL döïa treân neàn cuûa lyù thuyeát taäp hôïp cho neân noù chæ lyù töôûng cho vieäc choïn löïa döõ lieäu töø moät khoái lôùn nhöng duøng noù raát baát tieän cho vieäc moâ taû nhöõng luaät kinh doanh. Caùc luaät kinh doanh döôøng nhö deã moâ taû hôn khi duøng ngoân ngöõ laäp trình nhö VB hay C++ Caùc moâ hình dòch vuï : moïi thöù ñeàu coù vieäc laøm : Ñi töø moâ hình Two-tier sanng moâ hình Three-tier thì döôøng nhö khoâng phaûi laø moät böôùc tieán lôùn chæ caàn theân moät khoái trong moâ hình goïi laø Taàng giöõa. Nhöng thöïc teá trong moâ hình Three-tier khaùi nieäm moãi taàng ñöôïc ñaïi dieän bôûi moät chöông trình bò maát heát yù nghóa. Ñoät nhieân khaùi nieäm xöû lyù phaân boá trôû neân hieän thöïc hôn bao giôø heát. Trong heä thoáng Two-tier Client Server döôøng nhö phaûi ñöôïc phaùt trieån ñoàng thôøi; caùi naøy ñöïôc thieát keá ñeå giao tieáp vôùi caùi kia vaø ngöôïc laïi. Trong nhieàu heä thoáng Two-tier moãi truy xuaát töø moät back-end khoâng thieát keá cho noù ñeàu ñeå laïi caùc loå thuûng veà an ninh. Trong heä thoáng Three-tier, taàng giöõa laø moät taäp hôïp caùc chöông trình cung caáp caùc dòch vuï cho caùc front-end. Vì vaäy, khi noù ñöôïc thieát keá toát thì heä thoáng vöøa deã phaùt trieån vöøa deã baûo ñaûm an ninh. Private Network SQL Server DBMS VB App Löôïc ñoà Client/ Server LAN Protocols LAN Protocols Requests Data Windows 32-bit Client Database Server Ta coù theå chia thaønh phaàn trung gian qua nhieàu maùy. Vì vaäy, caáu truùc 3 taàng khi ñoù trôû thaønh caáu truùc n taàng. Maùy Client Maùy tính trung gian Thaønh phaàn Active X Truy vaán CSDL Cung caáp caùc ñoái töôïng cho Client Caáu truùc Client/ Server n taàng trung gian theå hieän treân moät maùy Maùy Server CSDL III . Trieàn khai Active X DLL töø xa duøng MTS ( Microsoft Transaction Server): Trieån khai 1 thaønh phaàn Active X duøng MTS laø caùch deã nhaát ñeå taïo 1 öùng duïng phaân taùn. MTS chaïy treân WinNT, Win95 vaø Win98 nhöng hieäu quaû nhaát laø laø chaïy treân WinNT. MTS coù trong boä VinNt 5.0 nhöng vôùi Nt4.0 ta phaûi caøi ñaët phieân baûn cuûa MTS duøng Windows Option Pack keøm theo ñóa CD cuûa Visual Basic. Option Pack ñöôïc aùp duïng cho Win95, Win98 khi caøi NT Option Pack treân maùy khoâng phaûi NT ta coù Personal Web Server ñoái vôùi Win95 vaø moät phieân baûn haïn cheá cuûa MTS. Caùch naøy thuaän tieän ví ta coù theå duøng maùy Win95, Win98 ñeå paùht trieån chöông trình thöû nghieäm vaø kieåm nghieäm s._.. Con troû ñöôïc ñöa vaøo TxtMaKhoa. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveAdd – click Duøng löu thoâng tin khoa môùi. Kieåm tra ñieàu kieän roài löu thoâng tin khoa môùi. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdEdit – click Duøng söûa thoângtin khoa. Con troû ñöôïc ñöa vaøo TxtMaMh. Caùc nuùt coù visible baèng giaù trò True CmdSaveEdit CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveEdit – click Duøng löu thoâng tin khoa ñaõ ñöôïc chænh söûa. Kieåm tra ñieàu kieän roài löu thoâng tin khoa vöøa caäp nhaät. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdCopy – click Duøng copy thoâng tin khoa hieän taò ñeå tieát kieäm thôùi gian nhaäp thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin khoa môùi. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdDel – click Duøng xoùa thoâng tin khoa. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. Kieåm tra raøng buoäc, neáu khoa naøy ñaõ coù teân trong danh saùch bi raøng buoäc thì khoâng ñöôïc xoùa. CmdNoSave – click Duøng huûy vieäc theâm môùi hay söûa thoâng tin. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. Form khoùa hoïc Chöùc naêng Xem, caäp nhaät, theâm , söûa, xoùa thoâng tin khoùa hoïc. Quyeàn truy caäp Quaûn trò, ñieàu haønh. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild FrmKh KhoaHoc True Label1 Caption Alignment Maõ khoùa hoïc 0-Left Justify TextBox1 Name Font TabIndex txtMaKh Vni-Times 0 Label 2 Caption Alignment Teân khoùa hoïc 0-Left Justify TextBox2 Name Font TabIndex TxtTenkh Vni-Times 1 Label3 Caption Alignment Ghi chuù 0-Left Justify TextBox3 Name Font TabIndex TxtGhiChu Vni-Times 4 Label4 Caption Alignment Ds khoùa hoïc 0-Left Justify ListView1 Name ListViewKh Label5 Caption Alignment Ds lop 0-Left Justify ListView2 Name ListViewLop Label6 Caption Alignment Ds Sinh vieân 0-Left Justify ListView3 Name ListVieSv Image1 Name MousePointer cmdViewIcon 99-Custom Image2 Name MousePointer cmdViewSmallIcon 99-Custom Image3 Name MousePointer cmdViewList 99-Custom Image4 Name MousePointer cmdViewReport 99-Custom Command0 Name Caption cmdRefresh ReFresh Command1 Name Caption cmdAdd Theâm Command2 Name Caption cmdSaveAdd Löu döõ lieäu Commaneû Name Caption cmdEdit Söûa Command4 Name Caption cmdAddEdit Löu döõ lieäu Command5 Name Caption cmdCopy Cheùp Command6 Name Caption cmdDel Xoùa Command7 Name Caption cmdNoSave Khoâng Löu Command8 Name Caption cmdClose Thoaùt Command9 Name Caption CmdFirst |< Command10 Name Caption cmdPrevious < Command11 Name Caption cmdNext > Command12 Name Caption cmdLast >| Command13 Name Caption cmdGo ... TextBox11 Name Alignment TxtRecCnt 2 - Center Raøng buoäc Phaûi nhaäp döõ lieäu vaøo taát caû caùc textbox. Suï kieän cuûa caùc Control: Form – load CmdSaveAdd.visible=False CmdSaveEdit.visible=False ListViewKh – Shift ListViewKh soå xuoáng cuoái trang, che maát listViewLop, listViewSv. ListViewKh – Ctrl ListViewKh trôû veà bình thöôøng, xuaát hieän laïi listViewLop, listViewSv. ListViewLop – Shift listViewLop lôùn leân, che maát listViewKh, listViewSv. ListViewLop-Ctrl ListViewLop trôû veà bình thöôøng, xuaát hieän laïi listViewKh, listViewSv ListViewSv – Shift listViewSv lôùn leân, che maát listViewKh, listViewLop. ListViewSv-Ctrl ListViewSv trôû veà bình thöôøng, xuaát hieän laïi listViewKh, listViewLop CmdViewIcon – click Hieån thi caùc record trong ListViewKh, listViewCh, listViewCC theo daïng Icon CmdViewSmallIcon – click Hieån thi caùc record trong ListViewKh, listViewCh, listViewCC theo daïng small Icon. CmdViewList – click Hieån thi caùc record trong ListViewKh, listViewLop, listViewSv theo daïng list CmdViewReport – click Hieån thi caùc record trong ListViewKh, listViewLop, listViewSv theo daïng report. ListViewKh – click Hieån thi caùc record trong form theo thoâng tin khoùa hoïc vöøa ñöôïc click vaøo, ñoàng thôøi hieån thò trong listViewLop caùc lôùp thuoäc khoa ñoù. ListViewLop – click Hieån thi caùc sinh vieân trong listviewSv theo maõ lôùp vöøa ñöôïc click vaøo. CmdRefresh - click Caäp nhaät thoâng tin khoùa hoïc taïi thôøi ñieåm nhaán. CmdFirst , CmdPreviuos, CmdNext, CmdLast - click Di chuyeån caùc record. CmdGo – click Di chuyeån ñeán record coù soá thöù töï ghi trongtxtRecCnt. CmdFind – click Di chuyeån ñeán record coù soá MaKh ghi trongtxtRecCnt. CmdPrin – click In Report cuûa khoùa hoïc hieän taïi. CmdAdd - click Duøng theâm khoùa hoïc môùi. Xoaù traéng caùc control nhaäp thoâng tin khoùa hoïc. Con troû ñöôïc ñöa vaøo TxtMaKhoa. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveAdd – click Duøng löu thoâng tin khoùa hoïc môùi. Kieåm tra ñieàu kieän roài löu thoâng tin khoùa hoïc môùi. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdEdit – click Duøng söûa thoângtin khoùa hoïc. Con troû ñöôïc ñöa vaøo TxtMaMh. Caùc nuùt coù visible baèng giaù trò True CmdSaveEdit CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveEdit – click Duøng löu thoâng tin khoùa hoïc ñaõ ñöôïc chænh söûa. Kieåm tra ñieàu kieän roài löu thoâng tin khoùa hoïc vöøa caäp nhaät. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdCopy – click Duøng copy thoâng tin khoùa hoïc hieän taò ñeå tieát kieäm thôùi gian nhaäp thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin khoùa hoïc môùi. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdDel – click Duøng xoùa thoâng tin khoùa hoïc. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. Kieåm tra raøng buoäc, neáu khoùa hoïc naøy ñaõ coù teân trong danh saùch bi raøng buoäc thì khoâng ñöôïc xoùa. CmdNoSave – click Duøng huûy vieäc theâm môùi hay söûa thoâng tin. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. Form kì thi Chöùc naêng Xem, caäp nhaät, theâm , söûa, xoùa thoâng tin kì thi. Quyeàn truy caäp Quaûn trò, ñieàu haønh. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild FrmKt Kì thi True Label1 Caption Alignment Maõ kì thi 0-Left Justify TextBox1 Name Font TabIndex TxtMaKt Vni-Times 0 Label 2 Caption Alignment Teân kì thi 0-Left Justify TextBox2 Name Font TabIndex TxtTenkt Vni-Times 1 Label3 Caption Alignment Ghi chuù 0-Left Justify TextBox3 Name Font TabIndex TxtGhiChu Vni-Times 4 Label4 Caption Alignment Ds kt 0-Left Justify ListView1 Name ListviewKt Label5 Caption Alignment Ds ñôït thi 0-Left Justify ListView2 Name ListViewDt Label6 Caption Alignment Ds baøi thi 0-Left Justify ListView3 Name ListViewBt Image1 Name MousePointer cmdViewIcon 99-Custom Image2 Name MousePointer cmdViewSmallIcon 99-Custom Image3 Name MousePointer cmdViewList 99-Custom Image4 Name MousePointer cmdViewReport 99-Custom Command0 Name Caption cmdRefresh ReFresh Command1 Name Caption cmdAdd Theâm Command2 Name Caption cmdSaveAdd Löu döõ lieäu Command3 Name Caption cmdEdit Söûa Command4 Name Caption cmdAddEdit Löu döõ lieäu Command5 Name Caption cmdCopy Cheùp Command6 Name Caption cmdDel Xoùa Command7 Name Caption cmdNoSave Khoâng Löu Command8 Name Caption cmdClose Thoaùt Command9 Name Caption cmdFirst |< Command10 Name Caption cmdPrevious < Command11 Name Caption cmdNext > Command12 Name Caption cmdLast >| Command13 Name Caption cmdGo ... TextBox11 Name Alignment TxtRecCnt 2 - Center Raøng buoäc Phaûi nhaäp döõ lieäu vaøo taát caû caùc textbox. Suï kieän cuûa caùc Control: Form – load CmdSaveAdd.visible=False CmdSaveEdit.visible=False ListViewKt – Shift ListViewKh soå xuoáng cuoái trang, che maát listViewDt, listViewBt. ListViewKt – Ctrl ListViewKt trôû veà bình thöôøng, xuaát hieän laïi listViewDt, listViewBt. ListViewDt – Shift listViewDt lôùn leân, che maát listViewKt, listViewBv. ListViewDt-Ctrl ListViewDt trôû veà bình thöôøng, xuaát hieän laïi listViewKt, listViewBt ListViewBt – Shift listViewBt lôùn leân, che maát listViewKt, listViewDt. ListViewBt-Ctrl ListViewBt trôû veà bình thöôøng, xuaát hieän laïi listViewKt, listViewDt CmdViewIcon – click Hieån thi caùc record trong ListViewKt, listViewDt, listViewBt theo daïng Icon CmdViewSmallIcon – click Hieån thi caùc record trong ListViewKt, listViewDt, listViewBt theo daïng small Icon. CmdViewList – click Hieån thi caùc record trong ListViewKt, listViewDt, listViewBt theo daïng list CmdViewReport – click Hieån thi caùc record trong ListViewKt, listViewDt, listViewBt theo daïng report. ListViewKt – click Hieån thi caùc record trong form theo thoâng tin ki thi vöøa ñöôïc click vaøo, ñoàng thôøi hieån thò trong listViewDt caùc ñôït thi thuoâc kì thi ñoù. ListViewDt – click Hieån thi caùc baøi thi sinh vieân trong listviewBt theo maõ ñôït thi vöøa ñöôïc click vaøo. CmdRefresh - click Caäp nhaät thoâng tin khoùa hoïc taïi thôøi ñieåm nhaán. CmdFirst , CmdPreviuos, CmdNext, CmdLast - click Di chuyeån caùc record. CmdGo – click Di chuyeån ñeán record coù soá thöù töï ghi trongtxtRecCnt. CmdFind – click Di chuyeån ñeán record coù soá MaKt ghi trongtxtRecCnt. CmdPrin – click In Report cuûa khoùa hoïc hieän taïi. CmdAdd - click Duøng theâm kì thi môùi. Xoaù traéng caùc control nhaäp thoâng tin kì thi. Con troû ñöôïc ñöa vaøo TxtMaKhoa. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveAdd – click Duøng löu thoâng tin kì thi môùi. Kieåm tra ñieàu kieän roài löu thoâng tin kì thi môùi. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdEdit – click Duøng söûa thoângtin kì thi. Con troû ñöôïc ñöa vaøo TxtMaKt. Caùc nuùt coù visible baèng giaù trò True CmdSaveEdit CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveEdit – click Duøng löu thoâng tin kì thi ñaõ ñöôïc chænh söûa. Kieåm tra ñieàu kieän roài löu thoâng tin kì thi vöøa caäp nhaät. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdCopy – click Duøng copy thoâng tin kì thi hieän taò ñeå tieát kieäm thôùi gian nhaäp thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin kì thi môùi. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdDel – click Duøng xoùa thoâng tin kì thi. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. Kieåm tra raøng buoäc, neáu khoùa hoïc naøy ñaõ coù teân trong danh saùch bi raøng buoäc thì khoâng ñöôïc xoùa. CmdNoSave – click Duøng huûy vieäc theâm môùi hay söûa thoâng tin. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. Form caâu hoûi Chöùc naêng Xem, caäp nhaät, theâm , söûa, xoùa thoâng tin caâu hoûi. Quyeàn truy caäp Quaûn trò, ñieàu haønh. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild FrmCauHoi Caâu hoûi True Label1 Caption Alignment Maõ caâu hoûi 0-Left Justify TextBox1 Name Font TabIndex txtMaCH Vni-Times 0 Label 2 Caption Alignment Noâi dung caâu hoûi vaø tra lôøi 0-Left Justify TextBox2 Name Font TabIndex TxtNoiDung CH Vni-Times 1 Label3 Caption Alignment A 0-Left Justify TextBox3 Name Font TabIndex TxtCau(0) Vni-Times 3 Option1 Name Caption Alignment Option(0) 0-Left Justify Label4 Caption Alignment B 0-Left Justify TextBox3 Name Font TabIndex TxtCau(1) Vni-Times 4 Option2 Name Caption Alignment Option(1) 0-Left Justify Label5 Caption Alignment C 0-Left Justify TextBox4 Name Font TabIndex TxtCau(2) Vni-Times 5 Option3 Name Caption Alignment Option(2) 0-Left Justify Label6 Caption Alignment D 0-Left Justify TextBox5 Name Font TabIndex TxtCau(3) Vni-Times 6 Option14 Name Caption Alignment Option(3) 0-Left Justify Label7 Caption Alignment E 0-Left Justify TextBox6 Name Font TabIndex TxtCau(4) Vni-Times 7 Option5 Name Caption Alignment Option(4) 0-Left Justify Label8 Caption Alignment F 0-Left Justify TextBox7 Name Font TabIndex TxtCau(5) Vni-Times 8 Option6 Name Caption Alignment Option(5) 0-Left Justify Checkbox1 Name Caption chkDeKho Ñaây laø caâu hoûi khoù Checkbox2 Name Caption chkKhongSD Khoâng coøn ñöôïc söû duïng Label9 Caption Alignment Thuoâc moân hoïc 0-Left Justify ComboBox1 Name Font TabIndex TxtMaMH Vni-Times 4 TextBox8 Name Font TabIndex TxtTenMH Vni-Times 9 Label10 Caption Alignment Giaùo vieân soaïn 0-Left Justify ComboBox2 Name Font TabIndex TxtMGV Vni-Times 10 TextBox9 Name Font TabIndex TxtTenMGV Vni-Times 11 Label11 Caption Alignment Hinh 0-Left Justify Image Name Hinh Label12 Name Alignment GhiChu 0-Left Justify TextBox10 Name Font TabIndex TxtGhiChu Vni-Times 12 Command0 Name Caption cmdRefresh ReFresh Command1 Name Caption cmdAdd Theâm Command2 Name Caption cmdSaveAdd Löu döõ lieäu Command3 Name Caption cmdEdit Söûa Command4 Name Caption cmdAddEdit Löu döõ lieäu Command5 Name Caption cmdDel Xoùa Command6 Name Caption cmdNoSave Khoâng Löu Command7 Name Caption cmdClose Thoaùt Raøng buoäc Phaûi nhaäp ñaày ñuû caùc thoâng tin yeâu caàu. Suï kieän cuûa caùc Control: Form – load CmdSaveAdd.visible=False CmdSaveEdit.visible=False CmbMaMH – click Hieån thi caùc caâu hoûi trong listviewCH theo teân moân hoïc vöøa ñöôïc choïn. CmdGo – click Hieån thi caùc caâu hoûi trong listviewCH theo teân moân hoïc vaø teân giaùo vieân soaïn caâu hoûi ñoù. CmdHinh – click Töông töï nhö ñoái töôïng hình trong frmSv, duøng ñeå caäp nhaät hình aønh minh hoaï cho caâu hoûi. CmdFind – click Di chuyeån ñeán record coù soá MaCH ghi trongtxtRecCnt. CmdPrin – click In noâi dung caâu hoûi hieän taïi. ListViewCh – click Hieån thi caùc record trong form theo thoâng tin caâu hoûi vöøa ñöôïc click vaøo. CmdRefresh - click Caäp nhaät thoâng tin caâu hoûi taïi thôøi ñieåm nhaán. CmdFirst , CmdPreviuos, CmdNext, CmdLast - click Di chuyeån caùc record. CmdGo – click Di chuyeån ñeán record coù soá thöù töï ghi trongtxtRecCnt. CmdFind – click Di chuyeån ñeán record coù soá MaCh ghi trongtxtRecCnt. CmdPrin – click In Report cuûa caâu hoûi hieän taïi. CmdAdd - click Duøng theâm caâu hoûi môùi. Xoaù traéng caùc control nhaäp thoâng tin. Con troû ñöôïc ñöa vaøo TxtMaCH. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveAdd – click Duøng löu thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin caâu hoûi môùi. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdEdit – click Duøng söûa thoângtin. Con troû ñöôïc ñöa vaøo TxtMaKt. Caùc nuùt coù visible baèng giaù trò True CmdSaveEdit CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveEdit – click Duøng löu thoâng tin caâu hoûi ñaõ ñöôïc chænh söûa. Kieåm tra ñieàu kieän roài löu thoâng tin caâu hoûi vöøa caäp nhaät. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdCopy – click Duøng copy thoâng tin caâu hoûi hieän taò ñeå tieát kieäm thôùi gian nhaäp thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin caâu hoûi môùi. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdDel – click Duøng xoùa thoâng tin caâu hoûi. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. Kieåm tra raøng buoäc, neáu khoùa hoïc naøy ñaõ coù teân trong danh saùch bi raøng buoäc thì khoâng ñöôïc xoùa. CmdNoSave – click Duøng huûy vieäc theâm môùi hay söûa thoâng tin. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. Form ñôït thi Chöùc naêng Xem, caäp nhaät, theâm , söûa, xoùa thoâng tin ñôït thi. Ñoàng thôøi caäp nhaät sinh vieân vaøo ñôït thi. Quyeàn truy caäp Quaûn trò, ñieàu haønh. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild FrmDt Ñôït thi True Label1 Caption Alignment Maõ ñôït thi 0-Left Justify Name Font TabIndex txtMaDt Vni-Times 0 Label 2 Caption Alignment Teân ñôït thi 0-Left Justify TextBox2 Name Font TabIndex TxtTenDt Vni-Times 1 Label3 Caption Alignment Ki thi 0-Left Justify Combo1 Name Font TabIndex TxtMaKt Vni-Times 3 TextBox3 Name Font TabIndex TxtTenKt Vni-Times 3 Label4 Caption Alignment Khoa hoc 0-Left Justify Combo2 Name Font TabIndex TxtMaKh Vni-Times 3 TextBox4 Name Font TabIndex TxtTenKh Vni-Times 3 Label5 Caption Alignment Khoa 0-Left Justify Combo3 Name Font TabIndex TxtMaKhoa Vni-Times 3 TextBox5 Name Font TabIndex TxtTenKhoa Vni-Times 3 Label7 Caption Alignment Moân thi 0-Left Justify Combo4 Name Font TabIndex TxtMaMH Vni-Times 3 TextBox6 Name Font TabIndex TxtTenMH Vni-Times 3 Label8 Caption Alignment Ngay thi 0-Left Justify TextBox7 Name Font TabIndex TxtNgayThi Vni-Times 7 Label9 Caption Alignment Soá phuùt 0-Left Justify TextBox8 Name Font TabIndex TxtSoPhut Vni-Times 7 Label10 Caption Alignment Soù caâu hoûi 0-Left Justify TextBox9 Name Font TabIndex TxtSoCH Vni-Times 7 Label11 Caption Alignment % caâu khoù 0-Left Justify TextBox10 Name Font TabIndex TxtPtCauKho Vni-Times 7 Checkbox1 Name Caption Alignment ChkKetThuc Ñôït thi naøt ñaõ keát thuùc 0-Left Justify Label12 Caption Alignment Ghi Chuù 0-Left Justify TextBox11 Name Font TabIndex TxtghiChu Vni-Times 11 Label13 Name Alignment Danh saùch ñôït thi 0-Left Justify Listview1 Name ListViewDT Label14 Name Alignment Danh saùch baøi thi 0-Left Justify Listview2 Name ListViewBT Command0 Name Caption cmdRefresh ReFresh Command1 Name Caption cmdAdd Theâm Command2 Name Caption cmdSaveAdd Löu döõ lieäu Command3 Name Caption cmdEdit Söûa Command4 Name Caption cmdAddEdit Löu döõ lieäu Command5 Name Caption cmdCopy Cheùp Command6 Name Caption cmdDel Xoùa Command7 Name Caption cmdNoSave Khoâng Löu Command8 Name Caption cmdClose Thoaùt Command9 Name Caption cmdFirst |< Command10 Name Caption cmdPrevious < Command11 Name Caption cmdNext > Command12 Name Caption cmdLast > Command13 Name Caption cmdGo ... TextBox11 Name Alignment TxtRecCnt 2 - Center Image1 Name MousePointer cmdViewIcon 99-Custom Image2 Name MousePointer cmdViewSmallIcon 99-Custom Image3 Name MousePointer cmdViewList 99-Custom Image4 Name MousePointer cmdViewReport 99-Custom Command14 Name Caption cmdXepThi Xeáp thi Command14 Name Caption cmdThiLai Thi laïi Raøng buoäc Phaûi nhaäp ñaày ñuû döõ lieäu vaøo caùc textbox Döõ lieäu nhaäp vaøo txtSoPhut, txtSoCauHoi, txtPTCauKho phaûi laø kieåu soá. Ngaøy cuaø ñôït thi laàn 2 phaûi lôùn hôn ñôït thi laàn 1. Khoâng theå taïo ñôït thi laàn 2 neáu chöa coù ñôït thi laàn 1. Khoâng theå theâm sinh vieân vaøo ñôït thi khi ñôït thi ñaõ keát thuùc. Khoâng theå toå chöùc thi laàn 2 neáu chöa coù laàn 1. Khoâng theå xoaù ñôït thi laàn 1 neáu ñaõ coù ñôït thi laàn 2. Suï kieän cuûa caùc Control: Form – load CmdSaveAdd.visible=False CmdSaveEdit.visible=False CmbMaMH – click Hieån thi caùc ñôït thi trong listviewCH theo teân moân hoïc vöøa ñöôïc choïn. CmdHinh – click Töông töï nhö ñoái töôïng hình trong frmSv, duøng ñeå caäp nhaät hình aønh minh hoaï cho ñôït thi. CmdFind – click Di chuyeån ñeán record coù soá MaDt ghi trongtxtRecCnt. CmdPrin – click In noâi dung ñôït thi hieän taïi. ListViewCh – click Hieån thi caùc record trong form theo thoâng tin ñôït thi vöøa ñöôïc click vaøo. CmdRefresh - click Caäp nhaät thoâng tin ñôït thi taïi thôøi ñieåm nhaán. CmdFirst , CmdPreviuos, CmdNext, CmdLast - click Di chuyeån caùc record. CmdGo – click Di chuyeån ñeán record coù soá thöù töï ghi trongtxtRecCnt. CmdXepThi – click Hieån thi formXep Thi Duøng theâm sinh vieân baát kì vaøo ñôït thi. Khoâng theå theâm sinh vieân vaøo ñôït thi khi ñôït thi ñaõ keát thuùc. CmdThiLai – click Hieån thi formXep Thi Lai Duøng theâm sinh vieân thi laïi vaøo ñôït thi ( chæ hieån thi nhöõng sinh vieân thi rôùt hay chöa thi ôû laàn thi tröôùc). Khoâng theå duøng chöùc naêng naøy khi dang o lan thi 1. CmdFind – click Di chuyeån ñeán record coù soá MaDt ghi trongtxtRecCnt. CmdPrin – click In Report cuûa ñôït thi hieän taïi. CmdAdd - click Duøng theâm ñôït thi môùi. Xoaù traéng caùc control nhaäp thoâng tin. Con troû ñöôïc ñöa vaøo TxtMaDt Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveAdd – click Duøng löu thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin ñôït thi môùi. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdEdit – click Duøng söûa thoângtin. Con troû ñöôïc ñöa vaøo TxtMaKt. Caùc nuùt coù visible baèng giaù trò True CmdSaveEdit CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdSaveEdit – click Duøng löu thoâng tin ñôït thi ñaõ ñöôïc chænh söûa. Kieåm tra ñieàu kieän roài löu thoâng tin ñôït thi vöøa caäp nhaät. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. CmdCopy – click Duøng copy thoâng tin ñôït thi hieän taò ñeå tieát kieäm thôùi gian nhaäp thoâng tin môùi. Kieåm tra ñieàu kieän roài löu thoâng tin ñôït thi môùi. Caùc nuùt coù visible baèng giaù trò True CmdSaveAdd CmdNoSave CmdClose Caùc nuùt coøn laïi coù visible baèng giaù trò False. CmdDel – click Duøng xoùa thoâng tin ñôït thi. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. Kieåm tra raøng buoäc, neáu ñôït thi naøy ñaõ coù teân trong danh saùch bi raøng buoäc thì khoâng ñöôïc xoùa. CmdNoSave – click Duøng huûy vieäc theâm môùi hay söûa thoâng tin. Caùc nuùt coù visible baèng giaù trò False CmdSaveAdd CmdNoSave Caùc nuùt coøn laïi coù visible baèng giaù trò True. Form xem danh saùch baøi thi Chöùc naêng Xem, xoùa baøi thi sinh vieân Quyeàn truy caäp Quaûn trò, ñieàu haønh. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild frmXemDsBaiThi Xem danh saùch baøi thi True Label1 Caption Alignment Maõ sinh vieân 0-Left Justify TextBox1 Name Font txtMaSv Vni-Times Label 2 Caption Alignment Hoï teân 0-Left Justify TextBox2 Name Font TxtHoTen Vni-Times Label3 Caption Alignment Thuoäc lôùp 0-Left Justify TextBox3 Name Font TxtTenLop Vni-Times Label4 Caption Alignment Maõ baøi thi 0-Left Justify TextBox4 Name Font TxtMaBt Vni-Times Label5 Caption Alignment Maõ ñôït thi 0-Left Justify TextBox5 Name Font TxtMaDt Vni-Times Label6 Caption Alignment Moân thi 0-Left Justify TextBox6 Name Font TxtMaMt Vni-Times Label7 Caption Alignment Soá caâu ñuùng 0-Left Justify TextBox7 Name Font TxtSoCauDung Vni-Times Label8 Caption Alignment Keát quaû baøi thi 0-Left Justify TextBox8 Name Font TxtKetQua Vni-Times ListView1 Name ListViewBT Label9 Caption Alignment Maõ caâu hoûi 0-Left Justify TextBox8 Name Font TxtMaCH Vni-Times Label10 Caption Alignment Noâi dung caâu hoûi 0-Left Justify TextBox9 Name Font TxtNoiDungCH Vni-Times Label11 Caption Alignment Danh saùch nhöõng caâu hoûi vaø traû lôùi cuûa sinh vieân 0-Left Justify ListView2 Name ListViewCC ListView3 Name ListViewCH TextBox10 Name Font TxtRecCnt Vni-Times Command1 Name Caption cmdPrevious << Command2 Name Caption cmdNext >> Command3 Name Caption cmdGo ... Command4 Name Caption cmdFind Tìm Command5 Name Caption cmdDel Xoùa Command6 Name Caption cmdClose Thoaùt Suï kieän cuûa caùc Control: ListViewCh – click Hieån thi caùc record theo maõ caâu hoûi vöøa choïn. CmdFind – click Di chuyeån ñeán record coù soá MaDt ghi trongtxtRecCnt. CmdGo – click Di chuyeån ñeán record coù soá thöù töï ghi trongtxtRecCnt. CmdFind – click Di chuyeån ñeán record coù soá MaBt ghi trongtxtRecCnt. CmdDel – click Duøng xoùa thoâng tin baøi thi. Chöông trình hieän caâu thoâng baùo coù thöïc söï muoán xoùa maåu tin naøy khoâng. CmdClose - click Thoaùt khoûi chöông trình. Form laøm baøi thi löôùi Chöùc naêng Sinh vieân laøm baøi thi. Tröôùc ñoù sinh vieân phaûi login vaøo baøi thi baèng form LoginBT. Ghi chuù : Maõ laøm baøi seõ ñöôïc bieát vaøo luùc laøm baøi thi. Quyeàn truy caäp Sinh vieân. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name MDIChild FrmLamBaiThiLuoi True Label1 Caption Alignment Maõ sinhvieân 0-Left Justify TextBox1 Name Font TabIndex txtMaSv Vni-Times 0 Label 2 Caption Alignment Hoï teân 0-Left Justify TextBox2 Name Font TxtHoTen Vni-Times Label3 Caption Alignment Ma bai thi 0-Left Justify TextBox3 Name Font TxtMaBt Vni-Times Label4 Caption Alignment Moân thi 0-Left Justify TextBox4 Name Font TxtMaMt Vni-Times Label5 Caption Alignment Soá phuùt 0-Left Justify TextBox4 Name Font TxtSoPhut Vni-Times Label6 Caption Alignment Soá caâu hoûi 0-Left Justify TextBox5 Name Font TxtSoCauHoi Vni-Times Frame1 Name Font TabIndex Frame(0) Vni-Times 3 Frame2 Name Font Frame(1) Vni-Times Frame3 Name Font Frame(2) Vni-Times Frame4 Name Font Frame(3) Vni-Times Frame5 Name Font Frame(4) Vni-Times Frame6 Name Font Frame(5) Vni-Times Frame7 Name Font FrameBT Vni-Times Label7 Name Alignment LblCauSo(0) 0-Left Justify TextBox6 Name Font TxtNoiDungCH(0) ---- TxtNoiDungCH(5) Vni-Times Option1 Name Option(0) --- Option(5) TextBox7 Name Font TxtCau0(0) --- TxtCau0(5) Vni-Times TextBox8 Name Font TxtCau1(0) --- TxtCau1(5) Vni-Times TextBox9 Name Font TxtCau2(0) --- TxtCau2(5) Vni-Times TextBox10 Name Font TxtCau3(0) --- TxtCau3(5) Vni-Times TextBox11 Name Font TxtCau4(0) --- TxtCau4(5) Vni-Times TextBox12 Name Font TxtCau5(0) --- TxtCau5(5) Vni-Times Image1 Name Hinh(0) --- Hinh(5) Command1 Name Caption cmdPrev Trang tröôùc Command2 Name Caption cmdNext Trang sau Command3 Name Caption cmdClose Thoaùt Suï kieän cuûa caùc Control: Form – load Taûi caùc caâu hoûi veà löu vaøo maùy. CmdPrev – click Di chuyeån ñeán trang sau cuûa baøi thi. CmdNext – click Di chuyeån ñeán trang tröôùc cuûa baøi thi CmdClose – click Xuaát hieän caâu thoâng baùo xem thí sinh coù thaät söï muoán thoaùt khoûi chöông trình naøy khoâng. Hieån thi keát quaû cuûa baøi thi. Ngaoøi ra khi heát giôø laøm baøi thì chöông trình cuõng töï ñoäng cho ngöng laøm baøi, löu laïi roài hieån thi keát quaû baøi thi. Ghi chuù Gæa söû trong luùc sinh vieân ñang laøm baøi thi nhöng bò cuùp ñieän hay chöông trình bò loåi, ngaét ñoät ngoät thì chöông trìnbh seõ caäp nhaät baøi thi ñoù laø ñang thi. Sau khi sinh vieân keát thuùc baøi thi cuûa mình seõ hieän baûng thoâng baùo ngay keát quaû, soá caâu laøm ñöôïc, ñaäu hay rôùt. Form ñieàu haønh ngöôøi quaûn trò Chöùc naêng Hieån thò, thoáng keâ nhöõng ngöôøi ñang online Quyeàn truy caäp Ngöôùi ñieàu haønh, ngöôøi quaûn trò. Danh saùch caùc ñieàu khieån Object Properties Setting Form Name Caption MDIChild frmOnline Online True Label1 Caption Alignment Danh saùch ngöõng ngöôøi ñang söû duïng chöông trình. 0-Left Justify Label 2 Caption Alignment Chöông trình caäp nhaät danh saùch naøy moãi ½ phuùt 0-Left Justify Label3 Caption Alignment Danh saùch quaûn trò 0-Left Justify ListView1 Name Font ListViewQt Vni-Times Label4 Caption Alignment Danh saùch giaùo vieân 0-Left Justify ListView2 Name Font ListViewGv Vni-Times Label5 Caption Alignment Danh saùch sinh vieân 0-Left Justify ListView3 Name Font ListViewSv Vni-Times ._.

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

  • docluanvantotnghiep_text.doc
  • docDFD.DOC
  • docmucluc.doc
  • docSoDoThucThe.doc
  • mdfTracNghiem_Data.MDF
  • ldfTracNghiem_Log.LDF