1. Trang chủ
  2. » Thể loại khác

Phân tích thiết kế hệ thống quản lý mua bán laptop 30

115 10 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

Tiêu đề Quản Lý Mua Bán Laptop
Người hướng dẫn Giảng Viên
Trường học Đại Học Quốc Gia Tp Hcm
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại Đồ án môn học
Thành phố Tp Hcm
Định dạng
Số trang 115
Dung lượng 2,68 MB

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

Nội dung

1 5 2 từ ngày 15/2/2009-15/3/20091 5 3 từ ngày 15/3/2008-15/3/2009 Ta sẽ chạy câu truy vấn tổng quát, và chạy VD: danh sách mặt hàngbán ra trong tháng 3 SELECT dbo ChiTietHDBan MaHH, dbo

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

KHOA KINH TẾ NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ

Đồ án môn học: Nhập môn cơ sở dữ liệu

Quản Lý Mua Bán Laptop

Giảng Viên:

Sinh Viên:

Trang 2

Nhu cầu:

Một công ty mua bán Laptop tương đối lớn cần xây dựng một hệ quản trị CSDL

và cần một chương trình dùng cho tất cả các cấp nhân viên, quản lý:

-Nhu cầu cần cho đồ án môn học: Quản lý Xuất nhập kho, khách hàng, chi tiết

doanh thu, lợi nhuận và nhân viên bán hàng

-Xây dựng 1 phần chương trình như các yêu cầu đề án môn học đã trình bày:

+Do tính chất đồ án nên không thao tác trên mạng+Mô hình thiết kế chương trình là Demo trên 1 máy

phương án:

-Chuẩn hóa CSDL để mô hình đạt chuẩn BCNF Đặt quy định ràng buộc để mô hình vẫn đạt chuẩn mà không cần

Trang 3

đổi cấu trúc CSDL (tất

nhiên là mô hình ảo vì

có kèm theo quy định) Tiến hành thực hiện đồ án

Trang 4

1 Khảo sát hiện trạng:

1 1 Cơ cấu tổ chức:

Ban Giám Đốc

Các bộ phận

Bán Hàng Kho Nhân sự Tài Chính Các Bộ Phận khác

Cơ cấu tổ chức trong phần trình bày của đồ án:

-

