Tài liệu Đề tài Tình hình xây dựng hệ thống thông tin quản lý xuất nhập hàng: 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 hồn tồn tin học hố trong quản lý kinh doanh. Quản lý xuất nhập hàng hố 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ẾN THỰC PHẨM QUỐC TẾ chi nhánh Nha Trang tôi được các cô chú và anh chị trong công ty gợi ý và giúp đỡ, tôi đã quyết định chọn đề tài “Xây dựng hệ thố...
60 trang |
Chia sẻ: hunglv | Lượt xem: 1367 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Tình hình xây dựng hệ thống thông tin quản lý xuất nhập hàng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
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 hồn tồn tin học hố trong quản lý kinh doanh. Quản lý xuất nhập hàng hố 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ẾN THỰC PHẨM QUỐC TẾ chi nhánh Nha Trang tôi được các cô chú và anh chị trong công ty gợi ý và giúp đỡ, tôi đã quyết định chọn đề tài “Xây dựng hệ thống thông tin quản lý xuất nhập hàng” làm đề tài thực tập tốt nghiệp của mình.
Với đề tài này tôi chia thành 5 chương như sau:
Chương I : Khảo sát & phân tích hiện trạng
Chương II : Giới thiệu các công nghệ liên quan
Chương III : Phân tích và thiết kế hệ thống
Chương IV: Xây dựng chương trình
Chương V: Đánh giá hệ thống
Do thời gian hạn chế và kiến thức cón hạn hẹp nên trong đề tài này không thể tránh khỏi những thiếu sót. Kính mong quý thầy cô giáo và các bạn sinh viên đóng gớp ý kiến để cho đề tài này ngày càng hồn thiện hơn.
Nhân đây em xin chân thành cảm ơn cô Bùi Thị Hồ– GV bộ môn Công Nghệ Phần Mềm – khoa Công Nghệ Thông Tin trường ĐHBK Hà Nội đã tận tình hướng dẫn em trong quá trình thực hiện đề tài thực tập tốt nghiệp này.
Hà Nội 7 – 2003
Sinh viên thực hiện:
Đinh Trọng Vinh
MỤC LỤC
LỜI NÓI ĐẦU …………………………………………………………..…… 1
MỤC LỤC …………………………………………………………………… 2
Chương 1: KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG ………………… 3
I. Giới thiệu về Công ty………………………………………………… 3
II. Phân tích hiện trạng …………………………………………………… 4
Chương 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG …………………… 8
I. Mô hình quan niệm dữ liệu …………………………………………… 8
II. Mô hình tổ chức dữ liệu ……………………………………………… 8
III. Mô hình vật lý dữ liệu ………………………………………………… 9
IV. Mô hình thông lượng ………………………………………………… 14
V. Mô hình quan niệm xử lý ………………………………………………16
VI. Mô hình tổ chức xử lý ……………………………………………… 18
VII. Mô hình vật lý xử lý ………………………………………………… 22
Chương 3: GIỚI THIỆU CÁC CÔNG NGHỆ LIÊN QUAN ……………… 23
I. Giới thiệu về Visual Basic 6.0 ………………………………………… 23
II. Làm việc với Microsoft Visual Basic 6.0 …………………………… 24
III. Khả năng kết nối với cơ sở dữ liệu của Visual Basic ………………… 31
Chương 4: XÂY DỰNG CHƯƠNG TRÌNH ……………………………… 33
I. Phần dữ liệu……………………………………………………………… 33
II. Một số giao diện chính ………………………………………………… 34
III. Một số Module chính ………………………………………………… 36
Chương 5: ĐÁNH GIÁ HỆ THỐNG …..………………………………… 39
TÀI LIỆU THAM KHẢO ………………………………………………… 40
CHƯƠNG I
KHẢO SÁT VÀ PHÂN TÍCH HIỆN TRẠNG
I. KHẢO SÁT HIỆN TRẠNG
1. Giới thiệu tổng quát
Hiện nay, Ngành quản lý kinh doanh nói chung và Công ty công nghiệp chế biến thực phẩm quốc tế – Chi nhánh Nha Trang nói riêng, vấn đề áp dụng công nghệ tin học đang được đặt lên hàng đầu nhằm hồn chỉnh hố hệ thống giao dịch và quản lý hàng của công ty, nhằm tăng khả năng hoạt động, giảm bớt số lượng nhân viên quản lý, đảm bảo độ chính xác và khả năng bảo mật, an tồn dữ liệu cao. Vì những lý do đó cho nên việc thay thế và nâng cấp hệ thống quản lý kinh doanh mới đang là vấn đề cấp bách cho ngành kinh doanh.
Công ty công nghiệp chế biến thực phẩm quốc tế – Chi nhánh Nha Trang hiện nay đang sử dụng hệ thống quản lý kinh doanh do tổng công ty đưa ra cho các chi nhánh. Hệ thống này chạy trên nền hệ hệ quản trị CSDL Access và Foxpro.
Hệ thống trên nhìn chung có nhiều ưu điểm về tính đồng nhất, chạy nhanh, kích thước dữ liệu nhỏ và không đòi hỏi cấu hình của máy tính cao, cái mà những năm trước đây còn là vấn đề khó khăn cho ngành kinh tế. Nhưng hiện nay việc đầu tư cơ sở vật chất cho hệ thống thông tin quản lý kinh doanh không còn là vấn đề khó khăn hàng đầu nữa, mà vấn đề đặt ra là tính chính xác, nhanh, an tồn và độ bảo mật cũng như khả năng quản lý tồn diện để tăng tính cạnh tranh và giảm bớt nhân sự đang là vấn đề mới cho mọi ngành quản lý.
Quản lý xuất/ nhập hàng là một trong các hoạt động chính của công ty. Hệ thống quản lý hàng hố và công nợ được tích hợp chung trong hệ thống thông tin quản lý kinh doanh của công ty.
Tuy có những tính năng và ưu điểm như đã trình bày ở trên nhưng nó cũng còn nhiều hạn chế như chạy chậm khi khối lượng dữ liệu lớn, khả năng quản lý khối lượng dữ liệu còn hạn chế, khả năng bảo mật chưa cao, giao diện chưa thân thiện với người sử dụng.
2. Hiện trạng quản lý kinh doanh ở công ty
Qua quá trình khảo sát và tìm hiểu thực tế quy trình quản lý kinh doanh ở Công ty, tôi nắm được một số hiện trạng của Công ty như sau:
Công ty công nghiệp chế biến thực phẩm quốc tế –Chi nhánh Nha Trang là một chi nhánh của tổng Công ty ở Malaysia. Tổng Công ty chuyên sản xuất các mặt hàng thực phẩm – Các loại nước trái đóng lon và bánh kẹo các loại(Nước bí, nước yến, kẹo xốp, …). Chi nhánh Nha Trang chịu trách nhiệm phân phối các sản phẩm của tổng Công ty sản xuất cho các tỉnh ở khu vục 8 tỉnh miền trung (Khánh Hồ, Ninh Thuận, Phú Yên, Bình Định, Gia Lai, KonTum, Đak Lak).
2.1. Sơ đồ hoạt động kinh doanh của chi nhánh Công ty
TỔNG CÔNG TY
CÁC CHI NHÁNH
CÁC SHOP
CÁC ĐẠI LÝ
CC hàng
PP hàng
PP hàng
Chức năng của từng thành phần trong sơ đồ.
Tổng công ty: tổng công ty chuyên sản xuất các mặt hàng thực phẩm (các loại nước uống đóng lon và các loại bánh kẹo) và cung cấp các sản phẩm này cho các chi nhánh của công ty.
Các chi nhánh của công ty chịu trách nhiệm phân phối các sản phẩm tới các cửa hàng (Shop) và các đại lý.
2.2. Sơ đồ tổ chức của chi nhánh Công ty
BAN GIÁM ĐỐC
BỘ PHẬN KINH DOANH
BỘ PHẬN KẾ TOÁN
BỘ PHẬN KHO
Vai trò và chức năng của các bộ phận trong công ty là :
Ban Giám đốc chi nhánh : Điều hành hoạt động Công ty.
Bộ phận kế tốn: Kết tốn sổ sách.
Bộ phận kinh doanh : Tìm hiểu thị trường, đưa ra các chiến lược kinh doanh, giới thiệu sản phẩm.
Bộ phận kho: Lưu trứ hàng hố và bảo quản hàng hóa, báo cáo tình hình số lượng hàng hố trong kho.
3. Các quy trình quản lý như sau
a. Quy trình quản lý nhập hàng
Bộ phận kinh doanh căn cứ vào nhu cầu mua hàng của khách hàng, số lượng hàng hố tồn tối thiểu, số lượng hàng hố tồn tối đa trong kho và danh sách các mặt hàng hiện có của tổng công ty để lập đơn đặt hàng. Trong đơn đặt hàng có đầy đủ thông tin về chi nhánh công ty, danh sách và số lượng các mặt hàng cần nhập về.
Bộ phận kinh doanh sẽ trình đơn đặt hàng lên ban giám đốc ký duyệt.
Nếu đơn đặt hàng đã được ban giám đốc ký duyệt thì bộ phận kinh doanh sẽ gửi đơn đặt hàng tới tổng công ty.
Nếu được tổng công ty chấp thuận cung cấp hàng thì bộ phận kinh doanh sẽ lập phiếu nhập hàng và nhận hàng đưa về kho.
Mỗi lần nhập hàng đều phải làm một phiếu nhập bao gồm: Thông tin đầy đủ về nhà cung cấp, danh sách các mặt hàng, số lượng, ngày nhập, đơn giá, ngày hẹn trả tiền theo mẫu đã được in sẵn.
Bộ phận kinh doanh sẽ chuyển phiếu nhập hàng và phiếu thanh tốn tới bộ phận kế tốn để thanh tốn tiền hàng cho tổng công ty.
Cách tính tổng giá trị hàng nhập:
Tổng giá trị = số lượng nhập * đơn giá nhập
Mỗi lần nhập hàng về thì phải tiến hành cập nhật lại danh mục hàng hố như là thêm mặt hàng (nếu đó là mặt hàng mới), cập nhật lại số lượng, tính lại đơn giá (bằng phương pháp tính đơn giá bình quân gia quyền).
Trong đó:
Dgbqck: đơn giá bình quân cuối kỳ.
Tgtondk: tổng giá tồn đầu kỳ.
Tgnhaptk: tổng giá nhập trong kỳ.
Sltondk: số lượng tồn đầu kỳ.
Slnhaptk: số lượng nhập trong kỳ.
b. Quy trình quản lý xuất hàng
Khi một khách hàng cần mua hàng thì làm một đơn đặt hàng theo mẫu in sẵn bao gồm : Phần đầu gồm những thông tin đầy đủ về khách hàng, phần thứ hai là danh sách mặt hàng đặt mua, số lượng, đơn giá từng loại và ngày nhận hàng. Khi đặt hàng, có thể khách hàng đặt một số tiền nào đó.
Khi mua hàng, khách hàng có thể trả tiền trước hay hẹn trả sau khi nhận hàng một số ngày quy định.
Đơn đặt hàng được đưa đến bộ phận kinh doanh để xem xét. Nếu khách hàng còn nợ trễ hạn quá một số tiền quy định thì bộ phận kinh doanh từ chối bán hàng. Nếu hàng tồn kho đủ thì cung cấp cho khách hàng theo đơn đặt hàng.
Hàng ngày bộ phận kinh doanh xem xét các đơn đặt hàng đồng thời so sánh tồn kho, để làm giấy báo cho khách hàng nhận hàng, giấy báo nợ cho khách hàng và đặt hàng cho nhà cung cấp khi lượng hàng tồn vượt dưới mức tồn tối thiểu.
Mỗi lần xuất hàng đều phải làm một phiếu xuất bao gồm : Thông tin đấy đủ về khách hàng, danh sách mặt hàng, số lượng, ngày nhập xuất, đơn giá, ngày hẹn trả tiền.
Cách tính tổng giá trị hàng xuất:
Tổng giá trị = số lượng xuất * đơn giá xuất
c. Thống kê.
Định kỳ hàng tháng phải báo cáo xuất, nhập tồn hàng hố trong tháng theo mẫu đã định.
Số lượng hàng tồn = số lượng hàng nhập – số lượng hàng xuất
Tại bất kỳ thời điểm nào, nếu được yêu cầu của người có thẩm quyền thì phải báo cáo tình hình hàng hố của từng loại, từng kho, tình hình công nợ.
4. Một số mẫu đơn từ được sử dụng trong quá trình hoạt động kinh doanh
a. Mẫu phiếu đặt hàng
Mẫu phiếu đặt hàng này dùng chung cho cả công ty đặt mua hàng và khách đặt hàng.
CÔNG TY CN CB THỰC PHẨM QUỐC TẾ
CHI NHÁNH THÀNH PHỐ NHA TRANG
Điện thoại: 834223 Fax: 834225
E-mail:
PHIẾU ĐẶT HÀNG
(Không có giá trị thanh toán)
INTERFOOD PROCESSING INDUSTRY LTD.
NHA TRANG BRANCH
Họ và tên khách hàng: …………………………………………………… Tel: ………….
Địa chỉ: …………… Đường: ………………… Phường: ……………… Quận: …………
MS thuế: …………….. Giao hàng: ……………giờ, ngày …… tháng………năm………
Người nhận đặt hàng: ……………………………………………… Đặt hàng TEL:
STT
MẶT HÀNG
SỐ LƯỢNG
ĐƠN GIÁ
THÀNH TIỀN
1
2
3
4
5
6
7
8
9
10
TỔNG CỘNG
LƯU Ý:
* Phương thức thanh tốn: Tiền mặt: Trả chậm: ………………………ngày.
Trả tiền phiếu trước mới nhận giao hàng phiếu sau.
Phải kiểm tra số lượng, chất lượng hàng khi nhận. Chỉ nhận đổi lại hàng móp, rách
bao bì, xì nước … Trong vòng 03 ngày.
* Công nợ cũ của khách hàng số HDD: …………… ngày mua hàng ………Trị giá………
……………………………………………………………………………………………………………………………………………………………………………………………………
Ngày ………… tháng …… năm ……
GĐ DUYỆT TRƯỞNG PHÒNG GIÁM SÁT TT NHÂN VIÊN TT
KD – TT Kiểm tra Đặt hàng
b. Mẫu phiếu nhập kho
Đơn vị : …………………
Địa chỉ : …………………
PHIẾU NHẬP KHO
Số ……
Ngày … tháng …. Năm …….
Mẫu số : 01 – VT
Ban hành theo QĐ số : 1141 – TC/QĐ/CĐKT
Ngày 1 tháng 11 năm 1995
Của Bộ Tài Chính
- Họ và tên người giao hàng: ……………………………………………………………
- Theo …………………… số……………… ngày ……… tháng…………năm……
Của ………………………………………………………………………………………
Nhập tại kho : ……………………………………………………………………………
STT
TÊN, NHÃN HIỆU, QUY CÁCH, PHẨM CHẤT VẬT TƯ
(SẢN PHẨM, HÀNG HỐ)
Mã số
Đơn vị tính
SỐ LƯỢNG
Đơn giá
Thành tiền
Theo chứng từ
Thực nhập
A
B
C
D
1
2
3
4
CỘNG
x
x
x
x
x
ngày …… tháng …… năm ….
THỦ TRƯỞNG ĐƠN VỊ NGƯỜI NHẬN NGƯỜI GIAO NGƯỜI LẬP PHIẾU
c. Mẫu phiếu xuất kho
Đơn vị : …………………
Địa chỉ : …...……………
PHIẾU XUẤT KHO
Ngày … tháng …. Năm …….
Số : …………
Nợ:………………………...
Có: …..……………………
Họ và tên người nhận hàng: ……………………………………………………………
Địa chỉ (bộ phận): ………………………………………………………………………
Lý do xuất kho: …………………………………………………………………………
Xuất tại kho: ……………………………………………………………………………
STT
TÊN, NHÃN HIỆU, QUY CÁCH, PHẨM CHẤT VẬT TƯ
(Sản phẩm hàng hố)
Mã số
Đơn vị tính
SỐ LƯỢNG
Đơn giá
Thành tiền
Yêu cầu
Thực xuất
A
B
C
D
1
2
3
4
CỘNG:
Tổng số tiền (Viết bằng chữ): ………………………………………………………
Xuất, ngày …… tháng …… năm ……
Phụ trách bộ phận Phụ trách kế tốn Người nhận Thủ kho
d. Mẫu phiếu đề nghị thanh tốn
Mẫu phiếu này dùng chung cho cả công ty và khách mua hang.
OFFICIAL RECEIPT
PHIẾU THU
Date: ……/ …… / ………
CREDIT
TÀI KHOẢN GHI CÓ …………………
RECEIVED FORM M/S
Nhận của ……………………………………………..…………………………………..
POST
Bộ phận công tác …………………………………………………………………………
BEING
Về khoản: …………………………………………………………………………………
…………………………………………………………………………………………….
AMOUNT (IN WORDS)
Số tiền …………………..………………… đồng (bằng chữ) …………………………..
…………………………………………………………………………………………….
ENCLOSE DOCUMENTS
Kèm theo ……………………………………………………. Chứng từ gốc
Date: ……../ ………../ …………
THỦ TRƯỞNG ĐƠN VỊ KẾ TỐN TRƯỞNG KT THANH TỐN THỦ QUỸ NGƯỜI NỘP
MANAGER CHIEF ACCOUNT ACCOUNTANT CASHIER ACKNOWLEDGET BY
INTERFOOD PROCESSING INDUSTRY LTD
CÔNG TY CÔNG NGHIỆP CHẾ BIẾN THỰC PHẨM QUỐC TẾ
NHA TRANG BRANCH
CHI NHÁNH TP.NHA TRANG
MST: 360024563.1.004.1
No
Số …… Mẫu số 3 - TM
II. PHÂN TÍCH VÀ LẬP DỰ ÁN
1. Phân tích
Qua thực tế khảo sát, ta cần quản lý các đối tượng chính trong hệ thống quản lý xuất nhập hàng như sau: Khách hàng (bao gồm cả nhà cung cấp và khách mua hang), Hàng hố, Kho.
a. Quản lý khách hàng: Mọi khách hàng của Công ty (bao gồm cả nhà cung cấp và khách mua hàng) đều được Công ty quản lý những thông tin chính sau:
Họ khách hàng
Tên khách hàng
Tên giao dịch
Địa chỉ
Số điện thoại
Số fax
Số tài khoản ngân hàng
Trong đó địa chỉ khách hàng bao gồm:
+ Số nhà
+ Đường
+ Huyện
+ Tỉnh
+ Thành phố
+ Quốc gia
b. Quản lý hàng hố: Mỗi mặt hàng được quản lý các thông tin sau:
Tên mặt hàng
Nhóm hàng
Nơi sản xuất (hãng sản xuất, nước sản xuất)
Đơn vị tính
Số lượng tồn tối thiểu
Số lượng tồn tối đa
c. Quản lý kho: Hàng hố được cất giữ tại nhiều kho, mỗi kho được quản lý các thông tin sau:
Tên kho
Địa chỉ kho
Điện thoại kho
Số fax
Thủ kho
2. Lập dự án
Qua quá trình khảo sát thực tế cũng như phân tích kỹ yêu cầu thiết yếu, tôi đưa ra mô hình hệ thống quản lý xuất nhập hàng như sau:
Cần thiết nhất là hệ thống phải quản lý được đầy đủ thông tin về khách hàng, hàng hố, kho, các hố đơn chứng từ, cũng như khả năng tính tốn, chọn lọc thống kê và in ấn các thông tin.
Phải đảm bảo độ chính xác, an tồn và tin cậy cao.
3. Dữ liệu vào, dữ liệu ra và các chức năng xử lý của hệ thống
Dữ liệu vào:
Các thông tin về khách hàng như: họ và tên, tên giao dịch, số nhà, điện thoại, fax, tài khoản ngân hàng, số tiền nợ có thể.
Các thông tin về hàng hố: tên mặt hàng, nhóm mặt hàng, nơi sản xuất (hãng sản xuất, nước sản xuất), đơn vị tính, số lượng tồn tối thiểu, số lượng tồn tối đa.
Thông tin về kho hàng: tên kho, địa chỉ, điện thoại, fax, thủ kho.
Dữ liệu ra:
Đưa ra danh sách chi tiết về khách hàng
Danh sách chi tiết về các mặt hàng
Danh sách chi tiết về các kho hàng
In ra danh sách các đơn đặt hàng.
In ra danh sách các phiếu xuất/ nhập hàng.
In ra các phiếu thanh tốn.
Thống kê tổng số lượng hàng nhập, tổng số lượng hàng xuất trong kỳ và số lượng hàng tồn ton cuối kỳ.
Cho phép xuất dữ liệu ra máy in hoặc màn hình từng hạn mục yêu cầu. In ấn các hố đơn chứng từ.
Chức năng trung tâm:
Xử lý, lưu trữ đơn đặt hàng, phiếu xuất nhập hàng, phiếu thanh tốn và tính tốn giá trị hàng hố.
Lưu trữ và bảo mật dữ liệu quản lý hố đơn chứng từ liên quan đến việc xuất/ nhập hàng, hàng hố, kho hàng và khách hàng.
Chức năng của nhà quản lý như:
+ Lập đơn đặt hàng,
+ Lập phiếu xuất/ nhập hàng,
+ Lập phiếu thanh tốn,
+ Lập báo cáo về tình hình hoạt động kinh doanh.
CHƯƠNG II
PHÂN TÍCH VÀø THIẾT KẾ HỆ THỐNG
I. HỆ THỐNG THÔNG TIN
Hệ thống là một tập hợp có quan hệ, tương tác qua lại với nhau hình thành nên một thể thống nhất.
Hệ thống kinh doanh và hệ thống dịch vụ: là những hệ thống của con người nhằm mục đích kinh doanh hay dịch vụ. Các hệ thống con của hệ thống kinh doanh – dịch vụ bao gồm 3 hệ thống như sau:
Hệ thống nghiệp vụ: bao gồm người, phương tiện, phương pháp trực tiếp tham gia vào quá trình biến đổi luồng vào thành luồng ra.
Hệ thống quyết định: bao gồm người, phương tiện, phương pháp tham gia vào việc đề xuất các quyết định.
Hệ thống thông tin: bao gồm người, phương tiện, phương pháp tham gia vào việc xử lý các thông tin.
Vai trò và nhiệm vụ của hệ thống thông tin:
Hệ thống thông tin đóng vai trò trung gian giữa bên trong và bên ngồi hệ thống và những hệ thống con.
Nhiệm vụ của hệ thống thông tin: nhằm thu thập, lưu trữ, kiểm tra, kết xuất, truyền đạt thông tin.
II. TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN
Hệ thống thông tin giao dịch xuất nhập hàng là một hệ thống thông tin hoạt động với sự trợ giúp của tin học nhằm quản lý và thực hiện các giao dịch xuất nhập. Đầu vào của hệ thống là thông tin chi tiết về tên, giá cả, số lượng các danh mục hàng hố xuất – nhập, tồn kho, các tổng kết về quá trình giao dịch xuất nhập.
1. Các đối tượng yêu cầu quản lý
Qua quá trình khảo sát thực tế, ta cần quản lý các đối tượng chính trong hệ thống quản lý xuất nhập hàng như sau: Khách hàng (bao gồm cả nhà cung cấp và khách mua hàng), Hàng hố, Kho, Đơn đặt hàng, Phiếu nhập/ xuất hàng, phiếu thanh tốn.
a. Quản lý khách hàng: Mọi khách hàng của Công ty (bao gồm cả nhà cung cấp và khách mua hàng) đều được Công ty quản lý những thông tin chính sau:
Mã khách hàng
Họ khách hàng
Tên khách hàng
Tên giao dịch
Địa chỉ
Số điện thoại
Số fax
Số tài khoản ngân hàng
Trong đó địa chỉ khách hàng bao gồm:
+ Số nhà
+ Đường
+ Huyện
+ Tỉnh
+ Thành phố
+ Quốc gia
b. Quản lý hàng hố: Mỗi mặt hàng được quản lý các thông tin sau:
Mã mặt hàng
Tên mặt hàng
Nhóm hàng
Nơi sản xuất (hãng sản xuất, nước sản xuất)
Đơn vị tính
Số lượng tồn tối thiểu
Số lượng tồn tối đa
c. Quản lý kho: Hàng hố được cất giữ tại nhiều kho, mỗi kho được quản lý các thông tin sau:
Mã kho
Tên kho
Địa chỉ kho
Điện thoại kho
Số fax
Thủ kho
d. Quản lý đơn đặt hàng:
Mã đơn đặt hàng
Số lượng đặt hàng
Đơn giá đặt hàng
Ngày giao
e. Quản lý phiếu nhập xuất hàng: (cả phiếu nhập và xuất hàng)
Mà phiếu nhập xuất hàng
Số lượng nhập xuất hàng
Đơn giá nhập xuất hàng
Ngày nhập xuất hàng
Ngày hẹn trả tiền
f. Quản lý phiếu thanh tốn:
Mã phiếu thanh tốn
Ngày thanh tốn
Số tiền
g. Quản lý ngân hàng:
Mã ngân hàng
Tên ngân hàng
2. Các chức năng của hệ thống
Quản lý nhập hàng: quản lý các thông tin về nhập hàng hố
Thông tin vào: các thông tin cơ bản về mặt hàng cần nhập (mã hàng, tên hàng, số lượng, giá nhập, nhà cung cấp).
Thông tin ra: danh mục hàng cần nhập.
quản lý xuất hàng: quản lý các thông tin liên quan trong công tác xuất hàng của Công ty.
Thông tin vào: các thông tin cơ bản khách hàng yêu cầu, thông tin về hàng hố, thông tin về kho hàng.
Thông tin ra: danh mục hàng xuất kho, phiếu xuất hàng.
Thống kê: thống kê và báo cáo về hoạt động giao dịch kinh doanh.
Thông tin vào: các yêu cầu thống kê.
Thông tin ra: báo cáo thống kê.
Tìm kiếm: tìm kiếm các thông tin liên quan đến hoạt động nhập, xuất hàng hố.
Thông tin vào: các yêu cầu tìm kiếm.
Thông tin ra: các kết quả tìm kiếm.
Qua trên ta thấy được các chức năng chủ yếu của một hệ thống thông tin giao dịch xuất nhập hàng hố. Các chức năng này được chia nhỏ ra và được trình bày trong sơ đồ phân rã chức năng dưới đây, để cho ta hình dung hệ thống một cách chi tiết hơn.
III. SƠ ĐỒ PHÂN RÃ CHỨC NĂNG (BPC) CỦA HỆ THỐNG
1. Sơ đồ phân rã tổng thể
HOẠT ĐỘNG GIAO DỊCH XUẤT NHẬP HÀNG
QUẢN LÝ XUẤT HÀNG
THỐNG KÊ VÀ BÁO CÁO
TÌM KIẾM
QUẢN LÝ NHẬP HÀNG
2. Sơ đồ chức năng chi tiết.
a. Chức năng quản lý nhập hàng.
QUẢN LÝ NHẬP HÀNG
GHI NHẬN NHÀ CUNG CẤP MỚI
LẬP ĐƠN ĐẶT HÀNG
LẬP PHIẾU NHẬP HÀNG
THANH TOÁN
CHỌN NHÀ CUNG CẤP THÍCH HỢP
KHỚP VỚI ĐƠN HÀNG VỀ
CẬP NHẬT DANH MỤC HÀNG
Giải thích các chức năng:
Chọn nhà cung cấp mới: Khi công ty muốn nhập hàng thì trước hết phải chọn nhà cung cấp thích hợp để làm đối tác, tiêu chí chọn nhà cung cấp được dựa trên các thông tin về nhà cung cấp và các mặt hàng mà nhà cung cấp đó có khả năng cung ứng.
Ghi nhận nhà cung cấp mới: Khi nhà cung cấp nào đó được chọn làm đối tác thì sẽ lưu lại các thông tin về nhà cung cấp (Họ tên nhà cung cấp, địa chỉ, điện thoại, …).
Lập đơn đặt hàng: Khi đã chọn nhà cung cấp nào đó làm đối tác rồi thì bộ phận kinh doanh sẽ tiến hành lập đơn đặt hàng để gửi tới nhà cung cấp đặt mua hàng.
Lập phiếu nhập hàng: Khi đã được nhà cung cấp thoả thuận cung ứng hàng hố thì bộ phận kinh doanh sẽ tiến hành lập phiếu nhập hàng và nhận hàng về công ty.
Cập nhật danh mục hàng: Mỗi khi nhập hàng về thì tiến hành cập nhật lại danh mục hàng như là Tên mặt hàng (nếu là mặt hàng mới), số lượng, …
Khớp với đơn hàng về: Tiến hành so sánh các hố đơn chứng từ với lượng hàng nhận về xem đã đủ số lượng, đúng mặt hàng như yêu cầu hay chưa.
Thanh tốn: Sau khi khớp với đơn hàng về xong mà không sai sót gì thì bắt đầu lập phiếu thanh tốn, tiến hành việc thanh tốn tiền hàng cho nhà cung cấp.
b. Chức năng quản lý xuất hàng.
QUẢN LÝ XUẤT HÀNG
GHI NHẬN KHÁCH HÀNG MỚI
GIẢI QUYẾT ĐƠN ĐẶT HÀNG
LẬP PHIẾU XUẤT HÀNG
CẬP NHẬT DANH MỤC HÀNG
THANH TOÁN
GIẢI QUYẾT XUẤT HÀNG
Giải thích các chức năng:
Ghi nhận khách hàng mới: Khi có khách hàng mới đặt mua hàng thì sẽ lưu lại một số thông tin về khách hàng mới đó (như là Họ tên khách hàng, địa chỉ, điện thoại, …).
Giải quyết đơn đặt hàng: Sau khi nhận đơn đặt hàng của khách hàng thì bộ phận kinh doanh sẽ tiến hành giải quyết đơn đặt hàng, nếu đủ điều kiện thì chấp nhận bán hàng, ngược lại thì hẹn lại với khách hàng hặc từ chối bán hàng.
Lập phiếu xuất hàng: Dựa vào các đơn đặt hàng đã được giải quyết, bộ phận kinh doanh sẽ tiến hành lập phiếu xuất hàng.
Giải quyết xuất hàng: Lập các hố đơn chứng từ xuất hàng, tiến hành xuất hàng cho khách mua hàng.
Cập nhật danh mục hàng: Mỗi lần xuất hàng thì phải tiến hành cập nhật lại danh mục hàng.
Thanh tốn: Sau khi giải quyết xuất hàng thì bắt đầu lập phiếu thanh tốn, tiến hành thu tiền bán hàng.
c. Chức năng thống kê và báo cáo.
THỐNG KÊ VÀ BÁO CÁO
THỐNG KÊ HÀNG NHẬP
THỐNG KÊ HÀNG XUẤT
THỐNG KÊ HÀNG TỒN
THỐNG KÊ NHẬP XUẤT CHI TIẾT
Giải thích các chức năng:
Thống kê hàng nhập: Thống kê lượng hàng hố nhập về theo tháng hoặc theo yêu cầu của ban quản lý.
Thống kê hàng xuất: Thống kê lượng hàng hố xuất bán theo tháng hoặc theo yêu cầu của ban quản lý.
Thống kê hàng tồn: Thống kê lượng hàng hố còn tồn trong kho theo tháng hoặc theo yêu cầu của ban quản lý.
d. Chức năng tìm kiếm.
TÌM KIẾM
TÌM KIẾM PHIẾU NHẬP HÀNG
TÌM KIẾM PHIẾU THU
TÌM KIẾM PHIẾU CHI
TÌM KIẾM PHIẾU XUẤT HÀNG
Giải thích các cức năng:
Tìm kiếm phiếu nhập hàng: Tiến hành tìm kiếm phiếu nhập hàng khi nhà cung cấp yêu cầu.
Tìm kiếm phiếu xuất hàng: Tiến hành tìm kiếm phiếu xuất hàng khi khách hàng yêu cầu.
Tìm kiếm phiếu chi: Tiến hành tìm kiếm phiếu chi tiền khi nhà cung cấp yêu cầu.
Tìm kiếm phiếu thu: Tiến hành tìm kiếm phiếu thu tiền khi khách hàng yêu cầu.
IV. BIỂU ĐỒ LUỒNG DỮ LIỆU
Mục đích:
Sự diễn tả là ở mức logic, nghĩa là nhằm trả lời câu hỏi “Làm gì?”, mà bỏ qua câu hỏi “Làm như thế nào?”.
Chỉ rỏ các chức năng (con) phải thực hiện để hồn tất quá trình xử lý cần mô tả.
Chỉ rõ các thông tin được chuyển giao giữa các chức năng đó, và qua đó phần nào thấy được trình tự thực hiện của chúng.
Phân mức:
Dùng biểu đồ phân cấp chức năng ta có các mức như sau:
Mức khung cảnh: có một chức năng với các luồng vào ra.
Mức đỉnh: chức năng của hệ thống được phân ra thành nhiều chức năng con.
Mức dưới đỉnh: giải thích mỗi chức năng tương tứng của mức đỉnh.
1. Biểu đồ luồng dữ liệu mức khung cảnh
NHÀ CUNG CẤP
KHÁCH HÀNG
Hoạt động giao dịch xuất nhập hàng
Thông tin về hàng
Đơn đặt hàng
Hoá đơn
Từ chối
Phiếu trả tiền
Hàng hoá
Thông boá hoá đơn sai
Y/C tìm kiếm ĐĐH/ PTT
Thống kê
Báo cáo
Thông tin về hàng
Đơn đặt hàng
Từ chối
Hoá đơn
Phiếu trả tiền
Y/C tìm kiếm ĐĐH/ PTT
Hàng hoá
Yêu cầu thống kê
BAN QUẢN LÝ
2. Bểu đồ luồng dữ liệu mức đỉnh
NHÀ CUNG CẤP
KHÁCH HÀNG
Quản lý xuất hàng
Thông tin về hàng
Đơn đặt hàng
Hoá đơn
Từ chối
Phiếu trả tiền
Thông báo HĐ sai
Thông boá HĐ sai
Y/C tìm kiếm
Thông tin về hàng
Đơn đặt hàng
Từ chối
Hoá đơn
Phiếu trả tiền
Y/C tìm kiếm
Y/C thống kê
Quản lý nhập hàng
BAN QUẢN LÝ
Thống kê
Tìm kiếm
Danh mục hàng
Phiếu N/X
Phiếu TT
Y/C tìm kiếm
3. Biểu đồ luồng dữ liệu mức dưới đỉnh
a. Chức năng quản lý nhập hàng
Lập phiếu thanh toán
Khớp đơn với hàng về
Thanh toán
Ghi nhận NCC mới
Chọn NCC
Lập đơn đặt hàng
Nhà cung cấp
Đơn đặt hàng
Nhà cung cấp
Phiếu nhập hàng
Danh mục hàng
Ban quản lý
Thông tin về hàng hoá, nhà CC
Từ chối
Thông tin về NCC mới
T/t về NCC được chọn
Đơn đặt hàng
Thông báo hoá đơn sai
Cập nhật DM hàng
Lập phiếu nhập hàng
Hoá đơn
Phiếu trả tiền
Lập báo cáo
Phiếu thanh toán
b. Chức năng quản lý xuất hàng
Thanh toán
Lập phiếu thanh toán
Ghi nhận KH mới
Giải quyết đơn đặt hàng
Khách hàng
Khách hàng
Phiếu xuất hàng
Danh mục hàng
Thông tin về hàng hoá
Từ chối
Thông tin về KH mới
Đơn đặt hàng
Hoá đơn
Lập phiếu xuất hàng
Hoá đơn
Phiếu trả tiền
Đơn đặt hàng
Phiếu thanh toán
Thông báo về hoá đơn sai
Giải quyết xuất hàng
Đơn ĐH được giải quyết
Phiếu xuất hàng
Phiếu phát hàng
Lập báo cáo
Ban quản lý
c. Chức năng thống kê
Ban quản lý
Thống kê hàng nhập
Lập nhật ký nhập xuất chi tiết
Thống kê hàng tồn
Thống kê hàng xuất
Phiếu N/X
Yêu cầu thống kê
Yêu cầu
Yêu cầu
Yêu cầu thống kê
d. Chức năng tìm kiếm
Nhà CC
Tìm kiếm phiếu nhập hàng
Tìm kiếm phiếu xuất hàng
Tìm kiếm phiếu TT
Tìm kiếm phiếu TT
Phiếu nhập xuất
Phiếu thanh toán
Y/ c tìm kiếm PN
Y/C tìm kiếm PX
Y/c tìm kiếmPTT
Khách hàng
Y/C tìm kiếm PTT
V. MÔ HÌNH THỰC THỂ
1. Một số khai niệm về mô hình thực thể
Khái niệm: Là mô hình dữ liệu logic được xây dựng trên các khái niệm logic như: Thực thể, kiểu thực thể, thuộc tính và quan hệ.
Thực thể: Thực thể là một chủ điểm, một nhiệm vụ, một đối tượng hay một sự kiện đáng quan tâm trong thực tế, kể cả thông tin mà nó lưu giữ là có ích cho hệ thống.
Kiểu thực thể: Là tập hợp các thực thể có cùng bản chất được biểu diễn.
Thuộc tính: Sau khi xác định được kiểu thực thể và thực thể thì ta xét đến những thông tin nào cần thiết phải được lưu giữ cho mỗi thực thể, đó chính là các thuộc tính. Các thuộc tính đặc trưng của thực thể thường được biểu diễn bằng các trường hoặc cột trong bảng.
Quy tắc xác định các thuộc tính của thực thể:
Từ tri thức của chính bản thân về thực thể công việc chung trong lĩnh vực mình đang nghiên cứu mà đưa ra các thuộc tính trong mỗi thục thể.
Từ người tiếp xúc phỏng vấn.
Từ việc xem xét các bảng biểu, tài liệu liên quan đến lĩnh vực đang nghiên cứu.
Liên kết: Là sự kết nối hay liên quan giữa hai hay nhiều thực thể phản ánh sự ràng buộc về quản lý.
Kiểu liên kết: Là tập hợp nhiều liên kết có dạng giống nhau giữa các cặp thực thể.
Có 3 kiểu liên kết như sau:
Liên kết Một – Một:
Một thực thể thuộc kiểu thực thể A liên kết với một thực thể thuộc kiểu thực thể B và ngược lại.
A
B
Liên kết Một – Nhiều:
Một thực thể thuộc kiểu thực thể A liên kết với nhiều thực thể thuộc kiểu thực thể B.
Một thực thể thuộc kiểu thực thể B liên kết với một thực thể thuộc kiểu thực thể A.
A
B
Liên kết Nhiều – Nhiều:
Một thực thể thuộc kiểu thực thể A liên kết với nhiều thực thể thuộc kiểu thực thể B.
Một thực thể thuộc kiểu thực thể B liên kết với nhiều thực thể thuộc kiểu thực thể A.
A
B
Quy tắc xác định liên kết:
Một liên kết tồn tại giữa hai thực thể khác nhau thuộc hai bảng khác nhau nếu cần phải giữ thông tin trong thực thể này về thực thể kia.
Trong liên kết Một – Nhiều, thực thể giữ thông tin kết nối theo định nghĩa là ở đầu nhiều.
Các liên kết gián tiếp (Nhiều – Nhiều) được biến đổi thành các liên kết Một - Nhiều.
Chuẩn hố dữ liệu: Chuẩn hố là quá trình phân tích chuyển hóa các thực thể thành một dạng mà tối thiểu việc lặp lại, không dư thừa nhưng dữ liệu vẫn đầy đủ.
Các quy tắc chuẩn hố:
Quy tắc chuẩn hố 1: Bảng không được chứa những thuộc tính xuất hiện nhiều lần.
Quy tắc chuẩn hố 2: Mọi thuộc tính phải phụ thuộc hàm vào tồn bộ khố.
Quy tắc chuẩn hố thứ 3: Mỗi thuộc tính chỉ phụ thuộc hàm vào tồn bộ khố mà không phụ thuộc hàm vào bất cứ thuộc tính nào khác trong bảng.
Trên đây là sơ lược lý thuyết về việc xây dựng cơ sở dữ liệu cho hệ thống thông tin. Từ sự phân tích đầu vào và đầu ra của hệ thống, từ các biểu đồ luồng dữ liệu, ta sẽ thấy rõ về cơ sở dữ liệu của hệ thống.
2. Xác định các thực thể của hệ thống và các thuộc tính của chúng
Với bài tốn quản lý giao dịch xuất nhập hàng, hệ thống gồm có các thực thể và thuộc tính như sau (sau khi đã chuẩn hố):
Khách hàng (Dùng cho cả nhà cung cấp và khách mua hàng):
Mã KH
Họ KH
Tên KH
Tên giao dịch
Số nhà KH
DT khách hàng
Fax KH
Tài khoản
ST nợ có thể
Mã huyện
Mã đường
Mã NH
Mặt hàng :
Mã hàng
Tên hàng
SL tồn TT
SL tồn TD
Mã HSX
Mã DVT
Mã nhóm
Quản lý kho :
Mã kho
Tên kho
DT kho
Fax kho
Số nhà kho
Thủ kho
Mã đường
Quản lý đơn đặt hàng :
Mã DDH
Mã KH
Ngày DH
Hạn ngày giao
Dòng đơn đặt hàng
Mã DDH
Mã hàng
Số lượng DH
Đơn giá DH
Quản lý phiếu nhập xuất hàng :
Mà PNXH
Mã DDH
Mã kho
Ngày NXH
Ngày HTT
Ngày lập PNX
Quản lý dòng phiếu nhập xuất hàng :
Mà PNXH
Mã hàng
Số lượng NXH
Đơn giá NXH
Quản lý phiếu thanh tốn :
Mã PTT
Mã PNXH
Ngày TT
Số tiền
Quản lý đường :
Mã đường
Tên đường
Quản lý ngân hàng :
Mã NH
Tên NH
Quản lý huyện :
Mã huyện
Tên huyện
Mã tỉnh
Quản lý tỉnh :
Mã tỉnh
Tên tỉnh
Mã nước
Quản lý nước :
Mã nước
Tên nước
Quản lý hãng sản xuất :
Mã HSX
Tên HSX
Mã nước
Quản lý đơn vị tính :
Mã DVT
Tên DVT
Quản lý nhóm hàng :
Mã nhóm
Tên nhóm
Xây dựng mô hình thực thể liên kết
KHÁCH HÀNG
Mã KH
Họ KH
Tên KH
Tên giao dịch
Số nhà KH
DT khách hàng
Fax KH
Tài khoản
ST nợ có thể
Mã huyện
Mã đường
Mã NH
HUYỆN
Mã huyện
Tên huyện
Mã tỉnh
ĐƯỜNG
Mã đường
Tên đường
KHO
Mã kho
Tên kho
DT kho
Fax kho
Số nhà kho
Thủ kho
Mã đường
TỈNH
Mã tỉnh
Tên tỉnh
Mã nước
NƯỚC
Mã nước
Tên nước
HÃNG SX
Mã HSX
Tên HSX
Mã nước
DV TÍNH
Mã DVT
Tên DVT
MẶT HÀNG
Mã hàng
Tên hàng
SL tồn TT
SL tồn TD
Mã HSX
Mã DVT
Mã nhóm
NHÓM
Mã nhóm
Tên nhóm
NGÂN HÀNG
Mã NH
Tên NH
ĐƠNDHÀNG
Mã DDH
Mã KH
Ngày DH
Hạn ngày giao
DÒNGĐƠNDH
Mã DDH
Mã hàng
Số lượng DH
Đơn giá DH
NX HÀNG
Mã PNXH
Mã DDH
Mã kho
Ngày NXH
Ngày HTT
Ngày lập PNX
THANH TOAN
Mã PTT
Mã PNXH
Ngày TT
Số tiền
DÒNGNX HÀNG
Mã PNXH
Mã hàng
Số lượng NXH
Đơn giá NXH
VI. MÔ HÌNH TỔ CHỨC DỮ LIỆU
Mô hình này chính là lược đồ cơ sở dữ liệu của hệ thống. Đây là bước trung gian chuyển đổi giữa mô hình thực thể (gần với người sử dụng) và mô hình vật lý dữ liệu (mô hình trong máy tính), chuẩn bị cho việc cài đặt hệ thống.
Từ mô hình thực thể ở trên ta chuyển thành mô hình tổ chức dữ liệu của bài tố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, Ngày lập PNX, MaDDH, MaKho)
DONGNXHANG(MaPNXH, MaHang, SoLuongNXH, DonGiaNXH)
THANHTOAN(MaPTT, MaPNXH, NgayTT, SoTien)
VII. MÔ HÌNH VẬT LÝ DỮ LIỆU
Các bảng được thiết kế trong hệ thống:
NUOC(MaNuoc, TenNuoc)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaNuoc (K)
Char
2
Len() =2
TenNuoc
Varchar
30
MaNuoc : Chữ viết tắt của một tên nước trên thế giới.
TenNuoc : Tên của một nước.
Ví dụ:
MaNuoc = VN có TenNuoc = Việt Nam
MaNuoc = TQ có TenNuoc = Trung Quốc
MaNuoc = ML có TenNuoc = Malaysia
Ý nghĩa: Mỗi nước có một mã số riêng để phân biệt các nước với nhau.
TINH(MaTinh, TenTinh, MaNuoc)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaTinh (K)
Char
4
Len() = 4
TenTinh
Varchar
20
MaNuoc
Char
2
Lookup(NUOC)
MaTinh : Số thứ tự của tỉnh trong nước. Việt Nam có dưới 100 tỉnh, nên ta chọn 2 ký tự để đánh số thứ tự của tỉnh.
2 Ký tự đầu là mã nước.
2 Ký tự tiếp theo là số thứ tự tỉnh trong nước.
TênTinh: Bắt đầu là Tp cho thành phố trực thuộc trung ương, T cho tỉnh và tiếp theo là tên tỉnh hay thành phố.
Ví dụ:
MaTinh = VN01 có TenTinh = Tp.Hà Nội.
MaTinh = VN02 có TenTinh =T.Quảng Ninh.
Ý nghĩa: Mỗi một tỉnh có một mã số riêng để phân biệt các tỉnh với nhau.
HUYEN(MaHuyen, TenHuyen, MaTinh)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaHuyen (K)
Char
6
Len()=6
TenHuyen
Varchar
25
MaTinh
Char
4
Lookup(TINH)
MaHuyen : 4 ký tự đầu là mã nước và mã tỉnh, hai ký tự sau là số thứ tự của huyện trong tỉnh. Mỗi tỉnh không quá 100 huyện nên dùng 2 ký tự.
TenHuyen : Bắt đầu là Tp cho thành phố trực thuộc Tỉnh, Q : cho quận, H cho huyện, TX cho thị xã và tiếp theo là tên thành phố, quận, huyện, thị xã.
Ví dụ:
MaHuyen = VN0101 có TenHuyen = Q. Ba Đình.
MaHuyen = VN0201 có TenHuyen =Tp. Hạ Long.
Ý nghĩa: Mỗi huyện được phân biệt bởi một mã huyện khác nhau ở trong một Tỉnh cũng như phân biệt với các huyện khác ở các tỉnh khác, vì trong mã huyện ta có kèm theo 2 kí tự của mã tỉnh nên có thể phân biệt được rằng ta đang biễu diễn mã của các huyện ở trong tỉnh nào.
DUONG(MaDuong, TenDuong)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaDuong (K)
Char
4
TenDuong
Varchar
30
MaDuong : Viết tắt các ký tự đầu của tên đường.
TenDuong : Tên đường.
Ví dụ:
MaDuong = PCT có TenDuong = Phan Chu Trinh.
MaDuong = NTMK có TenTinh = Nguyễn Thị Minh Khai.
Ý nghĩa: Mỗi tên đường có một mã riêng để phân biệt giữa các đường với nhau.
HANG SX(MaHSX, TenHSX, MaNuoc)
Tên thuộc tính
Liểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaHSX (K)
Char
4
Len()=4
Ten HSX
Varchar
50
MaNuoc
Char
2
Lookup(NUOC)
MaHSX : Hai ký tự đầu là mã nước, hai ký tự sau là số thứ tự hãng sản xuất trong nước.
TenHSX : Tên của hãng sản xuất.
MaNuoc : Mã nước của nước có hãng sản xuất đó.
Ví dụ:
MaHSX = ML01 có TenHSX = INTERFOODS PROCESSING ….
MaHSX = JP01 có TenHSX = HITACHI.
Ý nghĩa: Mỗi hãng sản xuất có một mã riêng để phân biệt giữa các hãng sản xuất với nhau.
DONVITINH(MaDVT, TenDVT)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaĐVT (K)
Char
1
Len()=1
TenĐVT
Varchar
7
MaDVT: Viết tắt ký tự đầu của tên đơn vị tính.
TenDVT : Tên đơn vị tính.
Ví dụ :
MaDVT = T có TenDVT = Thùng.
MaDVT = H có TenDVT = Hộp.
Ý nghĩa: Mỗi đơn vị tính có một mã riêng để phân biệt giữa các đơn vị tính với nhau.
NHOM(MaNhom, TenNhom)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaNhom (K)
Char
1
Len()=1
TenNhom
Varchar
50
MaNhom : Dùng một chữ cái để ký hiệu nhóm.
TenNhom : Tên nhóm hàng.
Ví dụ:
MaNhom = A có TenNhom = Nhóm hàng dùng ngay.
MaNhom = B có TenNhom = Nhóm hàng phải qua chế biến mới dùng được.
MaNhom = C có TenNhom = Nhóm hàng bánh kẹo.
Ý nghĩa: Mỗi nhóm hàng có một mã riêng để phân biệt giữa các nhóm với nhau.
MATHANG(MaHang, TenHang, SLTonTT, SLTonTD, MaDVT, MaHSX, MaNhom)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹ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 ký tự đầu tiên là mã nhóm, 3 ký tự tiếp theo là số thứ tự mặt hàng trong nhóm.
TenHang : Tên mặt hàng.
SLTonTT : Số lượng tồn tối thiểu ứng với một mặt hàng trong kho. Nếu số lượng mặt hàng đó tồn trong kho dưới mức tối thiểu thì phải nhập thêm vào.
SLTonTD : Số lượng tồn tối đa ứng với một mặt hàng ở trong kho. Nếu nhập thêm số lượng mặt hàng nào đó thì tổng số lượng trong kho không được vượt quá số lượng tồn tối đa của mặt hàng đó.
MaDVT : Mã đơn vị tính của đơn vị tính.
MaHSX : Mã hãng sản xuất của hãng sản xuất.
MaNhom : Mã nhóm của nhóm hàng.
Ví dụ:
MaHang = A001 có TenHang = Bird’s Nest.
MaHang = B001 có TenHang = Coconut Milk.
MaHang = C001 có TenHang = Chocolate.
Ý nghĩa: Mỗi mặt hàng có một mã riêng để phân biệt giữa các mặt hàng với nhau.
KHO(MaKho, TenKho, DTKho, FaxKho, SoNhaKho, ThuKho, MaDuong)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹ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 ký tự đầu là các ký tự viết tắt tên đường, 1 ký tự sau là số thứ tự kho trên đường đó.
TenKho : Tên kho hàng.
Ví dụ:
MaKho = NTMK1 có TenKho = Kho nước.
MaKho = NTMK2 có TenKho = Kho bánh kẹo.
Ý nghĩa: Mỗi kho có một mã riêng để phân biệt giữa các kho với nhau.
NGANHANG(MaNH, TenNH)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaNH (K)
Char
4
TenNH
Varchar
30
MaNH : Viết tắt các ký tự đầu của tên ngân hàng.
TenNH : Tên ngân hàng.
Ví dụ:
MaNH = NHNH có TenNH = Ngân hàng nông nghiệp.
MaNH = NHNT có TenNH = Ngân hàng ngoại thương.
Ý nghĩa: Mỗi ngân hàng có một mã riêng để phân biệt giữa các ngân hàng với nhau.
KHACHHANG(MaKH, HoKH, TenKH, TenGiaoDich, SoNhaKH, DTKhachHang, FaxKH, TaiKhoan, STNoCoThe, MaDuong, MaHuyen, MaNH)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹ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 ký tự đầu dùng để phân biệt nhà cung cấp và khách mua hàng (C hay K), 4 ký tự sau là số thứ tự khách hàng.
HoKH : Họ khách hàng, độ dài 23 ký tự.
TenKH : Tên khách hàng, độ dài 7 ký tự.
Ví dụ:
MaKH = K0001 có HoKH & TenKH = Lê Văn Nam.
MaKH = K0002 có HoKH & TenKH = Hồ Thị Phượng.
MaKH = C0001 có HoKH & TenKH = Trần Thị Mỹ Hoa.
Ý nghĩa: Mỗi khách hàng có một mã riêng để phân biệt giữa các khách hàng với nhau.
DONDHANG(MaDDH, NgayDH, MaKH)
Tên thuộc tính
Kiểu dữ liệu
Kích thức
Ràng buộc tồn vẹn
MaDDH(K)
Char
5
Len() = 5
NgayDH
DateTime
Shortdste
HanNgayGiao
Datetime
Shortdate
MaKH
Char
5
Lookup(KHACHHANG)
MaDDH : 1 ký tự đầu dùng để phân biệt đơn đặt mua hàng của khách hàng hay đơn công ty gửi nhà cung cấp (M hay B), 4 ký tự sau là số thứ tự đơn đặt hàng.
Ý nghĩa: Mỗi đơn đặt hàng có một tập hợp mã riêng để phân biệt giữa các đơn đặt hàng với nhau.
DONGDONDH(MaDDH, MaHang, SoLuongDH, DonGiaDH, NgayGiao)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaDDH (K)
Char
5
Len()=5
MaHang (K)
Char
4
Lookup(MATHANG)
SoLuongDH
Integer
8
DonGiaDH
Money
8
NXHANG(MaPNXH, NgayNXH, NgayHTT, Ngày lập PNX, MaDDH, MaKho)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹ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 ký tự đầu dùng để phân biệt phiếu nhập hay phiếu xuất hàng (N hay X), 4 ký tự sau là thứ tự phiếu xuất hay nhập hàng.
Ý nghĩa: Mỗi đơn đặt hàng có một tập hợp mã riêng để phân biệt giữa các đơn đặt hàng với nhau.
DONGNXHANG(MaPNXH, MaHang, SoLuongNXH, DonGiaNXH)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaPNXH (K)
Char
5
Len()=5
MaHang (K)
Char
4
Len()=4
SoLuongNXH
Integer
8
DonGiaNXH
Money
8
THANHTOAN(MaPTT, MaPNXH, NgayTT, SoTien)
Tên thuộc tính
Kiểu dữ liệu
Kích thước
Ràng buộc tồn vẹn
MaPTT (K)
Char
5
Len()=5
NgayTT
Datetime
Shortdate
SoTien
Money
8
MaPNXH
Char
5
Lookup(NXHANG)
MaPTT : 1 ký tự đầu dùng để phân biệt phiếu thu hay phiếu chi (T hay C), 4 ký tự sau là số thứ tự phiếu thanh tốn.
Ý nghĩa : Mỗi phiếu thanh tốn có một tập hợp mã riêng để phân biệt giữa các phiếu thanh tốn với nhau.
VIII. MÔ HÌNH TỪ ĐIỂN DỮ LIỆU
STT
TÊN THUỘC TÍNH
KIỂU DỮ LIỆU
ĐỘ DÀI
VÍ DỤ
1
MaNuoc
Char
2
VN
2
TenNuoc
Varchar
30
Việt Nam
3
MaTinh
Char
4
VN01
4
TenTinh
Varchar
20
Tp. Hà Nội
5
MaHuyen
Char
6
VN0101
6
TenHuyen
Varchar
25
Q. Ba Đình
7
MaDuong
Char
NTMK
8
TenDuong
Varchar
30
Nguyễn Thị Minh Khai
9
MaHSX
Char
4
JP01
10
TenHSX
Varchar
50
HITACHI
11
MaDVT
Char
1
T
12
TenDVT
Varchar
7
Thùng
13
MaNhom
Char
1
A
14
TenNhom
Varchar
50
Nhóm hàng dù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
Lê Văn Tài
25
MaNH
Char
NHNN
27
TenNH
Varchar
30
Ngân hàng nông nghiệp
28
MaKH
Char
5
K0001
29
HoKH
Varchar
23
Hồ 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 CHỌN MÔI TRƯỜNG CÀI ĐẶT VÀ
GIỚI THIỆU CÁC CÔNG NGHỆ LIÊN QUAN
Với mục tiêu xây dựng một phần mềm đáp ứng được các chức năng trong việc quản lý giao dịch xuất nhập, đồng thời dễ sử dụng và thân thuộc với người sử dụng, em lựa chọn giải pháp lập trình ứng dụng trên nền Windows được cài đặt bằng ngô ngữ lập trình Microsoft VisualBasic 6.0 với hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
I. Giới thiệu về Visual Basic 6.0.
Microsoft Visual Basic 6.0 tuy không còn là hiện thân mới nhất và độc đáo của ngôn ngữ BAISIC như cách đây vài năm nhưng nó vẫn còn tính năng ưu việt cho bạn hệ thống phát triển ứng dụng của Windows tồn diện và trọn gói. Microsoft Visual Basic 6.0 có nhiều công cụ hổ trợ mà bạn có thể viết thêm và biên dịch các file trợ giúp. Nó bao gồm:
1. Các công cụ điều khiển ( controls).
Bao gồm các công cụ trên cửa sổ toolbox , những cái mà bạn có thể đặt vào biểu mẫu để tương tác với người dùng và điều khiển luồng chương trình.
2. Chương trình ( Program).
Là tập hợp các câu lệnh để cho máy tính thực hiện các công việc nào đó theo ý muốn người lập trình. Bản thân Microsoft Visual Basic là trình ứng dụng. Bạn tải và thực hiện hệ thống giống như thực hiện các chương trình ứng dụng khác. Nó còn là công cụ rất tuyệt vời, các lập trình viên viết, kiểm tra và chạy các trình ứng dụng của Windows. Nó cung cấp các Form windows là vùng làm việc, nó duy trì các đối tượng tương tác của chương trình như các nút lệnh, các nhãn, các hợp thoại văn bản, các thanh cuộn và các công cụ điều khiển khác.
Đề án (Project): là tập hợp các file bạn tạo cho chương trình ứng dụng Windows của mình.
Wizard : Đây là các hộp thoại hỏi và trả lời tự động làm việc.
Trình biên dịch (Compiler): là hệ thống chuyển đổi chương trình bạn viết thành trình ứng dụng khả thi của máy tính.
Developer Studio: là môi trường phát triển của Visual Basic. Mặc dù Microsoft Visual Basic là ngôn ngữ lập trình tồn diện, nhưng nó vẫn duy trì ngôn ngữ BASIC thừa kế nó. Các lập trình viên vào cuối thập niên 1950 đã phát triển ngôn ngữ lập trình BASIC cho các lập trình viên sơ cấp. BASIC dễ sử dụng hơn các ngôn ngữ lập trình khác nhiều lần, như COBOL và FORTRAN. Microsoft không bao giờ quên nền tảng của VB khi phát triển nó. Nó giúp cho người lập trình có được nhiều chương trình Windows chỉ trong thời gian ngắn.
Microsoft Visual Basic 6.0 có nhiều ấn bản khác nhau bao gồm : Standard, Profectional và Enterprise. Aán bản Enterprise cung cấp cho các lập trình viên phần mềm client /server với các công cụ mở rộng cho các máy tính ở xa và phân phối các trình ứng dụng. Microsoft tăng cường tính năng làm việc trên mạng, môi trường phân phối cho những người dùng phiên bản Enterprise.
Một số tính năng mới trong Visual Basic 6.0 :
Microsoft Visual Basic 6.0 có nhiều tính năng mới, các điều khiển mới cho phép ta viết chương trình ứng dụng kết hợp giao diện, các xử lý và tính năng của office 97 và trình duyệt WEB Internet Explorer. Microsoft Visual Basic 6.0 cho phép ta lập trình để thêm điều khiển vào dự án tự động và có thể tạo ra các ActiveX hiệu chỉnh. Ta cũng có thể viếc các ứng dụng phía máy chủ ( server-side) dùng HTML động nhúng kết với các thư viện liên kết động của Internet Information Server. Một vài ứng dụng với các cãi tiến giúp cho truy cập dữ liệu ở tầm cở vĩ mô liên quan đến hàng trăm, hàng nghìn người sử dụng qua mạng hay qua Internet.
3. Làm việc với Microsoft Visual Basic 6.0.
3.1. Khám phá dữ liệu mới.
Visual Basic cung cấp các đối tượng dữ liệu ActiveX ( ActiveX Data Object – ADO ). Trong các phiên bản trước của VB, truy cập dữ liệu được thực hiện thông qua DAO ( Đối tượng truy cập dữ liệu- Data Access Object ) và RDO ( Đối tượng dữ liệu từ xa- Remote Data Object). ADO tổng hợp và thay thế các kỹ thuật này. ADO dễ dùng hơn và có tầm hoạt động rộng hơn. Ta có thể dùng ADO để kết nối với cơ sở dữ liệu của một máy để bàn hoặc một máy chủ chứa cơ sở dữ liệu ở xa. Hơn thế nữa ADO còn cho phép truy cập nhiều kiểu dữ liệu, ví dụ thư điện tử.
Kỹ thuật ADO hiện nay chứa trong điều kiển mới, điều kiển dữ liệu ADO. Nó trông giống như các điều khiển dữ liệu trong các phiên bản trước, nhưng phần thuộc tính của điều khiển, ta sẽ thấy có nhiều điểm khác. Nó cho phép kết nối với cơ sở dữ liệu để bàn hay cơ sở dữ liệu máy chủ ODBC trên mạng, hoặc ta có thể tạo kết nối đến các cơ sở dữ liệu khác.
Ngồi ADO, Visual Basic 6 còn có bộ công cụ kỹ thuật mới giúp truy cập dữ liệu dễ dàng hơn. Trình thiết kế môi truờng dữ liệu cho phép cho phép xem xét và thao tác dữ liệu trong CSDL khác nhau, bởi vì bản thân môi trường dữ liệu là các đối tượng, ta có thể sử dụng chúng như một điều khiển dữ liệu. Thậm chí ta có thể gắn nó với các điều khiển khác như hợp văn bản hay nhãn.
Một vài điều khiển dữ liệu khác cho phép ta tận dụng các thế mạnh của điều khiển dữ liệu ADO. Điều khiển DataGrid cho phép xem dữ liệu dưới dạng bảng và các dòng và cột. DataList và DataCombo tương tự như DBList và Dbcombo trong các phiên bản trước, ta có thể dùng chúng để lấy một danh sách dữ liệu từ điều khiển ADO trong cấu hình hợp danh sách ( ListBox ) hoặc hợp kết hợp ( ComboBox) hoặc chúng ta có thể sử dụng FlexGrid để xem những dữ liệu phức tạp.
Visual Basic 6.0 mở rộng khả năng báo cáo với các trình báo cáo dữ liệu cho phép tạo, xem trước và in các báo cáo trong Visual Basic tương tự như ACCESS. Ta có thể lấy các điều khiển báo cáo từ hợp cong cụ báo cáo dữ liệu mới và đưa vào biểu mẩu báo cáo dữ liệu. Sau đó gọi phương thức PrintReport() của báo cáo dữ liệu.
3.2. Bổ sung mới về lập trình hướng đối tượng.
Visual Basic 6.0 giúp tạo các lớp và điều khiển ActiveX phong phú hơn. Giờ đây ta có thể lưu dữ liệu qua các lớp tự tạo từ session này sang session khác thông qua túi thuộc tính ( Property bag ). Ta cũng có thể tạo hai kiểu lớp hiệu chỉnh data-aware là data source và Data consumers. Các kiểu lớp dữ liệu này hạot động tương tự như các đối tượng dữ liệu ADO, nhưng chúng đáp ứng được yêu cầu của khách hàng nhiều hơn.
Đối với điều khiển ActiveX, ta có thể tạo các điều khiển “hạng nhẹ” trong Visual Basic 6.0. Đây là các điều khiển “Windowless” tốn ít tài nguyên hệ thống hưon các điều khiển khác. Để xác định một điều khiển có phải “Windowless” hay không Visual Basic 6.0 cung cấp thuộc tính mới HasDC.
Add-in là công cụ Visual Basic mà các lập trình viên có thể lập trình để tạo cho các lập trình viên khác. Nhưng Add-in được viết trong Visual Basic chỉ có thể thi hành trong IDE của VB. Trình tạo ứng dụng Application Wizard, trình biểu mẫu dữ liệu ( Data Forms Wizard ) là những phần thêm mới.
Một số Wizard / Add-in dùng trong mọi phiên bản như :
Trình đóng gói và triển khai tự động ( Package and development Wizard ) công dụng là chuẩn bị và triển khai ứng dụng cho các máy để bàn hoặc dùng qua mạng.
Trình tạo ứng dụng tự động (Application Wizard ): Khởi tạo khung sườn cho ứng dụng. Nó tự động thêm menu, thanh công cụ, tập tin tài nguyên, các điều khiển ActiveX và điều khiển dữ liệu.
Trình quản lý tự động ( Wizard Manager ): tổ chức các trình tự động khác nhau để có thể truy cập từ trong IDE.
Một số Wizard / Add-in dùng trong phiên bản Enterprise và Proffessional như:
Trình đối tượng dữ liệu tự động ( Data Object Wizard): Tạo các đối tượng dữ liệu liên kết với các điều khiển dữ liệu và các ActiveX hiệu chỉnh.
Tiện ích xây dựng lớp ( Class builder Ultility ): dùng tạo giao diện các lớp hiểu chỉnh.
Trình thanh công cụ tự động (toolBar Wizard): Dùng giao diện tạo thanh công cụ cho biểu mẫu.
Trình biểu mẫu dữ liệu tự động(Data Form Wizard): Tạo biểu mẫu chứa các điều khiển tham chiếu đến dữ liệu trong một CSDL.
Trình thiết kế Add-in (Add-in Designer) : Tạo các Add-in hiệu chỉnh của VB.
Trình trang thuộc tính tự động( Property page Wizard): Tạo hợp thoại thuộc tính cho các điều khiển ActiveX tự tạo.
Trình gỡ rối T-SQL (T- SQL Debugger): Giúp gỡ rối khi viết các CSDL của SQL Server.
Trình duyệt API Viewer: Giúp tra cứu các khai báo hàm, hằng, kiểu của các Window APIs.
Trình giao diện điều khiển ActiveX (ActiveX control interface Wizard) : Tạo các điều khiển ActiveX.
3.3. Làm việc trong môi trường lập trình.
Tìm hiểu các thành phần của IDE
Định nghĩa IDE : IDE là tên viết tắt của môi trường phát triển tích hợp ( Integrated Development Enviroment). IDE là nơi tạo ra các chương trình Visual Basic, là nơi tập trung các menu, thanh công cụ và các cửa sổ để ta thao tác trên chúng. Mỗi thành phần của IDE có các tính năng ảnh hưởng đến hoạt động lập ttrình khác nhau.
Thanh menu cho phép bạn thao tác trên tồn bộ ứng dụng, thanh công cụ cho phép thao tác, truy cập các chức năng của thanh menu qua các nut trên thanh công cụ.
Các biểu mẫu (Form) là khối xây dựng chính của chương trình Visual Basic, chúng xuất hiện trong các của sổ Form. Chúng ta có thể thêm các công cụ điều khiển vào biểu mẫu của các đề án( Project).
Project Explorer hiển thị các đề án bạn đang làm cũng như các thành phần khác của đề án, bạn có thể duyệt, cài đặt các thuộc tính của điều khiển, biểu mẫu và module trong của sổ Properties.
Cuối cùng bạn xem xét một hoặc nhiều biểu mẫu trên màn hình thông qua của sổ Form Layout.
Sử dụng một số thanh công cụ trong IDE
Chúng ta có thể thêm và xố các thanh công cụ trong IDE của Visual Basic: Thanh công cụ là tâp hợp các nút bấm mang biểu tượng chứa trong một thanh thường đặt dưới thanh menu. Các nút bấm này phải đảm bảo các chức năng thông dụng trong cấu trúc của thanh menu của Visual Basic. Thanh công cụ rất hữu ích và tiết kiệm thời gian để ta chọn qua các mục ở menu con, ta click vào một nút nào đó trên thanh công cụ để gọi một chức năng nào đó trên thanh menu.
Sử dụng thanh công cụ Debug : Thanh công cụ Debug dùng để kiểm tra chương trình và giả quyết một số lõi có thể xãy ra. Khi gỡ rối chương trình ta làm một số việc như chạy từng dòng chương trình, kiểm tra các giá trị biến, hoặc dừng chương trình tại một điểm nghi ngờ nào đó.
Sử dụng thanh công cụ Edit : Thanh công cụ Edit được dùng để viết chương trình trong các cửa sổ code. Nó bao gồm đầy đủ tính năng có ở menu Edit. Một tính năng lý thú của IDE là thanh công cụ Edit có chức năng complete Word, tự động hồn tất các từ khố, nó giúp cho ta tránh được các lỗi cú pháp do gõ sai chính tả.
Thanh công cụ Form Editor dùng để kéo giãn, di chuyển và sắp xếp các điều khiển trên biểu mẫu, nó có tính năng tương tự như menu Format. Thuộc tính ZOrder của điều khiển cho phép điều khiển nào có thể nằm lên trên điều khiển nào, điều khiển có ZOrder bằng không luôn nằm ở bên trên.
Sử dụng thanh công cụ chuẩn ( Standard )là thanh công cụ chính trong IDE, nó cung cấp nhiều tính năng trong menu File, Project, Debug và Run.
Thêm các điều khiển vào thanh công cụ
Hợp công cụ là bảng chứa các điều khiển và ta thiết kế giao diện bằng cách chọn các mẫu điều khiển và đưa chúng vào biểu mẫu.
Một số điều khiển có sẳn trong VB ta không thể gỡ bỏ khỏi hộp công cụ gọi là các điều khiển nội tại (intrinsic). Một số nằm ngồi VB chứa trong các tập tin có phần mở rộng là .OCX. Những điều khiển này có thể được thêm vào hoặc gỡ bỏ khỏi hộp công cụ.
Quản lý ứng dụng với Project Explorer
Project Explorer trong VB 6.0 giúp ta định hướng và quản lý nhiều dự án, nó cho phép tổ chức nhiều dự án chung trong một nhóm gọi là Project groups. Ta có thể lưu tập hợp các đề án thành một tập tin nhóm đề án với phần mở rộng là .vbg.
Project Explorer có cấu trúc cây phân cấp, các đề án nằm ở phần trên của cây và các bộ phận của đề án chứa trong phần dưới cây. Khi chúng ta cần thao tác trên thành phần nào của đề án ta chỉ việc chọn phần ấy và xem của sổ Form hoặc của sổ Code của nó.
Đặc biệt nó vô cùng hữu ích cho chúng ta trong khi xây dựng nhiều dự án lớn.
Cửa sổ Properties:
Mỗi thuộc tính trong cửa sổ có thể có một hoặc nhiều giá trị. Nó giúp bạn xem xét sửa đổi và điều khiển các thuộc tính của điều khiển ActiveX trong chương trình.
Hiển thị trong IDE
Ta có thể hiển thị IDE của Visual Basic bằng hai cách : MDI và SDI.
MDI là giao diện đa tài liệu, cho phép ta hiển thị tất cả các cửa sổ thành phần trong IDE như là cửa sổ được chứa đựng trong cửa sổ mẹ.
Trái lại với giao diện SDI các cửa sổ thành phần hiển thị một cách độc lập nhau. Không có cửa sổ chính để chứa các cửa sổ thành phần.
Trợ giúp
Không chỉ làm chủ ngôn ngữ lập trình VB, bạn cần phải cần sử dụng thuần thục môi trường VB cũng như hiểu các thông điệp mà VB gửi ra. Mircosoft đã cung cấp một trong những hệ thống trợ giúp tốt nhất cho công cụ phát triên ứng dụng.
Những trợ giúp nhạy với ngữ cảnh ( Context-sensitive help) : tại vị trí bất kỳ trong VB bạn nhấn F1, hoặc nút trợ giúp. Nó sẽ kích hoạt hệ thống trợ giúp của Visual Basic, nơi có thể giải thích cũng như đưa ra các lời khuyên và các đoạn chương trình mẫu có liên quan.
Những ai quen dùng Windows, chắc chắn cũng biết qua trợ giúp cảm ngữ cảnh. VB được hổ trợ với hệ thống thư viện MSDN được sử dụng rộng rãi cho các ứng dụng của Microsoft để cung cấp, truy cập đến công cụ hướng dẫn sử dụng các sản phẩm trực tuyến.
3.4. Giới thiệu về thuộc tính, phương thức, sự kiện.
Visual Basic là một ngôn ngữ lập trình hổ trợ hướng đối tượng (Object-Oriented Programming). Trong lập trình hướng đối tượng , lập trình viên chia nhỏ các công việc thành các đối tượng. Từng đối tượng có đời sống riêng của nó, có những đặc điểm gọi là thuộc tính (Properties), có những chức năng riêng biệt gọi là phương thức ( methods).
Thuộc tính.
Có thể hiểu nôm na là thuộc tính mô tả đối tượng. Mỗi đối tượng đều có thuộc tính mô tả riêng. Nhưng nhìn chung các đối tượng đều có những thuộc chính chung như :
Left : vị trí canh trái,
Right : vị trí canh phải,
Height :chiều cao của đối tượng điều khiển,
Width: chiều rộng của đối tượng,
Enable : Có giá trị logic ( True/False) quyết định người sử dụng có thể làm việc với các đối tượng này không.
Ngồi ra còn rất nhiều thuộc tính khác tuỳ theo từng đối tượng điều khiển.
Phương thức.
Phương thức là những đoạn chương trình chứa trong điều khiển, cho điều khiển biết cách thực hiện công việc nào đó. Tương tự như thuộc tính, mỗi đối tượng điều khiển cũng có các phương thức khác nhau, nhưng cũng có các phương thức rất thông dụng cho hầu hết các đối tượng. Đó là:
Move : thay đổi vị trí của một đối tượng theo yêu cầu của chương trình.
Drag: thi hành hoạt động kéo thả của đối tượng.
SetFocus: cung cấp tầm ngắm cho đối tượng được chỉ ra trong lệnh gọi phương thức.
ZOder : qui định thứ tự xuất hiện của các đối tượng trên màn hình.
Sự kiện.
Nếu như thuộc tính mô tả đối tượng, phương thức chỉ ra cách thức đối tượng hành động thì sự kiện là những phản ứng của đối tượng. Tương tự như thuộc tính và phương thức, sự kiện cũng có đặc trương ở từng đối tượng điều khiển. Nhưng những sự kiện thường gặp nhất của các đối tượng là:
Change: Người sử dụng sửa đổi chuỗi ký tự trong hộp kết hợp ( combobox) hoặc hộp văn bản (TextBox).
Click : Người sử dụng sử dụng các phím của chuột để click lên các đối tượng.
Dblick : Người sử dụng sử dụng phím của chuột để nhấp đúp lên các đối tượng.
DragDrop : Người sử dụng kéo rê một đối tượng sang đối tượng khác.
DragOver: Người sử dụng kéo rê một đối tượng ngang qua một điều khiển khác.
GotFocus: Đưa một đối tượng vào tầm ngắm của người sử dụng.
KeyDown: Người sử dụng nhấn một nút trên bàn phím khi một đối tượng đang trong tầm ngắm.
KeyPress: Người sử dụng nhấn và thả một nút trên bàn phím khi một đối tượng đang trong tầm ngắm.
KeyUp: Người sử dụng thả một nút trên bàn phím khi một đối tượng đang trong tầm ngắm.
LostFocus: Đưa một dối tượng ra khỏi tầm ngắm.
MouseDown: Người sử dụng nhấn một nút chuột bất kỳ trong khi con trỏ chuột đang nằm trên một đối tượng.
MouseMove : Người sử dụng di chuyển con trỏ ngang qua một đối tượng.
MouseUp : Người sử dụng thả nút chuột trong khi con trỏ chuột đang nằm trên một đối tượng.
3.5. Khả năng sử dụng các DLL và Windows API.
Windows cung cấp vô số các hàm gọi, dưới dạng thư viện lên kết động (Dynamic Link Libraries ). Trong Visual Basic 6.0 còn có các tiện ích gọi ngược của DLL ( DLL Callback Facilities ), nghĩa là thay vì ta gọi chương trình trong API, nó cho phép ta gọi một API mà bản thân nó có thể gọi ngược về chương trình của ta như là một phần chương trình của nó vậy.
Giới thiệu về thư viện liên kết động (DLL)
Đối với các ngôn ngữ lập trình cổ điển như C, khi biên dịch chương trình, ta có một chương trình .EXE duy nhất có thể thi hành mà không dùng bất kỳ tập tin nào khác, còn tập tin .vbp của Visual Basic không như thế nó phải chạy trong môi trường Visual Basic.
Có 2 loại thư viện liên kết : thư viện liên kết tĩnh (SLL) và thư viện liên kết động (DLL).
Liên kết tĩnh : Cung cấp một kết nối bền vững giữa chương trình và module viết sẳn lúc thiết kế, tương tự như viết thủ tục trong Visual Basic và gọi thủ tục đó, nhưng chỉ khác là liên kết tĩnh chứa bên ngồi Visual Basic. Tuy nhiên khi sử dụng cần phải copy đoạn chương trình viết sẳn của liên kết tĩnh vào tập tin chương trình khi biên dịch. Từ đó trở đi nó trở thành một phần của chương trình viết sẳn và gắn chặt với chương trình của ta.
Liên kết động : Là giải pháp linh hoạt hơn liên kết tĩnh, tập tin thư viện bên ngồi chương trình không bị ràng buộc với chương trình. Nó chứa một nơi sao cho tập tin EXE có thể tìm ra và gửi thông điệp cho nó. Khi thi hành các thông điệp này là các cuộc gọi đến các hàm/ thủ tục, yêu cầu phần nào đó của DLL được thi hành.
Các DLL của Visual Basic nằm trong thư mục Windows \ System \
Giới thiệu về các DLL của Windows.
KERNEL32 : Là DLL chính, đảm nhiệm quản lý bộ nhớ, thực hiện chức năng đa nhiệm và những hàm ảnh hưởng trực tiếp đến hoạt động của Windows.
USER32 : Là thư viện quản lý Windows. Thư viện này chứa các hàm xử lý menu, định giờ, truyền tin, tập tin và nhiều phần không được hiển thị khác của Windows.
GDI32 : Là thư viện chứa giao diện thiết bị đồ hoạ (Graphics Device Interface) cung cấp các hàm vẽ trên màn hình, cũng như kiểm tra phần biểu mẫu nào cần vẽ lại.
WINNM: cung cấp các hàm Multimedia để xử lý âm thanh, nhạc, video, thời gian thực, lấy mẫu, vv… Đây là thư viện 32 bit còn thư viện 16 bit tương ứng tên là MMSYSTEM.
Thế mạnh của DLL.
Nhất quán : Người sử dụng ưa chuộng Windows vì đa số điều có một giao diện phổ biến cho mọi ứng dụng, nghĩa là có chương trình chung để tạo ra chúng.
Dễ bảo trì : Những thay đổi hoặc bổ sung nếu có sẽ biểu hiện trên mọi ứng dụng.
Tập tin .EXE nhỏ hơn : Do một phần công việc chứa đựng ở nơi khác và không gắn kết “cứng nhắc” như liên kết tĩnh, kích cỡ tập tin nhỏ hơn. Tuy nhiên DLL còn chứa nhiều thành phần khác chứ không chỉ những gì chương trình của ta cần.
Cấu trúc của Windows : DLL là nền tảng thiết kế của Windows. Windows thực chất là tập hợp các DLL để các ứng dụng khác nhau có thể dùng chung. Bên trong các DLL là hàng trăm, ngàn các hàm và thủ tục. Ta gọi chung là Windows API.
Giới thiệu về WIN API
Giao diện lập trình ứng dụng ( Application Programmer’s Interface ) là tập hợp các hàm có sẳn của Windows, chúng gần gủi với ngôn ngữ C/ C++ hơn. Visual Basic được thiết kế theo kiểu che bớt các công việc bên dưới hệ thống. Phần lớn các cuộc gọi đến hàm API được lồng trong các dạng lệnh của Visual Basic, bao gồm các từ khố, phương thức và thuộc tính. Chúng sẽ được thông dịch thành WinAPI và chúng ta vận dụng các thế mạnh hổ trợ của chúng.
Lớp bọc API và các điều khiển hiệu chỉnh : Điều khiển hiệu chỉnh (OCX hay ActiveX) bản thân chúng là những lớp bọc API, chúng chuyển giao chuyển giao các chức năng theo kiểu Visual Basic một cách thân thiện. Các điều khiển ActiveX và OLE Automation Servers đưa chương trình vào các đề án mà không cần có các DLL thực sự.
Cách gọi hàm API.
Gọi hàm API trong Visual Basic không khác với gọi hàm/ thủ tục trong module của đề án.
Ví dụ thủ tục gọi sau:
Public Declare Function Flash Lib “User32” Alias “FlashWindow” (ByVal hWnd as Long, Byval Invert As Long ) as Long.
Khai báo cho một cuộc gọi API :
Trước khi dùng hàm của DLL, ta cần khai báo hàm đó cho Visual Basic hiểu, Visual Basic cần biết:
Tên hàm hoặc thủ tục.
Tên tập tin DLL chứa nó.
Tham số truyền.
Kiểu dữ liệu trả về nếu là hàm.
Từ khố Declare báo cho VB biết đây là một hàm của DLL, sau Declare là từ khố Sub hoặc Function cho biết đây là thủ tục hay hàm. Từ khố Lib cho biết tên của DLL đang chứa hàm hoặc thủ tục mà ta gọi. Từ khố Alias cho biết tên thực sự của thủ tục hoặc hàm trong thư viện. Nó có thể khác với tên ta khai báo trước từ khố Lib. Cuối cùng là khai báo các tham số truyền, cùng các kiểu dữ liệu trã về.
3.6. Thiết lập báo cáo và truy xuất thông tin.
Thiết lập báo cáo trên cơ sở dữ liệu không chỉ là hiển thị cơ sở dữ liệu từ dữ liệu mà nó còn liên quan đến một số hoạt động khác trên dữ liệu. Sau đây tôi xin giới thiệu về một số công cụ lập báo cao như Data Report, MS Access, Crystal Report.
3.6.1. Sử dụng một số công cụ để lập báo cáo trong Visual Basic.
Sử dụng thiết kế DATAREPORT:
Đây là điểm nổi bậc trong VB 6, thiết kế Datareport là cách trực quan để tạo báo cáo trong môi trường phát triển VB, nó cung cấp các chức năng hết sức cơ bản nhưng lại lại dễ dùng. Các điều khiển Report bao gồm :
các điều khiển nhãn,
điều khiển hợp văn bản,
điều khiển ảnh,
điều khiển đoạn thẳng và điều khiển hình dạng,
điều khiển hàm cho phép chèn các tính tốn tóm tắt vào báo cáo.
Chúng ta có thể xem báo cáo trong chế độ Print Preview bằng cách thi hành phương thức Show
Sử dụng MS Access để lập báo cáo:
MS Access cho phép viết các báo cáo cơ sở dữ liệu. Nó hổ trợ giao diện dễ dùng và trực quan. Nó cho phép sắp xếp và phân nhóm cũng như sử dụng các hiệu chỉnh trong báo cáo. Hai kỹ thuật để thực hiện là:
Sử dụng Automation để thi hành báo cáo Access.
Sử dụng VSREPORTS để thi hành báo cáo Access.
Sử dụng CRYSTAL REPORT để lập báo cáo:
Ta không thể tạo báo cáo bằng chương trình mà thay vào đó ta dùng Crystal Report để xây dựng báo cáo. Sau khi xây dựng xong báo cáo ta lưu nó và phân phát cùng các ứng dụng cho người sử dụng.
3.6.2. Sử dụng các công cụ in ấn trong Visual Basic.
Sử dụng đối tượng Printer.
Ta có thể dùng đối tượng Printer của Visual Basic để in dữ liệu từ ứng dụng. Tuy nhiên cách này đòi hỏi lập trình nhiều và không linh hoạt trong những trường hợp cần kiểm sốt kết quả in ấn. Khi sử dụng đối tượng printer ta cần thực hiện các bước sau:
Xác định hệ toạ độ ta sẽ dùng với đối tượng Printer.
Tạo các cách bố trí báo cáo.
Viết chương trình tạo đối tượng Recordset dùng bất cứ thư viện truy cập cơ sở dữ liệu nào tuỳ thích.
Lặp xuyên qua các mẫu tin để trả về các đối tượng Recordset, gửi dữ liệu đến đối tượng Printer dùng các thuộc tính và các phương thức của nó.
Đối tượng Printer đưa ra một số thuộc tính và các phương thức hổ trợ việc thể hiện trang in và các tác vụ điều khiển như :
Thuộc tính CurentX, curentY : kiểm sốt vị trí hiện hành trên trang in.
Thuộc tính Font là đối tượng điều khiển các thuộc tính của văn bản chứa trong trang in.
Phương thức Print : trình bày văn bản trên trang in.
Phương thức Newpages chèn một phép ngắt trang vào tác vụ in, thuộc tính page trả về trang in hiện hành của tác vụ in, phương thức KillDoc xố bỏ một tác vụ in.
Phương thức đồ hoạ như Line, Point, Circle.
Phương thức EnDoc: gửi tồn bộ tác vụ in cho máy in. Thi hành phương thức này ở cuối tác vụ in sử dụng đối tượng Printer.
Sử dụng VSVIEW của VIDEOSOFT để lập báo cáo và in bảng in với điều khiển VsPrinter:
Thiếu sót của đối tượng Printer là trước khi in ta không biết được báo cáo sẽ thể hiện như thế nào, hay thậm chí không biết báo cáo có bao nhiêu trang in do đó ta nên dùng công cụ cung cấp nhiều tiện ích hơn là vsPrinter.
VsPrinter rất thích hợp để in bảng CSDL bởi vì nó hổ trợ rõ ràng cho việc in dữ liệu theo định dạng dòng – cột. Ta có thể in dữ liệu trong bảng bằng cách gán dữ liệu cho thuộc tính Table của điều khiển.
Để tạo bảng vsPrinter, trước hết cần tạo ra một chuổi chứa thông tin định dạng cách thức in bảng chứa các thông tin đầy đủ về cách bố trí văn bản.
4. KHẢ NĂNG KẾT NỐI VỚI CƠ SỞ DỮ LIỆU CỦA VISUAL BASIC.
Hình 2: Minh hoạ khả năng kết nối dữ liệu củ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ử dụng Visual Basic 6.0 bạn có thể tạo các thành phần gói gọn từng bước trong một hệ thống truy cập dữ liệu. Khởi đầu với data source, Microsoft Visual Data Tools (Việc truy cập dữ liệu thông qua cửa sổ Dataview) cung cấp cho bạn các khả năng để xem và thao tác trên các đố tượng Table, views, Stored procedures, và các sơ đồ cơ sở dữ liệu trên các hệ thống SQL Server và Oracle.
Data Source và Data Controls :
Trên Client chúng ta có thể sử dụng công cụ Data Enviroment để thực hiện việc tạo nhanh các kết nối ADO và các đối tượng Command để truy cập dữ liệu của bạn. Data Enviroment còn cung cấp thêm các giao tiếp lập trình động cho phép truy cập các đối tượng dữ liệu trong dự án của bạn.
ADO Conrol về bản chất bên trong cung tương tự như Data Control, ngoại trừ việc nó sử dụng đối tượng ADO Recordset như là một Data Source cho các Controls và các đối tượng trong Visual Basic.
Dynamic Data Binding:
Khả năng kết buộc một data source tới một đối tượng cần dữ liệu là khả thi đối với Visual Basic 6.0. Tại thời điểm thi hành bạn có thể thiết lập thuộc tính Data source của đối tượng cần dữ liệu (ví dụ như đối tượng DataGrid Control ) tới một data source.
Thế mạnh của Visual Basic là khả năng hổ trợ và kết nối dữ liệu. Visual Basic hổ trợ các kiểu truy cập dữ liệu như : DAO - đối tượng truy cập dữ liệu, RDO – truy cập dữ liệu từ xa, ADO - các đối tượng dữ liệu ActiveX. Nó còn có khả năng kết nối với dữ liệu từ MS Access, SQL Server với hệ quản trị cơ sở dữ liệu Oracle và một số hệ quản trị cơ sở dữ liệu khác.
Trong đồ án tốt nghiệp này tôi đã cài đặt chương trình trên ngôn ngữ VB 6.0 và dùng hệ quản trị CSDL SQL Server 7.0 qua phương pháp truy cập ADO.
Sau đây tôi xin giới thiệu thêm về kiểu truy cập dữ liệu ADO
Đối tượng dữ liệu ActiveX (Active X Data Object)
Sơ đồ kiến trúc của ADO :
Connection
Command
Recordset
Errors
Fields
Parameters
Error
Parameter
Field
Khái niệm về ADO:
Là cầu nối giữa đối tượng cung cấp dữ liệu và đối tượng sử dụng dữ liệu thông qua các Data source đã được tạo cho việc sử dụng Microsoft ActiveX Data Objects (ADO), nó là phương pháp tối ưu nhất để truy cập dữ liệu của Visual Basic trong nguồn dữ liệu bất kỳ quan hệ và không quan hệ. Truy nhiên các phương pháp khác như RDO, DAO vẫn còn được hổ trợ.
III. GIỚI THIỆU VỀ CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER
1. Cấu trúc cơ sở dữ liệu của SQL Server 7.0.
SQL Server tổ chức dữ liệu lưu trong Cơ sở dữ liệu (CSDL) thành những thành phần logic. User làm việc trên những thành phần logic này như bảng (table), view, procedure… Thành phần vật lý của những file thì trong suốt (transparent), chỉ có người quản lý Cơ sở dữ liệu mới được làm việc trên đó.
SQL Server có 4 cơ sở dữ liệu hệ thống ( master, msdb, model, temdb database ) và các cơ sở dữ liệu của user. Hình minh họa
Master database: Ghi lại cấu hình hệ thống của SQL Server. Nó ghi lại tất cả tài khoản đăng ký của user và cấu hình hệ thống, những file primary chứa thông tin khởi động của Cơ sở dữ liệu của user, chứa thông tin khởi động của SQL Server. Những thao tác sau gây ra những thay đổi trong master database: Tạo, thay đổi, xóa cơ sở dữ liệu,thay đổi transaction log. Thêm hay xóa của những sever sử dụng thủ tục hệ thống như sp-addserver (thêm server) and sp-dropserver (bỏ server).
Temdb database : chứa những bảng tạm và những stored procedure tạm. Những bảng tạm và những stored procedure của user khi nối kết vào hệ thống được lưu trong temdb database. Khi SQL khởi động thì tất cả các bảng tạm và các stored procedure trong temdb database đều mất.
Stored procedure : là 1 tập hợp biên dịch trước của những câu lệnh của Transact-SQL được lưu và xử lý như 1 đơn vị (unit). Stored procedure sẵn sàng cho việc quản lý SQL Server và hiển thị thông tin của cơ sở dữ liệu, của những người sử dụng. SQL Server cung cấp những stored procedure gọi là stored procedure hệ thống.
Model database : được dùng như 1 khuôn mẫu của CSDL trong hệ thống. Khi tạo ra 1 CSDL thì phần đầu của CSDL là bản sao của model database, phần còn lại là những trang trống.
Msdb database : SQL Server Agent dùng msdb database để lập kế hoạch alert, job. Alert là 1 định nghĩa của người sử dụng đáp ứng 1 sự kiện của SQL Server. Alert có thể thực thi cả nhiệm vụ định nghĩa hoặc gởi e-mail đến 1 người chỉ định. Job là sự thực hiện 1 hành động quản lý chứa 1 hoặc nhiều bước, thay thế cho thuật ngữ task của SQL Server 6.5.
2. Cấu trúc cơ sở dữ liệu vật lý.
a. Trang (page).
Đơn vị cơ bản lưu trữ dữ liệu là trang (page). Trong SQL Server 7.0, 1 trang có kích thước 8MB, ta sẽ có 128 trang/1MB. 96 byte đầu của mỗi trang chứa header của trang gồm thông tin hệ thống như loại trang, số vùng trống của trang.
Cấu trúc trang dữ liệu : Các hàng dữ liệu (data row) được đưa vào tuần tự ngay sau page header, row offset được bắt đầu từ cuối trang, chỉ đến data row và cho biết byte bắt đầu của data row, kích thước hàng tối đa là 8060 byte.
b. Extent.
Extent là đơn vị cơ bản chỉ vùng lưu bảng và index. Mỗi extent gồm 8 trang liên tục nhau. Có 2 loại extent :
Mixed extent có thể lưu những đối tượng khác nhau.
Uniform extent chỉ có thể lưu 1 đối tượng duy nhất.
c. Những loại file trong CSDL : SQL Server có 3 loại file:
Primary file : là file bắt đầu của cơ sở dữ liệu. Mỗi cơ sở dữ liệu chỉ có 1 file primary, tên file có phần mở rộng là .mdf
Secondary file : là file lưu những gì còn lại của cơ sở dữ liệu mà không chứa trong primary file, có thể có nhiều file secondary, tên file có phần mở rộng là .ndf.
Log file : chứa những thông tin transaction log, được dùng để khôi phục cơ sở dữ liệu, mỗi cơ sở dữ liệu có ít nhất 1 log file, tên file có phần mở rộng là .ldf.
File của SQL Server có 2 tên:
Logical_file_name: là tên dùng trong những câu lệnh Transact_SQL.
Os_file _name: là tên file vật lý, chỉ rõ đường dẫn của file cơ sở dữ liệu, ví dụ: C:\Mssql7\Data\MyData1.mdf là tên Os_file_name.
MyDB_primary là tên logical_file_name, Những trang trong file được đánh số bắt đầu từ 0. Mỗi file có 1 số ID. Mỗi trang trong file gồm cả ID file và số thứ tự trang trong file.
Ví dụ: File primary có kích thước 4MB, và Secondary có kích thứơc 1 MB.
Trang đầu tiên trong mỗi file là trang header file chứa thông tin về thuộc tính của file. Trang thứ 9 trong primary file là trang khởi động cơ sở dữ liệu chứa thông tin về thuộc tính của cơ sở dữ liệu.
3. Lý thuyết mô hình quan hệ
a. Các khái niệm cơ bản
Thực thể : là một đối tượng cụ thể nào đó
Thuộc tính thực thể : Tính chất xác định thực thể
Lớp thực thể : Các thực thể có cùng thuộc tính
Thuộc tính: Tên thuộc tính, miền xác định của thuộc tính
Lược đồ quan he : gồm các thuộc tính của thực thể (tên, miền xác định) cùng với các mệnh đề ràng buộc.
Lược đồ của một quan hệ : R== (A1: D1’ A2 : D2 ,……,An :Dn , M) trong đó: AI :Tên thuộc tính, DI :Miền xác định của thuộc tính, M : Mệnh đề ràng buộc.
b. Khái Niệm phụ thuộc dữ liệu và các dạng chuẩn
Một thuộc tính gọi là phụ thuộc vào các thuộc tính khác khi giá trị của thuộc tính này phụ thuộc vào giá trị của thuộc tính kia. Sự phụ thuộc có thể là trực tiếp hay gián tiếp.
Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng qui định giá trị của các thuộc tính khác, nhóm thuộc tính đó gọi là khóa.
Với một quan hệ tùy vào các phụ thuộc của các thuộc tính vào khóa trong đó mà ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau.
Các dạng chuẩn cơ bản:
Dạng chuẩn 1
Dạng chuẩn 2
Dạng chuẩn 3
Các dữ liệu lưu giữ dưới dạng chuẩn 3 tránh được hiện tượng dư thừa dữ liệu, tạo cho dữ liệu có tính độc lập cao. Các quan hệ nếu chưa ở dạng chuẩn 3 sẽ được phân rã thành các quan hệ nhỏ hơn ở dạng chuẩn 3.
c. Khái niệm chỉ dẫn và khóa chỉ dẫn
Để có thể tìm kiếm thông tin nhanh theo một tiêu chuẩn nào đó chúng ta tạo ra các thông tin chỉ dẫn theo tiêu chuẩn đó. Các thông tin chỉ dẫn là các thông tin giúp ta tìm kiếm dữ liệu nhanh. Các thông tin này gọi là khóa chỉ dẫn. Khóa chỉ dẫn có thể là một trường, hoặc nhiều trườngï.
Với cách tạo ra khóa chỉ dẫn theo tiêu chuẩn nào đó ta có thể tìm kiếm nhanh dữ liệu theo tiêu chuẩn đó.
CHƯƠNG IV
XÂY DỰNG CHƯƠNG TRÌNH
I. Phần dữ liệu :
Như đã trình bày trong chương 2, phần phân tích và thiết kế hệ thống. Ta tổ chức dữ liệu thành 16 bảng dữ liệu như trên.
Hình : Mô hình vật lý dữ liệu
II. Một số giao diện chính :
1. Hình ảnh Form chính của chương trình:
2. Đây là hình ảnh Menu giao dịch xuất hàng:
3. Hình ảnh Form đơn đặt hàng :
4. Hình ảnh Form lập phiếu xuất hàng :
5. Hình ảnh Form lập phiếu thu tiền hàng :
III. Một số mô đun chính :
1. Mô mô đun kết nố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. Mô đun kiểm tra ngày tháng nhập và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. Mô đun lưu dữ liệu xuất hà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
ĐÁNH GIÁ HỆ THỐNG
I. Những kết quả đạt được
Hệ thống quản lý xuất nhập hàng giúp cho việc quản lý mua bán của công ty được thực hiện một cách thuận tiện nhanh chóng và an tồn, góp phần tiết kiệm thời gian và giảm bớt các công việc thủ công (tuy nhiên không thể thay thế hồn tồn).
Hệ thống đáp ứng được những yêu cầu cơ bản trong công tác cập nhật, xử lý xuất nhập hàng một cách nhanh chóng, chính xác như cập nhật dữ liệu, tìm kiếm thông tin, báo cáo tổng hợp xuất, nhập, tồn hàng.
Giao diện thân thiện và dễ dàng cho người sử dụng.
II. Những tồn tại của chương trình
Trong điều kiện hạn hẹp về thời gian và kiến thức còn hạn chế nên chương trình vẫn còn một số tồn tại như sau:
Hệ thống chỉ mới phát triển bằng ngôn ngữ VisualBasic, lưu trữ dữ liệu bằng hệ quản trị cở sở dữ liệu MicroSoft SQL Server và chạy trên máy đơn.
Một số phần xử lý Tiếng Việt còn chư tốt.
Chưa xây dựng hệ thống bảo mật cơ sở dữ liệu và phân quyền người sử dụng.
III. Hướng phát triển chương trình
Dựa vào kết quả khảo sát bài tốn thực tế và phân tích thiết kế hệ thống ở trên, em xin đề xuất hướng phát triển chương trình như sau:
1. Phát triển hệ thống
Xây dựng hệ thống thương mại điện tử Web bằng công nghệ ASP (Active Server Pages) hoặc ASP.Net, lưu trữ dữ liệu bằng hệ quản trị cơ sở dữ liệu MicroSoft SQL Server hoặc Orecle và chạy trên mạng.
2. Bảo mật cơ sở dữ liệu và phân quyền người sử dụng
Ta sẽ phân cấp ra 3 mức người sử dụng:
Addmin: có quyền thêm, sửa, xố database, phân cấp, phân quyền cho người sử dụng.
User mức 1: có quyền thêm dữ liệu và database.
User mức 2: chỉ được quyền xem mà không được thực hiện bất cứ thao tác gì trên database.
Một vấn đề nữa là database sẽ được đặt trên máy chủ chứ không đặt trên các máy con như hiện nay nữa và như vậy việc quản trị và bảo mật ddatabase sẽ dễ dàng hơn.
TÀI LIỆU THAM KHẢO
1. Microsoft Visual Basic 6.0 & Lập trình cơ sở dữ liệu
– Nguyễn Thị Ngọc Mai (Chủ biên), NXB GIÁO DỤC
Lập trình Visual Basic trong 21 ngày – Nathan Gurewich – On Gurewich, NXB GIÁO DỤC.
Kế tốn doanh nghiệp với Visual Basic – VN GUIDE, NXB Thống Kê.
Giáo trình phân tích và thiết kế hệ thống thông tin quản lý – ThS.Nguyễn Hữu Trọng, Trường Đạ Học Thuỷ Sản.
Phân tích và thiết kế hệ thống thông tin - Nguyễn Văn Ba, NXB ĐẠI HỌC QUỐC GIA HÀ NỘI.
Hướng dẫn triển khai Căn Cứ Dữ Liệu sử dụng SQL SERVER 7.0 và VISUAL BASIC 6.0 - Biên dịch: Dương Quang Thiện, NXB Thống Kê.
Các file đính kèm theo tài liệu này:
- dtv-qlxnk.doc