Báo cáo môn SQL Server - Hệ thống quản lý bán hàng - Pdf 13

HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA: CNTT
O0O
BÁO CÁO ĐỒ ÁN
MÔN: CÔNG NGHỆ CLIENT – SERVER
ĐỀ TÀI:
HỆ THỐNG QUẢN LÝ BÁN HÀNG
Giáo viên hướng dẫn : NGUYỄN MẠNH HÙNG
Sinh viên thực hiện : NGUYỄN HUY LINH (TH9A)
LÊ THỊ DUYÊN (TH9B)
NGUYỄN TUẤN ANH (TH9B)
Hà Nội, tháng 12 năm 2013
Trang số: 1/18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
BÁO CÁO CÔNG NGHỆ CLIENT – SERVER
Đề tài: HỆ THỐNG QUẢN LÝ BÁN HÀNG
LỜI NÓI ĐẦU
Giới thiệu chung:
Ngày nay, khi cuộc sống của mỗi người dân đang từng bước được nâng cao
thì nhu cầu về mua sắm, vui chơi giải trí ngày càng được chú trọng. Do đó, các
doanh nghiệp cũng quan tâm ưu tiên cho việc phát triển các khu thương mại mua
sắm, nhằm đáp ứng nhu cầu của người dân. Và siêu thị là một hình thức mua sắm
có hiệu quả trong việc đáp ứng các nhu cầu tiêu dùng của mọi người.
Với sự phát triển ngày càng rộng, yêu cầu tin học hóa các quy trình nghiệp
vụ trong siêu thị là tất yếu, nhằm mục đích làm đơn giản hóa các nghiệp vụ cũng
như làm cho khả năng phục vụ khách hàng trở nên nhanh chóng, hiệu quả.
Giới thiệu đề tài:
Chương trình Quản lý bán hàng kế thừa mô hình hoạt động của các siêu thị
hiện trên thực tế. Đồng thời, ứng dụng công nghệ mới vời mục đích làm cho
chương trình có thể đáp ứng được nhu cầu quản lý ngày càng phức tạp với khối
lượng thông tin ngày càng lớn, dễ dàng trong triển khai cũng như trong ứng dụng.

b) Nhân viên nhập hàng
Mô tả Nhân viên làm việc ở bộ phận nhập hàng.
Thực hiện nghiệp vụ nhập hàng vào kho.
Vai trò Chịu trách nhiệm trong khâu nhập hàng từ nhà cung cấp,
lập phiếu nhập hàng.
Quyền Sử dụng các chức năng: lập phiếu nhậ, quản lý thông tin
nhóm hàng, ngành hàng, hàng hóa và nhà cung cấp.
c) Nhân viên xuất hàng
Mô tả Nhân viên làm việc ở bộ phận xuất hàng (bầy hàng hóa
Trang số: 3 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
lên quầy).
Vai trò Chịu trách nhiệm trong khâu xuất hàng từ kho lên quầy,
lập phiếu xuất hàng.
Quyền Sử dụng chức năng: lập phiếu xuất, xem thông tin hàng
hóa, kiểm tra hàng tồn.
d) Nhân viên bán hàng
Mô tả Nhân viên thực hiện nghiệp vụ thu ngân.
Vai trò Chịu trách nhiệm trong khâu thanh toán cho khách hàng.
Quyền Sử dụng chức năng: lập hóa đơn, xem thông tin hàng hóa,
kiểm kê hàng tồn.
e) Nhân viên tin học
Mô tả Nhân viên làm việc trong bộ phận tin học.
Vai trò Chịu trách nhiệm trong việc lập báo cáo thống kê, quản
trị hệ thống.
Quyền Sử dụng chức năng: lập báo cáo thống kê, xem thông tin
các phiếu nhập, xuất, phiếu kiểm kê.
3. Các chức năng của hệ thống:
- Lưu trữ dữ liệu theo nghiệp vụ siêu thị.
- Xây dựng các hàm, thủ tục, trigger, các check, default, … phù hợp với