-Ban giám đốc (người được hỗ trợ ra quyết định)Xuất nhập kho hàng, Thu ngân, Tài chính, Nhân sự (chỉ tính nhân

[5] Chuyển hàng nếu khách hàng yêu cầu

1 2 2 Qui trình nhập hàng:

[1] Gửi yêu cầu hàng cần nhập

Trang 5

[2] Nhận hàng và nhập kho (giá định danh, mua bao nhiêu thì giábấy nhiêu ->giá nhập)

1 2 3 Quản lý nhân viên bán hàng:

[1] Mục đích nhân sự: Quản lý các thông tin nhân sự[2] Hoa hồng cho nhân viên bán hàng

1 2 4 Quản lý thu chi tài chính

[1] Thu tiền bán hàng[2] Chi tiền nhập hàng[3] Trả lương, hoa hồng[4] Quản lý hóa đơn[5] Các khoản chi phí khác

1 2 5 Quản lý khách hàng

[1] Chi tiết khách hàng[2] Hỗ trợ khách hàng[3] Các yêu cầu tức thời khác

1 2 6 Quản lý nhà cung cấp

[1] Chi tiết nhà cung cấp[2] Nhu cầu liên hệ nhập hàng[3] Các yêu cầu tức thời khác

Trang 6

-Riêng phần nhân sự cho nội dung đặt ra là xây dưng giao diện ngườidùng nên sẽ dễ dàng tiếp cận với nhân viên

1 4 Các yêu cầu

1 4 1 Các yêu cầu tác nghiệp: Yêu cầu này có từ nhiều yếu tố như

website, đi mua hàng đóng vai khách hàng, quan sát và tìm hiểu, hỏi nhân viên công ty tại

các công ty như Hoàn Long, Phong Vũ, Viễn Thông A để sau đó là rút ra các yếu cầu

cho 1 công ty ảo đặt ra!

[1] Thông tin hàng hóa: Laptop cần 1 số thuộc tính sau

- Tên Laptop/ Ký hiệu

- Chip, Main, Ram, CD/DVD, Screen, Pin, HDD,…

-Loại hàng, hãng sản xuất, thông tin bảo hành, thông tin nhà

cung cấp, xuất xứ, giá hàng hóa,…

[2] Thông tin khách hàng:

- Thông tin giao dịch

- Thông tin cá nhân

[3] Thông tin nhà cung cấp:

- Thông tin giao dịch

- Thông tin cá nhân

[4] Chi tiết giao dịch

- Hóa đơn và chi tiết hóa đơn nhập cũng như xuất cần co các

thông tin như, số lượng hàng hóa giao dịch, giá hàng giao dịch,…

[5] Thông tin kho hàng

-Số lượng tồn và giá tồn các mặt hàng

[6] Thông tin hỗ trợ ra quyết định

-Doanh thu, lợi nhuận-Các mặt hàng bán nhiều nhất, ít nhất,…

Trang 7

2 Xây dựng CSDL lưu trữ:

2 1 Giải quyết yêu cầu lưu trữ:

Sử dụng SQL server 2005: với các bảng như sau:

Chi tiết các bảng:

[1] Chi tiết hóa đơn bán hàng:

[2] Chi tiết hóa đơn mua hàng:

Trang 8

[3] Hàng hóa

[4] Hóa đơn bán hàng

[5] Hóa đơn mua hàng

Trang 9

[6] Quản lý khách hàng

[7] Loại hàng

[8] Nhà cung cấp

[9] Nhan viEn

Trang 10

[10] Trung tâm bảo hành

Tổng kết các bảng:

LoaiHang (MaLH, TenLH, MaNCC, MaTTBH)

HangHoa (MaHH, TenHang, MaLH, Chip, Main, HDD, RAM, VGA, CDRW, SLTon,

Gia, GiaBan)

KhachHang (MaKH, TenKH, DiaChi, DienThoai)

NhaCungCap (MaNCC, TenNCC, DiaChi, DienThoai)

TTBH (MaTTBH, DiaChi, DienThoai)

HoaDonBan (MaHD, MaKH, TongGiaTri, NgayLap)

ChiTiEtHDBan (MaHD, MaHH, SLBan, GiaBan, MaNV)

HoaDonMua (MaHD, MaNCC, TongGiaTri, NgayLap)

ChiTiEtHDMua (MaHD, MaHH, SLMua, GiaMua)

NhanViEnBH (MaNV, TenNV, DiaChi, DienThoai)

Sơ đồ thực thể và mối kết hợp:

Trang 12

 t1,t2 HangHoa, t1 t2 t1 MaHH t2 MaHH

 t1,t2 KhachHang, t1 t2 t1 MaKH t2 MaKH

2 2 2 Ràng buộc Khóa ngoại

(1) NhaCungCap – LoaiHang

 t LoaiHang, !t’ NhaCungCap, t’ NhaCungCap = t LoaiHang

Trang 13

 t ChiTietHDBan, !t’ NhanVien, t’ NhanVien = t ChiTietHDBan

Trang 14

 t HoaDonBan, !t’ KhachHang, t’ KhachHang = t HoaDonBan

2 2 3 Ràng buộc khác: Các ràng buộc này có thể được xử lý bằng

TriggEr hoặc C#, trong đồ án này sẽ hướng xử lý bằng C# ADO NET với sqlCommand ExEcutENonQuEry( )

(1) HangHoa – ChiTiEtHDMua - ChiTiEtHDBan

 t HangHoa, t1 ChiTietHDBan, t2 ChiTietHDMua,

t SLTon =Sum( t2 SLMua) –Sum( t1 SLBan) ^ t MaHH=t1 MaHH=t2 MaHH

Cú pháp Update sau đây sẽ dùng gán cho một sự kiện nào đó khi thiết lập trên Demo C#:

Lưu ý đây không phải là Trigger chỉ là một Command TExt

Trang 15

UPDATE HangHoaSET SLTon = IsNull

((SELECT sum(SLMua)FROM ChiTietHDMuaWHERE ChiTietHDMua MaHH = HangHoa MaHH) -(SELECT sum(SLBan)

FROM ChiTietHDBanWHERE ChiTietHDBan MaHH = HangHoa MaHH),(SELECTsum(SLMua)

FROM ChiTietHDMuaWHERE ChiTietHDMua MaHH = HangHoa MaHH))Dùng chung cho cả 2 sự kiện ở 2 bảng

(2) ChiTiEtHD (Mua/Ban) – HoaDon (Mua/Ban)

 t HoaDon, t’ ChiTietHD, t TongGiaTri=Sum(t’ SL*t’ Gia)

Cú pháp Update sau đây sẽ dùng gán cho một sự kiện nào đó khi thiết lập trên Demo C#:

UPDATE HoaDonMuaSET TongGiaTri =

(SELECT SUM(SLMua * GiaMua)FROM ChiTietHDMua

WHERE (MaHD = HoaDonMua MaHD))

UPDATE HoaDonBanSET TongGiaTri =(SELECT SUM(SLBan * GiaBan)

FROMWHERE

Trang 16

ChiTietHDBan(MaHD = HoaDonBan MaHD))

2 3 Phụ thuộc hàm

(1) NhaCungCap = {MaNCC, TenNCC, DiaChi, DienThoai}

F={

MaNCC TenNCCMaNCC DiaChiMaNCC DienThoai}

(2) TTBaoHanh = {MaTTBH, DiaChi, DienThoai}

F={

MaTTBH DiaChiMaTTBH DienThoai}

(3) LoaiHang = {MaLoai, MaNCC, MaTTBH}

F={

MaLoai MaNCCMaLoai MaTTBH}

(4) HangHoa = {MaHH, TenHang, MaLH, Chip, Screen, Ram, HDD, VGA,

CDRW, SLTon, Gia, GiaBan}

F={

MaHH TenHangMaHH MaLHMaHH ChipMaHH Screen

Trang 17

MaHD, MaHH SLMua,

MaHD, MaHH GiaMua

}

(6) ChiTietHDBan{MaHD, MaHH, SLBan, GiaBan, MaNV}F={

MaHD, MaHH SLBan

MaHD, MaHH GiaBan

MaHD, MaHH MaNV

Trang 18

MaHD TongGiaTriMaHD NgayLap}

(9) HoaDonBan{MaHD, MaNCC, TongGiaTri, NgayLap}

F={

MaHD MaKHMaHD TongGiaTriMaHD NgayLap}

(10) KhachHang{MaKH, TenKH, DiaChi, DienThoai}

F={

MaKH TenNVMaKH TenKHMaKH DiaChiMaKH DienThoai}

2 4 Chuẩn hóa CSDL

2 4 1 Xét bảng NhanVien (MaNV, TenNV, DiaChi, DienThoai}

- Một NV có thể có nhiều số điện thoại hoặc nhiều nhiều địa chỉ liên

hệ, như vậy mô hình không thể đạt chuẩn BCNF Lúc đó ta phải tách bảng

NhanVien

thành 3 bảng NhanVien{MaNV, TenNV}, NV-DC{MaNV, DiaChi} NV-DT{MaNV,DienThoai} lúc này thì quan hệ NhanVien đã được chuẩn hóa với chuẩn Boyce-Codd

Nhưng chúng ta sẽ đạt kèm 1 số quy định như:

+ Các nhân viên chỉ được sử dụng 1 số điện thoại và 1 địa chỉ liên

hệ trong quá trình làm việc, tuy nhiên quy định này cũng có vẻ khắc khe

2 4 2 Tương tự với bảng KhachHang{MaKH, TenKH, DiaChi, DienThoai}

Trang 19

Chúng ta vẫn nói trên phương diện như với bảng NhanVien, thì mô hình vẫn chưa thể

đạt chuẩn BCNF Và ta vẫn phải tiến hành thao tác như bảng NhanVien Bằng cáchtách

bảng: KhachHang{MaKH, TenKH}, KH-DC{MaKH,DiaChi}, KH-DT{MaKH,DT}

+Tuy nhiên bằng một số quy định như trên ta cũng có thể bỏ qua

việc chuẩn hóa này mà mô hình vẫn có thể đạt chuẩn BCNF

2 4 3 Với cấu trúc tương tự như KhachHang ta phải chuẩn hóa tiếp bảng

NhaCungCap như sau NhaCungCap{MaNCC, TenNCC}, NCC-DC{MaNCC,DiaChi},NCC-DT{MaNCC,DT}

2 4 4 Và không chỉ dừng lại ở những bảng trên, ở tất cả các bảng, các phụ

thuộc hàm của một tập hợp hàm với phản ánh như sau: X A trong đó X là khóa (siêu

khóa) nhưng giá trị A lại không phải là duy nhất đối với khóa này thì mô hình sẽ không

đạt chuẩn và tại phải làm thao tác chuẩn hóa CSDL BCNF

Kết luận: Nếu như không có các điều kiện ràng buộc thì mô hình CSDL củachúng ta sẽ làm việc chưa logic về tính thực tế Tuy nhiên mô hình của chúng ta

sẽ rất

tốt và có thể nói là đạt chuẩn 4 hay BCNF với các điều kiện ràng buộc như sau:

- Nhân viên, khách hàng, nhà cung cấp, … chỉ dùng duy nhất 1 số điện thoại

liên lạc và 1 địa chỉ liên hệ

- Vấn đề thứ 2 là chúng ta vẫn sử dụng CSDL như ban đầu, với những điều

kiện ràng buộc như trên và nó đạt chuẩn BCNF

2 5 Truy vấn SQL

2 5 1 Các yêu cầu từ nghiệp vụ bán hàng:

Trang 20

(1 1) Liệt kê danh mục hàng và các thông tin về hàng (giống như

khách hàng xem bảng báo giá)

SELECT *FROM HangHoa

Trang 21

(1 2) Xem thông tin hàng hóa có mã là x hoặc tên hàng là y

Trang 22

(1 3) Mã và tên các laptop có cấu hình:

Chip=x

Hoặc Sreen=y

Hoặc Ram=z

Ta giải trường hợp Chip=x=2Ghz

SELECT MaHH, TenHang, MaLH, ChipFROM HangHoa

WHERE (Chip LIKE '%' + @X + '%')

Trang 23

(1 4) Trường hợp khách hàng có yêu cầu kiểm tra kỹ thuật máy ta

cần kiểm tra xem có phải đó là hàng đã được công ty bán ra hay

HDB MaKH, KH TenKH, CTB MaHH, CTB SLBan,CTB NgayLap

ChiTietHDBan as CTB INNER JOIN HoaDonBan as HDB ON

CTB MaHD = HDB MaHD INNER JOIN

KhachHang as KH ON HDB MaKH = KH MaKH

(1 5) Giải quyết các vấn đề sau:

1 5 1 Danh sách hàng bán ra trong ngày x

1 5 2 Danh sách hàng bán ra trong tháng x

1 5 3 Danh sách hàng bán ra trong năm x

Ta sẽ giải quyết cả 3 câu trên bằng 1 truy vấn duy nhất: Danh sáchhàng bán ra từ ngày x đến ngày y VD:

1 5 1 từ ngày 15/3/2009 -15/3/2009

Trang 24

1 5 2 từ ngày 15/2/2009-15/3/2009

1 5 3 từ ngày 15/3/2008-15/3/2009

Ta sẽ chạy câu truy vấn tổng quát, và chạy VD: danh sách mặt hàngbán ra trong tháng 3

SELECT dbo ChiTietHDBan MaHH, dbo HangHoa TenHang,

dbo ChiTietHDBan SLBan, dbo HoaDonBan NgayLap

FROM dbo ChiTietHDBan INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo HoaDonBan NgayLap BETWEEN @X AND @Y)

