Tài liệu Đồ án Quản lý xuất nhập hàng hoá: ĐỒ ÁN:
Quản lý xuất nhập hàng hoá
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Ế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
...
109 trang |
Chia sẻ: haohao | Lượt xem: 1326 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án Quản lý xuất nhập hàng hoá, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐỒ ÁN:
Quản lý xuất nhập hàng hoá
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Ế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 hoàn thiện hơn.
Nhân đây em xin chân thành cảm ơn cô Bùi Thị Hoà– 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.
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 hoàn chỉnh hoá 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 toà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 toàn và độ
bảo mật cũng như khả năng quản lý toà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 hoá 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
Hoà, 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
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.
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
- 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
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ế toán: Kết toá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 hoá và bảo quản hàng hóa, báo cáo tình hình
số lượng hàng hoá 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 hoá tồn tối thiểu, số lượng hàng hoá 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ề.
BAN GIÁM ĐỐC
BỘ PHẬN
KINH DOANH
BỘ PHẬN KẾ
TOÁN
BỘ PHẬN
KHO
- 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 toán tới
bộ phận kế toán để thanh toán tiền hàng cho tổng công ty.
- Cách tính tổng giá trị hàng 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 hoá
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ỳ.
Tổng giá trị = số lượng nhập * đơn giá nhập
haptkSSltondk
TgnhaptkTgtondk
dgbqck
ln
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 hoá trong tháng
theo mẫu đã định.
- 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 hoá 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.
Số lượng hàng tồn = số lượng hàng nhập – số lượng hàng xuất
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: ………….
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 HOÁ)
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 hoá)
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ế toán Người nhận Thủ kho
d. Mẫu phiếu đề nghị thanh toán
Mẫu phiếu này dùng chung cho cả công ty và khách mua hang.
II. PHÂN TÍCH VÀ LẬP DỰ ÁN
1. Phân tích
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Ế TOÁN TRƯỞNG KT THANH TOÁ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
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 hoá, 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 hoá: 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 hoá đượ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 hoá, kho, các hoá đơn chứng từ, cũng như khả năng tính toá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 toà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 hoá: 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 toá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 hoá đơ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 toán và
tính toán giá trị hàng hoá.
- Lưu trữ và bảo mật dữ liệu quản lý hoá đơn chứng từ liên quan đến việc
xuất/ nhập hàng, hàng hoá, 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 toá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
ngoà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 hoá 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 hoá, Kho, Đơn đặt hàng, Phiếu nhập/ xuất hàng, phiếu
thanh toá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 hoá: 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 hoá đượ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 toán:
- Mã phiếu thanh toán
- Ngày thanh toá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 hoá
- 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 hoá, 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
hoá.
- 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 hoá. 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ể
2. Sơ đồ chức năng chi tiết.
a. Chức năng quản lý nhập 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.
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
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
- 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 hoá 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 hoá đơ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 toá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 toán, tiến hành việc thanh toá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 hoá đơ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 toán: Sau khi giải quyết xuất hàng thì bắt đầu lập phiếu thanh
toá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.
Giải thích các chức năng:
- Thống kê hàng nhập: Thống kê lượng hàng hoá 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 hoá 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 hoá 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.
Giải thích các cức năng:
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
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
- 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 để hoà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
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
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
Quản lý
nhập
hàng
Tì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
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
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
b. Chức năng quản lý xuất hàng
Ghi nhận
KH mới
Giải quyết
đơn đặt hàng
Khách hàng
Khách 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 Đơn ĐH
được giải
quyết
c. Chức năng thống kê
Ban quản lý
Thống kê
hàng nhập
Thống kê
hàng xuất
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.
- 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.
- 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.
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.
A B
A B
A B
- 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 hoá dữ liệu: Chuẩn hoá 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 hoá:
- Quy tắc chuẩn hoá 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 hoá 2: Mọi thuộc tính phải phụ thuộc hàm vào toàn bộ
khoá.
- Quy tắc chuẩn hoá thứ 3: Mỗi thuộc tính chỉ phụ thuộc hàm vào toàn bộ
khoá 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 toá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 hoá):
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 toá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
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
NX HÀNG
Mã PNXH
Mã DDH
Mã kho
Ngày NXH
Ngày HTT
Ngày lập PNX
DÒNGNX HÀNG
Mã PNXH
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
toá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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toà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 toán.
Ý nghĩa : Mỗi phiếu thanh toán có một tập hợp mã riêng để phân biệt giữa các
phiếu thanh toá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 toà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.
1. Đề á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.
2. Wizard : Đây là các hộp thoại hỏi và trả lời tự động làm việc.
3. 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.
4. 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 toà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. An 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.
Ngoà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 toà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à xoá 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 hoàn tất các từ khoá, 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 ngoà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.
- Ngoà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 ngoà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 ngoà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ừ khoá, 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ừ khoá Declare báo cho VB biết đây là một hàm của DLL, sau Declare là
từ khoá Sub hoặc Function cho biết đây là thủ tục hay hàm. Từ khoá Lib cho biết
tên của DLL đang chứa hàm hoặc thủ tục mà ta gọi. Từ khoá 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ừ khoá 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 toá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 soá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 soá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 xoá bỏ một tác vụ in.
- Phương thức đồ hoạ như Line, Point, Circle.
- Phương thức EnDoc: gửi toà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.
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
ActiveX .EXE
.DLL
Midder
Tier
Data
Source
Form
Client
DHTML
Report
Code
D
at
a
bi
nd
in
g
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)
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 :
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.
Connection
Command Recordset Errors
Fields Parameters Error
Parameter Field
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 toà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ế hoàn
toà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 toá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, xoá 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
2. Lập trình Visual Basic trong 21 ngày – Nathan Gurewich – On Gurewich,
NXB GIÁO DỤC.
3. Kế toán doanh nghiệp với Visual Basic – VN GUIDE, NXB Thống Kê.
4. 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.
5. 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.
6. 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:
- Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - Quản lý xuất nhập hàng hoá.pdf