3. Bảng HangHoa
Column
Name
Description Datatype Length
Allow
Null
MaHH Mã hàng hóa Int Notnull
MaNhom Mã nhóm Int Null
TenHH Tên hàng hóa Nvarchar 50 Null
DonViTinh Đơn vị tính Nvarchar 50 Null
HanSD Hạn sử dụng NgayThang(date) Null
TrongLuong Trọng lượng Float Null
NoiSX Nơi sản xuất
DiaChi(nvarchar(50)
)
50 Null
4. Bảng NganhHang
Column
Name
Description Datatype Length
Allow
Null
MaNganh Mã ngành Int Notnull
TenNganh Tên ngành Nvarchar 50 Null
5. Bảng NhomHang
Column
Name
Description Datatype Length
Allow
Null

8. Bảng NhaCungCap
Column
Name
Description Datatype Length
Allow
Null
MaNCC Mã nhà cung cấp Int Notnull
TenNCC
Tên nhà cung
cấp
Nvarchar 50 Null
DiaChi
Địa chỉ nhà cung
cấp
DiaChi(nvarchar(50)
)
50 Null
SoDT Số ĐT Nvarchar 25 Null
Trang số: 7 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
Fax Fax Nvarchar 50 Null
Email Email Nvarchar 50 Null
Trang số: 8 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
9. Bảng ChucVu
Column
Name
Description Datatype Length
Allow
Null

Column
Name
Description Datatype Length
Allow
Null
MaPX Mã phiếu xuất Int Notnull
NgayXua Ngày xuất Datetime
Trang số: 9 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
t
MaNV Mã nhân viên xuất Int Null
13. Bảng CT_PhieuXuat
Column
Name
Description Datatype Length
Allow
Null
MaPX Mã phiếu xuất Int Notnull
MaHH Mã hàng hóa Int Notnull
SoLuong Số lượng Int Null
Quan hệ giữa các bảng dữ liệu:
BanHang:
Trang số: 10 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
Trang số: 11 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
HangHoa:
Trang số: 12 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
NhapHang:

AS
BEGIN
SELECT * FROM QuanLy.NhanVien WHERE MaNV = (SELECT MaQuanLy FROM
QuanLy.NhanVien WHERE MaNV= @MaNV)
END
Tên thủ tục: ThongTin_QuanLy_TrucTiep
Kết quả thực hiện:
Hiển thị các thông tin của người quản lý trực tiếp của một nhân viên.
Các bước thực hiện:
[1] Lấy ra mã quản lý nhân viên đó trong bảng NhanVien.
[2] Lấy ra thông tin có mã nhân viên là mã quản lý vừa lấy được trong
bảng NhanVien.
3. Thủ tục lấy ra tất cả các nhân viên cấp trên của một nhân viên nào
đó
ALTER PROC [dbo].[TK_CapTren]
@MaNV int
AS
BEGIN
WITH Generation(MaNV) AS
(
Trang số: 16 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
SELECT MaQuanLy FROM QuanLy.NhanVien WHERE MaNV = @MaNV
UNION ALL First recursive member returns male ancestors of the
previous generation.
SELECT NhanVien.MaQuanLy FROM Generation, QuanLy.NhanVien WHERE
Generation.MaNV = NhanVien.MaNV
)
SELECT NhanVien.MaNV, TenNV, MaQuanLy
FROM Generation, QuanLy.NhanVien WHERE Generation.MaNV = NhanVien.MaNV;

1. Kiểm tra bảng CT_HoaDon xem những mặt hàng nào bán chạy
SELECT MaHH, SUM(SoLuong)
FROM BanHang.CT_HoaDon
GROUP BY MaHH
HAVING SUM(SoLuong)>200
Trang số: 17 / 18
Môn học: Công nghệ Client Server Báo cáo đồ án: Quản lý bán hàng
VI. QUẢN TRỊ CSDL:
Tạo thêm các login
EXEC sp_addlogin 'ten_login', 'password', ['du_lieu']
CREATE LOGIN S_GiamDoc WITH PASSWORD = 'giamdoc'
CREATE LOGIN S_NVQLBanHang WITH PASSWORD = 'nvqlbanhang'
CREATE LOGIN S_NVQLNhapHang WITH PASSWORD = 'nvqlnhaphang'
CREATE LOGIN S_NVQLXuatHang WITH PASSWORD = 'nvqlxuathang'
CREATE LOGIN S_NVBanHang WITH PASSWORD = 'nvbanhang'
CREATE LOGIN S_NVNhapHang WITH PASSWORD = 'nvnhaphang'
CREATE LOGIN S_NVXuatHang WITH PASSWORD = 'nvxuathang'
CREATE LOGIN S_KhachHang WITH PASSWORD = 'khachhang'
Xóa login:
EXEC sp_droplogin 'ten_login'
drop login 'ten_login'
Thay đổi người đăng nhập:
alter login {[enable | disable] with {password = '' | default_database = }}
Tạo ít nhất 03 database roles: dbr_GiamDoc, dbr_NVQLBanHang, dbr_NVQLNhapHang,
dbr_NVQLXuatHang, dbr_NVBanHang, dbr_NVXuatHang, dbr_NVNhapHang, dbr_KhachHang
Tạo ít nhất 06 database users:
CREATE USER US_GiamDoc FOR LOGIN S_GiamDoc
CREATE USER US_NVQLBanHang FOR LOGIN S_NVQLBanHang
CREATE USER US_NVQLNhapHang FOR LOGIN S_NVQLNhapHang
CREATE USER US_NVQLXuatHang FOR LOGIN S_NVQLXuatHang