(1 6) Lập danh sách tất cả mặt hàng của loại hàng x

Vd: x là COMPAQ – HP

SELECT

FROM

WHERE

dbo HangHoa TenHang, dbo LoaiHang TenLH

dbo HangHoa INNER JOIN

dbo LoaiHang ON dbo HangHoa MaLH = dbo LoaiHang MaLoai(dbo LoaiHang TenLH = @X)

Trang 25

(1 7) Danh sách các hàng hóa mua trong hóa đơn có mã là x VD:x=7

SELECT dbo ChiTietHDBan MaHD, dbo ChiTietHDBan MaHH,

dbo ChiTietHDBan GiaBan, dbo ChiTietHDBan SLBan

FROM dbo ChiTietHDBan INNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo ChiTietHDBan MaHD = @X)

(1 7) Tổng doanh thu trong 1 thời từ nào đó từ thời gian xyPhần này ta có thể giải quyết được các bài toán sau, doanh thu trong ngày, trong tháng,

trong quý, trong năm, và trong một thời kỳ VD: Ta tính doanh thu trong tháng 3

SELECT SUM(TongGiaTri) AS DoanhThu

FROM dbo HoaDonBan

WHERE (NgayLap BETWEEN @X AND @Y)

(Doanh thu tính bằng USD, đừng thắc mắc tại sao nó bé thế! Vì dữ liệu đầu vào chưa

nhiều)

