1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài tập lớn môn cơ sở dữ liệu (6)

45 19 0

Đ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 45
Dung lượng 549,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiển thị sản phẩm trong kho Sản phẩm trong kho sẽ được hiển thị trên trang web bao gồm số lượng, kiểu, kích thước… Khách hàng và người quản tri có thể xem tìm kiếm thông tin về sản phẩ

Trang 1

TRƯỜNG ĐẠI HỌC XÂY DỰNG

Trang 2

Phần I MÔ TẢ BÀI TOÁN

A Phân tích và triển khai dự án

Như chúng ta đã biết, việc quản lý kinh doanh của nhiều cửa hàng vẫn cònrất thủ công, việc ghi chép thông qua sổ sách gặp rất nhiều trở ngại, gây khókhăn cho người quản lý khi muốn xem xét tình trạng các mặt hàng theo ngày,tháng

Điều đó tồn tại nhiều bất cập như: gặp khó khăn trong quá trình tìm kiếm,người quản lý có thể gặp sai sót hoặc nhầm lẩn với những con số, nó đem lại hậuquả vô cùng to lớn Tuy nhiên, ngày nay cùng sự phát triển của thời đại đi đôivới sự phát triển của công nghệ thông tin, việc ứng dụng công nghệ vào đời sống

là một nhu cầu hết sức cấp thiết Nó thay thế con người làm từ những việc từđơn giản đến phức tạp, thậm chí là những việc mà con người không thể làm Vìvậy nhóm chúng em chọn thực hiện đề tài xây dựng phần mềm quản lý mua bán

và quản lý xướng gỗ để giúp cho nhà quản lý, các cửa hàng hạn chế những saisót trong quá trình mua bán, cũng như dễ dàng quản lý các mặt hàng nhập xuất,tồn kho, , từ đó đưa ra chiến lược kinh doanh tối ưu để đem lại hiệu quả kinh

tế cao nhất

2 PHẠM VI HOẠT ĐỘNG

Quản lý và thống kê tình hình mua bán của một công ty với phần mềm hỗ trợ

là Hệ quản trị cơ sở dữ liệu và ngôn ngữ lập trình JavaSpring

B.MÔ TẢ NGHIỆP VỤ

Trang 3

1.Mô tả nghiệp vụ

⮚ Giới thiệu

Cửa hàng chuyên kinh doanh các loại mặt hàng đồ gỗ mỹ nghệ caocấp Cửa hàng nhận bán buôn, bán lẻ với các chế đỗ ưu đãi cho nhữngkhách hàng đặt đơn số lượng lớn và dịch vụ hàng theo yêu cầu

o Báo cáo sản phẩm và doanh thu:

● Chủ của hàng trùng bày nhiều mặt hàng cùng loại để thuận tiệncho khách mua và giúp nhân viên bán hàng dễ kiểm soát hànghóa để bổ sung thêm khi hết hàng Hàng tháng căn cứ vào tìnhhình bán ở cửa hàng, bộ phận nghiệp vụ sẽ thống kê những mặthàng nào hết hoặc còn ít trong kho để tiến hành yêu cầu nhậpsản phẩm mới

● Sau một tháng cửa hàng sẽ tiến hành tổng báo cáo doanh thutrong tháng đó rồi gửi cho quản lý

⮚ Khảo sát yêu cầu

Hoạt đông quản lí hàng hóa và mua bán trực tiếp tại cửa hàng hoàntoàn thủ công bộc lỗ rõ những hạn chế :

• Không đáp ứng được nhu cầu trên phạm vi lớn

• Không đáp ứng được độ chính xác trong việc quản lí sảnphẩm và tài chính

• Không đáp ứng được nhu cầu thông tin phục vụ khác hàng

⮚ Hệ thống website sinh ra với mục đích đáp ứng được các nhu cầu cơ bảnsau:

Trang 4

• Quản lí hóa đơn và sản phẩm chính xác hơn.

• Có khả năng lưu trữ thông tin cụ thể hơn

C Hệ thống dự định sẽ làm

Chương trình xây dựng nhằm mục đích phục vụ công việc quản lý Kho đồ gỗ

Bao gồm những nghiệp vụ chính sau:

1 Quản lý tài khoản:

- Đăng ký tài khoản

- Đăng nhập tài khoản

- Phân quyền tài khoản

2 Quản lý sản phẩm (Tạo mới, chỉnh sửa, xóa bỏ)

- Quản lý thông tin sản phẩm nhâp/xuất