Trigger Kiểm tra trong bảng Nhân viên sao cho không có nhân viên nào làm Quản lý
cho chính mình
CREATE TRIGGER QuanLy.NhanVien_Khac_QuanLy
ON QuanLy.NhanVien
AFTER Insert
AS
IF EXISTS (SELECT * FROM inserted WHERE MaQuanLy = MaNV)
BEGIN
ROLLBACK TRAN
RAISERROR('MaQuanLy <> MaNV !!!',16,1)
RETURN
END
GO
Trigger Kiểm tra Chỉ có một Quản lý cao nhất
CREATE TRIGGER QuanLy.DuyNhat_QuanLy_CaoNhat
ON QuanLy.NhanVien
FOR INSERT, UPDATE
AS
IF EXISTS (SELECT * FROM inserted WHERE MaQuanLy IS NULL)
AND ((SELECT count(*) FROM QuanLy.NhanVien WHERE NhanVien.MaQuanLy IS NULL) >= 2)
BEGIN
ROLLBACK TRANSACTION
RAISERROR('Exit Header',16,1)
RETURN
END
GO
Trigger Kiểm tra trường hợp Nhân viên là Quản lý của chính mình thông qua những
Nhân viên khác
CREATE TRIGGER QuanLy.NhanVien_Tu_QuanLy_Minh
ON QuanLy.NhanVien

CREATE TRIGGER TonTai_CapTren ON QuanLy.NhanVien
FOR INSERT, UPDATE
AS
IF NOT EXISTS(SELECT * FROM QuanLy.NhanVien, inserted
WHERE QuanLy.NhanVien.MaNV = inserted.MaQuanLy OR inserted.MaQuanLy IS NULL)
BEGIN
ROLLBACK TRAN
RAISERROR('Không tồn tại cấp trên này!',16,1)
RETURN
END
Trigger Xóa hóa đơn bán hàng
Xóa trong bảng CT_HoaDon trước (vị trí có MaHD bị xóa trong bảng deleted)
Xóa trong bảng HoaDonBanHang (vị trí có MaHD bị xóa trong bảng deleted)
CREATE TRIGGER Xoa_HoaDonBanHang ON BanHang.HoaDonBanHang
FOR DELETE
AS
BEGIN
DELETE FROM BanHang.CT_HoaDon WHERE BanHang.CT_HoaDon.MaHD in (SELECT MaHD FROM
deleted)
DELETE FROM BanHang.HoaDonBanHang WHERE BanHang.HoaDonBanHang.MaHD in (SELECT MaHD
FROM deleted)
END
Trigger Xóa Phiếu nhập
Xóa trong bảng CT_PhieuNhap trước (vị trí có MaPN bị xóa trong bảng deleted)
Xóa trong bảng PhieuNhap (vị trí có MaPN bị xóa trong bảng deleted)
CREATE TRIGGER Xoa_PhieuNhap ON NhapHang.PhieuNhap
FOR DELETE
AS
BEGIN
DELETE FROM NhapHang.CT_PhieuNhap WHERE NhapHang.CT_PhieuNhap.MaPN in (SELECT MaPN

nhiều sai sót cần được sửa đổi, bổ sung.
Chúng em kính mong thầy cô cho chúng em đánh giá để chúng em hoàn
thiện hơn bài báo cáo của mình.
Chúng em xin trân thành cảm ơn!
Hà Nội, tháng 12 năm 2013
Trang số: 21 / 18


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status