Trang 26

(1 8) Tương tự ta giải quyết bài toán Lợi nhuận như Doanh thu trên

Ta giải Lợi nhuận trong tháng 3 (nhưng trong CSDL vì dữ liệu quá ít nên chắc chỉ

đc có

10 ngày)

SELECT SUM(dbo ChiTietHDBan SLBan * (dbo ChiTietHDBan GiaBan

-dbo HangHoa Gia)) AS LoiNhuan

FROM dbo ChiTietHDBan INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo HoaDonBan NgayLap BETWEEN @X AND @Y)

(1 9) Thống kê mặt hàng bán ra từ trong thời kỳ từ thời gian x cho

đến thời gian y, VD: trong tháng 3

SELECT

FROM

dbo ChiTietHDBan MaHH, dbo HangHoa TenHang

dbo ChiTietHDBan INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo HoaDonBan NgayLap BETWEEN @X AND @Y)

Trang 27

(1 10 1)Các mặt hàng bán nhiều nhất trong thời kỳ từ thời gian x đến

thời gian y Vd: trong tháng 3

SELECT

FROM

dbo ChiTietHDBan MaHH, dbo ChiTietHDBan SLBan

dbo ChiTietHDBan INNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo HoaDonBan NgayLap BETWEEN @X AND @Y) AND

