MỤC LỤC
MỞ ĐẦU 2
CHƯƠNG I: KHẢO SÁT HỆ THỐNG 4
I. MÔ TẢ HỆ THỐNG 4
1) Tổng quan 4
2) Quy trình xử lý 4
II. YÊU CẦU TIN HỌC HÓA 7
1) Nội dung đề tài 7
2) Mô tả yêu cầu 7
III. GIẢI QUYẾT VẤN ĐỀ 8
CHƯƠNG II: MÔ HÌNH THỰC THỂ LIÊN KẾT E-R VÀ MÔ HÌNH QUAN HỆ 9
I. CÁC BƯỚC XÂY DỰNG 9
II. KÝ HIỆU SỬ DỤNG 9
III. ÁP DỤNG BÀI TOÁN 9
CHƯƠNG III: CƠ SỞ DỮ LIỆU SQL SERVER 2005 14
I. MÔ TẢ CÁC BẢNG VÀ QUAN HỆ 14
1) Mô tả các bảng trong cơ sở dữ liệu 14
2) Các bảng của cơ sở dữ liệu 14
3) Sơ đồ mô tả mối quan hệ giữa các bảng 17
II. CÁC THỦ TỤC MÔ TẢ YÊU CẦU CỦA CƠ SỞ DỮ LIỆU 17
1) Các thủ tục mô tả chức năng cơ bản 17
2) Các thủ tục mô tả chức năng được yêu cầu 18
3) Chi tiết các Store Procedure thực thi yêu cầu 19
PHỤ LỤC
PHỤ LỤC 1: KẾ HOẠCH TỔNG THỂ 24
PHỤ LỤC 2: BIÊN BẢN KHẢO SÁT 28
PHỤ LỤC 3: ĐÁNH GIÁ THÀNH VIÊN 33
34 trang |
Chia sẻ: netpro | Lượt xem: 1759 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Báo cáo Xây dựng Cơ sở dữ liệu quản lý xuất nhập đĩa cho các cửa hàng vừa và nhỏ, áp dụng cho Cửa hàng đĩa Heaven, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng máy Xbox 360, Xbox Live của Microsoft.
Đĩa Wii: dành cho dòng máy Wii của Nintendo.
Đĩa phần mềm gồm các phiên bản hệ điều hành và các phần mềm thông dụng được đánh mã S+Tên thể loại bao gồm:
Đĩa hệ điều hành: gồm các phiên bản hệ điều hành Windows từ Windows 98 đến Windows 7 và các phiên bản Linux ít phổ thông: Fedora, Ubuntu,…
Đĩa phần mềm tiện ích: gồm các đĩa phần mềm tiện ích khối văn phòng như bộ Microsoft Office, HTKK Thuế,… và các phần mềm chuyên dụng phục vụ khối thiết kế như Adobe Photoshop, AutoCAD, CorelDRAW,…
Ngoài ra gồm các đĩa phần mềm phổ thông khác.
2.2. Phương thức triển khai hoá đơn
Coi đối tượng khách hàng vừa là nguồn nhập hàng, vừa là khách mua hàng.
Hoá đơn được triển khai làm 2 loại chính: Nhập hàng và Xuất hàng.
2.3. Mục tiêu của cơ sở dữ liệu
Đầy đủ các chức năng cơ bản để nhập xuất dữ liệu cho từng bảng.
Thực hiện thêm các yêu cầu quản lý như: thống kê, báo cáo,... theo yêu cầu của công việc kinh doanh.
2.4. Một số mẫu biểu
Qua quá trình khảo sát trên, tại cửa hàng đĩa Heaven có các mẫu biểu sau:
Đơn đặt hàng:
Cửa hàng đĩa Heaven
Địa chỉ: 668 đường Láng - Đống Đa - Hà Nội
Điện thoại: (04)3xxxxxxx - Di động: 098xxxxxxx
ĐƠN ĐẶT HÀNG
Họ tên: ……………………………………………………………………………………………...
Địa chỉ: ……………………………………………………………………………………………..
………………………………………………………………………………………………………
Điện thoại: …………………………………………
Hình thức thanh toán: ………………………………
STT
Mã đĩa
Tên đĩa
Số lượng
Đơn giá
Thành tiền
1
x
X
x
x
x
Cộng tiền hàng: ………………..
Tổng cộng thanh toán: ………………..
Số tiền viết bằng chữ: ……………………………………………………………………………...
Người mua hàng
(Ký, ghi rõ họ tên)
Người bán hàng
(Ký, ghi rõ họ tên)
Hoá đơn nhập hàng:
Đơn vị bán hàng:……………………………………………………………………………………
Địa chỉ: ……………………………………………………………………………………………..
Số tài khoản: ………………………………………………….
Điện thoại: ……………………………………
HOÁ ĐƠN NHẬP HÀNG
Đơn vị mua hàng: Cửa hàng đĩa Heaven
Địa chỉ: 668 đường Láng - Đống Đa - Hà Nội
Điện thoại: (04)3xxxxxxx - Di động: 098xxxxxxx
Số tài khoản: 1234-5678-ABCD
Hình thức thanh toán: ……………………………
STT
Mã đĩa
Tên đĩa
Số lượng
Đơn giá
Thành tiền
1
x
X
x
x
x
Cộng tiền hàng: ………………..
Tổng cộng thanh toán: ………………..
Số tiền viết bằng chữ: ……………………………………………………………………………...
Người giao hàng
(Ký, ghi rõ họ tên)
Người nhận hàng
(Ký, ghi rõ họ tên)
Hoá đơn bán hàng:
Cửa hàng đĩa Heaven
Địa chỉ: 668 đường Láng - Đống Đa - Hà Nội
Điện thoại: (04)3xxxxxxx - Di động: 098xxxxxxx
HOÁ ĐƠN BÁN HÀNG
Họ tên: ……………………………………………………………………………………………...
Địa chỉ: ……………………………………………………………………………………………..
Điện thoại: …………………………………………
Hình thức thanh toán: ………………………………
STT
Mã đĩa
Tên đĩa
Số lượng
Đơn giá
Thành tiền
1
x
X
x
x
x
Cộng tiền hàng: ………………..
Tổng cộng thanh toán: ………………..
Số tiền viết bằng chữ: ……………………………………………………………………………...
Người mua hàng
(Ký, ghi rõ họ tên)
Người bán hàng
(Ký, ghi rõ họ tên)
II. YÊU CẦU TIN HỌC HÓA
1) Nội dung đề tài
Với nhu cầu thông tin và quy mô kinh doanh ngày càng mở rộng của cửa hàng, tạo điều kiện thuận lợi cho việc quản lý đĩa cũng như việc nhập xuất đĩa và truy xuất thông tin nhanh chóng về đĩa. Do đó CSDL đòi hỏi phải lập trình để thực hiện được đầy đủ các thao tác nhập xuất, thống kê thông tin một cách đầy đủ và cụ thể, giúp cho cập nhật những đĩa mới cho cửa hàng nhanh chóng, dễ hàng hơn.
Nhân viên phải nhập các thông tin cho các đĩa mới, nhà cung cấp mới, khách hàng mới vào trong dữ liệu và có sự kiểm tra về tính chính xác, đúng đắn của dữ liệu.
Nhân viên được phép chỉnh sửa, xóa những thông tin sai, không phù hợp theo quyền hạn cho phép.
Chủ cửa hàng theo dõi quá trình mua bán, thống kê doanh thu của cửa hàng.
2) Mô tả yêu cầu
Yêu cầu chức năng:
Liệt kê thông tin Đĩa:
Toàn bộ
Theo thời gian
Theo nhân viên
Theo khách hàng
Liệt kê nhân viên theo doanh thu.
Thống kê tổng doanh thu:
Toàn bộ
Theo tháng
Theo năm
Báo cáo chung về tổng nhập, xuất:
Toàn bộ
Theo tháng
Theo năm
Liệt kê các đĩa chưa bán.
Liệt kê các đĩa bán chạy nhất.
III. GIẢI QUYẾT VẤN ĐỀ
Từng bước đi vào phân tích, thiết kế hệ thống để giải quyết vấn đề.
Khảo sát: Tiến hành khảo sát ở một khu vực, địa chỉ cụ thể để lấy thông tin thực tế.
Mô hình hóa nghiệp vụ: Dựa trên khảo sát thực trạng, mô hình hóa các nghiệp vụ bằng mô hình thực thể liên kết, từ đó chuyển sang mô hình quan hệ.
Thiết kế: Từ kết quả ở các mô hình quan hệ, triển khai thiết kế CSDL để đạt được các kết quả như mong muốn.
CHƯƠNG II: MÔ HÌNH THỰC THỂ LIÊN KẾT E-RVÀ MÔ HÌNH QUAN HỆ
I. CÁC BƯỚC XÂY DỰNG
Bước 1: Xác định các thực thể.
Bước 2: Đặc tả mô hình.
Bước 3: Mô hình thực thể liên kết.
Bước 4: Mô hình quan hệ.
II. KÝ HIỆU SỬ DỤNG
Thuộc tính:
Tập thực thể:
Quan hệ:
(min,max): Ràng buộc liên kết.
III. ÁP DỤNG BÀI TOÁN
Bước 1: Xác định các thực thể
Các tập thực thể:
Khách hàng.
Nhân viên bán hàng.
Hoá Đơn.
Loại phiếu xuất nhập.
Đĩa.
Thực thể yếu:
Thể loại đĩa.
Chi tiết hoá đơn.
Bước 2: Đặc tả mô hình
KhachHang (Khách hàng):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
MaKH
Mã khách hàng
Text
PK
TenKH
Tên khách hàng
Text
Dchi_KH
Địa chỉ khách hàng
Text
SDT
Số điện thoại khách hàng
Text
Email
Thư điện tử khách hàng
Text
NhanVienBH (Nhân viên bán hàng):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
MaNV
Mã người bán
Text
PK
TenNV
Tên người bán
Text
Dchi_NV
Địa chỉ người bán
Text
TheLoaiDia (Thể loại đĩa):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
MaTL
Mã thể loại đĩa
Text
PK
TenTL
Tên thể loại đĩa
Text
Dia (Đĩa):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
MaDia
Mã đĩa
Text
PK
TenDia
Tên đĩa
Text
HoaDon (Hoá đơn):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
MaHD
Mã hoá đơn
Text
PK
NgayBan
Ngày bán
Date/Time
CTiet_HD (Chi tiết hoá đơn):
Thuộc tính
Viết đầy đủ
Định dạng
Đặc tả
SoLuong
Số lượng bán
Number
DonGia
Giá tiền
Number
Bước 3: Mô hình thực thể liên kết
Hình 2.1: Mô hình thực thể liên kết của cửa hàng bán đĩa
Bước 4: Mô hình quan hệ
+ KhachHang (MaKH, TenKH, Dchi_KH, SDT, Email)
+ NhanVienBH (MaNV, TenNV, Dchi_NV)
+ Dia (MaDia, TenDia, MaTL)
+ TheLoaiDia (MaTL, TenTL)
+ HoaDon (MaHD, NgayBan, MaNV, MaKH, MaLoai)
+ CTiet_HD (MaHD, MaDia, SoLuong, DonGia)
+ LoaiPhieu (MaLoai, TenLoai)
CHƯƠNG III: CƠ SỞ DỮ LIỆU SQL SERVER 2005
I. MÔ TẢ CÁC BẢNG VÀ QUAN HỆ
1) Mô tả các bảng trong cơ sở dữ liệu
STT
Tên bảng
Tên định nghĩa
Ý nghĩa
1
NhanVienBH
Nhân viên bán hàng
Các thông tin về nhân viên
2
KhachHang
Khách hàng
Các thông tin về khách hàng
3
HoaDon
Hoá đơn
Thông tin chung về giao dịch
4
CTiet_HD
Chi tiết hoá đơn
Thông tin chi tiết về từng đĩa được giao dịch
5
LoaiPhieu
Loại phiếu xuất nhập
Cho biết loại hoá đơn là nhập hay bán hàng
6
Dia
Đĩa
Cho biết thông tin chung về Đĩa
7
TheLoaiDia
Thể loại đĩa
Cho biết Đĩa đó thuộc thể loại gì
2) Các bảng của cơ sở dữ liệu
Bảng HoaDon
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaHD
nchar(10)
PK
NgayBan
datetime
MaNV
char(3)
FK
MaKH
char(5)
FK
MaLoai
nchar(10)
FK
Bảng KhachHang
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaKH
char(5)
PK
TenKH
nvarchar(50)
Dchi_KH
nvarchar(100)
SDT
int
x
Email
nchar(20)
x
Bảng NhanVienBH
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaNV
char(3)
PK
TenNV
nvarchar(50)
Dchi_NV
nvarchar(100)
Bảng LoaiPhieu
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaLoai
nchar(10)
PK
TenLoai
nvarchar(50)
Bảng CTiet_HoaDon
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaHD
nchar(10)
PK
MaDia
nchar(10)
SoLuong
bigint
DonGia
float
Bảng Dia
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaDia
nchar(10)
PK
TenDia
nvarchar(50)
MaTL
nchar(10)
FK
Bảng TheLoaiDia
Tên cột (Trường)
Kiểu dữ liệu
Cho phép trống
Mô tả
MaTL
nchar(10)
PK
TenTL
nvarchar(50)
3) Sơ đồ mô tả mối quan hệ giữa các bảng
Hình 3.1: Mối quan hệ giữa các bảng trong CSDL
II. CÁC THỦ TỤC MÔ TẢ YÊU CẦU CỦA CƠ SỞ DỮ LIỆU
1) Các thủ tục mô tả chức năng cơ bản
Tên thủ tục
Chức năng
Ghi chú
dbo.sp_Insert[Tên bảng]
Nhập dữ liệu cho các bảng
dbo.sp_Delete[Tên bảng]
Xoá dữ liệu ở từng bảng
Cho phép sửa, xoá, thống kê đầy đủ theo các khoá, các trường
dbo.sp_Update[Tên bảng]
Sửa dữ liệu ở từng bảng
dbo.sp_Select[Tên bảng]
Thống kê dữ liệu ở từng bảng
2) Các thủ tục mô tả chức năng được yêu cầu
STT
Tên thủ tục
Chức năng
Liệt kê Đĩa
1
dbo.yc_1_LietKeDia
Liệt kê toàn bộ đĩa
2
dbo.yc_1a_LietKeDia
Liệt kê đĩa theo thể loại
3
dbo.yc_1b_LietKeDia
Liệt kê đĩa theo hoá đơn
Liệt kê
khách hàng
4
dbo.yc_2_LietKeKH
Liệt kê các khách hàng đã mua hàng
(đã sắp xếp)
5
dbo.yc_2a_LietKeKH
Liệt kê các khách hàng đã mua hàng theo khu vực (đã sắp xếp)
Liệt kê
nhân viên
6
dbo.yc_3_NhanVien
Liệt kê 3 nhân viên bán hàng thu được doanh thu nhiều nhất
Thống kê
doanh thu
7
dbo.yc_4_DoanhThu
Tổng doanh thu bán hàng
8
dbo.yc_4a_DoanhThu
Tổng doanh thu bán hàng theo tháng
9
dbo.yc_4b_DoanhThu
Tổng doanh thu bán hàng theo năm
Báo cáo tổng hợp nhập, xuất
10
dbo.yc_5_BaoCaoChung
Báo cáo chung
11
dbo.yc_5a_BaoCaoThang
Báo cáo theo tháng
12
dbo.yc_5b_BaoCaoNam
Báo cáo theo năm
Thống kê sự phổ biến của đĩa
13
dbo.yc_6_DiaKoBanDuoc
Thống kê các đĩa không bán được trong toàn bộ thời gian
14
dbo.yc_6a_DiaKoBanDuoc
Thống kê các đĩa không bán được theo tháng
15
dbo.yc_6b_DiaKoBanDuoc
Thống kê các đĩa không bán được theo năm
16
dbo.yc_7_DiaBanChay
Thống kê 10 đĩa bán chạy nhất
17
dbo.yc_7a_DiaBanChay
Thống kê 10 đĩa bán chạy nhất theo tháng
18
dbo.yc_7b_DiaBanChay
Thống kê 10 đĩa bán chạy nhất theo năm
3) Chi tiết các Store Procedure thực thi yêu cầu
STT
Chức năng
Store Procedure
1
Liệt kê thông tin toàn bộ Đĩa
SELECT Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY HoaDon.MaLoai
2
Liệt kê thông tin đĩa theo thể loại
SELECT Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
WHERE TheLoaiDia.TenTL = @TenTL
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY HoaDon.MaLoai
3
Liệt kê thông tin đĩa theo hoá đơn
SELECT Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
WHERE LoaiPhieu.TenLoai = @LoaiHD
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY HoaDon.MaLoai
4
Liệt kê các khách hàng đã mua hàng
SELECT KhachHang.MaKH, KhachHang.TenKH, KhachHang.Dchi_KH, KhachHang.SDT, KhachHang.Email, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongTien
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
KhachHang ON HoaDon.MaKH = KhachHang.MaKH
WHERE HoaDon.MaLoai = 'PX'
GROUP BY KhachHang.MaKH, KhachHang.TenKH, KhachHang.Dchi_KH, KhachHang.SDT, KhachHang.Email
ORDER BY TongTien DESC
5
Liệt kê các khách hàng đã mua hàng theo khu vực
SELECT KhachHang.MaKH, KhachHang.TenKH, KhachHang.Dchi_KH, KhachHang.SDT, KhachHang.Email, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongTien
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
KhachHang ON HoaDon.MaKH = KhachHang.MaKH
WHERE HoaDon.MaLoai = 'PX' AND KhachHang.Dchi_KH = @DiaChi
GROUP BY KhachHang.MaKH, KhachHang.TenKH, KhachHang.Dchi_KH, KhachHang.SDT, KhachHang.Email
ORDER BY TongTien DESC
6
Top 3 nhân viên bán hàng có doanh thu lớn nhất
SELECT TOP(3) NhanVienBH.MaNV, NhanVienBH.TenNV, NhanVienBH.Dchi_NV, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongTien
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
NhanVienBH ON HoaDon.MaNV = NhanVienBH.MaNV
WHERE HoaDon.MaLoai = 'PX'
GROUP BY NhanVienBH.MaNV, NhanVienBH.TenNV, NhanVienBH.Dchi_NV
ORDER BY TongTien DESC
7
Tổng doanh thu bán đĩa
SELECT SUM(ch.SoLuong*ch.DonGia) AS DoanhThu
FROM CTiet_HD ch
8
Doanh thu bán hàng theo tháng
SELECT SUM(ch.SoLuong * ch.DonGia) AS DoanhThu
FROM CTiet_HD AS ch INNER JOIN
HoaDon ON ch.MaHD = HoaDon.MaHD
WHERE DATEPART(MONTH,HoaDon.NgayBan) = @Thang AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
9
Doanh thu bán hàng theo năm
SELECT SUM(ch.SoLuong * ch.DonGia) AS DoanhThu
FROM CTiet_HD AS ch INNER JOIN
HoaDon ON ch.MaHD = HoaDon.MaHD
WHERE DATEPART(YEAR,HoaDon.NgayBan) = @Nam
10
Báo cáo chung
SELECT Dia.MaDia, Dia.TenDia, tld.TenTL, A.TongNhap, B.TongXuat
FROM Dia INNER JOIN TheLoaiDia tld ON tld.MaTL = Dia.MaTL LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongNhap
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
HERE (HoaDon.MaLoai = 'PN')
GROUP BY Dia.MaDia
) A ON A.MaDia = Dia.MaDia LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongXuat
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
GROUP BY Dia.MaDia
) B ON B.MaDia = A.MaDia
11
Báo cáo theo tháng
SELECT Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, A.TongNhap, B.TongXuat
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongNhap
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PN')
GROUP BY Dia.MaDia
) A ON A.MaDia = Dia.MaDia LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongXuat
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
GROUP BY Dia.MaDia
) B ON B.MaDia = A.MaDia
WHERE DATEPART(MONTH,HoaDon.NgayBan) = @Thang AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, A.TongNhap, B.TongXuat
12
Báo cáo theo năm
SELECT Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, A.TongNhap, B.TongXuat
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongNhap
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PN')
GROUP BY Dia.MaDia
) A ON A.MaDia = Dia.MaDia LEFT JOIN
(
SELECT Dia.MaDia, SUM(CTiet_HD.SoLuong*CTiet_HD.DonGia) AS TongXuat
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
GROUP BY Dia.MaDia
) B ON B.MaDia = A.MaDia
WHERE DATEPART(YEAR,HoaDon.NgayBan) = @Nam
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, A.TongNhap, B.TongXuat
13
Đĩa không bán được
SELECT TheLoaiDia.MaTL, Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, HoaDon.NgayBan
FROM Dia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
CTiet_HD ON Dia.MaDia = CTiet_HD.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE Dia.MaDia NOT IN
(
SELECT CTiet_HD.MaDia
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
)
14
Đĩa không bán được theo tháng
SELECT TheLoaiDia.MaTL, Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, HoaDon.NgayBan
FROM Dia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
CTiet_HD ON Dia.MaDia = CTiet_HD.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE Dia.MaDia NOT IN
(
SELECT CTiet_HD.MaDia
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
) AND DATEPART(MONTH,HoaDon.NgayBan) = @Thang AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
15
Đĩa không bán được theo năm
SELECT TheLoaiDia.MaTL, Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, HoaDon.NgayBan
FROM Dia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
CTiet_HD ON Dia.MaDia = CTiet_HD.MaDia INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE Dia.MaDia NOT IN
(
SELECT CTiet_HD.MaDia
FROM CTiet_HD INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD
WHERE (HoaDon.MaLoai = 'PX')
) AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
16
Top 10 đĩa bán chạy nhất
SELECT TOP(10) Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
WHERE HoaDon.MaLoai = 'PX'
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY SoLuong DESC
17
Top 10 đĩa bán chạy nhất theo tháng
SELECT TOP(10) Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
WHERE HoaDon.MaLoai = 'PX' AND DATEPART(MONTH,HoaDon.NgayBan) = @Thang AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY SoLuong DESC
18
Top 10 đĩa bán chạy nhất theo năm
SELECT TOP(10) Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, SUM(CTiet_HD.SoLuong) AS SoLuong, CTiet_HD.DonGia, LoaiPhieu.TenLoai
FROM CTiet_HD INNER JOIN
Dia ON CTiet_HD.MaDia = Dia.MaDia INNER JOIN
TheLoaiDia ON Dia.MaTL = TheLoaiDia.MaTL INNER JOIN
HoaDon ON CTiet_HD.MaHD = HoaDon.MaHD INNER JOIN
LoaiPhieu ON HoaDon.MaLoai = LoaiPhieu.MaLoai
WHERE HoaDon.MaLoai = 'PX' AND DATEPART(YEAR,HoaDon.NgayBan) = @Nam
GROUP BY Dia.MaDia, Dia.TenDia, TheLoaiDia.TenTL, CTiet_HD.DonGia, HoaDon.MaLoai, LoaiPhieu.TenLoai
ORDER BY SoLuong DESC
PHỤ LỤC 1: KẾ HOẠCH TỔNG THỂ
I) GIỚI THIỆU
1. Tên đề tài: Quản lý cửa hàng đĩa (Software + Games)
2. Thông tin về nhóm xây dựng đề tài
Dương Thị Ánh Nguyệt - Nhóm trưởng
Trần Phúc Hoàn
Lê Ngọc Hòa
Nguyễn Minh Khiêm
Hứa Thanh Tùng
3. Mục đích của tài liệu:
Kế hoạch tổng thể định nghĩa các hoạt động phát triển phần mềm và các giai đoạn trong dự án để xây dựng phần mềm quản lý cửa hàng đĩa.
Kế hoạch tổng thể miêu tả toàn bộ kế hoạch được sử dụng cho đội ngũ phát triển hệ thống. Các chi tiết công việc cụ thể được miêu tả rõ hơn trong kế hoạch chi tiết hàng tháng.
4. Phạm vi tài liệu
Tài liệu này phục vụ cho các đối tượng là người sử dụng chương trình để quản lý các cửa hàng đĩa phần mềm, trò chơi vừa và nhỏ.
5. Mô tả tài liệu
Tài liệu bao gồm các phần chính sau:
Giới thiệu chung: giới thiệu tổng quan về tài liệu.
Nội dung: Kế hoạch xây dựng và phát triển CSDL phần mềm.
5.1. Giới thiệu chung
Thời gian và nội dung công việc:
Ngày tháng ghi cụ thể và rõ ràng trong từng thời điểm công việc.
Nội dung khái quát nhưng thể hiện chính xác công việc cần làm trong thời gian đó.
5.2. Sản phẩm:
Được viết ra một cách cụ thể bằng các biên bản hoặc báo cáo trực tiếp từ người có trách nhiệm.
Trách nhiệm và Kết quả:
Người được giao trách nhiệm thực hiện đúng và nhiệt tình với công việc cần làm.
Kết quả được yêu cầu theo một mức nhất định, được đánh giá bởi toàn nhóm thông qua nhóm trưởng.
Báo cáo toàn bộ và thiết kế Slide giới thiệu sản phẩm.
5.3. Kế hoạch xây dựng và phát triển phần mềm
5.3.1. Triển khai khảo sát các cửa hàng đĩa
Tham khảo cách sắp xếp, phân chia các thể loại đĩa khác nhau.
Thu thập cả các thông tin như cách đánh mã số, mục đích, cách thức,…
Tìm hiểu các hóa đơn nhập xuất đĩa.
5.3.2. Nghiên cứu các khảo sát
Sau khi khảo sát, tập trung đưa ra các đặc tả yêu cầu để phân tích thiết kế.
Toàn nhóm sẽ nghiên cứu các mục của các khảo sát để thống kê các bộ, các thuộc tính và quan hệ để tiến tới xây dựng lược đồ thực thể liên kết và mô hình quan hệ.
Các khảo sát cũng sẽ được phân chia rõ ràng cụ thể từng phần, các thành viên sẽ nghiên cứu các phần khác nhau và thống nhất bởi nhóm trưởng.
5.3.3. Thiết kế Cơ sở dữ liệu
Thành viên được giao trách nhiệm lập trình chính sẽ định hướng dựa theo các nghiên cứu khảo sát.
Các thành viên còn lại sẽ đồng thời theo dõi, góp ý, chỉnh sửa và bổ sung cho CSDL, đảm bảo tính chính xác tối đa cho CSDL sẽ được tạo.
5.3.4. Báo cáo và thiết kế Slide Show
Báo cáo:
Các thành viên có trách nhiệm với từng phần sẽ đưa ra các báo cáo chi tiết của phần đó.
Báo cáo sẽ được tổng hợp và kết hợp giải thích song song với CSDL được tạo.
Dưới sự tổng hợp của nhóm trưởng và góp ý, bổ sung của thành viên, báo cáo sẽ được kết hợp một cách hoàn thiện nhất.
Slide Show:
Sẽ được thiết kế bằng PowerPoint 2003.
Dựa theo báo cáo chi tiết đã được đưa ra, chọn lọc các thành phần chính, mục tiêu để đưa ra những nổi bật của CSDL được tạo.
Nhóm trưởng tổng hợp và góp ý của thành viên, Slide sẽ được hoàn thiện.
II) Nội dung
PHỤ LỤC 2: BIÊN BẢN KHẢO SÁT
Hôm nay, vào lúc 13 giờ ngày 05 tháng 02 năm 2011, Nhóm 1 đã tiến hành đi khảo sát để phục vụ cho bài tập lớn môn Đồ án CSDL tại:
Cửa hàng: Heaven.
Địa chỉ: 668 đường Láng – Đống Đa – Hà Nội.
I) Thành phần khảo sát:
Nguyễn Vũ Vi Vi - Nhân viên bán hàng.
Hứa Thanh Tùng - Đại diện nhóm.
Nguyễn Minh Khiêm - Đại diện nhóm.
II) Nội dung khảo sát:
1. Thông tin chung:
Họ tên: Nguyễn Vũ Vi Vi.
Năm sinh: 1985.
Nghề nghiệp: Nhân viên cửa hàng đĩa.
Địa chỉ thường trú: 186 Yên Hoà – Cầu Giấy – Hà Nội.
2. Tiến hành khảo sát:
2.1. Hình thức kinh doanh:
2.1.1. Bán lẻ:
Bán lẻ trực tiếp từng sản phẩm đến người dùng cuối.
Khách hàng chính: Cá nhân.
Số lượng: 1 đến 20 đĩa.
Hình thức thanh toán: Tiền mặt.
Cách thức mua hàng:
Liên hệ qua điện thoại (Số lượng từ 10 đĩa trở lên).
Đến trực tiếp tại cửa hàng.
Phương thức đưa hàng:
Chuyển hàng tận nơi.
Khách nhận đĩa ngay tại cửa hàng.
Giá bán: phụ thuộc vào giá bán lẻ từng loại đĩa (8.000 – 200.000 VND/1 đĩa).
Đánh giá phương thức bán hàng:
Ưu điểm: Rủi ro thấp, vốn ít, dễ quản lý.
Nhược điểm: Hàng bán không được nhiều, nhiều đối thủ cạnh tranh, lợi nhuận thấp.
2.1.2. Bán trực tuyến:
Bán trực tuyến (sell online) là hình thức khá mới của cửa hàng vừa có thể trực tiếp quảng bá cũng như bán hàng thông qua Internet.
Khách hàng chính: Cá nhân, Công ty vừa và nhỏ,…
Số lượng: 20 đến 1000 đĩa.
Cách thức mua hàng:
Đặt hàng trên website của cửa hàng.
Đặt hàng thông qua shop của cửa hàng trên các website thương mại điện tử như: chodientu.vn, vatgia.com, 123mua.vn, enbac.com,…
Hình thức thanh toán:
Tiền mặt: Trả 100% chi phí + tiền vận chuyển.
Chuyển khoản ngân hàng: Trả trước 70% chi phí + tiền vận chuyển.
Ví điện tử online: V-Cash, Nganluong.vn,…
Phương thức đưa hàng:
Chuyển hàng tận nơi.
Khách nhận đĩa ngay tại cửa hàng.
Giá bán: phụ thuộc vào số lượng đĩa (8.000 – 200.000 VND/1 đĩa).
Từ 10 đến 50 đĩa: giảm 5%.
Từ 50 đến 500 đĩa: giảm 10%.
Trên 500 đĩa: giảm 15%.
Đánh giá phương thức bán hàng:
Ưu điểm: Có thể không cần mặt bằng, tiết kiệm thời gian cho khách hàng, hàng bán được nhiều, dễ quản lý.
Nhược điểm: Rủi ro tương đối cao, vốn nhiều, nhiều cạnh tranh.
2.2. Mặt hàng kinh doanh:
Đĩa trò chơi dành cho các thể loại máy khác nhau được đánh mã G+Tên thể loại bao gồm:
Đĩa PC: dành để cài đặt cho các máy vi tính cá nhân.
Đĩa PS2: dành cho dòng máy PlayStation 2 của Sony.
Đĩa Xbox: dành cho dòng máy Xbox 360, Xbox Live của Microsoft.
Đĩa Wii: dành cho dòng máy Wii của Nintendo.
Đĩa phần mềm gồm các phiên bản hệ điều hành và các phần mềm thông dụng được đánh mã S+Tên thể loại bao gồm:
Đĩa hệ điều hành: gồm các phiên bản hệ điều hành Windows từ Windows 98 đến Windows 7 và các phiên bản Linux ít phổ thông: Fedora, Ubuntu,…
Đĩa phần mềm tiện ích: gồm các đĩa phần mềm tiện ích khối văn phòng như bộ Microsoft Office, HTKK Thuế,… và các phần mềm chuyên dụng phục vụ khối thiết kế như Adobe Photoshop, AutoCAD, CorelDRAW,…
Ngoài ra gồm các đĩa phần mềm p
Các file đính kèm theo tài liệu này:
- Xây dựng Cơ sở dữ liệu quản lý xuất nhập đĩa cho các cửa hàng vừa và nhỏ, áp dụng cho Cửa hàng đĩa Heaven.doc