Đề tài Xây dựng hệ thống thông tin quản lý xuất nhập hàng tại công ty công nghiệp chế biến thực phẩm quốc tế chi nhánh Nha Trang

Tài liệu Đề tài Xây dựng hệ thống thông tin quản lý xuất nhập hàng tại công ty công nghiệp chế biến thực phẩm quốc tế chi nhánh Nha Trang: Lời nói đầu Ngày nay cùng với sự phát triển nhanh chóng của Công nghệ thông tin và việc ứng dụng nó vào thực tế của các ngành kinh tế và đời sống đem lại những lợi ích vô cùng to lớn. Có thể nói rằng kỹ nguyên của chúng ta là kỹ nguyên của công nghệ thông tin. Trong đó Bưu Điện, Ngân Hàng, Kinh Doanh là những ngành phát triển các ứng dụng công nghệ tin học hàng đầu. Nhưng thực tế tại CÔNG TY CÔNG NGHIỆP CHẾ BIẾN THỰC PHẨM QUỐC TẾ chi nhánh Nha Trang chưa hoàn toàn tin học hoá trong quản lý kinh doanh. Quản lý xuất nhập hàng hoá là một trong các công tác hoạt động chính của công ty, hiện tại đang cần một hệ thống quản lý mới phù hợp hơn bởi vì hầu hết các chương trình quản ly được xây dựng trên môi trường ACCESS và Pocro nên vẫn còn nhiều hạn chế và chưa đáp ứng được với nhu cầu thực tế. Qua thời gian tiếp xúc với CÔNG TY CÔNG NGHIỆP CHẾ B...