(dbo ChiTietHDBan SLBan >= ALL

(SELECT SLBanFROM dbo ChiTietHDBan))

(1 10 2)Các mặt hàng bán ít nhất trong thời kỳ từ thời gian x đến thời

gian y Vd: trong tháng 3

SELECT

FROM

dbo ChiTietHDBan MaHH, dbo ChiTietHDBan SLBan

dbo ChiTietHDBan INNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDWHERE (dbo HoaDonBan NgayLap BETWEEN @X AND @Y) AND

(dbo ChiTietHDBan SLBan <= ALL

(SELECT SLBanFROM dbo ChiTietHDBan))

Trang 28

(1 10 3) Tình hình tiêu thụ hàng trong các tháng trong năm x Cái này

hơi giống với WalMart của Thầy nên e không làm, mà muốn làm cũng không đc vì hệ

thống ảo (CSDL vừa tạo) này chỉ có thể hoạt động trong tháng 3/2009 ^^

Tuy nhiên ta có thể giải quyết bài toán này với 4 mức ý nghĩa: Thống

SELECT MaHH, TEnHang,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 1)), 0) AS Thang1,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

Trang 29

= 2)), 0) AS Thang2,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 3)), 0) AS Thang3,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 4)), 0) AS Thang4,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 5)), 0) AS Thang5,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH

