1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

21 4,8K 37

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 293,45 KB

Nội dung

Phân tích các đối tượng sử dụng: a Người quản lý Mô tả Là giám đốc hoặc những người quản lý các bộ phận trong siêu thịVai trò Chịu trách nhiệm quản lý hoạt động của siêu thị hay bộ phận

Trang 1

- O 0 O

-BÁO CÁO ĐỒ ÁN MÔN: CÔNG NGHỆ CLIENT – SERVER

ĐỀ TÀI:

HỆ THỐNG QUẢN LÝ BÁN 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 2

BÁO CÁO CÔNG NGHỆ CLIENT – SERVER

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ũngnhư 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 chochươ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ốilượng thông tin ngày càng lớn, dễ dàng trong triển khai cũng như trong ứng dụng

LỜI CẢM ƠN

Chúng em xin trân thành cảm ơn thầy giáo Nguyễn Mạnh Hùng – giảng viênmôn Công nghệ Client – Server, Học viện KTQS đã giúp đỡ chúng em nhiều kiếnthức quý giá trong quá trình thực hiện bản báo cáo này

Trang 3

I KHÁI QUÁT NGHIỆP VỤ CHÍNH TRONG SIÊU THỊ:

- Có khả năng đáp ứng đầy đủ và hỗ trợ thực hiện tốt các nghiệp vụ lưu

trữ dữ liệu chính trong siêu thị

- Có khả năng tra cứu thông tin cho từng đối tượng.

2 Phân tích các đối tượng sử dụng:

a) Người quản lý

Mô tả Là giám đốc hoặc những người quản lý các bộ phận trong

siêu thịVai trò Chịu trách nhiệm quản lý hoạt động của siêu thị hay bộ

phận riêng lẻ

Quyền Sử dụng toàn bộ hoặc một phần chức năng (Bảng dữ liệu)

của hệ thốngb) 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

Trang 4

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

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

Trang 5

D

Trang 6

2 Bảng CT_HoaDon

Column

AllowNull

TrongLuon

NoiSX Nơi sản xuất DiaChi(nvarchar(50)

Trang 7

Name Null

6 Bảng PhieuNhap

Column

AllowNull

TongPhaiTr

7 Bảng CT_PhieuNhap

Column

AllowNull

TenNCC Tên nhà cung

Trang 8

DiaChi Địa chỉ nhà cung

cấp

DiaChi(nvarchar(50)

Trang 9

9 Bảng ChucVu

Column

AllowNull

10 Bảng NhanVien

Column

AllowNull

MaQuanL

y

Mã người quản

12 Bảng PhieuXuat

Column

AllowNull

Trang 10

Quan hệ giữa các bảng dữ liệu:

BanHang:

Trang 12

HangHoa:

Trang 13

NhapHang:

Trang 14

QuanLy:

Trang 15

XuatHang:

Trang 16

IV MÔ TẢ CÁC THỦ TỤC, HÀM VÀ TRIGGERS:

1 Hàm tính tuổi của nhân viên

Tính tuổi cua nhân viên

CREATE FUNCTION FNC_TinhTuoi ( @ngay smalldatetime )

[1] Lấy ra năm sinh của nhân viên

[2] Thực hiện hàm với năm sinh lấy được: Hàm sẽ lấy năm hiện thời trừ

đi năm sinh của nhân viên

2 Thủ tục hiển thị thông tin cấp trên trực tiếp của một nhân viên

ALTER PROC [dbo] [ThongTin_QuanLy_TrucTiep]

[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 trongbả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

Trang 17

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] Dựa vào MaNV, lấy ra MaQuanLy của nhân viên đó

[2] Dựa vào MaQuanLy, lấy ra trong bảng NhanVien MaQuanLy củanhân viên có MaNV bằng MaQuanLy vừa lấy ra

[3] Nối các kết quả với nhau, ta được tất cả nhân viên cấp trên của nhânviên ban đầu

4 Trigger kiểm tra để không có nhân viên nào tự quản lý chính mình

CREATE TRIGGER QuanLy NhanVien_Khac_QuanLy

RETURN END

V MÔ TẢ CÁC VIEWS THEO MẪU:

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

Trang 18

HAVING SUM( SoLuong )> 200

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âU t 03 database roles: dbr_GiamDoc, dbr_NVQLBanHang,

dbr_NVQLNhapHang, dbr_NVQLXuatHang, dbr_NVBanHang, dbr_NVXuatHang,

dbr_NVNhapHang, dbr_KhachHang

- Tạo ít nhâU 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

CREATE USER US_NVBanHang FOR LOGIN S_NVBanHang

CREATE USER US_NhapHang FOR LOGIN S_NVNhapHang

CREATE USER US_XuatHang FOR LOGIN S_NVXuatHang

CREATE USER US_KhachHang FOR LOGIN S_KhachHang

- Chỉ định nhóm cho các users:

EXEC sp_addrolemember 'db_owner' , 'dbr_GiamDoc'

- Phân quyêZ n ở mức cột, bang, schema:

CâU p quyêZ n đổU i với mổ_ i schema:

GRANT permission [ , n ] ON SCHEMA :: schema_name

WITH GRANT OPTION

Phân quyêZ n ở mức bang:

GRANT SELECT , INSERT , UPDATE , DELETE ON BanHang CT_HoaDon TO US_NVQLBanHang DENY SELECT ON BanHang.CT_HoaDon TO US_NVQLBanHang

GRANT SELECT , INSERT , UPDATE , DELETE ON NhapHang CT_PhieuNhap TO

US_NVQLNhapHang

Trang 19

DENY SELECT ON NhapHang.CT_PhieuNhap TO US_NVQLNhapHang

GRANT SELECT , INSERT , UPDATE , DELETE ON XuatHang CT_PhieuXuat TO

REVOKE GRANT OPTION FOR SELECT ON BanHang.CT_HoaDon TO US_KhachHang CASCADE

VII MÃ NGUỒN MỘT SỐ THỦ TỤC, HÀM, TRIGGER

Phai có trigger theo dõi các thao tác trên CSDL

- Trigger Kiêm tra trong bang Nhân viên sao cho khổng có nhân viên nào làm Quan lý cho chính mình

CREATE TRIGGER QuanLy NhanVien_Khac_QuanLy

- Trigger Kiêm tra Chỉ có một Quan lý cao nhâU 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 )

DECLARE @x CHAR ( ), @y CHAR ( ), @xx CHAR ( )

Xac dinh ma cua nhan vien Emp_ID co thay doi thu truong

SELECT @xx inserted MaNV FROM inserted

Luu ma nhan vien vua bi sua doi MaNV

Trang 20

SELECT @x @xx

SELECT @y = '*'

Tìm người lên trên

WHILE @y IS NOT NULL

BEGIN

SELECT @y MaNV FROM Nhanvien WHERE MaNV @x

IF @xx @y BEGIN

ROLLBACK TRAN

RAISERROR ( 'Lổ_ i: Nhân viên là Quan lý cua chính mình!' , 16 , 10 )

RETURN END

ELSE

SET @x @y END

END

GO

- Trigger kiêm tra câU p trên có tổZ n tại hay khổng, nêU u khổng tổZ n tại thì khổng cho chèn

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)