doc67 trang | Chia sẻ: hunglv | Lượt xem: 1587 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Xây dựng hệ thống thông tin quản lý xuất nhập hàng tại công ty công nghiệp chế biến thực phẩm quốc tế chi nhánh Nha Trang, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lôøi noùi ñaàu Ngaøy nay cuøng vôùi söï phaùt trieån nhanh choùng cuûa Coâng ngheä thoâng tin vaø vieäc öùng duïng noù vaøo thöïc teá cuûa caùc ngaønh kinh teá vaø ñôøi soáng ñem laïi nhöõng lôïi ích voâ cuøng to lôùn. Coù theå noùi raèng kyõ nguyeân cuûa chuùng ta laø kyõ nguyeân cuûa coâng ngheä thoâng tin. Trong ñoù Böu Ñieän, Ngaân Haøng, Kinh Doanh laø nhöõng ngaønh phaùt trieån caùc öùng duïng coâng ngheä tin hoïc haøng ñaàu. Nhöng thöïc teá taïi COÂNG TY COÂNG NGHIEÄP CHEÁ BIEÁN THÖÏC PHAÅM QUOÁC TEÁ chi nhaùnh Nha Trang chöa hoaøn toaøn tin hoïc hoaù trong quaûn lyù kinh doanh. Quaûn lyù xuaát nhaäp haøng hoaù laø moät trong caùc coâng taùc hoaït ñoäng chính cuûa coâng ty, hieän taïi ñang caàn moät heä thoáng quaûn lyù môùi phuø hôïp hôn bôûi vì haàu heát caùc chöông trình quaûn ly ñöôïc xaây döïng treân moâi tröôøng ACCESS vaø Pocro neân vaãn coøn nhieàu haïn cheá vaø chöa ñaùp öùng ñöôïc vôùi nhu caàu thöïc teá. Qua thôøi gian tieáp xuùc vôùi COÂNG TY COÂNG NGHIEÄP CHEÁ BEÁN THÖÏC PHAÅM QUOÁC TEÁ chi nhaùnh Nha Trang toâi ñöôïc caùc coâ chuù vaø anh chò trong coâng ty gôïi yù vaø giuùp ñôõ, toâi ñaõ quyeát ñònh choïn ñeà taøi “Xaây döïng heä thoáng thoâng tin quaûn lyù xuaát nhaäp haøng” laøm ñeà taøi thöïc taäp toát nghieäp cuûa mình. Vôùi ñeà taøi naøy toâi chia thaønh 5 chöông nhö sau: Chöông I : Khaûo saùt & phaân tích hieän traïng Chöông II : Giôùi thieäu caùc coâng ngheä lieân quan Chöông III : Phaân tích vaø thieát keá heä thoáng Chöông IV: Xaây döïng chöông trình Chöông V: Ñaùnh giaù heä thoáng Do thôøi gian haïn cheá vaø kieán thöùc coùn haïn heïp neân trong ñeà taøi naøy khoâng theå traùnh khoûi nhöõng thieáu soùt. Kính mong quyù thaày coâ giaùo vaø caùc baïn sinh vieân ñoùng gôùp yù kieán ñeå cho ñeà taøi naøy ngaøy caøng hoaøn thieän hôn. Nhaân ñaây em xin chaân thaønh caûm ôn coâ Buøi Thò Hoaø– GV boä moân Coâng Ngheä Phaàn Meàm – khoa Coâng Ngheä Thoâng Tin tröôøng ÑHBK Haø Noäi ñaõ taän tình höôùng daãn em trong quaù trình thöïc hieän ñeà taøi thöïc taäp toát nghieäp naøy. Haø Noäi 7 – 2003 Sinh vieân thöïc hieän: Ñinh Troïng Vinh MUÏC LUÏC LÔØI NOÙI ÑAÀU …………………………………………………………..…… 1 MUÏC LUÏC …………………………………………………………………… 2 Chöông 1: KHAÛO SAÙT VAØ PHAÂN TÍCH HIEÄN TRAÏNG ………………… 3 I. Giôùi thieäu veà Coâng ty………………………………………………… 3 II. Phaân tích hieän traïng …………………………………………………… 4 Chöông 2: PHAÂN TÍCH VAØ THIEÁT KEÁ HEÄ THOÁNG …………………… 8 I. Moâ hình quan nieäm döõ lieäu …………………………………………… 8 II. Moâ hình toå chöùc döõ lieäu ……………………………………………… 8 III. Moâ hình vaät lyù döõ lieäu ………………………………………………… 9 IV. Moâ hình thoâng löôïng ………………………………………………… 14 V. Moâ hình quan nieäm xöû lyù ………………………………………………16 VI. Moâ hình toå chöùc xöû lyù ……………………………………………… 18 VII. Moâ hình vaät lyù xöû lyù ………………………………………………… 22 Chöông 3: GIÔÙI THIEÄU CAÙC COÂNG NGHEÄ LIEÂN QUAN ……………… 23 I. Giôùi thieäu veà Visual Basic 6.0 ………………………………………… 23 II. Laøm vieäc vôùi Microsoft Visual Basic 6.0 …………………………… 24 III. Khaû naêng keát noái vôùi cô sôû döõ lieäu cuûa Visual Basic ………………… 31 Chöông 4: XAÂY DÖÏNG CHÖÔNG TRÌNH ……………………………… 33 I. Phaàn döõ lieäu……………………………………………………………… 33 II. Moät soá giao dieän chính ………………………………………………… 34 III. Moät soá Module chính ………………………………………………… 36 Chöông 5: ÑAÙNH GIAÙ HEÄ THOÁNG …..………………………………… 39 TAØI LIEÄU THAM KHAÛO ………………………………………………… 40 CHÖÔNG I KHAÛO SAÙT VAØ PHAÂN TÍCH HIEÄN TRAÏNG I. KHAÛO SAÙT HIEÄN TRAÏNG 1. Giôùi thieäu toång quaùt Hieän nay, Ngaønh quaûn lyù kinh doanh noùi chung vaø Coâng ty coâng nghieäp cheá bieán thöïc phaåm quoác teá – Chi nhaùnh Nha Trang noùi rieâng, vaán ñeà aùp duïng coâng ngheä tin hoïc ñang ñöôïc ñaët leân haøng ñaàu nhaèm hoaøn chænh hoaù heä thoáng giao dòch vaø quaûn lyù haøng cuûa coâng ty, nhaèm taêng khaû naêng hoaït ñoäng, giaûm bôùt soá löôïng nhaân vieân quaûn lyù, ñaûm baûo ñoä chính xaùc vaø khaû naêng baûo maät, an toaøn döõ lieäu cao. Vì nhöõng lyù do ñoù cho neân vieäc thay theá vaø naâng caáp heä thoáng quaûn lyù kinh doanh môùi ñang laø vaán ñeà caáp baùch cho ngaønh kinh doanh. Coâng ty coâng nghieäp cheá bieán thöïc phaåm quoác teá – Chi nhaùnh Nha Trang hieän nay ñang söû duïng heä thoáng quaûn lyù kinh doanh do toång coâng ty ñöa ra cho caùc chi nhaùnh. Heä thoáng naøy chaïy treân neàn heä heä quaûn trò CSDL Access vaø Foxpro. Heä thoáng treân nhìn chung coù nhieàu öu ñieåm veà tính ñoàng nhaát, chaïy nhanh, kích thöôùc döõ lieäu nhoû vaø khoâng ñoøi hoûi caáu hình cuûa maùy tính cao, caùi maø nhöõng naêm tröôùc ñaây coøn laø vaán ñeà khoù khaên cho ngaønh kinh teá. Nhöng hieän nay vieäc ñaàu tö cô sôû vaät chaát cho heä thoáng thoâng tin quaûn lyù kinh doanh khoâng coøn laø vaán ñeà khoù khaên haøng ñaàu nöõa, maø vaán ñeà ñaët ra laø tính chính xaùc, nhanh, an toaøn vaø ñoä baûo maät cuõng nhö khaû naêng quaûn lyù toaøn dieän ñeå taêng tính caïnh tranh vaø giaûm bôùt nhaân söï ñang laø vaán ñeà môùi cho moïi ngaønh quaûn lyù. Quaûn lyù xuaát/ nhaäp haøng laø moät trong caùc hoaït ñoäng chính cuûa coâng ty. Heä thoáng quaûn lyù haøng hoaù vaø coâng nôï ñöôïc tích hôïp chung trong heä thoáng thoâng tin quaûn lyù kinh doanh cuûa coâng ty. Tuy coù nhöõng tính naêng vaø öu ñieåm nhö ñaõ trình baøy ôû treân nhöng noù cuõng coøn nhieàu haïn cheá nhö chaïy chaäm khi khoái löôïng döõ lieäu lôùn, khaû naêng quaûn lyù khoái löôïng döõ lieäu coøn haïn cheá, khaû naêng baûo maät chöa cao, giao dieän chöa thaân thieän vôùi ngöôøi söû duïng. 2. Hieän traïng quaûn lyù kinh doanh ôû coâng ty Qua quaù trình khaûo saùt vaø tìm hieåu thöïc teá quy trình quaûn lyù kinh doanh ôû Coâng ty, toâi naém ñöôïc moät soá hieän traïng cuûa Coâng ty nhö sau: Coâng ty coâng nghieäp cheá bieán thöïc phaåm quoác teá –Chi nhaùnh Nha Trang laø moät chi nhaùnh cuûa toång Coâng ty ôû Malaysia. Toång Coâng ty chuyeân saûn xuaát caùc maët haøng thöïc phaåm – Caùc loaïi nöôùc traùi ñoùng lon vaø baùnh keïo caùc loaïi(Nöôùc bí, nöôùc yeán, keïo xoáp, …). Chi nhaùnh Nha Trang chòu traùch nhieäm phaân phoái caùc saûn phaåm cuûa toång Coâng ty saûn xuaát cho caùc tænh ôû khu vuïc 8 tænh mieàn trung (Khaùnh Hoaø, Ninh Thuaän, Phuù Yeân, Bình Ñònh, Gia Lai, KonTum, Ñak Lak). 2.1. Sô ñoà hoaït ñoäng kinh doanh cuûa chi nhaùnh Coâng ty TOÅNG COÂNG TY CAÙC CHI NHAÙNH CAÙC SHOP CAÙC ÑAÏI LYÙ CC haøng PP haøng PP haøng Chöùc naêng cuûa töøng thaønh phaàn trong sô ñoà. Toång coâng ty: toång coâng ty chuyeân saûn xuaát caùc maët haøng thöïc phaåm (caùc loaïi nöôùc uoáng ñoùng lon vaø caùc loaïi baùnh keïo) vaø cung caáp caùc saûn phaåm naøy cho caùc chi nhaùnh cuûa coâng ty. Caùc chi nhaùnh cuûa coâng ty chòu traùch nhieäm phaân phoái caùc saûn phaåm tôùi caùc cöûa haøng (Shop) vaø caùc ñaïi lyù. 2.2. Sô ñoà toå chöùc cuûa chi nhaùnh Coâng ty BAN GIAÙM ÑOÁC BOÄ PHAÄN KINH DOANH BOÄ PHAÄN KEÁ TOAÙN BOÄ PHAÄN KHO Vai troø vaø chöùc naêng cuûa caùc boä phaän trong coâng ty laø : Ban Giaùm ñoác chi nhaùnh : Ñieàu haønh hoaït ñoäng Coâng ty. Boä phaän keá toaùn: Keát toaùn soå saùch. Boä phaän kinh doanh : Tìm hieåu thò tröôøng, ñöa ra caùc chieán löôïc kinh doanh, giôùi thieäu saûn phaåm. Boä phaän kho: Löu tröù haøng hoaù vaø baûo quaûn haøng hoùa, baùo caùo tình hình soá löôïng haøng hoaù trong kho. 3. Caùc quy trình quaûn lyù nhö sau a. Quy trình quaûn lyù nhaäp haøng Boä phaän kinh doanh caên cöù vaøo nhu caàu mua haøng cuûa khaùch haøng, soá löôïng haøng hoaù toàn toái thieåu, soá löôïng haøng hoaù toàn toái ña trong kho vaø danh saùch caùc maët haøng hieän coù cuûa toång coâng ty ñeå laäp ñôn ñaët haøng. Trong ñôn ñaët haøng coù ñaày ñuû thoâng tin veà chi nhaùnh coâng ty, danh saùch vaø soá löôïng caùc maët haøng caàn nhaäp veà. Boä phaän kinh doanh seõ trình ñôn ñaët haøng leân ban giaùm ñoác kyù duyeät. Neáu ñôn ñaët haøng ñaõ ñöôïc ban giaùm ñoác kyù duyeät thì boä phaän kinh doanh seõ göûi ñôn ñaët haøng tôùi toång coâng ty. Neáu ñöôïc toång coâng ty chaáp thuaän cung caáp haøng thì boä phaän kinh doanh seõ laäp phieáu nhaäp haøng vaø nhaän haøng ñöa veà kho. Moãi laàn nhaäp haøng ñeàu phaûi laøm moät phieáu nhaäp bao goàm: Thoâng tin ñaày ñuû veà nhaø cung caáp, danh saùch caùc maët haøng, soá löôïng, ngaøy nhaäp, ñôn giaù, ngaøy heïn traû tieàn theo maãu ñaõ ñöôïc in saün. Boä phaän kinh doanh seõ chuyeån phieáu nhaäp haøng vaø phieáu thanh toaùn tôùi boä phaän keá toaùn ñeå thanh toaùn tieàn haøng cho toång coâng ty. Caùch tính toång giaù trò haøng nhaäp: Toång giaù trò = soá löôïng nhaäp * ñôn giaù nhaäp Moãi laàn nhaäp haøng veà thì phaûi tieán haønh caäp nhaät laïi danh muïc haøng hoaù nhö laø theâm maët haøng (neáu ñoù laø maët haøng môùi), caäp nhaät laïi soá löôïng, tính laïi ñôn giaù (baèng phöông phaùp tính ñôn giaù bình quaân gia quyeàn). Trong ñoù: Dgbqck: ñôn giaù bình quaân cuoái kyø. Tgtondk: toång giaù toàn ñaàu kyø. Tgnhaptk: toång giaù nhaäp trong kyø. Sltondk: soá löôïng toàn ñaàu kyø. Slnhaptk: soá löôïng nhaäp trong kyø. b. Quy trình quaûn lyù xuaát haøng Khi moät khaùch haøng caàn mua haøng thì laøm moät ñôn ñaët haøng theo maãu in saün bao goàm : Phaàn ñaàu goàm nhöõng thoâng tin ñaày ñuû veà khaùch haøng, phaàn thöù hai laø danh saùch maët haøng ñaët mua, soá löôïng, ñôn giaù töøng loaïi vaø ngaøy nhaän haøng. Khi ñaët haøng, coù theå khaùch haøng ñaët moät soá tieàn naøo ñoù. Khi mua haøng, khaùch haøng coù theå traû tieàn tröôùc hay heïn traû sau khi nhaän haøng moät soá ngaøy quy ñònh. Ñôn ñaët haøng ñöôïc ñöa ñeán boä phaän kinh doanh ñeå xem xeùt. Neáu khaùch haøng coøn nôï treã haïn quaù moät soá tieàn quy ñònh thì boä phaän kinh doanh töø choái baùn haøng. Neáu haøng toàn kho ñuû thì cung caáp cho khaùch haøng theo ñôn ñaët haøng. Haøng ngaøy boä phaän kinh doanh xem xeùt caùc ñôn ñaët haøng ñoàng thôøi so saùnh toàn kho, ñeå laøm giaáy baùo cho khaùch haøng nhaän haøng, giaáy baùo nôï cho khaùch haøng vaø ñaët haøng cho nhaø cung caáp khi löôïng haøng toàn vöôït döôùi möùc toàn toái thieåu. Moãi laàn xuaát haøng ñeàu phaûi laøm moät phieáu xuaát bao goàm : Thoâng tin ñaáy ñuû veà khaùch haøng, danh saùch maët haøng, soá löôïng, ngaøy nhaäp xuaát, ñôn giaù, ngaøy heïn traû tieàn. Caùch tính toång giaù trò haøng xuaát: Toång giaù trò = soá löôïng xuaát * ñôn giaù xuaát c. Thoáng keâ. Ñònh kyø haøng thaùng phaûi baùo caùo xuaát, nhaäp toàn haøng hoaù trong thaùng theo maãu ñaõ ñònh. Soá löôïng haøng toàn = soá löôïng haøng nhaäp – soá löôïng haøng xuaát Taïi baát kyø thôøi ñieåm naøo, neáu ñöôïc yeâu caàu cuûa ngöôøi coù thaåm quyeàn thì phaûi baùo caùo tình hình haøng hoaù cuûa töøng loaïi, töøng kho, tình hình coâng nôï. 4. Moät soá maãu ñôn töø ñöôïc söû duïng trong quaù trình hoaït ñoäng kinh doanh a. Maãu phieáu ñaët haøng Maãu phieáu ñaët haøng naøy duøng chung cho caû coâng ty ñaët mua haøng vaø khaùch ñaët haøng. COÂNG TY CN CB THÖÏC PHAÅM QUOÁC TEÁ CHI NHAÙNH THAØNH PHOÁ NHA TRANG Ñieän thoaïi: 834223 Fax: 834225 E-mail: PHIEÁU ÑAËT HAØNG (Khoâng coù giaù trò thanh toaùn) INTERFOOD PROCESSING INDUSTRY LTD. NHA TRANG BRANCH Hoï vaø teân khaùch haøng: …………………………………………………… Tel: …………. Ñòa chæ: …………… Ñöôøng: ………………… Phöôøng: ……………… Quaän: ………… MS thueá: …………….. Giao haøng: ……………giôø, ngaøy …… thaùng………naêm……… Ngöôøi nhaän ñaët haøng: ……………………………………………… Ñaët haøng TEL: STT MAËT HAØNG SOÁ LÖÔÏNG ÑÔN GIAÙ THAØNH TIEÀN 1 2 3 4 5 6 7 8 9 10 TOÅNG COÄNG LÖU YÙ: * Phöông thöùc thanh toaùn: Tieàn maët: Traû chaäm: ………………………ngaøy. Traû tieàn phieáu tröôùc môùi nhaän giao haøng phieáu sau. Phaûi kieåm tra soá löôïng, chaát löôïng haøng khi nhaän. Chæ nhaän ñoåi laïi haøng moùp, raùch bao bì, xì nöôùc … Trong voøng 03 ngaøy. * Coâng nôï cuõ cuûa khaùch haøng soá HDD: …………… ngaøy mua haøng ………Trò giaù……… …………………………………………………………………………………………………………………………………………………………………………………………………… Ngaøy ………… thaùng …… naêm …… GÑ DUYEÄT TRÖÔÛNG PHOØNG GIAÙM SAÙT TT NHAÂN VIEÂN TT KD – TT Kieåm tra Ñaët haøng b. Maãu phieáu nhaäp kho Ñôn vò : ………………… Ñòa chæ : ………………… PHIEÁU NHAÄP KHO Soá …… Ngaøy … thaùng …. Naêm ……. Maãu soá : 01 – VT Ban haønh theo QÑ soá : 1141 – TC/QÑ/CÑKT Ngaøy 1 thaùng 11 naêm 1995 Cuûa Boä Taøi Chính - Hoï vaø teân ngöôøi giao haøng: …………………………………………………………… - Theo …………………… soá……………… ngaøy ……… thaùng…………naêm…… Cuûa ……………………………………………………………………………………… Nhaäp taïi kho : …………………………………………………………………………… STT TEÂN, NHAÕN HIEÄU, QUY CAÙCH, PHAÅM CHAÁT VAÄT TÖ (SAÛN PHAÅM, HAØNG HOAÙ) Maõ soá Ñôn vò tính SOÁ LÖÔÏNG Ñôn giaù Thaønh tieàn Theo chöùng töø Thöïc nhaäp A B C D 1 2 3 4 COÄNG x x x x x ngaøy …… thaùng …… naêm …. THUÛ TRÖÔÛNG ÑÔN VÒ NGÖÔØI NHAÄN NGÖÔØI GIAO NGÖÔØI LAÄP PHIEÁU c. Maãu phieáu xuaát kho Ñôn vò : ………………… Ñòa chæ : …...…………… PHIEÁU XUAÁT KHO Ngaøy … thaùng …. Naêm ……. Soá : ………… Nôï:………………………... Coù: …..…………………… Hoï vaø teân ngöôøi nhaän haøng: …………………………………………………………… Ñòa chæ (boä phaän): ……………………………………………………………………… Lyù do xuaát kho: ………………………………………………………………………… Xuaát taïi kho: …………………………………………………………………………… STT TEÂN, NHAÕN HIEÄU, QUY CAÙCH, PHAÅM CHAÁT VAÄT TÖ (Saûn phaåm haøng hoaù) Maõ soá Ñôn vò tính SOÁ LÖÔÏNG Ñôn giaù Thaønh tieàn Yeâu caàu Thöïc xuaát A B C D 1 2 3 4 COÄNG: Toång soá tieàn (Vieát baèng chöõ): ……………………………………………………… Xuaát, ngaøy …… thaùng …… naêm …… Phuï traùch boä phaän Phuï traùch keá toaùn Ngöôøi nhaän Thuû kho d. Maãu phieáu ñeà nghò thanh toaùn Maãu phieáu naøy duøng chung cho caû coâng ty vaø khaùch mua hang. OFFICIAL RECEIPT PHIEÁU THU Date: ……/ …… / ……… CREDIT TAØI KHOAÛN GHI COÙ ………………… RECEIVED FORM M/S Nhaän cuûa ……………………………………………..………………………………….. POST Boä phaän coâng taùc ………………………………………………………………………… BEING Veà khoaûn: ………………………………………………………………………………… ……………………………………………………………………………………………. AMOUNT (IN WORDS) Soá tieàn …………………..………………… ñoàng (baèng chöõ) ………………………….. ……………………………………………………………………………………………. ENCLOSE DOCUMENTS Keøm theo ……………………………………………………. Chöùng töø goác Date: ……../ ………../ ………… THUÛ TRÖÔÛNG ÑÔN VÒ KEÁ TOAÙN TRÖÔÛNG KT THANH TOAÙN THUÛ QUYÕ NGÖÔØI NOÄP MANAGER CHIEF ACCOUNT ACCOUNTANT CASHIER ACKNOWLEDGET BY INTERFOOD PROCESSING INDUSTRY LTD COÂNG TY COÂNG NGHIEÄP CHEÁ BIEÁN THÖÏC PHAÅM QUOÁC TEÁ NHA TRANG BRANCH CHI NHAÙNH TP.NHA TRANG MST: 360024563.1.004.1 No Soá …… Maãu soá 3 - TM II. PHAÂN TÍCH VAØ LAÄP DÖÏ AÙN 1. Phaân tích Qua thöïc teá khaûo saùt, ta caàn quaûn lyù caùc ñoái töôïng chính trong heä thoáng quaûn lyù xuaát nhaäp haøng nhö sau: Khaùch haøng (bao goàm caû nhaø cung caáp vaø khaùch mua hang), Haøng hoaù, Kho. a. Quaûn lyù khaùch haøng: Moïi khaùch haøng cuûa Coâng ty (bao goàm caû nhaø cung caáp vaø khaùch mua haøng) ñeàu ñöôïc Coâng ty quaûn lyù nhöõng thoâng tin chính sau: Hoï khaùch haøng Teân khaùch haøng Teân giao dòch Ñòa chæ Soá ñieän thoaïi Soá fax Soá taøi khoaûn ngaân haøng Trong ñoù ñòa chæ khaùch haøng bao goàm: + Soá nhaø + Ñöôøng + Huyeän + Tænh + Thaønh phoá + Quoác gia b. Quaûn lyù haøng hoaù: Moãi maët haøng ñöôïc quaûn lyù caùc thoâng tin sau: Teân maët haøng Nhoùm haøng Nôi saûn xuaát (haõng saûn xuaát, nöôùc saûn xuaát) Ñôn vò tính Soá löôïng toàn toái thieåu Soá löôïng toàn toái ña c. Quaûn lyù kho: Haøng hoaù ñöôïc caát giöõ taïi nhieàu kho, moãi kho ñöôïc quaûn lyù caùc thoâng tin sau: Teân kho Ñòa chæ kho Ñieän thoaïi kho Soá fax Thuû kho 2. Laäp döï aùn Qua quaù trình khaûo saùt thöïc teá cuõng nhö phaân tích kyõ yeâu caàu thieát yeáu, toâi ñöa ra moâ hình heä thoáng quaûn lyù xuaát nhaäp haøng nhö sau: Caàn thieát nhaát laø heä thoáng phaûi quaûn lyù ñöôïc ñaày ñuû thoâng tin veà khaùch haøng, haøng hoaù, kho, caùc hoaù ñôn chöùng töø, cuõng nhö khaû naêng tính toaùn, choïn loïc thoáng keâ vaø in aán caùc thoâng tin. Phaûi ñaûm baûo ñoä chính xaùc, an toaøn vaø tin caäy cao. 3. Döõ lieäu vaøo, döõ lieäu ra vaø caùc chöùc naêng xöû lyù cuûa heä thoáng Döõ lieäu vaøo: Caùc thoâng tin veà khaùch haøng nhö: hoï vaø teân, teân giao dòch, soá nhaø, ñieän thoaïi, fax, taøi khoaûn ngaân haøng, soá tieàn nôï coù theå. Caùc thoâng tin veà haøng hoaù: teân maët haøng, nhoùm maët haøng, nôi saûn xuaát (haõng saûn xuaát, nöôùc saûn xuaát), ñôn vò tính, soá löôïng toàn toái thieåu, soá löôïng toàn toái ña. Thoâng tin veà kho haøng: teân kho, ñòa chæ, ñieän thoaïi, fax, thuû kho. Döõ lieäu ra: Ñöa ra danh saùch chi tieát veà khaùch haøng Danh saùch chi tieát veà caùc maët haøng Danh saùch chi tieát veà caùc kho haøng In ra danh saùch caùc ñôn ñaët haøng. In ra danh saùch caùc phieáu xuaát/ nhaäp haøng. In ra caùc phieáu thanh toaùn. Thoáng keâ toång soá löôïng haøng nhaäp, toång soá löôïng haøng xuaát trong kyø vaø soá löôïng haøng toàn ton cuoái kyø. Cho pheùp xuaát döõ lieäu ra maùy in hoaëc maøn hình töøng haïn muïc yeâu caàu. In aán caùc hoaù ñôn chöùng töø. Chöùc naêng trung taâm: Xöû lyù, löu tröõ ñôn ñaët haøng, phieáu xuaát nhaäp haøng, phieáu thanh toaùn vaø tính toaùn giaù trò haøng hoaù. Löu tröõ vaø baûo maät döõ lieäu quaûn lyù hoaù ñôn chöùng töø lieân quan ñeán vieäc xuaát/ nhaäp haøng, haøng hoaù, kho haøng vaø khaùch haøng. Chöùc naêng cuûa nhaø quaûn lyù nhö: + Laäp ñôn ñaët haøng, + Laäp phieáu xuaát/ nhaäp haøng, + Laäp phieáu thanh toaùn, + Laäp baùo caùo veà tình hình hoaït ñoäng kinh doanh. CHÖÔNG II PHAÂN TÍCH VAØø THIEÁT KEÁ HEÄ THOÁNG I. HEÄ THOÁNG THOÂNG TIN Heä thoáng laø moät taäp hôïp coù quan heä, töông taùc qua laïi vôùi nhau hình thaønh neân moät theå thoáng nhaát. Heä thoáng kinh doanh vaø heä thoáng dòch vuï: laø nhöõng heä thoáng cuûa con ngöôøi nhaèm muïc ñích kinh doanh hay dòch vuï. Caùc heä thoáng con cuûa heä thoáng kinh doanh – dòch vuï bao goàm 3 heä thoáng nhö sau: Heä thoáng nghieäp vuï: bao goàm ngöôøi, phöông tieän, phöông phaùp tröïc tieáp tham gia vaøo quaù trình bieán ñoåi luoàng vaøo thaønh luoàng ra. Heä thoáng quyeát ñònh: bao goàm ngöôøi, phöông tieän, phöông phaùp tham gia vaøo vieäc ñeà xuaát caùc quyeát ñònh. Heä thoáng thoâng tin: bao goàm ngöôøi, phöông tieän, phöông phaùp tham gia vaøo vieäc xöû lyù caùc thoâng tin. Vai troø vaø nhieäm vuï cuûa heä thoáng thoâng tin: Heä thoáng thoâng tin ñoùng vai troø trung gian giöõa beân trong vaø beân ngoaøi heä thoáng vaø nhöõng heä thoáng con. Nhieäm vuï cuûa heä thoáng thoâng tin: nhaèm thu thaäp, löu tröõ, kieåm tra, keát xuaát, truyeàn ñaït thoâng tin. II. TOÅNG QUAN VEÀ HEÄ THOÁNG THOÂNG TIN Heä thoáng thoâng tin giao dòch xuaát nhaäp haøng laø moät heä thoáng thoâng tin hoaït ñoäng vôùi söï trôï giuùp cuûa tin hoïc nhaèm quaûn lyù vaø thöïc hieän caùc giao dòch xuaát nhaäp. Ñaàu vaøo cuûa heä thoáng laø thoâng tin chi tieát veà teân, giaù caû, soá löôïng caùc danh muïc haøng hoaù xuaát – nhaäp, toàn kho, caùc toång keát veà quaù trình giao dòch xuaát nhaäp. 1. Caùc ñoái töôïng yeâu caàu quaûn lyù Qua quaù trình khaûo saùt thöïc teá, ta caàn quaûn lyù caùc ñoái töôïng chính trong heä thoáng quaûn lyù xuaát nhaäp haøng nhö sau: Khaùch haøng (bao goàm caû nhaø cung caáp vaø khaùch mua haøng), Haøng hoaù, Kho, Ñôn ñaët haøng, Phieáu nhaäp/ xuaát haøng, phieáu thanh toaùn. a. Quaûn lyù khaùch haøng: Moïi khaùch haøng cuûa Coâng ty (bao goàm caû nhaø cung caáp vaø khaùch mua haøng) ñeàu ñöôïc Coâng ty quaûn lyù nhöõng thoâng tin chính sau: Maõ khaùch haøng Hoï khaùch haøng Teân khaùch haøng Teân giao dòch Ñòa chæ Soá ñieän thoaïi Soá fax Soá taøi khoaûn ngaân haøng Trong ñoù ñòa chæ khaùch haøng bao goàm: + Soá nhaø + Ñöôøng + Huyeän + Tænh + Thaønh phoá + Quoác gia b. Quaûn lyù haøng hoaù: Moãi maët haøng ñöôïc quaûn lyù caùc thoâng tin sau: Maõ maët haøng Teân maët haøng Nhoùm haøng Nôi saûn xuaát (haõng saûn xuaát, nöôùc saûn xuaát) Ñôn vò tính Soá löôïng toàn toái thieåu Soá löôïng toàn toái ña c. Quaûn lyù kho: Haøng hoaù ñöôïc caát giöõ taïi nhieàu kho, moãi kho ñöôïc quaûn lyù caùc thoâng tin sau: Maõ kho Teân kho Ñòa chæ kho Ñieän thoaïi kho Soá fax Thuû kho d. Quaûn lyù ñôn ñaët haøng: Maõ ñôn ñaët haøng Soá löôïng ñaët haøng Ñôn giaù ñaët haøng Ngaøy giao e. Quaûn lyù phieáu nhaäp xuaát haøng: (caû phieáu nhaäp vaø xuaát haøng) Maø phieáu nhaäp xuaát haøng Soá löôïng nhaäp xuaát haøng Ñôn giaù nhaäp xuaát haøng Ngaøy nhaäp xuaát haøng Ngaøy heïn traû tieàn f. Quaûn lyù phieáu thanh toaùn: Maõ phieáu thanh toaùn Ngaøy thanh toaùn Soá tieàn g. Quaûn lyù ngaân haøng: Maõ ngaân haøng Teân ngaân haøng 2. Caùc chöùc naêng cuûa heä thoáng Quaûn lyù nhaäp haøng: quaûn lyù caùc thoâng tin veà nhaäp haøng hoaù Thoâng tin vaøo: caùc thoâng tin cô baûn veà maët haøng caàn nhaäp (maõ haøng, teân haøng, soá löôïng, giaù nhaäp, nhaø cung caáp). Thoâng tin ra: danh muïc haøng caàn nhaäp. quaûn lyù xuaát haøng: quaûn lyù caùc thoâng tin lieân quan trong coâng taùc xuaát haøng cuûa Coâng ty. Thoâng tin vaøo: caùc thoâng tin cô baûn khaùch haøng yeâu caàu, thoâng tin veà haøng hoaù, thoâng tin veà kho haøng. Thoâng tin ra: danh muïc haøng xuaát kho, phieáu xuaát haøng. Thoáng keâ: thoáng keâ vaø baùo caùo veà hoaït ñoäng giao dòch kinh doanh. Thoâng tin vaøo: caùc yeâu caàu thoáng keâ. Thoâng tin ra: baùo caùo thoáng keâ. Tìm kieám: tìm kieám caùc thoâng tin lieân quan ñeán hoaït ñoäng nhaäp, xuaát haøng hoaù. Thoâng tin vaøo: caùc yeâu caàu tìm kieám. Thoâng tin ra: caùc keát quaû tìm kieám. Qua treân ta thaáy ñöôïc caùc chöùc naêng chuû yeáu cuûa moät heä thoáng thoâng tin giao dòch xuaát nhaäp haøng hoaù. Caùc chöùc naêng naøy ñöôïc chia nhoû ra vaø ñöôïc trình baøy trong sô ñoà phaân raõ chöùc naêng döôùi ñaây, ñeå cho ta hình dung heä thoáng moät caùch chi tieát hôn. III. SÔ ÑOÀ PHAÂN RAÕ CHÖÙC NAÊNG (BPC) CUÛA HEÄ THOÁNG 1. Sô ñoà phaân raõ toång theå HOAÏT ÑOÄNG GIAO DÒCH XUAÁT NHAÄP HAØNG QUAÛN LYÙ XUAÁT HAØNG THOÁNG KEÂ VAØ BAÙO CAÙO TÌM KIEÁM QUAÛN LYÙ NHAÄP HAØNG 2. Sô ñoà chöùc naêng chi tieát. a. Chöùc naêng quaûn lyù nhaäp haøng. QUAÛN LYÙ NHAÄP HAØNG GHI NHAÄN NHAØ CUNG CAÁP MÔÙI LAÄP ÑÔN ÑAËT HAØNG LAÄP PHIEÁU NHAÄP HAØNG THANH TOAÙN CHOÏN NHAØ CUNG CAÁP THÍCH HÔÏP KHÔÙP VÔÙI ÑÔN HAØNG VEÀ CAÄP NHAÄT DANH MUÏC HAØNG Giaûi thích caùc chöùc naêng: Choïn nhaø cung caáp môùi: Khi coâng ty muoán nhaäp haøng thì tröôùc heát phaûi choïn nhaø cung caáp thích hôïp ñeå laøm ñoái taùc, tieâu chí choïn nhaø cung caáp ñöôïc döïa treân caùc thoâng tin veà nhaø cung caáp vaø caùc maët haøng maø nhaø cung caáp ñoù coù khaû naêng cung öùng. Ghi nhaän nhaø cung caáp môùi: Khi nhaø cung caáp naøo ñoù ñöôïc choïn laøm ñoái taùc thì seõ löu laïi caùc thoâng tin veà nhaø cung caáp (Hoï teân nhaø cung caáp, ñòa chæ, ñieän thoaïi, …). Laäp ñôn ñaët haøng: Khi ñaõ choïn nhaø cung caáp naøo ñoù laøm ñoái taùc roài thì boä phaän kinh doanh seõ tieán haønh laäp ñôn ñaët haøng ñeå göûi tôùi nhaø cung caáp ñaët mua haøng. Laäp phieáu nhaäp haøng: Khi ñaõ ñöôïc nhaø cung caáp thoaû thuaän cung öùng haøng hoaù thì boä phaän kinh doanh seõ tieán haønh laäp phieáu nhaäp haøng vaø nhaän haøng veà coâng ty. Caäp nhaät danh muïc haøng: Moãi khi nhaäp haøng veà thì tieán haønh caäp nhaät laïi danh muïc haøng nhö laø Teân maët haøng (neáu laø maët haøng môùi), soá löôïng, … Khôùp vôùi ñôn haøng veà: Tieán haønh so saùnh caùc hoaù ñôn chöùng töø vôùi löôïng haøng nhaän veà xem ñaõ ñuû soá löôïng, ñuùng maët haøng nhö yeâu caàu hay chöa. Thanh toaùn: Sau khi khôùp vôùi ñôn haøng veà xong maø khoâng sai soùt gì thì baét ñaàu laäp phieáu thanh toaùn, tieán haønh vieäc thanh toaùn tieàn haøng cho nhaø cung caáp. b. Chöùc naêng quaûn lyù xuaát haøng. QUAÛN LYÙ XUAÁT HAØNG GHI NHAÄN KHAÙCH HAØNG MÔÙI GIAÛI QUYEÁT ÑÔN ÑAËT HAØNG LAÄP PHIEÁU XUAÁT HAØNG CAÄP NHAÄT DANH MUÏC HAØNG THANH TOAÙN GIAÛI QUYEÁT XUAÁT HAØNG Giaûi thích caùc chöùc naêng: Ghi nhaän khaùch haøng môùi: Khi coù khaùch haøng môùi ñaët mua haøng thì seõ löu laïi moät soá thoâng tin veà khaùch haøng môùi ñoù (nhö laø Hoï teân khaùch haøng, ñòa chæ, ñieän thoaïi, …). Giaûi quyeát ñôn ñaët haøng: Sau khi nhaän ñôn ñaët haøng cuûa khaùch haøng thì boä phaän kinh doanh seõ tieán haønh giaûi quyeát ñôn ñaët haøng, neáu ñuû ñieàu kieän thì chaáp nhaän baùn haøng, ngöôïc laïi thì heïn laïi vôùi khaùch haøng haëc töø choái baùn haøng. Laäp phieáu xuaát haøng: Döïa vaøo caùc ñôn ñaët haøng ñaõ ñöôïc giaûi quyeát, boä phaän kinh doanh seõ tieán haønh laäp phieáu xuaát haøng. Giaûi quyeát xuaát haøng: Laäp caùc hoaù ñôn chöùng töø xuaát haøng, tieán haønh xuaát haøng cho khaùch mua haøng. Caäp nhaät danh muïc haøng: Moãi laàn xuaát haøng thì phaûi tieán haønh caäp nhaät laïi danh muïc haøng. Thanh toaùn: Sau khi giaûi quyeát xuaát haøng thì baét ñaàu laäp phieáu thanh toaùn, tieán haønh thu tieàn baùn haøng. c. Chöùc naêng thoáng keâ vaø baùo caùo. THOÁNG KEÂ VAØ BAÙO CAÙO THOÁNG KEÂ HAØNG NHAÄP THOÁNG KEÂ HAØNG XUAÁT THOÁNG KEÂ HAØNG TOÀN THOÁNG KEÂ NHAÄP XUAÁT CHI TIEÁT Giaûi thích caùc chöùc naêng: Thoáng keâ haøng nhaäp: Thoáng keâ löôïng haøng hoaù nhaäp veà theo thaùng hoaëc theo yeâu caàu cuûa ban quaûn lyù. Thoáng keâ haøng xuaát: Thoáng keâ löôïng haøng hoaù xuaát baùn theo thaùng hoaëc theo yeâu caàu cuûa ban quaûn lyù. Thoáng keâ haøng toàn: Thoáng keâ löôïng haøng hoaù coøn toàn trong kho theo thaùng hoaëc theo yeâu caàu cuûa ban quaûn lyù. d. Chöùc naêng tìm kieám. TÌM KIEÁM TÌM KIEÁM PHIEÁU NHAÄP HAØNG TÌM KIEÁM PHIEÁU THU TÌM KIEÁM PHIEÁU CHI TÌM KIEÁM PHIEÁU XUAÁT HAØNG Giaûi thích caùc cöùc naêng: Tìm kieám phieáu nhaäp haøng: Tieán haønh tìm kieám phieáu nhaäp haøng khi nhaø cung caáp yeâu caàu. Tìm kieám phieáu xuaát haøng: Tieán haønh tìm kieám phieáu xuaát haøng khi khaùch haøng yeâu caàu. Tìm kieám phieáu chi: Tieán haønh tìm kieám phieáu chi tieàn khi nhaø cung caáp yeâu caàu. Tìm kieám phieáu thu: Tieán haønh tìm kieám phieáu thu tieàn khi khaùch haøng yeâu caàu. IV. BIEÅU ÑOÀ LUOÀNG DÖÕ LIEÄU Muïc ñích: Söï dieãn taû laø ôû möùc logic, nghóa laø nhaèm traû lôøi caâu hoûi “Laøm gì?”, maø boû qua caâu hoûi “Laøm nhö theá naøo?”. Chæ roû caùc chöùc naêng (con) phaûi thöïc hieän ñeå hoaøn taát quaù trình xöû lyù caàn moâ taû. Chæ roõ caùc thoâng tin ñöôïc chuyeån giao giöõa caùc chöùc naêng ñoù, vaø qua ñoù phaàn naøo thaáy ñöôïc trình töï thöïc hieän cuûa chuùng. Phaân möùc: Duøng bieåu ñoà phaân caáp chöùc naêng ta coù caùc möùc nhö sau: Möùc khung caûnh: coù moät chöùc naêng vôùi caùc luoàng vaøo ra. Möùc ñænh: chöùc naêng cuûa heä thoáng ñöôïc phaân ra thaønh nhieàu chöùc naêng con. Möùc döôùi ñænh: giaûi thích moãi chöùc naêng töông töùng cuûa möùc ñænh. 1. Bieåu ñoà luoàng döõ lieäu möùc khung caûnh NHAØ CUNG CAÁP KHAÙCH HAØNG Hoaït ñoäng giao dòch xuaát nhaäp haøng Thoâng tin veà haøng Ñôn ñaët haøng Hoaù ñôn Töø choái Phieáu traû tieàn Haøng hoaù Thoâng boaù hoaù ñôn sai Y/C tìm kieám ÑÑH/ PTT Thoáng keâ Baùo caùo Thoâng tin veà haøng Ñôn ñaët haøng Töø choái Hoaù ñôn Phieáu traû tieàn Y/C tìm kieám ÑÑH/ PTT Haøng hoaù Yeâu caàu thoáng keâ BAN QUAÛN LYÙ 2. Beåu ñoà luoàng döõ lieäu möùc ñænh NHAØ CUNG CAÁP KHAÙCH HAØNG Quaûn lyù xuaát haøng Thoâng tin veà haøng Ñôn ñaët haøng Hoaù ñôn Töø choái Phieáu traû tieàn Thoâng baùo HÑ sai Thoâng boaù HÑ sai Y/C tìm kieám Thoâng tin veà haøng Ñôn ñaët haøng Töø choái Hoaù ñôn Phieáu traû tieàn Y/C tìm kieám Y/C thoáng keâ Quaûn lyù nhaäp haøng BAN QUAÛN LYÙ Thoáng keâ Tìm kieám Danh muïc haøng Phieáu N/X Phieáu TT Y/C tìm kieám 3. Bieåu ñoà luoàng döõ lieäu möùc döôùi ñænh a. Chöùc naêng quaûn lyù nhaäp haøng Laäp phieáu thanh toaùn Khôùp ñôn vôùi haøng veà Thanh toaùn Ghi nhaän NCC môùi Choïn NCC Laäp ñôn ñaët haøng Nhaø cung caáp Ñôn ñaët haøng Nhaø cung caáp Phieáu nhaäp haøng Danh muïc haøng Ban quaûn lyù Thoâng tin veà haøng hoaù, nhaø CC Töø choái Thoâng tin veà NCC môùi T/t veà NCC ñöôïc choïn Ñôn ñaët haøng Thoâng baùo hoaù ñôn sai Caäp nhaät DM haøng Laäp phieáu nhaäp haøng Hoaù ñôn Phieáu traû tieàn Laäp baùo caùo Phieáu thanh toaùn b. Chöùc naêng quaûn lyù xuaát haøng Thanh toaùn Laäp phieáu thanh toaùn Ghi nhaän KH môùi Giaûi quyeát ñôn ñaët haøng Khaùch haøng Khaùch haøng Phieáu xuaát haøng Danh muïc haøng Thoâng tin veà haøng hoaù Töø choái Thoâng tin veà KH môùi Ñôn ñaët haøng Hoaù ñôn Laäp phieáu xuaát haøng Hoaù ñôn Phieáu traû tieàn Ñôn ñaët haøng Phieáu thanh toaùn Thoâng baùo veà hoaù ñôn sai Giaûi quyeát xuaát haøng Ñôn ÑH ñöôïc giaûi quyeát Phieáu xuaát haøng Phieáu phaùt haøng Laäp baùo caùo Ban quaûn lyù c. Chöùc naêng thoáng keâ Ban quaûn lyù Thoáng keâ haøng nhaäp Laäp nhaät kyù nhaäp xuaát chi tieát Thoáng keâ haøng toàn Thoáng keâ haøng xuaát Phieáu N/X Yeâu caàu thoáng keâ Yeâu caàu Yeâu caàu Yeâu caàu thoáng keâ d. Chöùc naêng tìm kieám Nhaø CC Tìm kieám phieáu nhaäp haøng Tìm kieám phieáu xuaát haøng Tìm kieám phieáu TT Tìm kieám phieáu TT Phieáu nhaäp xuaát Phieáu thanh toaùn Y/ c tìm kieám PN Y/C tìm kieám PX Y/c tìm kieámPTT Khaùch haøng Y/C tìm kieám PTT V. MOÂ HÌNH THÖÏC THEÅ 1. Moät soá khai nieäm veà moâ hình thöïc theå Khaùi nieäm: Laø moâ hình döõ lieäu logic ñöôïc xaây döïng treân caùc khaùi nieäm logic nhö: Thöïc theå, kieåu thöïc theå, thuoäc tính vaø quan heä. Thöïc theå: Thöïc theå laø moät chuû ñieåm, moät nhieäm vuï, moät ñoái töôïng hay moät söï kieän ñaùng quan taâm trong thöïc teá, keå caû thoâng tin maø noù löu giöõ laø coù ích cho heä thoáng. Kieåu thöïc theå: Laø taäp hôïp caùc thöïc theå coù cuøng baûn chaát ñöôïc bieåu dieãn. Thuoäc tính: Sau khi xaùc ñònh ñöôïc kieåu thöïc theå vaø thöïc theå thì ta xeùt ñeán nhöõng thoâng tin naøo caàn thieát phaûi ñöôïc löu giöõ cho moãi thöïc theå, ñoù chính laø caùc thuoäc tính. Caùc thuoäc tính ñaëc tröng cuûa thöïc theå thöôøng ñöôïc bieåu dieãn baèng caùc tröôøng hoaëc coät trong baûng. Quy taéc xaùc ñònh caùc thuoäc tính cuûa thöïc theå: Töø tri thöùc cuûa chính baûn thaân veà thöïc theå coâng vieäc chung trong lónh vöïc mình ñang nghieân cöùu maø ñöa ra caùc thuoäc tính trong moãi thuïc theå. Töø ngöôøi tieáp xuùc phoûng vaán. Töø vieäc xem xeùt caùc baûng bieåu, taøi lieäu lieân quan ñeán lónh vöïc ñang nghieân cöùu. Lieân keát: Laø söï keát noái hay lieân quan giöõa hai hay nhieàu thöïc theå phaûn aùnh söï raøng buoäc veà quaûn lyù. Kieåu lieân keát: Laø taäp hôïp nhieàu lieân keát coù daïng gioáng nhau giöõa caùc caëp thöïc theå. Coù 3 kieåu lieân keát nhö sau: Lieân keát Moät – Moät: Moät thöïc theå thuoäc kieåu thöïc theå A lieân keát vôùi moät thöïc theå thuoäc kieåu thöïc theå B vaø ngöôïc laïi. A B Lieân keát Moät – Nhieàu: Moät thöïc theå thuoäc kieåu thöïc theå A lieân keát vôùi nhieàu thöïc theå thuoäc kieåu thöïc theå B. Moät thöïc theå thuoäc kieåu thöïc theå B lieân keát vôùi moät thöïc theå thuoäc kieåu thöïc theå A. A B Lieân keát Nhieàu – Nhieàu: Moät thöïc theå thuoäc kieåu thöïc theå A lieân keát vôùi nhieàu thöïc theå thuoäc kieåu thöïc theå B. Moät thöïc theå thuoäc kieåu thöïc theå B lieân keát vôùi nhieàu thöïc theå thuoäc kieåu thöïc theå A. A B Quy taéc xaùc ñònh lieân keát: Moät lieân keát toàn taïi giöõa hai thöïc theå khaùc nhau thuoäc hai baûng khaùc nhau neáu caàn phaûi giöõ thoâng tin trong thöïc theå naøy veà thöïc theå kia. Trong lieân keát Moät – Nhieàu, thöïc theå giöõ thoâng tin keát noái theo ñònh nghóa laø ôû ñaàu nhieàu. Caùc lieân keát giaùn tieáp (Nhieàu – Nhieàu) ñöôïc bieán ñoåi thaønh caùc lieân keát Moät - Nhieàu. Chuaån hoaù döõ lieäu: Chuaån hoaù laø quaù trình phaân tích chuyeån hoùa caùc thöïc theå thaønh moät daïng maø toái thieåu vieäc laëp laïi, khoâng dö thöøa nhöng döõ lieäu vaãn ñaày ñuû. Caùc quy taéc chuaån hoaù: Quy taéc chuaån hoaù 1: Baûng khoâng ñöôïc chöùa nhöõng thuoäc tính xuaát hieän nhieàu laàn. Quy taéc chuaån hoaù 2: Moïi thuoäc tính phaûi phuï thuoäc haøm vaøo toaøn boä khoaù. Quy taéc chuaån hoaù thöù 3: Moãi thuoäc tính chæ phuï thuoäc haøm vaøo toaøn boä khoaù maø khoâng phuï thuoäc haøm vaøo baát cöù thuoäc tính naøo khaùc trong baûng. Treân ñaây laø sô löôïc lyù thuyeát veà vieäc xaây döïng cô sôû döõ lieäu cho heä thoáng thoâng tin. Töø söï phaân tích ñaàu vaøo vaø ñaàu ra cuûa heä thoáng, töø caùc bieåu ñoà luoàng döõ lieäu, ta seõ thaáy roõ veà cô sôû döõ lieäu cuûa heä thoáng. 2. Xaùc ñònh caùc thöïc theå cuûa heä thoáng vaø caùc thuoäc tính cuûa chuùng Vôùi baøi toaùn quaûn lyù giao dòch xuaát nhaäp haøng, heä thoáng goàm coù caùc thöïc theå vaø thuoäc tính nhö sau (sau khi ñaõ chuaån hoaù): Khaùch haøng (Duøng cho caû nhaø cung caáp vaø khaùch mua haøng): Maõ KH Hoï KH Teân KH Teân giao dòch Soá nhaø KH DT khaùch haøng Fax KH Taøi khoaûn ST nôï coù theå Maõ huyeän Maõ ñöôøng Maõ NH Maët haøng : Maõ haøng Teân haøng SL toàn TT SL toàn TD Maõ HSX Maõ DVT Maõ nhoùm Quaûn lyù kho : Maõ kho Teân kho DT kho Fax kho Soá nhaø kho Thuû kho Maõ ñöôøng Quaûn lyù ñôn ñaët haøng : Maõ DDH Maõ KH Ngaøy DH Haïn ngaøy giao Doøng ñôn ñaët haøng Maõ DDH Maõ haøng Soá löôïng DH Ñôn giaù DH Quaûn lyù phieáu nhaäp xuaát haøng : Maø PNXH Maõ DDH Maõ kho Ngaøy NXH Ngaøy HTT Ngaøy laäp PNX Quaûn lyù doøng phieáu nhaäp xuaát haøng : Maø PNXH Maõ haøng Soá löôïng NXH Ñôn giaù NXH Quaûn lyù phieáu thanh toaùn : Maõ PTT Maõ PNXH Ngaøy TT Soá tieàn Quaûn lyù ñöôøng : Maõ ñöôøng Teân ñöôøng Quaûn lyù ngaân haøng : Maõ NH Teân NH Quaûn lyù huyeän : Maõ huyeän Teân huyeän Maõ tænh Quaûn lyù tænh : Maõ tænh Teân tænh Maõ nöôùc Quaûn lyù nöôùc : Maõ nöôùc Teân nöôùc Quaûn lyù haõng saûn xuaát : Maõ HSX Teân HSX Maõ nöôùc Quaûn lyù ñôn vò tính : Maõ DVT Teân DVT Quaûn lyù nhoùm haøng : Maõ nhoùm Teân nhoùm Xaây döïng moâ hình thöïc theå lieân keát KHAÙCH HAØNG Maõ KH Hoï KH Teân KH Teân giao dòch Soá nhaø KH DT khaùch haøng Fax KH Taøi khoaûn ST nôï coù theå Maõ huyeän Maõ ñöôøng Maõ NH HUYEÄN Maõ huyeän Teân huyeän Maõ tænh ÑÖÔØNG Maõ ñöôøng Teân ñöôøng KHO Maõ kho Teân kho DT kho Fax kho Soá nhaø kho Thuû kho Maõ ñöôøng TÆNH Maõ tænh Teân tænh Maõ nöôùc NÖÔÙC Maõ nöôùc Teân nöôùc HAÕNG SX Maõ HSX Teân HSX Maõ nöôùc DV TÍNH Maõ DVT Teân DVT MAËT HAØNG Maõ haøng Teân haøng SL toàn TT SL toàn TD Maõ HSX Maõ DVT Maõ nhoùm NHOÙM Maõ nhoùm Teân nhoùm NGAÂN HAØNG Maõ NH Teân NH ÑÔNDHAØNG Maõ DDH Maõ KH Ngaøy DH Haïn ngaøy giao DOØNGÑÔNDH Maõ DDH Maõ haøng Soá löôïng DH Ñôn giaù DH NX HAØNG Maõ PNXH Maõ DDH Maõ kho Ngaøy NXH Ngaøy HTT Ngaøy laäp PNX THANH TOAN Maõ PTT Maõ PNXH Ngaøy TT Soá tieàn DOØNGNX HAØNG Maõ PNXH Maõ haøng Soá löôïng NXH Ñôn giaù NXH VI. MOÂ HÌNH TOÅ CHÖÙC DÖÕ LIEÄU Moâ hình naøy chính laø löôïc ñoà cô sôû döõ lieäu cuûa heä thoáng. Ñaây laø böôùc trung gian chuyeån ñoåi giöõa moâ hình thöïc theå (gaàn vôùi ngöôøi söû duïng) vaø moâ hình vaät lyù döõ lieäu (moâ hình trong maùy tính), chuaån bò cho vieäc caøi ñaët heä thoáng. Töø moâ hình thöïc theå ôû treân ta chuyeån thaønh moâ hình toå chöùc döõ lieäu cuûa baøi toaùn nhö sau : NUOC(MaNuoc, TenNuoc) TINH(MaTinh, TenTinh, MaNuoc) HUYEN(MaHuyen, TenHuyen, MaTinh) DUONG(MaDuong, TenDuong) HANG SX(MaHSX, TenHSX, MaNuoc) DVTINH(MaDVT, TenDVT) NHOM(MaNhom, TenNhom) MATHANG(MaHang, TenHang, SLTonTT, SLTonTD, MaDVT, MaHSX, MaNhom) KHO(MaKho, TenKho, DTKho, FaxKho, SoNhaKho, ThuKho, MaDuong) NGANHANG(MaNH, TenNH) KHACHHANG(MaKH, HoKH, TenKH, TenGiaoDich, SoNhaKH, DTKhachHang, FaxKH, TaiKhoan, STNoCoThe, MaDuong, MaHuyen, MaNH) DONDHANG(MaDDH, NgayDH, HanNgaygiao MaKH) DONGDONDH(MaDDH, MaHang, SoLuongDH, DonGiaDH) NXHANG(MaPNXH, NgayNXH, NgayHTT, Ngaøy laäp PNX, MaDDH, MaKho) DONGNXHANG(MaPNXH, MaHang, SoLuongNXH, DonGiaNXH) THANHTOAN(MaPTT, MaPNXH, NgayTT, SoTien) VII. MOÂ HÌNH VAÄT LYÙ DÖÕ LIEÄU Caùc baûng ñöôïc thieát keá trong heä thoáng: NUOC(MaNuoc, TenNuoc) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaNuoc (K) Char 2 Len() =2 TenNuoc Varchar 30 MaNuoc : Chöõ vieát taét cuûa moät teân nöôùc treân theá giôùi. TenNuoc : Teân cuûa moät nöôùc. Ví duï: MaNuoc = VN coù TenNuoc = Vieät Nam MaNuoc = TQ coù TenNuoc = Trung Quoác MaNuoc = ML coù TenNuoc = Malaysia YÙ nghóa: Moãi nöôùc coù moät maõ soá rieâng ñeå phaân bieät caùc nöôùc vôùi nhau. TINH(MaTinh, TenTinh, MaNuoc) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaTinh (K) Char 4 Len() = 4 TenTinh Varchar 20 MaNuoc Char 2 Lookup(NUOC) MaTinh : Soá thöù töï cuûa tænh trong nöôùc. Vieät Nam coù döôùi 100 tænh, neân ta choïn 2 kyù töï ñeå ñaùnh soá thöù töï cuûa tænh. 2 Kyù töï ñaàu laø maõ nöôùc. 2 Kyù töï tieáp theo laø soá thöù töï tænh trong nöôùc. TeânTinh: Baét ñaàu laø Tp cho thaønh phoá tröïc thuoäc trung öông, T cho tænh vaø tieáp theo laø teân tænh hay thaønh phoá. Ví duï: MaTinh = VN01 coù TenTinh = Tp.Haø Noäi. MaTinh = VN02 coù TenTinh =T.Quaûng Ninh. YÙ nghóa: Moãi moät tænh coù moät maõ soá rieâng ñeå phaân bieät caùc tænh vôùi nhau. HUYEN(MaHuyen, TenHuyen, MaTinh) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaHuyen (K) Char 6 Len()=6 TenHuyen Varchar 25 MaTinh Char 4 Lookup(TINH) MaHuyen : 4 kyù töï ñaàu laø maõ nöôùc vaø maõ tænh, hai kyù töï sau laø soá thöù töï cuûa huyeän trong tænh. Moãi tænh khoâng quaù 100 huyeän neân duøng 2 kyù töï. TenHuyen : Baét ñaàu laø Tp cho thaønh phoá tröïc thuoäc Tænh, Q : cho quaän, H cho huyeän, TX cho thò xaõ vaø tieáp theo laø teân thaønh phoá, quaän, huyeän, thò xaõ. Ví duï: MaHuyen = VN0101 coù TenHuyen = Q. Ba Ñình. MaHuyen = VN0201 coù TenHuyen =Tp. Haï Long. YÙ nghóa: Moãi huyeän ñöôïc phaân bieät bôûi moät maõ huyeän khaùc nhau ôû trong moät Tænh cuõng nhö phaân bieät vôùi caùc huyeän khaùc ôû caùc tænh khaùc, vì trong maõ huyeän ta coù keøm theo 2 kí töï cuûa maõ tænh neân coù theå phaân bieät ñöôïc raèng ta ñang bieãu dieãn maõ cuûa caùc huyeän ôû trong tænh naøo. DUONG(MaDuong, TenDuong) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaDuong (K) Char 4 TenDuong Varchar 30 MaDuong : Vieát taét caùc kyù töï ñaàu cuûa teân ñöôøng. TenDuong : Teân ñöôøng. Ví duï: MaDuong = PCT coù TenDuong = Phan Chu Trinh. MaDuong = NTMK coù TenTinh = Nguyeãn Thò Minh Khai. YÙ nghóa: Moãi teân ñöôøng coù moät maõ rieâng ñeå phaân bieät giöõa caùc ñöôøng vôùi nhau. HANG SX(MaHSX, TenHSX, MaNuoc) Teân thuoäc tính Lieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaHSX (K) Char 4 Len()=4 Ten HSX Varchar 50 MaNuoc Char 2 Lookup(NUOC) MaHSX : Hai kyù töï ñaàu laø maõ nöôùc, hai kyù töï sau laø soá thöù töï haõng saûn xuaát trong nöôùc. TenHSX : Teân cuûa haõng saûn xuaát. MaNuoc : Maõ nöôùc cuûa nöôùc coù haõng saûn xuaát ñoù. Ví duï: MaHSX = ML01 coù TenHSX = INTERFOODS PROCESSING …. MaHSX = JP01 coù TenHSX = HITACHI. YÙ nghóa: Moãi haõng saûn xuaát coù moät maõ rieâng ñeå phaân bieät giöõa caùc haõng saûn xuaát vôùi nhau. DONVITINH(MaDVT, TenDVT) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaÑVT (K) Char 1 Len()=1 TenÑVT Varchar 7 MaDVT: Vieát taét kyù töï ñaàu cuûa teân ñôn vò tính. TenDVT : Teân ñôn vò tính. Ví duï : MaDVT = T coù TenDVT = Thuøng. MaDVT = H coù TenDVT = Hoäp. YÙ nghóa: Moãi ñôn vò tính coù moät maõ rieâng ñeå phaân bieät giöõa caùc ñôn vò tính vôùi nhau. NHOM(MaNhom, TenNhom) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaNhom (K) Char 1 Len()=1 TenNhom Varchar 50 MaNhom : Duøng moät chöõ caùi ñeå kyù hieäu nhoùm. TenNhom : Teân nhoùm haøng. Ví duï: MaNhom = A coù TenNhom = Nhoùm haøng duøng ngay. MaNhom = B coù TenNhom = Nhoùm haøng phaûi qua cheá bieán môùi duøng ñöôïc. MaNhom = C coù TenNhom = Nhoùm haøng baùnh keïo. YÙ nghóa: Moãi nhoùm haøng coù moät maõ rieâng ñeå phaân bieät giöõa caùc nhoùm vôùi nhau. MATHANG(MaHang, TenHang, SLTonTT, SLTonTD, MaDVT, MaHSX, MaNhom) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaHang (K) Char 4 Len()=4 TenHang Varchar 50 SLTonTT Integer 8 SLTonTD Integer 8 MaDVT Char 1 Lookup(DONVITINH) MaH SX Char 4 Lookup(HANGSX) MaNhom Char 1 Lookup(NHOM) MaHang : 1 kyù töï ñaàu tieân laø maõ nhoùm, 3 kyù töï tieáp theo laø soá thöù töï maët haøng trong nhoùm. TenHang : Teân maët haøng. SLTonTT : Soá löôïng toàn toái thieåu öùng vôùi moät maët haøng trong kho. Neáu soá löôïng maët haøng ñoù toàn trong kho döôùi möùc toái thieåu thì phaûi nhaäp theâm vaøo. SLTonTD : Soá löôïng toàn toái ña öùng vôùi moät maët haøng ôû trong kho. Neáu nhaäp theâm soá löôïng maët haøng naøo ñoù thì toång soá löôïng trong kho khoâng ñöôïc vöôït quaù soá löôïng toàn toái ña cuûa maët haøng ñoù. MaDVT : Maõ ñôn vò tính cuûa ñôn vò tính. MaHSX : Maõ haõng saûn xuaát cuûa haõng saûn xuaát. MaNhom : Maõ nhoùm cuûa nhoùm haøng. Ví duï: MaHang = A001 coù TenHang = Bird’s Nest. MaHang = B001 coù TenHang = Coconut Milk. MaHang = C001 coù TenHang = Chocolate. YÙ nghóa: Moãi maët haøng coù moät maõ rieâng ñeå phaân bieät giöõa caùc maët haøng vôùi nhau. KHO(MaKho, TenKho, DTKho, FaxKho, SoNhaKho, ThuKho, MaDuong) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaKho (K) Char 5 TenKho Varchar 50 DTKho Varchar 10 FaxKho Varchar 10 SoNhaKho Varchar 20 ThuKho Varchar 30 MaDuong Char 4 Lookup(DUONG) MaKho : 4 kyù töï ñaàu laø caùc kyù töï vieát taét teân ñöôøng, 1 kyù töï sau laø soá thöù töï kho treân ñöôøng ñoù. TenKho : Teân kho haøng. Ví duï: MaKho = NTMK1 coù TenKho = Kho nöôùc. MaKho = NTMK2 coù TenKho = Kho baùnh keïo. YÙ nghóa: Moãi kho coù moät maõ rieâng ñeå phaân bieät giöõa caùc kho vôùi nhau. NGANHANG(MaNH, TenNH) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaNH (K) Char 4 TenNH Varchar 30 MaNH : Vieát taét caùc kyù töï ñaàu cuûa teân ngaân haøng. TenNH : Teân ngaân haøng. Ví duï: MaNH = NHNH coù TenNH = Ngaân haøng noâng nghieäp. MaNH = NHNT coù TenNH = Ngaân haøng ngoaïi thöông. YÙ nghóa: Moãi ngaân haøng coù moät maõ rieâng ñeå phaân bieät giöõa caùc ngaân haøng vôùi nhau. KHACHHANG(MaKH, HoKH, TenKH, TenGiaoDich, SoNhaKH, DTKhachHang, FaxKH, TaiKhoan, STNoCoThe, MaDuong, MaHuyen, MaNH) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaKH (K) Char 5 Len()=5 HoKH Varchar 23 TenKH Varchar 7 TenGiaoDich Varchar 30 SoNhaKH Varchar 20 DTKhachHang Varchar 10 FaxKH Varchar 10 TaiKhoan Varchar 16 STNoCoThe Money 8 MaDuong Char 4 Lookup(DUONG) MaHuyen Char 6 Lookup(HUYEN) MaNH Char 4 Lookup(NGANHANG) MaKH : 1 kyù töï ñaàu duøng ñeå phaân bieät nhaø cung caáp vaø khaùch mua haøng (C hay K), 4 kyù töï sau laø soá thöù töï khaùch haøng. HoKH : Hoï khaùch haøng, ñoä daøi 23 kyù töï. TenKH : Teân khaùch haøng, ñoä daøi 7 kyù töï. Ví duï: MaKH = K0001 coù HoKH & TenKH = Leâ Vaên Nam. MaKH = K0002 coù HoKH & TenKH = Hoà Thò Phöôïng. MaKH = C0001 coù HoKH & TenKH = Traàn Thò Myõ Hoa. YÙ nghóa: Moãi khaùch haøng coù moät maõ rieâng ñeå phaân bieät giöõa caùc khaùch haøng vôùi nhau. DONDHANG(MaDDH, NgayDH, MaKH) Teân thuoäc tính Kieåu döõ lieäu Kích thöùc Raøng buoäc toaøn veïn MaDDH(K) Char 5 Len() = 5 NgayDH DateTime Shortdste HanNgayGiao Datetime Shortdate MaKH Char 5 Lookup(KHACHHANG) MaDDH : 1 kyù töï ñaàu duøng ñeå phaân bieät ñôn ñaët mua haøng cuûa khaùch haøng hay ñôn coâng ty göûi nhaø cung caáp (M hay B), 4 kyù töï sau laø soá thöù töï ñôn ñaët haøng. YÙ nghóa: Moãi ñôn ñaët haøng coù moät taäp hôïp maõ rieâng ñeå phaân bieät giöõa caùc ñôn ñaët haøng vôùi nhau. DONGDONDH(MaDDH, MaHang, SoLuongDH, DonGiaDH, NgayGiao) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaDDH (K) Char 5 Len()=5 MaHang (K) Char 4 Lookup(MATHANG) SoLuongDH Integer 8 DonGiaDH Money 8 NXHANG(MaPNXH, NgayNXH, NgayHTT, Ngaøy laäp PNX, MaDDH, MaKho) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaPNXH (K) Char 5 Len()=5 NgayNXH Datetime Shortdate NgayHTT Datetime Shortdate NgaylapPNX Datetime Shortdate MaDDH Char 5 Lookup(DONGDONDH) MaKho Char 5 Lookup(KHO) MaPXH : 1 kyù töï ñaàu duøng ñeå phaân bieät phieáu nhaäp hay phieáu xuaát haøng (N hay X), 4 kyù töï sau laø thöù töï phieáu xuaát hay nhaäp haøng. YÙ nghóa: Moãi ñôn ñaët haøng coù moät taäp hôïp maõ rieâng ñeå phaân bieät giöõa caùc ñôn ñaët haøng vôùi nhau. DONGNXHANG(MaPNXH, MaHang, SoLuongNXH, DonGiaNXH) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaPNXH (K) Char 5 Len()=5 MaHang (K) Char 4 Len()=4 SoLuongNXH Integer 8 DonGiaNXH Money 8 THANHTOAN(MaPTT, MaPNXH, NgayTT, SoTien) Teân thuoäc tính Kieåu döõ lieäu Kích thöôùc Raøng buoäc toaøn veïn MaPTT (K) Char 5 Len()=5 NgayTT Datetime Shortdate SoTien Money 8 MaPNXH Char 5 Lookup(NXHANG) MaPTT : 1 kyù töï ñaàu duøng ñeå phaân bieät phieáu thu hay phieáu chi (T hay C), 4 kyù töï sau laø soá thöù töï phieáu thanh toaùn. YÙ nghóa : Moãi phieáu thanh toaùn coù moät taäp hôïp maõ rieâng ñeå phaân bieät giöõa caùc phieáu thanh toaùn vôùi nhau. VIII. MOÂ HÌNH TÖØ ÑIEÅN DÖÕ LIEÄU STT TEÂN THUOÄC TÍNH KIEÅU DÖÕ LIEÄU ÑOÄ DAØI VÍ DUÏ 1 MaNuoc Char 2 VN 2 TenNuoc Varchar 30 Vieät Nam 3 MaTinh Char 4 VN01 4 TenTinh Varchar 20 Tp. Haø Noäi 5 MaHuyen Char 6 VN0101 6 TenHuyen Varchar 25 Q. Ba Ñình 7 MaDuong Char NTMK 8 TenDuong Varchar 30 Nguyeãn Thò Minh Khai 9 MaHSX Char 4 JP01 10 TenHSX Varchar 50 HITACHI 11 MaDVT Char 1 T 12 TenDVT Varchar 7 Thuøng 13 MaNhom Char 1 A 14 TenNhom Varchar 50 Nhoùm haøng duøng ngay 15 MaHang Char 4 A001 16 TenHang Varchar 50 Bird’s nest 17 SLTonTT Integer 8 50 18 SLTonTD Integer 8 250 19 MaKho Char 5 NTMK1 20 TenKho Varchar 50 Kho nöôùc 21 DTKho Varchar 10 058.834223 22 FaxKho Varchar 10 058.834644 23 SoNhaKho Varchar 20 58 24 ThuKho Varchar 30 Leâ Vaên Taøi 25 MaNH Char NHNN 27 TenNH Varchar 30 Ngaân haøng noâng nghieäp 28 MaKH Char 5 K0001 29 HoKH Varchar 23 Hoà Thò 30 TenKH Varchar 7 Phöôïng 31 TenGiaoDich Varchar 30 SAO MAI 33 SoNhaKH Varchar 20 35/11 34 DTKhachHang Varchar 10 058.832653 35 FaxKH Varchar 10 058.832253 36 TaiKhoan Varchar 0061.000031.8.1 37 STNoCoThe Money 8 1.500.000 38 MaDDH Char 5 B0001 39 NgayDH DateTime Shortdate 10/07/2003 40 SoLuongDH Integer 8 40 41 DonGiaDH Money 8 90.000 42 HanNgayGiao Datetime Shortdate 29/07/2003 43 MaPNXH Char 5 X0001 44 SoLuongNXH Integer 8 40 45 DonGiaNXH Money 8 90.000 46 NgayNXH Datetime Shortdate 30/07/2003 47 NgayHTT Datetime Shortdate 01/08/2003 48 MaPTT Char 5 T0001 49 NgayTT Datetime Shortdate 01/08/2003 50 SoTien Money 8 3.600.000 CHÖÔNG III LÖÏA CHOÏN MOÂI TRÖÔØNG CAØI ÑAËT VAØ GIÔÙI THIEÄU CAÙC COÂNG NGHEÄ LIEÂN QUAN Vôùi muïc tieâu xaây döïng moät phaàn meàm ñaùp öùng ñöôïc caùc chöùc naêng trong vieäc quaûn lyù giao dòch xuaát nhaäp, ñoàng thôøi deã söû duïng vaø thaân thuoäc vôùi ngöôøi söû duïng, em löïa choïn giaûi phaùp laäp trình öùng duïng treân neàn Windows ñöôïc caøi ñaët baèng ngoâ ngöõ laäp trình Microsoft VisualBasic 6.0 vôùi heä quaûn trò cô sôû döõ lieäu Microsoft SQL Server. I. Giôùi thieäu veà Visual Basic 6.0. Microsoft Visual Basic 6.0 tuy khoâng coøn laø hieän thaân môùi nhaát vaø ñoäc ñaùo cuûa ngoân ngöõ BAISIC nhö caùch ñaây vaøi naêm nhöng noù vaãn coøn tính naêng öu vieät cho baïn heä thoáng phaùt trieån öùng duïng cuûa Windows toaøn dieän vaø troïn goùi. Microsoft Visual Basic 6.0 coù nhieàu coâng cuï hoå trôï maø baïn coù theå vieát theâm vaø bieân dòch caùc file trôï giuùp. Noù bao goàm: 1. Caùc coâng cuï ñieàu khieån ( controls). Bao goàm caùc coâng cuï treân cöûa soå toolbox , nhöõng caùi maø baïn coù theå ñaët vaøo bieåu maãu ñeå töông taùc vôùi ngöôøi duøng vaø ñieàu khieån luoàng chöông trình. 2. Chöông trình ( Program). Laø taäp hôïp caùc caâu leänh ñeå cho maùy tính thöïc hieän caùc coâng vieäc naøo ñoù theo yù muoán ngöôøi laäp trình. Baûn thaân Microsoft Visual Basic laø trình öùng duïng. Baïn taûi vaø thöïc hieän heä thoáng gioáng nhö thöïc hieän caùc chöông trình öùng duïng khaùc. Noù coøn laø coâng cuï raát tuyeät vôøi, caùc laäp trình vieân vieát, kieåm tra vaø chaïy caùc trình öùng duïng cuûa Windows. Noù cung caáp caùc Form windows laø vuøng laøm vieäc, noù duy trì caùc ñoái töôïng töông taùc cuûa chöông trình nhö caùc nuùt leänh, caùc nhaõn, caùc hôïp thoaïi vaên baûn, caùc thanh cuoän vaø caùc coâng cuï ñieàu khieån khaùc. Ñeà aùn (Project): laø taäp hôïp caùc file baïn taïo cho chöông trình öùng duïng Windows cuûa mình. Wizard : Ñaây laø caùc hoäp thoaïi hoûi vaø traû lôøi töï ñoäng laøm vieäc. Trình bieân dòch (Compiler): laø heä thoáng chuyeån ñoåi chöông trình baïn vieát thaønh trình öùng duïng khaû thi cuûa maùy tính. Developer Studio: laø moâi tröôøng phaùt trieån cuûa Visual Basic. Maëc duø Microsoft Visual Basic laø ngoân ngöõ laäp trình toaøn dieän, nhöng noù vaãn duy trì ngoân ngöõ BASIC thöøa keá noù. Caùc laäp trình vieân vaøo cuoái thaäp nieân 1950 ñaõ phaùt trieån ngoân ngöõ laäp trình BASIC cho caùc laäp trình vieân sô caáp. BASIC deã söû duïng hôn caùc ngoân ngöõ laäp trình khaùc nhieàu laàn, nhö COBOL vaø FORTRAN. Microsoft khoâng bao giôø queân neàn taûng cuûa VB khi phaùt trieån noù. Noù giuùp cho ngöôøi laäp trình coù ñöôïc nhieàu chöông trình Windows chæ trong thôøi gian ngaén. Microsoft Visual Basic 6.0 coù nhieàu aán baûn khaùc nhau bao goàm : Standard, Profectional vaø Enterprise. Aán baûn Enterprise cung caáp cho caùc laäp trình vieân phaàn meàm client /server vôùi caùc coâng cuï môû roäng cho caùc maùy tính ôû xa vaø phaân phoái caùc trình öùng duïng. Microsoft taêng cöôøng tính naêng laøm vieäc treân maïng, moâi tröôøng phaân phoái cho nhöõng ngöôøi duøng phieân baûn Enterprise. Moät soá tính naêng môùi trong Visual Basic 6.0 : Microsoft Visual Basic 6.0 coù nhieàu tính naêng môùi, caùc ñieàu khieån môùi cho pheùp ta vieát chöông trình öùng duïng keát hôïp giao dieän, caùc xöû lyù vaø tính naêng cuûa office 97 vaø trình duyeät WEB Internet Explorer. Microsoft Visual Basic 6.0 cho pheùp ta laäp trình ñeå theâm ñieàu khieån vaøo döï aùn töï ñoäng vaø coù theå taïo ra caùc ActiveX hieäu chænh. Ta cuõng coù theå vieác caùc öùng duïng phía maùy chuû ( server-side) duøng HTML ñoäng nhuùng keát vôùi caùc thö vieän lieân keát ñoäng cuûa Internet Information Server. Moät vaøi öùng duïng vôùi caùc caõi tieán giuùp cho truy caäp döõ lieäu ôû taàm côû vó moâ lieân quan ñeán haøng traêm, haøng nghìn ngöôøi söû duïng qua maïng hay qua Internet. 3. Laøm vieäc vôùi Microsoft Visual Basic 6.0. 3.1. Khaùm phaù döõ lieäu môùi. Visual Basic cung caáp caùc ñoái töôïng döõ lieäu ActiveX ( ActiveX Data Object – ADO ). Trong caùc phieân baûn tröôùc cuûa VB, truy caäp döõ lieäu ñöôïc thöïc hieän thoâng qua DAO ( Ñoái töôïng truy caäp döõ lieäu- Data Access Object ) vaø RDO ( Ñoái töôïng döõ lieäu töø xa- Remote Data Object). ADO toång hôïp vaø thay theá caùc kyõ thuaät naøy. ADO deã duøng hôn vaø coù taàm hoaït ñoäng roäng hôn. Ta coù theå duøng ADO ñeå keát noái vôùi cô sôû döõ lieäu cuûa moät maùy ñeå baøn hoaëc moät maùy chuû chöùa cô sôû döõ lieäu ôû xa. Hôn theá nöõa ADO coøn cho pheùp truy caäp nhieàu kieåu döõ lieäu, ví duï thö ñieän töû. Kyõ thuaät ADO hieän nay chöùa trong ñieàu kieån môùi, ñieàu kieån döõ lieäu ADO. Noù troâng gioáng nhö caùc ñieàu khieån döõ lieäu trong caùc phieân baûn tröôùc, nhöng phaàn thuoäc tính cuûa ñieàu khieån, ta seõ thaáy coù nhieàu ñieåm khaùc. Noù cho pheùp keát noái vôùi cô sôû döõ lieäu ñeå baøn hay cô sôû döõ lieäu maùy chuû ODBC treân maïng, hoaëc ta coù theå taïo keát noái ñeán caùc cô sôû döõ lieäu khaùc. Ngoaøi ADO, Visual Basic 6 coøn coù boä coâng cuï kyõ thuaät môùi giuùp truy caäp döõ lieäu deã daøng hôn. Trình thieát keá moâi truôøng döõ lieäu cho pheùp cho pheùp xem xeùt vaø thao taùc döõ lieäu trong CSDL khaùc nhau, bôûi vì baûn thaân moâi tröôøng döõ lieäu laø caùc ñoái töôïng, ta coù theå söû duïng chuùng nhö moät ñieàu khieån döõ lieäu. Thaäm chí ta coù theå gaén noù vôùi caùc ñieàu khieån khaùc nhö hôïp vaên baûn hay nhaõn. Moät vaøi ñieàu khieån döõ lieäu khaùc cho pheùp ta taän duïng caùc theá maïnh cuûa ñieàu khieån döõ lieäu ADO. Ñieàu khieån DataGrid cho pheùp xem döõ lieäu döôùi daïng baûng vaø caùc doøng vaø coät. DataList vaø DataCombo töông töï nhö DBList vaø Dbcombo trong caùc phieân baûn tröôùc, ta coù theå duøng chuùng ñeå laáy moät danh saùch döõ lieäu töø ñieàu khieån ADO trong caáu hình hôïp danh saùch ( ListBox ) hoaëc hôïp keát hôïp ( ComboBox) hoaëc chuùng ta coù theå söû duïng FlexGrid ñeå xem nhöõng döõ lieäu phöùc taïp. Visual Basic 6.0 môû roäng khaû naêng baùo caùo vôùi caùc trình baùo caùo döõ lieäu cho pheùp taïo, xem tröôùc vaø in caùc baùo caùo trong Visual Basic töông töï nhö ACCESS. Ta coù theå laáy caùc ñieàu khieån baùo caùo töø hôïp cong cuï baùo caùo döõ lieäu môùi vaø ñöa vaøo bieåu maåu baùo caùo döõ lieäu. Sau ñoù goïi phöông thöùc PrintReport() cuûa baùo caùo döõ lieäu. 3.2. Boå sung môùi veà laäp trình höôùng ñoái töôïng. Visual Basic 6.0 giuùp taïo caùc lôùp vaø ñieàu khieån ActiveX phong phuù hôn. Giôø ñaây ta coù theå löu döõ lieäu qua caùc lôùp töï taïo töø session naøy sang session khaùc thoâng qua tuùi thuoäc tính ( Property bag ). Ta cuõng coù theå taïo hai kieåu lôùp hieäu chænh data-aware laø data source vaø Data consumers. Caùc kieåu lôùp döõ lieäu naøy haïot ñoäng töông töï nhö caùc ñoái töôïng döõ lieäu ADO, nhöng chuùng ñaùp öùng ñöôïc yeâu caàu cuûa khaùch haøng nhieàu hôn. Ñoái vôùi ñieàu khieån ActiveX, ta coù theå taïo caùc ñieàu khieån “haïng nheï” trong Visual Basic 6.0. Ñaây laø caùc ñieàu khieån “Windowless” toán ít taøi nguyeân heä thoáng höon caùc ñieàu khieån khaùc. Ñeå xaùc ñònh moät ñieàu khieån coù phaûi “Windowless” hay khoâng Visual Basic 6.0 cung caáp thuoäc tính môùi HasDC. Add-in laø coâng cuï Visual Basic maø caùc laäp trình vieân coù theå laäp trình ñeå taïo cho caùc laäp trình vieân khaùc. Nhöng Add-in ñöôïc vieát trong Visual Basic chæ coù theå thi haønh trong IDE cuûa VB. Trình taïo öùng duïng Application Wizard, trình bieåu maãu döõ lieäu ( Data Forms Wizard ) laø nhöõng phaàn theâm môùi. Moät soá Wizard / Add-in duøng trong moïi phieân baûn nhö : Trình ñoùng goùi vaø trieån khai töï ñoäng ( Package and development Wizard ) coâng duïng laø chuaån bò vaø trieån khai öùng duïng cho caùc maùy ñeå baøn hoaëc duøng qua maïng. Trình taïo öùng duïng töï ñoäng (Application Wizard ): Khôûi taïo khung söôøn cho öùng duïng. Noù töï ñoäng theâm menu, thanh coâng cuï, taäp tin taøi nguyeân, caùc ñieàu khieån ActiveX vaø ñieàu khieån döõ lieäu. Trình quaûn lyù töï ñoäng ( Wizard Manager ): toå chöùc caùc trình töï ñoäng khaùc nhau ñeå coù theå truy caäp töø trong IDE. Moät soá Wizard / Add-in duøng trong phieân baûn Enterprise vaø Proffessional nhö: Trình ñoái töôïng döõ lieäu töï ñoäng ( Data Object Wizard): Taïo caùc ñoái töôïng döõ lieäu lieân keát vôùi caùc ñieàu khieån döõ lieäu vaø caùc ActiveX hieäu chænh. Tieän ích xaây döïng lôùp ( Class builder Ultility ): duøng taïo giao dieän caùc lôùp hieåu chænh. Trình thanh coâng cuï töï ñoäng (toolBar Wizard): Duøng giao dieän taïo thanh coâng cuï cho bieåu maãu. Trình bieåu maãu döõ lieäu töï ñoäng(Data Form Wizard): Taïo bieåu maãu chöùa caùc ñieàu khieån tham chieáu ñeán döõ lieäu trong moät CSDL. Trình thieát keá Add-in (Add-in Designer) : Taïo caùc Add-in hieäu chænh cuûa VB. Trình trang thuoäc tính töï ñoäng( Property page Wizard): Taïo hôïp thoaïi thuoäc tính cho caùc ñieàu khieån ActiveX töï taïo. Trình gôõ roái T-SQL (T- SQL Debugger): Giuùp gôõ roái khi vieát caùc CSDL cuûa SQL Server. Trình duyeät API Viewer: Giuùp tra cöùu caùc khai baùo haøm, haèng, kieåu cuûa caùc Window APIs. Trình giao dieän ñieàu khieån ActiveX (ActiveX control interface Wizard) : Taïo caùc ñieàu khieån ActiveX. 3.3. Laøm vieäc trong moâi tröôøng laäp trình. Tìm hieåu caùc thaønh phaàn cuûa IDE Ñònh nghóa IDE : IDE laø teân vieát taét cuûa moâi tröôøng phaùt trieån tích hôïp ( Integrated Development Enviroment). IDE laø nôi taïo ra caùc chöông trình Visual Basic, laø nôi taäp trung caùc menu, thanh coâng cuï vaø caùc cöûa soå ñeå ta thao taùc treân chuùng. Moãi thaønh phaàn cuûa IDE coù caùc tính naêng aûnh höôûng ñeán hoaït ñoäng laäp ttrình khaùc nhau. Thanh menu cho pheùp baïn thao taùc treân toaøn boä öùng duïng, thanh coâng cuï cho pheùp thao taùc, truy caäp caùc chöùc naêng cuûa thanh menu qua caùc nut treân thanh coâng cuï. Caùc bieåu maãu (Form) laø khoái xaây döïng chính cuûa chöông trình Visual Basic, chuùng xuaát hieän trong caùc cuûa soå Form. Chuùng ta coù theå theâm caùc coâng cuï ñieàu khieån vaøo bieåu maãu cuûa caùc ñeà aùn( Project). Project Explorer hieån thò caùc ñeà aùn baïn ñang laøm cuõng nhö caùc thaønh phaàn khaùc cuûa ñeà aùn, baïn coù theå duyeät, caøi ñaët caùc thuoäc tính cuûa ñieàu khieån, bieåu maãu vaø module trong cuûa soå Properties. Cuoái cuøng baïn xem xeùt moät hoaëc nhieàu bieåu maãu treân maøn hình thoâng qua cuûa soå Form Layout. Söû duïng moät soá thanh coâng cuï trong IDE Chuùng ta coù theå theâm vaø xoaù caùc thanh coâng cuï trong IDE cuûa Visual Basic: Thanh coâng cuï laø taâp hôïp caùc nuùt baám mang bieåu töôïng chöùa trong moät thanh thöôøng ñaët döôùi thanh menu. Caùc nuùt baám naøy phaûi ñaûm baûo caùc chöùc naêng thoâng duïng trong caáu truùc cuûa thanh menu cuûa Visual Basic. Thanh coâng cuï raát höõu ích vaø tieát kieäm thôøi gian ñeå ta choïn qua caùc muïc ôû menu con, ta click vaøo moät nuùt naøo ñoù treân thanh coâng cuï ñeå goïi moät chöùc naêng naøo ñoù treân thanh menu. Söû duïng thanh coâng cuï Debug : Thanh coâng cuï Debug duøng ñeå kieåm tra chöông trình vaø giaû quyeát moät soá loõi coù theå xaõy ra. Khi gôõ roái chöông trình ta laøm moät soá vieäc nhö chaïy töøng doøng chöông trình, kieåm tra caùc giaù trò bieán, hoaëc döøng chöông trình taïi moät ñieåm nghi ngôø naøo ñoù. Söû duïng thanh coâng cuï Edit : Thanh coâng cuï Edit ñöôïc duøng ñeå vieát chöông trình trong caùc cöûa soå code. Noù bao goàm ñaày ñuû tính naêng coù ôû menu Edit. Moät tính naêng lyù thuù cuûa IDE laø thanh coâng cuï Edit coù chöùc naêng complete Word, töï ñoäng hoaøn taát caùc töø khoaù, noù giuùp cho ta traùnh ñöôïc caùc loãi cuù phaùp do goõ sai chính taû. Thanh coâng cuï Form Editor duøng ñeå keùo giaõn, di chuyeån vaø saép xeáp caùc ñieàu khieån treân bieåu maãu, noù coù tính naêng töông töï nhö menu Format. Thuoäc tính ZOrder cuûa ñieàu khieån cho pheùp ñieàu khieån naøo coù theå naèm leân treân ñieàu khieån naøo, ñieàu khieån coù ZOrder baèng khoâng luoân naèm ôû beân treân. Söû duïng thanh coâng cuï chuaån ( Standard )laø thanh coâng cuï chính trong IDE, noù cung caáp nhieàu tính naêng trong menu File, Project, Debug vaø Run. Theâm caùc ñieàu khieån vaøo thanh coâng cuï Hôïp coâng cuï laø baûng chöùa caùc ñieàu khieån vaø ta thieát keá giao dieän baèng caùch choïn caùc maãu ñieàu khieån vaø ñöa chuùng vaøo bieåu maãu. Moät soá ñieàu khieån coù saún trong VB ta khoâng theå gôõ boû khoûi hoäp coâng cuï goïi laø caùc ñieàu khieån noäi taïi (intrinsic). Moät soá naèm ngoaøi VB chöùa trong caùc taäp tin coù phaàn môû roäng laø .OCX. Nhöõng ñieàu khieån naøy coù theå ñöôïc theâm vaøo hoaëc gôõ boû khoûi hoäp coâng cuï. Quaûn lyù öùng duïng vôùi Project Explorer Project Explorer trong VB 6.0 giuùp ta ñònh höôùng vaø quaûn lyù nhieàu döï aùn, noù cho pheùp toå chöùc nhieàu döï aùn chung trong moät nhoùm goïi laø Project groups. Ta coù theå löu taäp hôïp caùc ñeà aùn thaønh moät taäp tin nhoùm ñeà aùn vôùi phaàn môû roäng laø .vbg. Project Explorer coù caáu truùc caây phaân caáp, caùc ñeà aùn naèm ôû phaàn treân cuûa caây vaø caùc boä phaän cuûa ñeà aùn chöùa trong phaàn döôùi caây. Khi chuùng ta caàn thao taùc treân thaønh phaàn naøo cuûa ñeà aùn ta chæ vieäc choïn phaàn aáy vaø xem cuûa soå Form hoaëc cuûa soå Code cuûa noù. Ñaëc bieät noù voâ cuøng höõu ích cho chuùng ta trong khi xaây döïng nhieàu döï aùn lôùn. Cöûa soå Properties: Moãi thuoäc tính trong cöûa soå coù theå coù moät hoaëc nhieàu giaù trò. Noù giuùp baïn xem xeùt söûa ñoåi vaø ñieàu khieån caùc thuoäc tính cuûa ñieàu khieån ActiveX trong chöông trình. Hieån thò trong IDE Ta coù theå hieån thò IDE cuûa Visual Basic baèng hai caùch : MDI vaø SDI. MDI laø giao dieän ña taøi lieäu, cho pheùp ta hieån thò taát caû caùc cöûa soå thaønh phaàn trong IDE nhö laø cöûa soå ñöôïc chöùa ñöïng trong cöûa soå meï. Traùi laïi vôùi giao dieän SDI caùc cöûa soå thaønh phaàn hieån thò moät caùch ñoäc laäp nhau. Khoâng coù cöûa soå chính ñeå chöùa caùc cöûa soå thaønh phaàn. Trôï giuùp Khoâng chæ laøm chuû ngoân ngöõ laäp trình VB, baïn caàn phaûi caàn söû duïng thuaàn thuïc moâi tröôøng VB cuõng nhö hieåu caùc thoâng ñieäp maø VB göûi ra. Mircosoft ñaõ cung caáp moät trong nhöõng heä thoáng trôï giuùp toát nhaát cho coâng cuï phaùt trieân öùng duïng. Nhöõng trôï giuùp nhaïy vôùi ngöõ caûnh ( Context-sensitive help) : taïi vò trí baát kyø trong VB baïn nhaán F1, hoaëc nuùt trôï giuùp. Noù seõ kích hoaït heä thoáng trôï giuùp cuûa Visual Basic, nôi coù theå giaûi thích cuõng nhö ñöa ra caùc lôøi khuyeân vaø caùc ñoaïn chöông trình maãu coù lieân quan. Nhöõng ai quen duøng Windows, chaéc chaén cuõng bieát qua trôï giuùp caûm ngöõ caûnh. VB ñöôïc hoå trôï vôùi heä thoáng thö vieän MSDN ñöôïc söû duïng roäng raõi cho caùc öùng duïng cuûa Microsoft ñeå cung caáp, truy caäp ñeán coâng cuï höôùng daãn söû duïng caùc saûn phaåm tröïc tuyeán. 3.4. Giôùi thieäu veà thuoäc tính, phöông thöùc, söï kieän. Visual Basic laø moät ngoân ngöõ laäp trình hoå trôï höôùng ñoái töôïng (Object-Oriented Programming). Trong laäp trình höôùng ñoái töôïng , laäp trình vieân chia nhoû caùc coâng vieäc thaønh caùc ñoái töôïng. Töøng ñoái töôïng coù ñôøi soáng rieâng cuûa noù, coù nhöõng ñaëc ñieåm goïi laø thuoäc tính (Properties), coù nhöõng chöùc naêng rieâng bieät goïi laø phöông thöùc ( methods). Thuoäc tính. Coù theå hieåu noâm na laø thuoäc tính moâ taû ñoái töôïng. Moãi ñoái töôïng ñeàu coù thuoäc tính moâ taû rieâng. Nhöng nhìn chung caùc ñoái töôïng ñeàu coù nhöõng thuoäc chính chung nhö : Left : vò trí canh traùi, Right : vò trí canh phaûi, Height :chieàu cao cuûa ñoái töôïng ñieàu khieån, Width: chieàu roäng cuûa ñoái töôïng, Enable : Coù giaù trò logic ( True/False) quyeát ñònh ngöôøi söû duïng coù theå laøm vieäc vôùi caùc ñoái töôïng naøy khoâng. Ngoaøi ra coøn raát nhieàu thuoäc tính khaùc tuyø theo töøng ñoái töôïng ñieàu khieån. Phöông thöùc. Phöông thöùc laø nhöõng ñoaïn chöông trình chöùa trong ñieàu khieån, cho ñieàu khieån bieát caùch thöïc hieän coâng vieäc naøo ñoù. Töông töï nhö thuoäc tính, moãi ñoái töôïng ñieàu khieån cuõng coù caùc phöông thöùc khaùc nhau, nhöng cuõng coù caùc phöông thöùc raát thoâng duïng cho haàu heát caùc ñoái töôïng. Ñoù laø: Move : thay ñoåi vò trí cuûa moät ñoái töôïng theo yeâu caàu cuûa chöông trình. Drag: thi haønh hoaït ñoäng keùo thaû cuûa ñoái töôïng. SetFocus: cung caáp taàm ngaém cho ñoái töôïng ñöôïc chæ ra trong leänh goïi phöông thöùc. ZOder : qui ñònh thöù töï xuaát hieän cuûa caùc ñoái töôïng treân maøn hình. Söï kieän. Neáu nhö thuoäc tính moâ taû ñoái töôïng, phöông thöùc chæ ra caùch thöùc ñoái töôïng haønh ñoäng thì söï kieän laø nhöõng phaûn öùng cuûa ñoái töôïng. Töông töï nhö thuoäc tính vaø phöông thöùc, söï kieän cuõng coù ñaëc tröông ôû töøng ñoái töôïng ñieàu khieån. Nhöng nhöõng söï kieän thöôøng gaëp nhaát cuûa caùc ñoái töôïng laø: Change: Ngöôøi söû duïng söûa ñoåi chuoãi kyù töï trong hoäp keát hôïp ( combobox) hoaëc hoäp vaên baûn (TextBox). Click : Ngöôøi söû duïng söû duïng caùc phím cuûa chuoät ñeå click leân caùc ñoái töôïng. Dblick : Ngöôøi söû duïng söû duïng phím cuûa chuoät ñeå nhaáp ñuùp leân caùc ñoái töôïng. DragDrop : Ngöôøi söû duïng keùo reâ moät ñoái töôïng sang ñoái töôïng khaùc. DragOver: Ngöôøi söû duïng keùo reâ moät ñoái töôïng ngang qua moät ñieàu khieån khaùc. GotFocus: Ñöa moät ñoái töôïng vaøo taàm ngaém cuûa ngöôøi söû duïng. KeyDown: Ngöôøi söû duïng nhaán moät nuùt treân baøn phím khi moät ñoái töôïng ñang trong taàm ngaém. KeyPress: Ngöôøi söû duïng nhaán vaø thaû moät nuùt treân baøn phím khi moät ñoái töôïng ñang trong taàm ngaém. KeyUp: Ngöôøi söû duïng thaû moät nuùt treân baøn phím khi moät ñoái töôïng ñang trong taàm ngaém. LostFocus: Ñöa moät doái töôïng ra khoûi taàm ngaém. MouseDown: Ngöôøi söû duïng nhaán moät nuùt chuoät baát kyø trong khi con troû chuoät ñang naèm treân moät ñoái töôïng. MouseMove : Ngöôøi söû duïng di chuyeån con troû ngang qua moät ñoái töôïng. MouseUp : Ngöôøi söû duïng thaû nuùt chuoät trong khi con troû chuoät ñang naèm treân moät ñoái töôïng. 3.5. Khaû naêng söû duïng caùc DLL vaø Windows API. Windows cung caáp voâ soá caùc haøm goïi, döôùi daïng thö vieän leân keát ñoäng (Dynamic Link Libraries ). Trong Visual Basic 6.0 coøn coù caùc tieän ích goïi ngöôïc cuûa DLL ( DLL Callback Facilities ), nghóa laø thay vì ta goïi chöông trình trong API, noù cho pheùp ta goïi moät API maø baûn thaân noù coù theå goïi ngöôïc veà chöông trình cuûa ta nhö laø moät phaàn chöông trình cuûa noù vaäy. Giôùi thieäu veà thö vieän lieân keát ñoäng (DLL) Ñoái vôùi caùc ngoân ngöõ laäp trình coå ñieån nhö C, khi bieân dòch chöông trình, ta coù moät chöông trình .EXE duy nhaát coù theå thi haønh maø khoâng duøng baát kyø taäp tin naøo khaùc, coøn taäp tin .vbp cuûa Visual Basic khoâng nhö theá noù phaûi chaïy trong moâi tröôøng Visual Basic. Coù 2 loaïi thö vieän lieân keát : thö vieän lieân keát tónh (SLL) vaø thö vieän lieân keát ñoäng (DLL). Lieân keát tónh : Cung caáp moät keát noái beàn vöõng giöõa chöông trình vaø module vieát saún luùc thieát keá, töông töï nhö vieát thuû tuïc trong Visual Basic vaø goïi thuû tuïc ñoù, nhöng chæ khaùc laø lieân keát tónh chöùa beân ngoaøi Visual Basic. Tuy nhieân khi söû duïng caàn phaûi copy ñoaïn chöông trình vieát saún cuûa lieân keát tónh vaøo taäp tin chöông trình khi bieân dòch. Töø ñoù trôû ñi noù trôû thaønh moät phaàn cuûa chöông trình vieát saún vaø gaén chaët vôùi chöông trình cuûa ta. Lieân keát ñoäng : Laø giaûi phaùp linh hoaït hôn lieân keát tónh, taäp tin thö vieän beân ngoaøi chöông trình khoâng bò raøng buoäc vôùi chöông trình. Noù chöùa moät nôi sao cho taäp tin EXE coù theå tìm ra vaø göûi thoâng ñieäp cho noù. Khi thi haønh caùc thoâng ñieäp naøy laø caùc cuoäc goïi ñeán caùc haøm/ thuû tuïc, yeâu caàu phaàn naøo ñoù cuûa DLL ñöôïc thi haønh. Caùc DLL cuûa Visual Basic naèm trong thö muïc Windows \ System \ Giôùi thieäu veà caùc DLL cuûa Windows. KERNEL32 : Laø DLL chính, ñaûm nhieäm quaûn lyù boä nhôù, thöïc hieän chöùc naêng ña nhieäm vaø nhöõng haøm aûnh höôûng tröïc tieáp ñeán hoaït ñoäng cuûa Windows. USER32 : Laø thö vieän quaûn lyù Windows. Thö vieän naøy chöùa caùc haøm xöû lyù menu, ñònh giôø, truyeàn tin, taäp tin vaø nhieàu phaàn khoâng ñöôïc hieån thò khaùc cuûa Windows. GDI32 : Laø thö vieän chöùa giao dieän thieát bò ñoà hoaï (Graphics Device Interface) cung caáp caùc haøm veõ treân maøn hình, cuõng nhö kieåm tra phaàn bieåu maãu naøo caàn veõ laïi. WINNM: cung caáp caùc haøm Multimedia ñeå xöû lyù aâm thanh, nhaïc, video, thôøi gian thöïc, laáy maãu, vv… Ñaây laø thö vieän 32 bit coøn thö vieän 16 bit töông öùng teân laø MMSYSTEM. Theá maïnh cuûa DLL. Nhaát quaùn : Ngöôøi söû duïng öa chuoäng Windows vì ña soá ñieàu coù moät giao dieän phoå bieán cho moïi öùng duïng, nghóa laø coù chöông trình chung ñeå taïo ra chuùng. Deã baûo trì : Nhöõng thay ñoåi hoaëc boå sung neáu coù seõ bieåu hieän treân moïi öùng duïng. Taäp tin .EXE nhoû hôn : Do moät phaàn coâng vieäc chöùa ñöïng ôû nôi khaùc vaø khoâng gaén keát “cöùng nhaéc” nhö lieân keát tónh, kích côõ taäp tin nhoû hôn. Tuy nhieân DLL coøn chöùa nhieàu thaønh phaàn khaùc chöù khoâng chæ nhöõng gì chöông trình cuûa ta caàn. Caáu truùc cuûa Windows : DLL laø neàn taûng thieát keá cuûa Windows. Windows thöïc chaát laø taäp hôïp caùc DLL ñeå caùc öùng duïng khaùc nhau coù theå duøng chung. Beân trong caùc DLL laø haøng traêm, ngaøn caùc haøm vaø thuû tuïc. Ta goïi chung laø Windows API. Giôùi thieäu veà WIN API Giao dieän laäp trình öùng duïng ( Application Programmer’s Interface ) laø taäp hôïp caùc haøm coù saún cuûa Windows, chuùng gaàn guûi vôùi ngoân ngöõ C/ C++ hôn. Visual Basic ñöôïc thieát keá theo kieåu che bôùt caùc coâng vieäc beân döôùi heä thoáng. Phaàn lôùn caùc cuoäc goïi ñeán haøm API ñöôïc loàng trong caùc daïng leänh cuûa Visual Basic, bao goàm caùc töø khoaù, phöông thöùc vaø thuoäc tính. Chuùng seõ ñöôïc thoâng dòch thaønh WinAPI vaø chuùng ta vaän duïng caùc theá maïnh hoå trôï cuûa chuùng. Lôùp boïc API vaø caùc ñieàu khieån hieäu chænh : Ñieàu khieån hieäu chænh (OCX hay ActiveX) baûn thaân chuùng laø nhöõng lôùp boïc API, chuùng chuyeån giao chuyeån giao caùc chöùc naêng theo kieåu Visual Basic moät caùch thaân thieän. Caùc ñieàu khieån ActiveX vaø OLE Automation Servers ñöa chöông trình vaøo caùc ñeà aùn maø khoâng caàn coù caùc DLL thöïc söï. Caùch goïi haøm API. Goïi haøm API trong Visual Basic khoâng khaùc vôùi goïi haøm/ thuû tuïc trong module cuûa ñeà aùn. Ví duï thuû tuïc goïi sau: Public Declare Function Flash Lib “User32” Alias “FlashWindow” (ByVal hWnd as Long, Byval Invert As Long ) as Long. Khai baùo cho moät cuoäc goïi API : Tröôùc khi duøng haøm cuûa DLL, ta caàn khai baùo haøm ñoù cho Visual Basic hieåu, Visual Basic caàn bieát: Teân haøm hoaëc thuû tuïc. Teân taäp tin DLL chöùa noù. Tham soá truyeàn. Kieåu döõ lieäu traû veà neáu laø haøm. Töø khoaù Declare baùo cho VB bieát ñaây laø moät haøm cuûa DLL, sau Declare laø töø khoaù Sub hoaëc Function cho bieát ñaây laø thuû tuïc hay haøm. Töø khoaù Lib cho bieát teân cuûa DLL ñang chöùa haøm hoaëc thuû tuïc maø ta goïi. Töø khoaù Alias cho bieát teân thöïc söï cuûa thuû tuïc hoaëc haøm trong thö vieän. Noù coù theå khaùc vôùi teân ta khai baùo tröôùc töø khoaù Lib. Cuoái cuøng laø khai baùo caùc tham soá truyeàn, cuøng caùc kieåu döõ lieäu traõ veà. 3.6. Thieát laäp baùo caùo vaø truy xuaát thoâng tin. Thieát laäp baùo caùo treân cô sôû döõ lieäu khoâng chæ laø hieån thò cô sôû döõ lieäu töø döõ lieäu maø noù coøn lieân quan ñeán moät soá hoaït ñoäng khaùc treân döõ lieäu. Sau ñaây toâi xin giôùi thieäu veà moät soá coâng cuï laäp baùo cao nhö Data Report, MS Access, Crystal Report. 3.6.1. Söû duïng moät soá coâng cuï ñeå laäp baùo caùo trong Visual Basic. Söû duïng thieát keá DATAREPORT: Ñaây laø ñieåm noåi baäc trong VB 6, thieát keá Datareport laø caùch tröïc quan ñeå taïo baùo caùo trong moâi tröôøng phaùt trieån VB, noù cung caáp caùc chöùc naêng heát söùc cô baûn nhöng laïi laïi deã duøng. Caùc ñieàu khieån Report bao goàm : caùc ñieàu khieån nhaõn, ñieàu khieån hôïp vaên baûn, ñieàu khieån aûnh, ñieàu khieån ñoaïn thaúng vaø ñieàu khieån hình daïng, ñieàu khieån haøm cho pheùp cheøn caùc tính toaùn toùm taét vaøo baùo caùo. Chuùng ta coù theå xem baùo caùo trong cheá ñoä Print Preview baèng caùch thi haønh phöông thöùc Show Söû duïng MS Access ñeå laäp baùo caùo: MS Access cho pheùp vieát caùc baùo caùo cô sôû döõ lieäu. Noù hoå trôï giao dieän deã duøng vaø tröïc quan. Noù cho pheùp saép xeáp vaø phaân nhoùm cuõng nhö söû duïng caùc hieäu chænh trong baùo caùo. Hai kyõ thuaät ñeå thöïc hieän laø: Söû duïng Automation ñeå thi haønh baùo caùo Access. Söû duïng VSREPORTS ñeå thi haønh baùo caùo Access. Söû duïng CRYSTAL REPORT ñeå laäp baùo caùo: Ta khoâng theå taïo baùo caùo baèng chöông trình maø thay vaøo ñoù ta duøng Crystal Report ñeå xaây döïng baùo caùo. Sau khi xaây döïng xong baùo caùo ta löu noù vaø phaân phaùt cuøng caùc öùng duïng cho ngöôøi söû duïng. 3.6.2. Söû duïng caùc coâng cuï in aán trong Visual Basic. Söû duïng ñoái töôïng Printer. Ta coù theå duøng ñoái töôïng Printer cuûa Visual Basic ñeå in döõ lieäu töø öùng duïng. Tuy nhieân caùch naøy ñoøi hoûi laäp trình nhieàu vaø khoâng linh hoaït trong nhöõng tröôøng hôïp caàn kieåm soaùt keát quaû in aán. Khi söû duïng ñoái töôïng printer ta caàn thöïc hieän caùc böôùc sau: Xaùc ñònh heä toaï ñoä ta seõ duøng vôùi ñoái töôïng Printer. Taïo caùc caùch boá trí baùo caùo. Vieát chöông trình taïo ñoái töôïng Recordset duøng baát cöù thö vieän truy caäp cô sôû döõ lieäu naøo tuyø thích. Laëp xuyeân qua caùc maãu tin ñeå traû veà caùc ñoái töôïng Recordset, göûi döõ lieäu ñeán ñoái töôïng Printer duøng caùc thuoäc tính vaø caùc phöông thöùc cuûa noù. Ñoái töôïng Printer ñöa ra moät soá thuoäc tính vaø caùc phöông thöùc hoå trôï vieäc theå hieän trang in vaø caùc taùc vuï ñieàu khieån nhö : Thuoäc tính CurentX, curentY : kieåm soaùt vò trí hieän haønh treân trang in. Thuoäc tính Font laø ñoái töôïng ñieàu khieån caùc thuoäc tính cuûa vaên baûn chöùa trong trang in. Phöông thöùc Print : trình baøy vaên baûn treân trang in. Phöông thöùc Newpages cheøn moät pheùp ngaét trang vaøo taùc vuï in, thuoäc tính page traû veà trang in hieän haønh cuûa taùc vuï in, phöông thöùc KillDoc xoaù boû moät taùc vuï in. Phöông thöùc ñoà hoaï nhö Line, Point, Circle. Phöông thöùc EnDoc: göûi toaøn boä taùc vuï in cho maùy in. Thi haønh phöông thöùc naøy ôû cuoái taùc vuï in söû duïng ñoái töôïng Printer. Söû duïng VSVIEW cuûa VIDEOSOFT ñeå laäp baùo caùo vaø in baûng in vôùi ñieàu khieån VsPrinter: Thieáu soùt cuûa ñoái töôïng Printer laø tröôùc khi in ta khoâng bieát ñöôïc baùo caùo seõ theå hieän nhö theá naøo, hay thaäm chí khoâng bieát baùo caùo coù bao nhieâu trang in do ñoù ta neân duøng coâng cuï cung caáp nhieàu tieän ích hôn laø vsPrinter. VsPrinter raát thích hôïp ñeå in baûng CSDL bôûi vì noù hoå trôï roõ raøng cho vieäc in döõ lieäu theo ñònh daïng doøng – coät. Ta coù theå in döõ lieäu trong baûng baèng caùch gaùn döõ lieäu cho thuoäc tính Table cuûa ñieàu khieån. Ñeå taïo baûng vsPrinter, tröôùc heát caàn taïo ra moät chuoåi chöùa thoâng tin ñònh daïng caùch thöùc in baûng chöùa caùc thoâng tin ñaày ñuû veà caùch boá trí vaên baûn. 4. KHAÛ NAÊNG KEÁT NOÁI VÔÙI CÔ SÔÛ DÖÕ LIEÄU CUÛA VISUAL BASIC. Hình 2: Minh hoaï khaû naêng keát noái döõ lieäu cuûa VB vôùi CSDL. Data ActiveX .EXE .DLL Midder Tier Data Source Form Client DHTML Report Code Data binding Remoting Data Access ADO, RDO, DAO Class Module, Data Enviroment Creatable Recordsets, ADO Data Control , Intrinsic Data Control DCOM, Remotables,ADO Recordsets, Remoting UDTs Microsoft Transaction Server Microsoft Visual Database Tool (Dataview) Söû duïng Visual Basic 6.0 baïn coù theå taïo caùc thaønh phaàn goùi goïn töøng böôùc trong moät heä thoáng truy caäp döõ lieäu. Khôûi ñaàu vôùi data source, Microsoft Visual Data Tools (Vieäc truy caäp döõ lieäu thoâng qua cöûa soå Dataview) cung caáp cho baïn caùc khaû naêng ñeå xem vaø thao taùc treân caùc ñoá töôïng Table, views, Stored procedures, vaø caùc sô ñoà cô sôû döõ lieäu treân caùc heä thoáng SQL Server vaø Oracle. Data Source vaø Data Controls : Treân Client chuùng ta coù theå söû duïng coâng cuï Data Enviroment ñeå thöïc hieän vieäc taïo nhanh caùc keát noái ADO vaø caùc ñoái töôïng Command ñeå truy caäp döõ lieäu cuûa baïn. Data Enviroment coøn cung caáp theâm caùc giao tieáp laäp trình ñoäng cho pheùp truy caäp caùc ñoái töôïng döõ lieäu trong döï aùn cuûa baïn. ADO Conrol veà baûn chaát beân trong cung töông töï nhö Data Control, ngoaïi tröø vieäc noù söû duïng ñoái töôïng ADO Recordset nhö laø moät Data Source cho caùc Controls vaø caùc ñoái töôïng trong Visual Basic. Dynamic Data Binding: Khaû naêng keát buoäc moät data source tôùi moät ñoái töôïng caàn döõ lieäu laø khaû thi ñoái vôùi Visual Basic 6.0. Taïi thôøi ñieåm thi haønh baïn coù theå thieát laäp thuoäc tính Data source cuûa ñoái töôïng caàn döõ lieäu (ví duï nhö ñoái töôïng DataGrid Control ) tôùi moät data source. Theá maïnh cuûa Visual Basic laø khaû naêng hoå trôï vaø keát noái döõ lieäu. Visual Basic hoå trôï caùc kieåu truy caäp döõ lieäu nhö : DAO - ñoái töôïng truy caäp döõ lieäu, RDO – truy caäp döõ lieäu töø xa, ADO - caùc ñoái töôïng döõ lieäu ActiveX. Noù coøn coù khaû naêng keát noái vôùi döõ lieäu töø MS Access, SQL Server vôùi heä quaûn trò cô sôû döõ lieäu Oracle vaø moät soá heä quaûn trò cô sôû döõ lieäu khaùc. Trong ñoà aùn toát nghieäp naøy toâi ñaõ caøi ñaët chöông trình treân ngoân ngöõ VB 6.0 vaø duøng heä quaûn trò CSDL SQL Server 7.0 qua phöông phaùp truy caäp ADO. Sau ñaây toâi xin giôùi thieäu theâm veà kieåu truy caäp döõ lieäu ADO Ñoái töôïng döõ lieäu ActiveX (Active X Data Object) Sô ñoà kieán truùc cuûa ADO : Connection Command Recordset Errors Fields Parameters Error Parameter Field Khaùi nieäm veà ADO: Laø caàu noái giöõa ñoái töôïng cung caáp döõ lieäu vaø ñoái töôïng söû duïng döõ lieäu thoâng qua caùc Data source ñaõ ñöôïc taïo cho vieäc söû duïng Microsoft ActiveX Data Objects (ADO), noù laø phöông phaùp toái öu nhaát ñeå truy caäp döõ lieäu cuûa Visual Basic trong nguoàn döõ lieäu baát kyø quan heä vaø khoâng quan heä. Truy nhieân caùc phöông phaùp khaùc nhö RDO, DAO vaãn coøn ñöôïc hoå trôï. III. GIÔÙI THIEÄU VEÀ CAÙC HEÄ QUAÛN TRÒ CÔ SÔÛ DÖÕ LIEÄU SQL SERVER 1. Caáu truùc cô sôû döõ lieäu cuûa SQL Server 7.0. SQL Server toå chöùc döõ lieäu löu trong Cô sôû döõ lieäu (CSDL) thaønh nhöõng thaønh phaàn logic. User laøm vieäc treân nhöõng thaønh phaàn logic naøy nhö baûng (table), view, procedure… Thaønh phaàn vaät lyù cuûa nhöõng file thì trong suoát (transparent), chæ coù ngöôøi quaûn lyù Cô sôû döõ lieäu môùi ñöôïc laøm vieäc treân ñoù. SQL Server coù 4 cô sôû döõ lieäu heä thoáng ( master, msdb, model, temdb database ) vaø caùc cô sôû döõ lieäu cuûa user. Hình minh hoïa Master database: Ghi laïi caáu hình heä thoáng cuûa SQL Server. Noù ghi laïi taát caû taøi khoaûn ñaêng kyù cuûa user vaø caáu hình heä thoáng, nhöõng file primary chöùa thoâng tin khôûi ñoäng cuûa Cô sôû döõ lieäu cuûa user, chöùa thoâng tin khôûi ñoäng cuûa SQL Server. Nhöõng thao taùc sau gaây ra nhöõng thay ñoåi trong master database: Taïo, thay ñoåi, xoùa cô sôû döõ lieäu,thay ñoåi transaction log. Theâm hay xoùa cuûa nhöõng sever söû duïng thuû tuïc heä thoáng nhö sp-addserver (theâm server) and sp-dropserver (boû server). Temdb database : chöùa nhöõng baûng taïm vaø nhöõng stored procedure taïm. Nhöõng baûng taïm vaø nhöõng stored procedure cuûa user khi noái keát vaøo heä thoáng ñöôïc löu trong temdb database. Khi SQL khôûi ñoäng thì taát caû caùc baûng taïm vaø caùc stored procedure trong temdb database ñeàu maát. Stored procedure : laø 1 taäp hôïp bieân dòch tröôùc cuûa nhöõng caâu leänh cuûa Transact-SQL ñöôïc löu vaø xöû lyù nhö 1 ñôn vò (unit). Stored procedure saün saøng cho vieäc quaûn lyù SQL Server vaø hieån thò thoâng tin cuûa cô sôû döõ lieäu, cuûa nhöõng ngöôøi söû duïng. SQL Server cung caáp nhöõng stored procedure goïi laø stored procedure heä thoáng. Model database : ñöôïc duøng nhö 1 khuoân maãu cuûa CSDL trong heä thoáng. Khi taïo ra 1 CSDL thì phaàn ñaàu cuûa CSDL laø baûn sao cuûa model database, phaàn coøn laïi laø nhöõng trang troáng. Msdb database : SQL Server Agent duøng msdb database ñeå laäp keá hoaïch alert, job. Alert laø 1 ñònh nghóa cuûa ngöôøi söû duïng ñaùp öùng 1 söï kieän cuûa SQL Server. Alert coù theå thöïc thi caû nhieäm vuï ñònh nghóa hoaëc gôûi e-mail ñeán 1 ngöôøi chæ ñònh. Job laø söï thöïc hieän 1 haønh ñoäng quaûn lyù chöùa 1 hoaëc nhieàu böôùc, thay theá cho thuaät ngöõ task cuûa SQL Server 6.5. 2. Caáu truùc cô sôû döõ lieäu vaät lyù. a. Trang (page). Ñôn vò cô baûn löu tröõ döõ lieäu laø trang (page). Trong SQL Server 7.0, 1 trang coù kích thöôùc 8MB, ta seõ coù 128 trang/1MB. 96 byte ñaàu cuûa moãi trang chöùa header cuûa trang goàm thoâng tin heä thoáng nhö loaïi trang, soá vuøng troáng cuûa trang. Caáu truùc trang döõ lieäu : Caùc haøng döõ lieäu (data row) ñöôïc ñöa vaøo tuaàn töï ngay sau page header, row offset ñöôïc baét ñaàu töø cuoái trang, chæ ñeán data row vaø cho bieát byte baét ñaàu cuûa data row, kích thöôùc haøng toái ña laø 8060 byte. b. Extent. Extent laø ñôn vò cô baûn chæ vuøng löu baûng vaø index. Moãi extent goàm 8 trang lieân tuïc nhau. Coù 2 loaïi extent : Mixed extent coù theå löu nhöõng ñoái töôïng khaùc nhau. Uniform extent chæ coù theå löu 1 ñoái töôïng duy nhaát. c. Nhöõng loaïi file trong CSDL : SQL Server coù 3 loaïi file: Primary file : laø file baét ñaàu cuûa cô sôû döõ lieäu. Moãi cô sôû döõ lieäu chæ coù 1 file primary, teân file coù phaàn môû roäng laø .mdf Secondary file : laø file löu nhöõng gì coøn laïi cuûa cô sôû döõ lieäu maø khoâng chöùa trong primary file, coù theå coù nhieàu file secondary, teân file coù phaàn môû roäng laø .ndf. Log file : chöùa nhöõng thoâng tin transaction log, ñöôïc duøng ñeå khoâi phuïc cô sôû döõ lieäu, moãi cô sôû döõ lieäu coù ít nhaát 1 log file, teân file coù phaàn môû roäng laø .ldf. File cuûa SQL Server coù 2 teân: Logical_file_name: laø teân duøng trong nhöõng caâu leänh Transact_SQL. Os_file _name: laø teân file vaät lyù, chæ roõ ñöôøng daãn cuûa file cô sôû döõ lieäu, ví duï: C:\Mssql7\Data\MyData1.mdf laø teân Os_file_name. MyDB_primary laø teân logical_file_name, Nhöõng trang trong file ñöôïc ñaùnh soá baét ñaàu töø 0. Moãi file coù 1 soá ID. Moãi trang trong file goàm caû ID file vaø soá thöù töï trang trong file. Ví duï: File primary coù kích thöôùc 4MB, vaø Secondary coù kích thöùôc 1 MB. Trang ñaàu tieân trong moãi file laø trang header file chöùa thoâng tin veà thuoäc tính cuûa file. Trang thöù 9 trong primary file laø trang khôûi ñoäng cô sôû döõ lieäu chöùa thoâng tin veà thuoäc tính cuûa cô sôû döõ lieäu. 3. Lyù thuyeát moâ hình quan heä a. Caùc khaùi nieäm cô baûn Thöïc theå : laø moät ñoái töôïng cuï theå naøo ñoù Thuoäc tính thöïc theå : Tính chaát xaùc ñònh thöïc theå Lôùp thöïc theå : Caùc thöïc theå coù cuøng thuoäc tính Thuoäc tính: Teân thuoäc tính, mieàn xaùc ñònh cuûa thuoäc tính Löôïc ñoà quan he : goàm caùc thuoäc tính cuûa thöïc theå (teân, mieàn xaùc ñònh) cuøng vôùi caùc meänh ñeà raøng buoäc. Löôïc ñoà cuûa moät quan heä : R== (A1: D1’ A2 : D2 ,……,An :Dn , M) trong ñoù: AI :Teân thuoäc tính, DI :Mieàn xaùc ñònh cuûa thuoäc tính, M : Meänh ñeà raøng buoäc. b. Khaùi Nieäm phuï thuoäc döõ lieäu vaø caùc daïng chuaån Moät thuoäc tính goïi laø phuï thuoäc vaøo caùc thuoäc tính khaùc khi giaù trò cuûa thuoäc tính naøy phuï thuoäc vaøo giaù trò cuûa thuoäc tính kia. Söï phuï thuoäc coù theå laø tröïc tieáp hay giaùn tieáp. Moät quan heä bao giôø cuõng coù moät nhoùm thuoäc tính maø giaù trò cuûa chuùng qui ñònh giaù trò cuûa caùc thuoäc tính khaùc, nhoùm thuoäc tính ñoù goïi laø khoùa. Vôùi moät quan heä tuøy vaøo caùc phuï thuoäc cuûa caùc thuoäc tính vaøo khoùa trong ñoù maø ta phaân chia caùc quan heä ñoù thaønh caùc daïng chuaån khaùc nhau. Caùc daïng chuaån cô baûn: Daïng chuaån 1 Daïng chuaån 2 Daïng chuaån 3 Caùc döõ lieäu löu giöõ döôùi daïng chuaån 3 traùnh ñöôïc hieän töôïng dö thöøa döõ lieäu, taïo cho döõ lieäu coù tính ñoäc laäp cao. Caùc quan heä neáu chöa ôû daïng chuaån 3 seõ ñöôïc phaân raõ thaønh caùc quan heä nhoû hôn ôû daïng chuaån 3. c. Khaùi nieäm chæ daãn vaø khoùa chæ daãn Ñeå coù theå tìm kieám thoâng tin nhanh theo moät tieâu chuaån naøo ñoù chuùng ta taïo ra caùc thoâng tin chæ daãn theo tieâu chuaån ñoù. Caùc thoâng tin chæ daãn laø caùc thoâng tin giuùp ta tìm kieám döõ lieäu nhanh. Caùc thoâng tin naøy goïi laø khoùa chæ daãn. Khoùa chæ daãn coù theå laø moät tröôøng, hoaëc nhieàu tröôøngï. Vôùi caùch taïo ra khoùa chæ daãn theo tieâu chuaån naøo ñoù ta coù theå tìm kieám nhanh döõ lieäu theo tieâu chuaån ñoù. CHÖÔNG IV XAÂY DÖÏNG CHÖÔNG TRÌNH I. Phaàn döõ lieäu : Nhö ñaõ trình baøy trong chöông 2, phaàn phaân tích vaø thieát keá heä thoáng. Ta toå chöùc döõ lieäu thaønh 16 baûng döõ lieäu nhö treân. Hình : Moâ hình vaät lyù döõ lieäu II. Moät soá giao dieän chính : 1. Hình aûnh Form chính cuûa chöông trình: 2. Ñaây laø hình aûnh Menu giao dòch xuaát haøng: 3. Hình aûnh Form ñôn ñaët haøng : 4. Hình aûnh Form laäp phieáu xuaát haøng : 5. Hình aûnh Form laäp phieáu thu tieàn haøng : III. Moät soá moâ ñun chính : 1. Moâ moâ ñun keát noái CSDL : Public Function Ketnoi() As Boolean On Error Resume Next con.ConnectionTimeout = 5 'su dung sqloledb de ket noi toi sqlserver ' phuong thuc chuoi ket noi con.ConnectionString = "PROVIDER=SQLOLEDB.1;server =(local)" & ";Database=dulieu1" & ";Trusted_Connection=yes" 'con.Properties("Prompt") = adPromptComplete con.Open End Function 2. Moâ ñun kieåm tra ngaøy thaùng nhaäp vaøo : ' Ham kiem tra ngay nhap vao Public Function checkdate(strdate As String) As String Dim temp As Integer Dim strtemp As String temp = 3 If IsNumeric(Left(strdate, 1)) Then ' Neu ky tu dau la so thi If IsNumeric(Mid(strdate, 2, 1)) Then ' Neu ky tu thu hai la so thi If Left(strdate, 2) <= 31 Then ' Neu gia tri 2 ky tu ' <=31 thi kiem tra dau "/" mask1: If Mid(strdate, temp, 1) = "/" Then If IsNumeric(Mid(strdate, temp + 1, 1)) Then If IsNumeric(Mid(strdate, temp + 2, 1)) Then If Mid(strdate, temp + 1, 2) <= 12 Then If Mid(strdate, temp + 3, 1) = "/" Then strtemp = Left(strdate, temp + 3) ' Cat bo 6 ky tu dau If IsDate(strdate) Then ' Chuyen phan con lai th nam checkdate = strtemp & Format(strdate, "yyyy") Else GoTo msgdate End If End If Else GoTo msgdate End If Else If Mid(strdate, temp + 2, 1) = "/" Then strtemp = Left(strdate, temp + 2) If IsDate(strdate) Then checkdate = strtemp & Format(strdate, "yyyy") Else GoTo msgdate End If End If End If Else GoTo msgdate End If Else GoTo msgdate End If Else GoTo msgdate End If Else If Mid(strdate, 2, 1) = "/" Then temp = 2 GoTo mask1 Else GoTo msgdate End If End If Else msgdate: checkdate = "1" End If End Function 3. Moâ ñun löu döõ lieäu xuaát haøng: Public Sub Luudl() On Error GoTo error1 Dim rs As New ADODB.Recordset Dim cmd As New ADODB.Command Dim str As String If Trim(txtmapnx) = "" Or Trim(txtngaylappnx) = "" Or Trim(Combomaddh.Text) = "" Or Trim(txtngaynx) = "" Or Trim(txtngayhtt) = "" Or Trim(Combomahang.Text) = "" Or Trim(txtsoluongnx) = "" Or Trim(txtdongianx) = "" Then MsgBox "Chu y: Phai nhap day du thong tin truoc khi luu!", vbOKOnly + vbExclamation, "Thong bao" txtmapnx.SetFocus Exit Sub End If 'Neu kiem tra ma khach hang co bat dau bang chu 'K' hay khong If Left(Trim(txtmapnx), 1) "X" Then MsgBox "Chu y: Ma phieu xuat hang phai bat dau boi 'X ...' !", vbOKOnly + vbExclamation, "Thong bao" txtmapnx.SetFocus Exit Sub End If 'Tim xem da ton tai Maduong nay trong Table duong hay chua? Set cmd.ActiveConnection = con str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai Set rs = Nothing ' Dong record lai toithieu = 0 'Xoa gia tri ban dau toida = 0 'Xoa gia tri ban dau Set cmd.ActiveConnection = con str = "select MATHANG.mahang, MATHANG.sltontt, MATHANG.sltontd from MATHANG where MATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = False Then ' Neu da ton tai, chac chan co toithieu = rs!sltontt toida = rs!sltontd Set rs = Nothing End If Set cmd.ActiveConnection = con str = "select CTMATHANG.mahang, CTMATHANG.soluongton from CTMATHANG where CTMATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = False Then ' Neu da ton tai sltontam = rs!soluongton - Val(txtsoluongnx) If sltontam < toithieu Then MsgBox "So luong hang ton duoi muc toi thieu. Can phai nhap them truoc da.", vbOKOnly + vbExclamation, "Thong bao" txtsoluongnx.SetFocus Me.MousePointer = 0 Set rs = Nothing Exit Sub Else ' Neu khong duoi muc ton toi thieu, cap nhat SL Set rs = Nothing Set cmd.ActiveConnection = con 'Mo lai de luu str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai, chac chan chua co rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!ngaylappnx = Trim(txtngaylappnx) rs!maddh = Trim(Left(Combomaddh.Text, 5)) rs!makho = Trim(Left(Combomakho.Text, 5)) rs!ngaynxh = Trim(txtngaynx) rs!ngayhtt = Trim(txtngayhtt) rs.Update Set rs = Nothing ' Dong record lai End If Set cmd.ActiveConnection = con str = "Select DONGNXHANG.mapnxh, DONGNXHANG.mahang, DONGNXHANG.soluongnxh, DONGNXHANG.dongianxh from DONGNXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "' and mahang = '" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongnxh = Trim(txtsoluongnx) rs!dongianxh = Trim(txtdongianx) rs.Update Set rs = Nothing End If 'Chi tiet mat hang duoc cap nhat sau cung Set rs.ActiveConnection = con 'Cap nhat phai nhu vay str = "Update CTMATHANG set soluongton ='" & sltontam & "' where mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText sltontam = 0 ' Xoa Set rs = Nothing 'Dong ban ghi lai End If Else ' Neu chua co (chua xuat lan nao) sltontam = Val(txtsoluongnx) ' Kiem tra vuot Sltontd If sltontam < toithieu Then MsgBox "So luong hang ton duoi muc toi thieu. Can phai nhap them truoc da.", vbOKOnly + vbExclamation, "Thong bao" txtsoluongnx.SetFocus Me.MousePointer = 0 Set rs = Nothing Exit Sub Else ' Khong duoi SLtontt, tao moi Set rs = Nothing Set cmd.ActiveConnection = con 'Mo lai de luu str = "Select NXHANG.mapnxh, NXHANG.maddh, NXHANG.makho, NXHANG.ngaynxh, NXHANG.ngayhtt, NXHANG.ngaylappnx from NXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai, chac chan chua co rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!ngaylappnx = Trim(txtngaylappnx) rs!maddh = Trim(Left(Combomaddh.Text, 5)) rs!makho = Trim(Left(Combomakho.Text, 5)) rs!ngaynxh = Trim(txtngaynx) rs!ngayhtt = Trim(txtngayhtt) rs.Update Set rs = Nothing ' Dong record lai End If Set cmd.ActiveConnection = con str = "Select DONGNXHANG.mapnxh, DONGNXHANG.mahang, DONGNXHANG.soluongnxh, DONGNXHANG.dongianxh from DONGNXHANG where mapnxh like 'X%' and mapnxh = '" & Trim(txtmapnx) & "' and mahang = '" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Neu chua ton tai rs.AddNew rs!mapnxh = Trim(txtmapnx) rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongnxh = Trim(txtsoluongnx) rs!dongianxh = Trim(txtdongianx) rs.Update Set rs = Nothing End If 'Chi tiet mat hang phai duoc tao moi sau cung Set cmd.ActiveConnection = con str = "select CTMATHANG.mahang, CTMATHANG.soluongton from CTMATHANG where CTMATHANG.mahang ='" & Trim(Left(Combomahang.Text, 4)) & "'" rs.Open str, con, adOpenKeyset, adLockPessimistic, adCmdText If rs.EOF = True Then 'Chac chan chua co rs.AddNew rs!mahang = Trim(Left(Combomahang.Text, 4)) rs!soluongton = sltontam rs.Update Set rs = Nothing sltontam = 0 'Xoa gia tri End If End If End If toithieu = 0 'Xao gia tri toida = 0 'Xao gia tri Else 'Neu da ton tai phieu xuat hang nay roi MsgBox "Phieu xuat hang co ma so [" & Trim(txtmapnx) & "] da ton tai. Vui long kiem tra lai !", vbOKOnly + vbExclamation, "Thong bao" txtmapnx.SetFocus Me.MousePointer = 0 Exit Sub End If DisplayGrid 'Hien thi danh sach cac hang san xuat error1: If Err.Number 0 Then MsgBox Err.Number & Err.Description Else MsgBox "Luu thanh cong phieu xuat hang co ma so: '" & Trim(txtmapnx) & "'" response = MsgBox("Ban co muon them mat hang vao phieu xuat hang nua khong ?", vbYesNo + vbQuestion, "Thong bao") If response = vbYes Then 'Neu chon NO thi khong Xoa Locktext Unlocktext2 Setnull2 'Xoa Textbox Combomahang.SetFocus Flag = True Else Setnull2 'Xoa Textbox Locktext End If End If End Sub CHÖÔNG V ÑAÙNH GIAÙ HEÄ THOÁNG I. Nhöõng keát quaû ñaït ñöôïc Heä thoáng quaûn lyù xuaát nhaäp haøng giuùp cho vieäc quaûn lyù mua baùn cuûa coâng ty ñöôïc thöïc hieän moät caùch thuaän tieän nhanh choùng vaø an toaøn, goùp phaàn tieát kieäm thôøi gian vaø giaûm bôùt caùc coâng vieäc thuû coâng (tuy nhieân khoâng theå thay theá hoaøn toaøn). Heä thoáng ñaùp öùng ñöôïc nhöõng yeâu caàu cô baûn trong coâng taùc caäp nhaät, xöû lyù xuaát nhaäp haøng moät caùch nhanh choùng, chính xaùc nhö caäp nhaät döõ lieäu, tìm kieám thoâng tin, baùo caùo toång hôïp xuaát, nhaäp, toàn haøng. Giao dieän thaân thieän vaø deã daøng cho ngöôøi söû duïng. II. Nhöõng toàn taïi cuûa chöông trình Trong ñieàu kieän haïn heïp veà thôøi gian vaø kieán thöùc coøn haïn cheá neân chöông trình vaãn coøn moät soá toàn taïi nhö sau: Heä thoáng chæ môùi phaùt trieån baèng ngoân ngöõ VisualBasic, löu tröõ döõ lieäu baèng heä quaûn trò côû sôû döõ lieäu MicroSoft SQL Server vaø chaïy treân maùy ñôn. Moät soá phaàn xöû lyù Tieáng Vieät coøn chö toát. Chöa xaây döïng heä thoáng baûo maät cô sôû döõ lieäu vaø phaân quyeàn ngöôøi söû duïng. III. Höôùng phaùt trieån chöông trình Döïa vaøo keát quaû khaûo saùt baøi toaùn thöïc teá vaø phaân tích thieát keá heä thoáng ôû treân, em xin ñeà xuaát höôùng phaùt trieån chöông trình nhö sau: 1. Phaùt trieån heä thoáng Xaây döïng heä thoáng thöông maïi ñieän töû Web baèng coâng ngheä ASP (Active Server Pages) hoaëc ASP.Net, löu tröõ döõ lieäu baèng heä quaûn trò cô sôû döõ lieäu MicroSoft SQL Server hoaëc Orecle vaø chaïy treân maïng. 2. Baûo maät cô sôû döõ lieäu vaø phaân quyeàn ngöôøi söû duïng Ta seõ phaân caáp ra 3 möùc ngöôøi söû duïng: Addmin: coù quyeàn theâm, söûa, xoaù database, phaân caáp, phaân quyeàn cho ngöôøi söû duïng. User möùc 1: coù quyeàn theâm döõ lieäu vaø database. User möùc 2: chæ ñöôïc quyeàn xem maø khoâng ñöôïc thöïc hieän baát cöù thao taùc gì treân database. Moät vaán ñeà nöõa laø database seõ ñöôïc ñaët treân maùy chuû chöù khoâng ñaët treân caùc maùy con nhö hieän nay nöõa vaø nhö vaäy vieäc quaûn trò vaø baûo maät ddatabase seõ deã daøng hôn. TAØI LIEÄU THAM KHAÛO 1. Microsoft Visual Basic 6.0 & Laäp trình cô sôû döõ lieäu – Nguyeãn Thò Ngoïc Mai (Chuû bieân), NXB GIAÙO DUÏC Laäp trình Visual Basic trong 21 ngaøy – Nathan Gurewich – On Gurewich, NXB GIAÙO DUÏC. Keá toaùn doanh nghieäp vôùi Visual Basic – VN GUIDE, NXB Thoáng Keâ. Giaùo trình phaân tích vaø thieát keá heä thoáng thoâng tin quaûn lyù – ThS.Nguyeãn Höõu Troïng, Tröôøng Ñaï Hoïc Thuyû Saûn. Phaân tích vaø thieát keá heä thoáng thoâng tin - Nguyeãn Vaên Ba, NXB ÑAÏI HOÏC QUOÁC GIA HAØ NOÄI. Höôùng daãn trieån khai Caên Cöù Döõ Lieäu söû duïng SQL SERVER 7.0 vaø VISUAL BASIC 6.0 - Bieân dòch: Döông Quang Thieän, NXB Thoáng Keâ.

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

  • docDoantn18.doc
  • pptBAOCAO1.PPT
  • rarChương trình chạy.rar