Trang 30

WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 6)), 0) AS Thang6,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 7)), 0) AS Thang7,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 8)), 0) AS Thang8,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 9)), 0) AS Thang9,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

Trang 31

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 10)), 0) AS Thang10,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 11)), 0) AS Thang11,

ISNULL ((SELECT SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *

dbo ChiTietHDBan SLBan) AS Expr1

FROM dbo HoaDonBan INNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD = dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND dbo ChiTietHDBan MaHH = dbo HangHoa MaHH AND

dbo ChiTietHDBan MaHH = dbo HangHoa MaHH WHERE (YEAR(dbo HoaDonBan NgayLap) = 2009) AND (dbo ChiTietHDBan MaHH = HangHoa_1 MaHH) AND (MONTH(dbo HoaDonBan NgayLap)

= 12)), 0) AS Thang12

FROM dbo HangHoa AS HangHoa_1

(1 11) Tổng giá trị mà các nhân viên bán hàng đã bán được

SELECT dbo ChiTietHDBan MaNV, dbo NhanVien TenNV,

SUM(dbo ChiTietHDBan SLBan * dbo ChiTietHDBan GiaBan) AS TGT

FROM dbo ChiTietHDBan INNER JOIN

dbo NhanVien ON dbo ChiTietHDBan MaNV = dbo NhanVien MaNVGROUP BY dbo ChiTietHDBan MaNV, dbo NhanVien TenNV

Trang 32

2 5 1 Các yêu cầu từ nghiệp vụ nhập hàng:

(2 1 1) Xem danh mục hàng đã từng nhập

SELECT

FROM

ChiTietHDMua MaHH, HangHoa TenHang

ChiTietHDMua INNER JOIN

HangHoa ON ChiTietHDMua MaHH = dbo HangHoa MaHH

(2 1 2) Thông tin Hàng nhập về trong một khoảng thời gian, từngày x ngày y Có thể dùng để xem trong tháng, năm, …

VD: 1/3/2009 20/03/2009

Trang 33

SELECT ChiTietHDMua MaHH, HangHoa TenHang, ChiTietHDMua GiaMua,

ChiTietHDMua SLMua, HoaDonMua NgayLap

FROM ChiTietHDMua INNER JOIN

HangHoa ON ChiTietHDMua MaHH = HangHoa MaHH INNER JOINHoaDonMua ON ChiTietHDMua MaHD = HoaDonMua MaHD

WHERE (HoaDonMua NgayLap BETWEEN @X AND @Y)

(2 2) Thống kê các mục hàng giảm dần theo số lượng nhập

SELECT TOP (100) PERCENT dbo ChiTietHDMua MaHH, dbo HangHoa TenHang,dbo ChiTietHDMua SLMua, dbo HoaDonMua TongGiaTri,

dbo HoaDonMua NgayLapFROM dbo ChiTietHDMua INNER JOIN

dbo HangHoa ON dbo ChiTietHDMua MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonMua ON dbo ChiTietHDMua MaHD = dbo HoaDonMua MaHD

ORDER BY dbo ChiTietHDMua SLMua

Trang 34

(2 3) Tổng số tiền mà doanh nghiệp đã đầu tư mua hàng trong

một thời gian từ ngày x ngày y VD: trong tháng 3/2009

NgayLap between @X and @Y

(2 4) Lập danh sách các mặt hàng tồn kho lâu hơn một khoảng

