Phần I: Lời nói đầuNgày nay, ngành Công nghệ thông tin phát triển rất nhanh chóng và ứng dụng ngày càng rộng rãi trong cuộc sống và trong các công tác quản lý của các công ty lớn, bệnh viện trường học, trụ sở ủy ban… đặc biệt là trong công tác quản lý bán hàng. Nó có tác dụng thiết thực đối với đời sống con người, giúp cho người quản lý có cái nhìn tổng thể mà chi tiết thông tin được lưu trữ đầy đủ, cập nhật hàng ngày, nâng cao hiệu quả làm việc, tiết kiệm sức làm việc.Hiện nay linh kiện máy tính trên thị trường và các thiết bị điện tử là rất nhiều, cùng với rất nhiều chủng loại và nguồn gốc xuất xứ. với niềm đam mê tìm hiếu những vấn đề liên quan đến chuyên ngành học tập Công nghệ thông tin của mình, chúng em đã quyết định chọn đề tài quản lý bán hàng: linh kiện máy tính. Với kiến thức thực tế và qua quá trình tìm hiểu thực trạng của hệ thống bán hàng chúng em đã thu được một số kết quả.
Trang 1Phần I: Lời nói đầu
Ngày nay, ngành Công nghệ thông tin phát triển rất nhanh chóng và ứng dụngngày càng rộng rãi trong cuộc sống và trong các công tác quản lý của các công
ty lớn, bệnh viện trường học, trụ sở ủy ban… đặc biệt là trong công tác quản lýbán hàng Nó có tác dụng thiết thực đối với đời sống con người, giúp cho ngườiquản lý có cái nhìn tổng thể mà chi tiết thông tin được lưu trữ đầy đủ, cập nhậthàng ngày, nâng cao hiệu quả làm việc, tiết kiệm sức làm việc
Hiện nay linh kiện máy tính trên thị trường và các thiết bị điện tử là rất nhiều,cùng với rất nhiều chủng loại và nguồn gốc xuất xứ với niềm đam mê tìm hiếunhững vấn đề liên quan đến chuyên ngành học tập Công nghệ thông tin củamình, chúng em đã quyết định chọn đề tài quản lý bán hàng: linh kiện máy tính.Với kiến thức thực tế và qua quá trình tìm hiểu thực trạng của hệ thống bán hàngchúng em đã thu được một số kết quả
Trang 2Phần I: Lời nói đầu 1
-Phần II: Nội dung 4
Chương I: Khảo sát nghiệp vụ 4
I Khảo sát nghiệp vụ 4
II Bài toán 4
Yêu cầu của hệ thống mới: 5
Chức năng của hệ thống mới: 5
Chương II: Phân tích hệ thống 7
I Phân tích chức năng 7
1 Mô hình phân rã chức năng 7
2 Ý nghĩa của các chức năng 7
a Chức năng Quản Lý Bán Hàng 7
b Chức năng Quản Lý Nhập Hàng 7
II Phân tích dữ liệu 8
1 Mô hình luồng dữ liệu 8
a Mô hình luồng dữ liệu mức khung cảnh 8
b Mô hình luồng dữ liệu mức đỉnh: 9
c Mô hình luồng dữ liệu mức dưới đỉnh: 10
2 Mô hình quan hệ: 12
Chương III: Thiết kế hệ thống 18
I Từ điển dữ liệu 18
-Phần III: Các câu lệnh 19
I Các câu lệnh với View : 19
II Các câu lệnh với Procedure: 20
- Insert: 20
- Delete: 21
- Update: 21
III Các câu lệnh với Function: 22
IV Các câu lệnh với Tringger: 23
-Phần IV: Một số giao diện chính 25
1 Form danh sách khách hàng: 25
2 Form lập phiếu xuất: 26
3 Form thêm hàng hóa: 27
4 Form thêm khách hàng: 28
5 Form tìm kiếm hàng hóa: 29
6 Form xóa hàng hóa: 30
-Phần V: Kết luận 31
Trang 3Giáo trình SQL khoa CNTT Trường Đại Học Khoa Học Huế 31
Trang 4-Phần II: Nội dung
Chương I: Khảo sát nghiệp vụ
I. Khảo sát nghiệp vụ
Cơ cấu tổ chức chính gồm ba bộ phận với những nhiệm vụ khác nhau:
Bộ phận bán hàng: hướng dẫn khách hàng đến mua thiết bị Làm thủ tục cầnthiết để khách hàng có thể chọn mua được những thiết bị theo yêu cầu Giảiquyết những thắc mắc cho những khách hàng tới tham gia mua hay tìm hiểu vềthiết bị của cửa hàng
Bộ phận bảo hành lắp ráp: chuyên lắp ráp các linh kiện máy tính khi có phiếuyêu cầu của khách hàng cần mua Có thể nhận lắp đặt ở công ty hoặc ở tại nhànếu khách hàng có yêu cầu Khi khách hàng có yêu cầu bảo hành về các sảnphẩm, thiết bị của cửa hàng thì bộ phận bảo hành sẽ kiểm tra phiếu bảo hành vàsửa chữa thiết bị bị hỏng thưo yêu cầu của khách hàng
Bộ phận kho hàng: nhận hàng, kiểm tra chất lượng và số lượng hàng khi cửahàng có yêu cầu nhập hàng từ nhà cung cấp Bảo quản, kiểm tra, thống kê sốlượng hàng hoá đã bán được, hàng hoá tồn kho… theo một thời gian định kỳnhất định
II. Bài toán
Khi có yêu cầu nhập thiết bị: nhân viên tiến hành ghi phiếu yêu cầu gồm cácthông tin chi tiết về thiết bị và gửi đến cho nhà cung cấp Nhà cung cấp sẽ gửiđơn chào hàng chi tiết các thiết bị bao gồm các thông tin như: tên, loại thiết bị,
số lượng, nguồn gốc….Qua đơn chào hàng của nhà cung cấp thì cửa hàng sẽ đưa
ra đơn đặt hàng và gửi đến cho nhà cung cấp, để đáp ứng nhu cầu nhập thiết bịcủa cửa hàng nhà cung cấp sẽ chuyển thiết bị cho cửa hàng theo hợp đồngmua,bán hàng hóa và biên lai bàn giao thiết bị (kiêm hóa đơn thanh toán tiềnthiết bị).Trước khi nhập hàng vào kho thì cửa hàng sẽ kiểm tra xem đã đủ thiết bịchưa theo biên bản bàn giao thiết bị mà nhà cung cấp gửi đến, đồng thời cửahàng sẽ ghi các thông tin cần thiết vào sổ chi và sổ kho Nếu thiết bị nào không
Trang 5những thiết bị như hợp đồng đã thỏa thuận.
Khi khách có nhu cầu mua thiết bị, bộ phận bán hàng sẽ đưa ra bảng báo giámáy tính cho khách Nếu khách hàng chọn được thiết bị cần mua thì cửa hàng sẽkiểm tra trong kho, nếu trong kho còn hàng thì nhân viết sẽ viết phiếu bán hàng.Sau đó cửa hàng sẽ tiến hành bàn giao thiết bị cho khách và gửi đến khách hànghóa đơn thanh toán, phiếu bảo hành và các giấy tờ liên quan, có kèm theo cáckhuyến mại(nếu có) Khi khách đã thanh toán tiền thiết bị thì cửa hàng sẽ lậpbiên lai thu tiền cho khách đồng thời sẽ ghi các thông tin cần thiết vào sổ thu và
sổ kho
Sau một khoảng thời gian nhất định các bộ phận sẽ tổng hợp thông tin muahàng, bán hàng, doanh thu, tiền lãi và các thông tin khác
Hệ thống bán hàng khá hoàn thiện đáp ứng được nhu cầu được nhu cầu thực
tế của cửa hàng, tiết kiệm được nhân lực, tránh sai xót trong nhiều công đoạn.Tuy nhiên, do tính chất của hoạt động kinh doanh đòi hỏi phải có một hệ thốngkhoa học và ngày càng hoàn thiện hơn, do đó cần có kế hoạch nâng cấp và xâydựng một hệ thống tối ưu hơn, có tính cấp thiết và có tính quảng bá sâu rộng hơntrên thị trường, giúp cho cửa hàng có thể giao dịch bán hàng với khách hàng dễdàng hơn…
Yêu cầu của hệ thống mới:
Hệ thống mới phải khắc phục được các nhược điểm của hệ thống cũ
Cần có kế hoạch nâng cấp thường xuyên hệ thống quản lý bán hàng đểđáp ứng được đòi hỏi ngày càng cao của hoạt động kinh doanh, góp phần thúcđẩy quá trình phát triển của cửa hàng
Hệ thống có thể nâng cấp lên, không chỉ phục vụ cho khách hàng đếngiao dịch ở cửa hàng mà còn có thể giao dịch qua mạng, và kế toán có thể thựchiện quá trình bán hàng cho cửa hàng qua hệ thống mạng…
Chức năng của hệ thống mới:
Với việc quản lý bán hàng của cửa hàng, cùng với yêu cầu của hệ thống mớicần đáp ứng, ta có thể đưa ra giải pháp cụ thể là xây dựng một phần mềm hỗ trợ
Trang 6đảm nhận công việc lưu trữ thông tin, nhập xuất, thống kê, hỗ trợ khách hàng vàthanh toán trong suốt quá trình hoạt động của cửa hàng.
Các chức năng chính của chương trình được khái quát như sau:
Cập nhật các thông tin về danh sách hàng hóa, khách hàng, nhà cungcấp
Hỗ trợ bán hàng và thanh toán
Lập và lưu trữ phiếu nhập hàng, phiếu xuất hàng
Cập nhật thông tin về bảo hành hàng hóa
Thống kê xuất, nhập, tồn hàng hóa định kỳ
Trang 7Chương II: Phân tích hệ thống
I. Phân tích chức năng
1 Mô hình phân rã chức năng.
2 Ý nghĩa của các chức năng.
a Ch c năng Qu n Lý Bán Hàng ức năng Quản Lý Bán Hàng ản Lý Bán Hàng.
Chức năng này sẽ thực hiện các công việc như: kiểm tra hàng trong kho, lậphóa đơn, giao hàng, thanh toán và đưa ra thông báo từ chối khi số lượng thiết bịyêu cầu không đủ
b Ch c năng Qu n Lý Nh p Hàng ức năng Quản Lý Bán Hàng ản Lý Bán Hàng ập Hàng.
Chức năng này sẽ thực hiện các công việc như: lập phiếu đặt hàng, kiểm trachất lượng hàng, lập phiếu nhập và đưa ra thông báo từ chối khi thiết bị khôngđạt yêu cầu
Quản lý mua, bán và bảo hành thiết bị máy tính
Báo Cáo Thống Kê
Lập báo cáo doanh thu
Kiểm tra chất lượng hàng Lập phiếu nhập
Thông báo từ chối nhập
Báo cáo TB tồn kho
Thông báo từ
chối xuất
Trang 8II. Phân tích dữ liệu
1 Mô hình luồng dữ liệu.
a Mô hình lu ng d li u m c khung c nh ồng dữ liệu mức khung cảnh ữ liệu mức khung cảnh ệu mức khung cảnh ức năng Quản Lý Bán Hàng ản Lý Bán Hàng.
Tác nhân: khách hàng, nhà cung cấp, ban quản lý
Tiến trình: quản lý bán hàng linh kiện máy tính
Trang 9b Mô hình lu ng d li u m c đ nh: ồng dữ liệu mức khung cảnh ữ liệu mức khung cảnh ệu mức khung cảnh ức năng Quản Lý Bán Hàng ỉnh:
Tác nhân: khách hàng, nhà cung cấp, ban quản lý
Tiến trình: QL Bán hàng, QL Nhập hàng, Báo cáo
Kho dữ liệu: Phiếu xuất, Phiếu nhập, Hàng, Nhà cung cấp, Khách hàng
Trang 10c Mô hình lu ng d li u m c d ồng dữ liệu mức khung cảnh ữ liệu mức khung cảnh ệu mức khung cảnh ức năng Quản Lý Bán Hàng ưới đỉnh: ỉnh: i đ nh:
Chức năng nhập hàng:
Trang 11Chức năng bán hàng:
Trang 12Chức năng báo cáo:
Trang 13Bước 2: Xác định liên kết giữa các thực thể.
Bước 3: Xác định các thuộc tình mô tả cho thực thể
PhieuNhap: SoPN, NgayNhap, MaNCC
PhieuXuat: SoPX, MaKH, NgayXuat
NhaCC: MaNCC, TenNCC,DiaChi, DienThoai
KhachHang: MaKH, TenKH, DiaChiKH, DienThoai
Hang: MaHang, TenHang, GiaBan, DonViTinh, LoaiHang, Slhienco
1
Trang 15GiaBa n DonViTinh
Trang 16 Giữa phiếu nhập và hàng:
PhieuNhap
được nhập
MahHang
GiaNha p
n
1 LoaiHang
Slhienco
Trang 17Mô hình liên kết thực thể
Trang 18Chương III: Thiết kế hệ thống
Trang 197 NhaCungCap:
Phần III: Các câu lệnh
I Các câu lệnh với View :
1 Tạo view có tên vw_dshanghienco bao gồm các thông tin: MaHang ,
TenHang, LoaiHang, DonViTinh, GiaBan, Slhienco View này dùng để liệt
kê danh sách các hàng hiện có trong bảng Hang
2 Tạo view có tên vw_dshangnhap bao gồm các thông tin: MaHang, SoPN,
NgayNhap TenHang, LoaiHang, DonViTinh, SoLuongNhap, GiaNhap, Thanhtien View này dùng để thống kê hàng đã nhập trong bảng Hang
3 Tạo view có tên vw_dshangxuat bao gồm các thông tin: MaHang, SoPX,
NgayXuat, TenHang, LoaiHang, DonViTinh, SoLuongXuat,GiaXuat,
Thanhtien View này dùng để thống kê hàng đã xuất trong bảng Hang
4 Tạo view có tên vw_dskhachhang bao gồm các thông tin MaKH, TenKH,
DiaChiKH, DienThoai View này dùng để liệt kê danh sách khách mua hàng của cty trong bảng KhachHang
5 Tạo view có tên vw_dsnhacungcap bao gồm các thông tin: MaNCC,
TenNCC, DiaChi, DienThoai View này dùng để liệt kê danh sách nhà cung cấp cung cấp hàng cho cty trong bảng NhaCungCap
6 Tạo view có tên vw_hangbantheotungthang gồm các thông tin MaHang,
TenHang, và các tháng trong năm View này dùng để thống kê số lượng hàngbán trong từng tháng
7 Tạo view có tên vw_hangnhaptheotungthang, gồm các thông tin MaHang,
TenHang, và các tháng trong năm View này dùng để thống kê số lượng hàngnhập trong từng tháng
8 Tạo view có tên vw_mathangchuaban gồm các thông tin MaHang,
TenHang View này dùng để thống kê mặt hàng chưa được xuất lần nào
9 Tạo view có tên vw_nhaCCcungcapnhieuhangnhat3 gồm các thông tin:
MaNCC, TenNCC, TongMatHang View này dùng để thống kê 3 nhà cung cấp cung cấp nhiều hàng nhất cho công ty
10.Tạo view có tên vw_chitiethangnhap_nhacungcap gồm các thông tin:
SoPN, TenHang, NgayNhap, TenNCC, DiaChi, DienThoai, GiaNhap,
Trang 20SoLuongNhap, ThanhTien View này dùng để cho biết chi tiết những mặt hàng mà công ty đã nhập từ các nhà cung cấp theo các phiếu nhập.
11 Tạo view có tên vw_chitiethangban_khachhang gồm các thông tin: SoPX,
TenHang, NgayXuat, TenKH, DiaChiKH, DienThoai, GiaXuat,
SoLuongXuat, ThanhTien View này dùng để cho biết chi tiết những mặt hàng mà khách hàng đã mua của cửa hàng theo các phiếu xuất
12.Tạo view có tên vw_tongtienloi gồm các thông tin: MaHang, TenHang,
TongTienLoi View này dùng để thống kê tiền lãi của các loại hàng theo từng mã hàng
II Các câu lệnh với Procedure:
Insert:
1 Xây dựng thủ tục thêm mới dữ liệu vào bảng Hang có tên insert_hang gồm 6 tham số chức năng chính là giá trị thêm mới cho các bản ghi trong bảng hàng: MaHang, TenHang, LoaiHang, DonViTinh, GiaBan, Slhienco Trong
đó cần kiểm tra các ràng buộc dữ liệu phải hộp lệ trước khi thực hiện lệnh INSERT INTO để thêm dữ liệu vào bảng Hàng MaHang phải là duy nhất
2 Xây dựng thủ tục thêm mới dữ liệu vào bảng KhachHang có tên
insert_khachhang gồm 4 tham số Chức năng chính là giá trị thêm mới cho các bản ghi trong bảng Hàng: MaKH, TenKH, DiaChiKH, DienThoai Trong
đó cần kiểm tra các ràng buộc dữ liệu phải hộp lệ trước khi thực hiện lệnh INSERT INTO để thêm dữ liệu vào bảng KhachHang, trong đó MaKH phải
là duy nhất
3 Xây dựng thủ tục thêm mới dữ liệu vào bảng NhaCungCap có tên
insert_nhacungcap gồm 4 tham số chức năng chính là giá trị thêm mới các bản ghi trong bảng Hàng: MaNCC, TenNCC, DiaChi, DienThoai Trong đó cần kiểm tra các ràng buộc dữ liệu phải hộp lệ trước khi thực hiện lệnh
INSERT INTO để thêm dữ liệu vào bảng NhaCungCap, trong đó MaNCC phải là duy nhất
4 Xây dựng thủ tục thêm mới dữ liệu vào bảng HangNhap với tên
Insert_HangNhap gồm 4 tham số chính là MaHang, SoPN, SLNhap,
GiaNhap Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh INSERT INTO để thêm dữ liệu vào bảng HangNhap
- SoPN phải có bên bảng PhieuNhap
- MaHang phải có bên bảng Hang
- SoPN và MaHang phai duy nhất trong bảng HangNhap
5 Xây dựng thủ tục thêm mới dữ liệu vào bảng HangXuat với tên
insert_hangxuat gồm 4 tham số chính là MaHang, SoPX, SLXuat, GiaXuat Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh INSERT INTO để thêm dữ liệu vào bảng HangXuat
Trang 216 Xây dựng thủ tục thêm mới dữ liệu vào bảng PhieuNhap với tên
insert_phieunhap gồm các thông tin: MaNCC, SoPN, NgayNhap Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh INSERT INTO để thêm dữ liệu vào bảng PhieuNhap
MaNCC phải có bên bảng NhaCungCap
SoPN là duy nhất trong bảng PhieuNhap
7 Xây dựng thủ tục thêm mới dữ liệu vào bảng PhieuXuat với tên
insert_phieuxuat gồm các thông tin: MaKH, SoPX, NgayXuat Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh INSERT INTO để thêm dữ liệu vào bảng PhieuXuat
MaKH phải có bên bảng KhachHang
SoPX là duy nhất trong bảng PhieuXuat
Delete:
1 Xây dựng thủ tục xóa một bản ghi trong bảng KhachHang với tên delete_khachhang gồm một tham số chính là MaKH cần xóa, trong đó cần kiểm tra ràng buộc dữ liệu truớc khi thực hiện câu lệnh delete để xóa dữ liệu trong bảng KhachHang
MaKH phải chưa có trong bảng PhieuXuat
2 Xây dựng thủ tục xóa một bản ghi trong bảng NhaCungCap với tên delete_nhacungcap gồm một tham số chính là MaNCC cần xóa, trong
đó cần kiểm tra ràng buộc dữ liệu truớc khi thực hiện câu lệnh delete để xóa
dữ liệu trong bảng NhaCungCap
MaNCC phải chưa có trong phiếu nhập
Update:
1 Xây dựng thủ tục sửa hàng trong bảng Hang với tên update_hang gồm 6 tham số chính là MaHang, TenHang, LoaiHang, DonViTinh, GiaBan, Slhienco, trong thủ tục chỉ thực hiện lệnh
UPDATE… SET để cập nhật dữ liệu vào bảng Hang với các giá trị tương ứng
2 Xây dựng thủ tục sửa đổi khách hàng trong bảng
KhachHang với tên update_khachhang gồm 4 tham số chính là MaKH, TenKH, DiaChiKH, DienThoai, trong thủ tục chỉ thực hiện lệnh
UPDATE … SET để cập nhật dữ liệu vào bảng KhachHang với các giá trị tương ứng
3 Xây dựng thủ tục sửa nhà cung cấp trong bảng
NhaCungCap với tên update_nhacungcap gồm 4 tham số chính là
Trang 22UPDATE … SET để cập nhật dữ liệu vào bảng NhaCungCap với các giá trị tương ứng.
4 Xây dựng thủ tục sửa đổi dữ liệu vào bảng HangXuat với tên update_hangxuat gồm 4 tham số chính là MaHang, SoPX, SLXuat, GiaXuat Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh UPDATE … SET để thêm dữ liệu vào bảng
HangXuat
SoPX phải có bên bảng PhieuXuat
MaHang phải có bên bảng Hang
SLXuat phải nhỏ hơn số lượng hàng hiện có trong bảng Hang
5 Xây dựng thủ tục sửa đổi dữ liệu vào bảng HangNhap vớitên insert_hangnhap gồm 4 tham số chính là MaHang, SoPN, SLNhap, GiaNhap Trong đó cần kiểm tra các ràng buộc dữ liệu phải hợp lệ trước khi thực hiện câu lênh UPDATE … SET để thêm dữ liệu vào bảng
HangNhap
-SoPN phải có bên bảng PhieuNhap
-MaHang phải có bên bảng Hang
-SLNhap phải lớn hơn 0
III Các câu lệnh với Function:
1 Xây dựng hàm có tên là fn_hanghienco_mahang(@mahang ) liệt kê các thông tin về hàng hiện có trong bảng Hang theo MaHang
2 Xây dựng hàm có tên là fn_hanghienco_tenhang(@tenhang ) liệt kê các thông tin về hàng hiện có trong bảng Hang theo TenHang
3 Xây dựng hàm có tên là fn_hanghienco_loaihang( @loaihang) liệt kê các thông tin về hàng hiện có trong bảng Hang theo LoaiHang
4 Xây dựng hàm có tên là fn_khachhang_tenkh(@tenkh ) liệt kê các thông tin
về hàng hiện có trong bảng KhachHang theo TenKH
5 Xây dựng hàm có tên là fn_khachhang_makh(@makh) liệt kê các thông tin
về hàng hiện có trong bảng KhachHang theo MaKH
6 Xây dựng hàm có tên là fn_nhacungcap_mancc(@mancc) liệt kê các thông tin về hàng hiện có trong bảng NhaCungCap theo MaNCC
7 Xây dựng hàm có tên là fn_nhacungcap_tenncc(@tenncc) liệt kê các thông tin về hàng hiện có trong bảng NhaCungCap theo TenNCC
8. Xây dựng hàm có tên fn_tongtienlai_thang (@nam) để tính tiền lãi của cửa hàng theo từng tháng trong năm
9 Xây dựng hàm có tên fn_tonghangnhap_thang (@thang,@nam) để thống kê tổng hàng nhập theo từng tháng trong năm
10. Xây dựng hàm có tên fn_tonghangxuat_thang (@thang,@nam) để thống kê