- Trigger Xóa hóa đởn bán hàng

Xóa trong bang CT_HoaDon trước (vị trí có MaHD bị xóa trong bang deleted) Xóa trong bang HoaDonBanHang (vị trí có MaHD bị xóa trong bang deleted) CREATE TRIGGER Xoa_HoaDonBanHang ON BanHang HoaDonBanHang

DELETE FROM BanHang HoaDonBanHang WHERE BanHang HoaDonBanHang MaHD in

( SELECT MaHD FROM deleted )

END

- Trigger Xóa PhiêU u nhập

Xóa trong bang CT_PhieuNhap trước (vị trí có MaPN bị xóa trong bang deleted)

Xóa trong bang PhieuNhap (vị trí có MaPN bị xóa trong bang 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 FROM deleted )

Trang 21

DELETE FROM NhapHang PhieuNhap WHERE NhapHang PhieuNhap MaPN in SELECT MaPN FROM deleted )

END

- Trigger Xóa PhiêU u xuâU t

Xóa trong bang CT_PhieuXuat trước (vị trí có MaPX bị xóa trong bang deleted)

Xóa trong bang PhieuXuat (vị trí có MaPX bị xóa trong bang deleted)

CREATE TRIGGER Xoa_PhieuXuat ON XuatHang PhieuXuat

FOR DELETE

AS

BEGIN

DELETE FROM XuatHang CT_PhieuXuat WHERE XuatHang CT_PhieuXuat MaPX in

( SELECT MaPX FROM deleted )

DELETE FROM XuatHang PhieuXuat WHERE XuatHang PhieuXuat MaPX in SELECT MaPX FROM deleted )

END

- Tìm tuổi cua nhân viên

CREATE FUNCTION FNC_TinhTuoi ( @ngay smalldatetime )

RETURNS int

AS

BEGIN

DECLARE @KetQua int

SET @KetQua YEAR ( GETDATE ()) YEAR ( @ngay )

Ngày đăng: 13/05/2014, 21:18

HÌNH ẢNH LIÊN QUAN

1. Bảng HoaDonBanHang - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
1. Bảng HoaDonBanHang (Trang 4)
2. Bảng CT_HoaDon - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
2. Bảng CT_HoaDon (Trang 6)
6. Bảng PhieuNhap - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
6. Bảng PhieuNhap (Trang 7)
8. Bảng NhaCungCap - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
8. Bảng NhaCungCap (Trang 7)
7. Bảng CT_PhieuNhap - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
7. Bảng CT_PhieuNhap (Trang 7)
9. Bảng ChucVu - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
9. Bảng ChucVu (Trang 9)
10. Bảng NhanVien - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
10. Bảng NhanVien (Trang 9)
13. Bảng CT_PhieuXuat - Báo cáo môn SQL Server - Hệ thống quản lý bán hàng
13. Bảng CT_PhieuXuat (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w