thời gian nào đó VD: Tồn kho lâu hơn 1 tháng

SELECT

FROM

dbo HangHoa MaHH, dbo HangHoa TenHang, dbo HangHoa SLTon

dbo HangHoa INNER JOIN

dbo ChiTietHDMua ON dbo HangHoa MaHH = dbo ChiTietHDMua MaHHINNER JOIN

dbo HoaDonMua ON dbo ChiTietHDMua MaHD = dbo HoaDonMua MaHD

WHERE (dbo HangHoa SLTon > 1) AND (dbo HoaDonMua NgayLap < { fn NOW() }

- 30)

Trang 35

2 5 3 Các yêu cầu từ nghiệp vụ quản lý hóa đơn, khách hàng và nhà cung

cấp:

(3 1) Thông tin Khách hàng và hàng hóa có mã hóa đơn là 4

SELECT dbo KhachHang MaKH, dbo ChiTietHDBan MaHH,

dbo ChiTietHDBan SLBan AS SoLuong,

dbo ChiTietHDBan GiaBan * dbo ChiTietHDBan SLBan AS TGT,dbo HoaDonBan NgayLap

FROM dbo KhachHang INNER JOIN

dbo HoaDonBan ON dbo KhachHang MaKH = dbo HoaDonBan MaKHINNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD =dbo ChiTietHDBan MaHD

WHERE (dbo HoaDonBan MaHD = 4)

Trang 36

(3 2) Doanh thu và lợi nhuận các khách hàng mang đến cho công ty

SELECT dbo KhachHang MaKH, dbo KhachHang TenKH,

SUM(dbo ChiTietHDBan GiaBan * dbo ChiTietHDBan SLBan) AS DoanhThu,

SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) *dbo ChiTietHDBan SLBan) AS LoiNhuan

FROM dbo KhachHang INNER JOIN

dbo HoaDonBan ON dbo KhachHang MaKH = dbo HoaDonBan MaKHINNER JOIN

dbo ChiTietHDBan ON dbo HoaDonBan MaHD =dbo ChiTietHDBan MaHD INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHGROUP BY dbo KhachHang MaKH, dbo KhachHang TenKH

(3 3) Thống kê giao dịch với các nhà cung cấp

SELECT dbo HoaDonMua MaNCC, dbo NhaCungCap TenNCC,

SUM(dbo ChiTietHDMua SLMua * dbo ChiTietHDMua GiaMua) AS GiaoDich

FROM dbo ChiTietHDMua INNER JOIN

dbo HoaDonMua ON dbo ChiTietHDMua MaHD = dbo HoaDonMua MaHD

INNER JOIN

Trang 37

dbo NhaCungCap ON dbo HoaDonMua MaNCC =dbo NhaCungCap MaNCC

GROUP BY dbo HoaDonMua MaNCC, dbo NhaCungCap TenNCC

(3 4) Lập danh sách tất cả các trung tâm bảo hành

Trang 38

2 5 4 Các nhận định và các yêu cầu đặt ra trong tương lai (vì lý do thời gian

hoạt động của công ty chưa lâu):

(4 1 1) Thống kê doanh thu và lợi nhuận từ các mặt hàng, chọn top5

mặt hàng đã đem lại lợi nhuận nhiều nhất cho công ty

SELECT TOP (5) dbo ChiTietHDBan MaHH, dbo HangHoa TenHang,

SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) * dbo ChiTietHDBan SLBan)

AS LoiNhuanFROM dbo ChiTietHDBan INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHDGROUP BY dbo ChiTietHDBan MaHH, dbo HangHoa TenHang

ORDER BY LoiNhuan DESC

(4 1 2) Thống kê doanh thu và lợi nhuận từ các mặt hàng, chọn top5

mặt hàng đã đem lại lợi nhuận thấp nhất cho công ty

SELECT TOP (5) dbo ChiTietHDBan MaHH, dbo HangHoa TenHang,