- Quản lý loại sản phẩm nhâp/xuất

3 Quản lý kho

Chức năng của quản lý kho:

- Xem số lượng sản phẩm trong kho

- Quản lý nhập xuất kho

-quản lý nhà cung cấp

-quản lý khách hàng

-quản lý hoá đơn nhập/xuất

4 Mô tả sơ lược quy trình quản lý kho

4.1 Quy trình nhập kho:

- Nếu có sản phẩm, thì tăng số lượng sản phẩm trong kho

- Nếu chưa có sản phẩm thì tiến tạo mới sản phẩm

- Lưu trữ thông tin nhà cung cấp

Trang 5

4.2 Quy trình xuất:

Khách hàng sẽ xem qua và đặt hàng trên web Khi đặt hàng, khách hàng sẽ cần tạo

1 tài khoản để tiến hành thanh toán

Thông tin của khách hàng sẽ được lưu trong danh mục tài khoản khách hàng

Sau khi khách hàng thanh toán, hoá đơn sẽ được lưu trữ trogn kho hoá đơn xuất

4.3 Hiển thị sản phẩm trong kho

Sản phẩm trong kho sẽ được hiển thị trên trang web bao gồm số lượng, kiểu, kích thước…

Khách hàng và người quản tri có thể xem tìm kiếm thông tin về sản phẩm thông qua website

5 Báo cáo thống kê

Người quản lý sẽ đăng nhập vào trang chủ để tiến hành xem hoá đơn nhập, hóa đơn xuất, thông tin khách hàng, thông tin nhà cung cấp, sản phẩm, để tiến hành thêm sửa xoá

-xem thống kê doanh thu theo từng tháng

- xem danh sách hoá đơn , nhà cung cấp ,người dùng

- Thực thể hóa đơn : gồm các thuộc tính : mã riêng được cập nhật của từng hóa đơn (mã hóa đơn) , hóa đơn đã duyệt hay chưa được

Trang 6

Số lượng các sản phẩm đã mua ( soluong) , mã của từng chi tiết hóa đơn ( mahoadon),

Mã của sản phẩm đã mua ( masanpham)

- Thực thể loại sản phẩm : gồm các thực thể : gán từng mã loại sản phẩm cho từng loại sản phẩm ( id), tên của loại sản phẩm (ten), mô

tả ngắn của loại sản phẩm (Motangan) , ảnh loại sản phẩm (Anhdaidien)

B Mối quan hệ giữa các thực thể

Thực thể VAITRO và NGUOIDUNG

Tạo ra một bảng là NGUOIDUNG_VAITRO làm liên kết cho 2 bảng vai trò và người dùng Vì một người có nhiều vai trò và một vai trò có nhiều người dùng

● Thực thể NGUOIDUNG và HOADON:có mỗi kết hợp (N-1).

Vì một người dùng có nhiều hóa đơn nhưng một hóa đơn chỉ thuộc 1 người dùng

Trang 7

Khách có thể mua một hay nhiều mặt hàng, mặt hàng có thể không được ai mua, có thể được mua bởi nhiều khách hàng Khi mua thì xuất hiện số lượng, ngày lập

● Thực thể HOADON và CHITIETHOADON: có mỗi kết hợp (1-N).Vì một

hóa đơn thì có nhiều chi tiết hóa đơn

● Thực thể CHITIETHOADON và SANPHAM và HOADON: có mỗi kết

hợp (1-1).Vì mỗi chi tiết hóa đơn chỉ hiển thị cho một sản phẩm

Trang 8

● Thực thể LOAISANPHAM và SANPHAM: có mỗi kết hợp (1-N).Vì một

sản phẩm chỉ thuộc 1 loại sản phẩm mà 1 loại sản phẩm thì gồm nhiều sản phẩm

C Sơ đồ thực thể và các liên kết

D nhiệm vụ của thuộc tính

- VaiTro(MaVaiTro,Ten,Ma)

Trang 9

- NguoiDung (MaNguoiDung, DiaChi, HoTen, Gmail, PassWord, SoDienThoai,

TrangThai, TaiKhoan)

- HoaDon (MaHoaDon, TrangThai, MaNguoiDung)

- ChiTietHoaDon (MaHoaDon, SoLuong, MaSanPham)

- SanPham (MaSanPham, ChieuDai, ChieuRong, NoiDung, Gia, MoTaNgan, SoLuongMua, SoLuongTon, TieuDe, MaTheLoai)

- LoaiSanPham (MaLoaiSanPham, Ten, MoTaNgan,AnhDaiDien)