SUM((dbo ChiTietHDBan GiaBan - dbo HangHoa Gia) * dbo ChiTietHDBan SLBan)

AS LoiNhuanFROM dbo ChiTietHDBan INNER JOIN

dbo HangHoa ON dbo ChiTietHDBan MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonBan ON dbo ChiTietHDBan MaHD = dbo HoaDonBan MaHD

Trang 39

GROUP BY dbo ChiTietHDBan MaHH, dbo HangHoa TenHang

ORDER BY LoiNhuan

(4 2) Thống kê top 3 đối tác chiến lược cung cấp mặt hàng đem lại lợi

nhuận cao nhất

SELECT TOP (3) dbo HoaDonMua MaNCC, dbo NhaCungCap TenNCC,

SUM((dbo HangHoa GiaBan - dbo HangHoa Gia) * dbo ChiTietHDMua SLMua)

AS LoiNhuanFROM dbo ChiTietHDMua INNER JOIN

dbo HangHoa ON dbo ChiTietHDMua MaHH = dbo HangHoa MaHHINNER JOIN

dbo HoaDonMua ON dbo ChiTietHDMua MaHD = dbo HoaDonMua MaHD

INNER JOIN

dbo NhaCungCap ON dbo HoaDonMua MaNCC =dbo NhaCungCap MaNCC

GROUP BY dbo HoaDonMua MaNCC, dbo NhaCungCap TenNCC

ORDER BY LoiNhuan DESC

(4 3) Doanh thu và lợi nhuận trung bình mỗi năm(4 4) Kiểm định các dòng máy phổ thông sẽ được nhiều người ưachuộng, các dòng máy cao cấp sẽ ít người mua hơn

Trang 40

(4 5) Các khách hàng thường tập trung trong khu vực thành phố HCMvà

lân cận, khảo sát tính chính xác của nhận định

-SQL sErvEr 2005 ExprEss(53 5MB) -Window installEr 3 1(2 46MB) -DotnEtframEwork 3 5(197MB)

(4) Phần mềm quản trị: Management studio express(38 4MB)

B Tiến hành cài đặt các hỗ trợ

(1) Bạn cài đặt theo thứ tự Window installEr 3 1 >

Ngày đăng: 27/05/2022, 09:14

HÌNH ẢNH LIÊN QUAN

Chi tiết các bảng: - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
hi tiết các bảng: (Trang 7)
Sử dụng SQL server 2005: với các bảng như sau: - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
d ụng SQL server 2005: với các bảng như sau: (Trang 7)
Tổng kết các bảng: - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
ng kết các bảng: (Trang 10)
- Bảo quản: tránh ánh sáng &amp; ẩm, thuốc độc bảng B. - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
o quản: tránh ánh sáng &amp; ẩm, thuốc độc bảng B (Trang 20)
(1 3) Mã và tên các laptop có cấu hình: Chip=x - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
1 3) Mã và tên các laptop có cấu hình: Chip=x (Trang 22)
(1 10 3) Tình hình tiêu thụ hàng trong các tháng trong năm x Cái này - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
1 10 3) Tình hình tiêu thụ hàng trong các tháng trong năm x Cái này (Trang 28)
(3) Tiến hành xây dựng với các hình ảnh minh họa và code sau: (4) Phát sinh thêm 2 table: - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
3 Tiến hành xây dựng với các hình ảnh minh họa và code sau: (4) Phát sinh thêm 2 table: (Trang 41)
(1) Lọc dữ liệu cho bảng, thêm dòng và updatE - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
1 Lọc dữ liệu cho bảng, thêm dòng và updatE (Trang 42)
Tiếp thEo là một số hình ảnh minh họa của đồ án, trước khi kết thúc báo cáo! - Phân tích thiết kế hệ thống quản lý mua bán laptop 30
i ếp thEo là một số hình ảnh minh họa của đồ án, trước khi kết thúc báo cáo! (Trang 47)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w