Chú thích :Những thuộc tính gạch chân là các khóa chính

Phần III : Tạo Database và xử lý truy vấn

Trang 11

- Bảng Nuser

+code:

+select:

Trang 15

- Bảng Show_Deal_out_material

+code:

+select:

Trang 17

B Tạo khóa ngoại

Trang 19

D Truy vấn bằng các kỹ thuật trigger , Stored procedured ,view

DECLARE @iddeal int Select @iddeal = ID from

deleted

Show_Deal_in_material where

Trang 20

(đồng thời phải giảm

Hoặc tăng số lượng tồn

DECLARE @iddeal int Select @iddeal = ID from

declare @id_vt int declare @soluong bigint select @soluong = quanlity from

Trang 21

-Khi xóa 1 hóa đơn

declare @id_vt int declare @soluong bigint select @soluong = quanlity from

where ID = @id_vt

create trigger xoahd_xuat

on Deal_out_product

INSTEAD OF DELETE as

DECLARE @iddeal int Select @iddeal = ID from

deleted

Delete from

Show_Deal_out_product where

id_deal = @iddeal

Trang 22

DECLARE @iddeal int Select @iddeal = ID from

declare @id_vt int declare @soluong bigint select @soluong = quanlity from

deleted

select @id_vt = id_product from

deleted

Trang 23

-Khi xóa 1 loại sản

declare @id_vt int declare @soluong bigint select @soluong = quanlity from

Trang 24

phẩm ( hoặc vật tư)

create trigger xoahd_loaisp

on Categories_Product

INSTEAD OF DELETE as

DECLARE @idproduct int Select @idproduct = ID from

deleted

Delete from Product where

id_category = @idproduct

Trang 25

-Khi thêm 1 hóa đơn

Xuất phải tiến hành

tăng số lượng sản

phẩm ( hoặc vật tư)

create trigger

them_chi_tiet_hoa_don_nhap_mate rial

on Show_Deal_in_material

for insert as

begin declare @giasp bigint declare @soluong bigint declare @id_deal int declare @id_vt int

select @soluong = quanlity from

Trang 26

(nếu thêm hoá đơn

xuất phải kiểm tra xem

số lượng sản phẩm có

đủ hay k rồi tiến hành

giảm số lương

+khi thêm chi tiết hoá

đơn nhập xuât phải

end

create trigger

them_chi_tiet_hoa_don_nhap_prod uct

on Show_Deal_in_product

for insert as

begin declare @giasp bigint declare @soluong bigint declare @id_deal int declare @id_vt int

select @soluong = quanlity from

quantity_in_stock

Trang 27

kiểm tra số lượng tồn

+cập nhât giá nhập vào

của bảng vật tư vào chi

tiết hoá đơn nhập của

begin declare @giasp bigint declare @soluong bigint declare @id_deal int declare @id_sp int

select @soluong = quanlity from

if @soluong <= 0 and @soluong

<( select quantity_in_stock from

Product where ID = @id_sp )

Trang 28

hoá đơn khi thêm 1 chi

tiết hoá đơn

-khi xoá :

Phải kiểm tra xem đã

có tồn tại trong các

hoá dơn chưa nếu dã

tồn tai thì k đuọc xoá

ROLLBACK TRAN END

on Show_Deal_out_material

for insert as

begin declare @giasp bigint declare @soluong bigint declare @id_deal int declare @id_sp int

select @soluong = quanlity from

inserted

select @id_deal = id_deal from

inserted

Trang 29

-khi thêm :

Phải kiếm tra xem tên

của sp hoặc vật tư có

if @soluong <= 0 and @soluong

<( select quantity_in_stock from

material where ID = @id_sp )

BEGIN ROLLBACK TRAN END

begin

Trang 30

declare @gia bigint select @gia = sell_price from

Product where @id_product = ID update Show_Deal_out_product

set firt_price = @gia

begin declare @id_vt int declare @gia bigint select @gia = price from material

where @id_vt = ID update Show_Deal_in_material

set firt_price = @gia

end

Trang 31

create trigger khi_xoa_sp

on Product

for delete

as

begin

declare @id_product int

select @id_product = ID from

declare @id_vt int

select @id_vt = ID from deleted

if EXISTS( select from

Show_Deal_in_material where

id_material = @id_vt )

Trang 32

ROLLBACK TRAN END

declare @name nvarchar ( 255 )

select @name = name from

deleted

if EXISTS( select from Product

where name = @name )

BEGIN

ROLLBACK TRAN END

declare @name nvarchar ( 255 )

select @name = name from

deleted

if EXISTS( select from

Trang 33

BEGIN ROLLBACK TRAN END

begin declare @name nvarchar ( 255 )

select @name = name from

deleted

if EXISTS( select from

Categories_Product where name = @name )

BEGIN ROLLBACK TRAN END

Trang 34

-tìm kiếm theo tên của

ID = @name

CREATE PROC spud_tim_spham

@name nvarchar ( 255 )

as select * from Product where

ID = @name

CREATE PROC spud_tim_loaisp

@name nvarchar ( 255 )

as

Trang 35

-đếm số sản phẩm

theo từng loại sản

phẩm

+với hoá đơn :

-Tìm chi tiết hoá đơn

theo hoá đơn

ID = @name

Create Proc

count_sp_by_id_categories

@id_cate int as

select count ( ID ) from Product

where @id_cate = id_category

Create Proc

TIM_CTHD_THEO_IDHD_nhap_sp

@id_deal int as

Trang 36

-lọc các hoá đơn theo

select * from Deal_in_product

where createdate BETWEEN

@tungay AND @denngay

create proc

lochd_ngaythangnam_sp_xuat

@tungay date ,

@denngay date as

select from Deal_out_product

Trang 37

-tính tổng chi và tổng

thu theo năm tháng

@tungay AND @denngay

create proc

lochd_ngaythangnam_vtu_nhap

@tungay date ,

@denngay date as

select from Deal_in_product

where createdate BETWEEN

@tungay AND @denngay

create proc

lochd_ngaythangnam_vtu_xuat

@tungay date ,

@denngay date as

select from Deal_out_product

where createdate BETWEEN

@tungay AND @denngay

create proc tinhtongthu

Trang 38

theo cách phân trang

create proc tinhtongchi

select from Product where

ID = @id_sp

create proc layvt_byid

@id_vt int

Trang 39

select * from Product where

ID = @id_cate

create proc list_pagin_product

@page int ,

Trang 40

id OFFSET @page ROWS FETCH NEXT @limit ROWS ONLY ;

create proc list_pagin_material

@page int ,

@limit int as

SELECT FROM material ORDER BY

id OFFSET @page ROWS FETCH NEXT @limit ROWS ONLY ;

create proc list_pagin_cate

@page int ,

@limit int as

SELECT * FROM

Categories_Product ORDER BY id OFFSET @page ROWS FETCH NEXT

@limit ROWS ONLY ;

Trang 41

delete Product where ID = @id_sp

create proc delete_vt_byid

@id_vt int as

delete material where ID = @id_vt

create proc delete_cate_byid

@id_cate int as

delete Categories_Product where

ID = @id_cate

create proc xoa_hd_xuat_sanpham

@id int as Delete Deal_out_product where

ID = @id

create proc xoa_hd_nhap_sanpham

@id int as Delete Deal_in_product where

ID = @id

create proc xoa_hd_xuat_vtu

Trang 43

name like @name

create proc lay_ncc_id

@id int as select * from partner where id

create view find_all_material

as select from material

create view find_all_Cate as select * from

Categories_Product

create view

product_out_of_stock as

Trang 44

+lấy ra sản phẩm nào

chưa bán được cái nào

+lấy ra vật tư nào chưa

material quantity_in_stock =

create view

find_product_not_sell as select from Product where

not EXISTS( select from

Show_Deal_out_product inner join Product on Product ID =

Show_Deal_out_product id_produc t

create view

find_material_not_use as select from material where

not EXISTS( select from

Show_Deal_out_material inner join material on material ID =

Show_Deal_out_material id_mater ial )

Ngày đăng: 14/10/2021, 13:26

HÌNH ẢNH LIÊN QUAN

- Bảng Deal_in_material - Bài tập lớn môn cơ sở dữ liệu (6)
ng Deal_in_material (Trang 10)
- Bảng Nuser +code: - Bài tập lớn môn cơ sở dữ liệu (6)
ng Nuser +code: (Trang 11)
- Bảng Role - Bài tập lớn môn cơ sở dữ liệu (6)
ng Role (Trang 13)
- Bảng Show_Deal_out_material - Bài tập lớn môn cơ sở dữ liệu (6)
ng Show_Deal_out_material (Trang 15)
- Bảng Deal_in_product - Bài tập lớn môn cơ sở dữ liệu (6)
ng Deal_in_product (Trang 16)

TỪ KHÓA LIÊN QUAN

w