Tải bản đầy đủ (.doc) (47 trang)

Đồ án quản lý kinh doanh Laptop

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (904.4 KB, 47 trang )


ĐẠ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: Nguyễn Duy Nhất
Sinh Viên: Nguyễn Hoàng Long K07406 1086
MỤC LỤC
1.Khảo sát hiện trạng:
1.1 Cơ cấu tổ chức:
1.2 Các nghiệp vụ
1.3 Hiện trạng tin học:
1.4 Các yêu cầu
2. Xây dựng CSDL lưu trữ:
2.1 Giải quyết yêu cầu lưu trữ:
2.2 Ràng buộc toàn vẹn
2.3 Phụ thuộc hàm
2.4 Chuẩn hóa CSDL
.......................................................
Nội dung
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
Nội dung đồ án:
1. Khảo sát hiện trạng thực tế


2. Xây dựng, thiết kế CSDL lưu trữ (SQL server database file đối với lưu trữ cho
chương trình giao diện - Demo) và truy vấn SQL
3. Xây dựng giao diện người dùng (C#)
Quy định về CSDL:
1. Trong quá trình xây dựng CSDL sẽ kèm theo một số quy định, những quy định
này sẽ xuất phát từ yêu cầu khảo sát thực trạng và yêu cầu thao tác đơn giản cho
Nhân viên, cũng như tính đơn giản cho nhân viên quản trị khi điều hành và viết
chương trình.
2. Những quy định này như: Một nhân viên chỉ dùng 1 số điện thoại để liên hệ, hay
một khách hàng, một nhà cung cấp chỉ dùng 1 địa chỉ giao hàng, … Tuy nhiên
các quy định này sẽ được làm rõ khi ta tiến hành chuẩn hóa CSDL. Phần đầu
tiên chúng ta sẽ không đề cập tới vấn đề quy định này cho tới khi quá trình kiểm
định CSDL cho thấy cần phải chuẩn hóa, và chúng ta sẽ chia làm 2 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 thay đổ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
1.Khảo sát hiện trạng:
1.1 Cơ cấu tổ chứ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
viên bán hàng)
1.2 Các nghiệp vụ: Chỉ khảo sát các nghiệp vụ khoanh vùng trong phạm vi nội
dung đồ án cần thực hiện:
1.2.1 Qui trình nghiệp vụ bán hàng:
[1] Giới thiệu hàng hóa cho khách hàng
[2] Khách hàng chọn hàng
[3] Kiểm tra hàng hóa tồn
[4.1] Xuất hàng cho khách hàng

[4.2] Quay lại bước [1] cho tới khi kết thúc bán hàng hoặc khách hàng
từ chối mua hàng khá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
[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
[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
1.2.7 Quản lý kho
[1] Quản lý số lượng và giá hàng tồn
[2] Qui trình kiểm hàng, xuất nhập hàng

1.3 Hiện trạng tin học:
-Do tính chất công ty nên các yêu cầu kỹ thuật đều đạt chuẩn:
+Phần cứng
+Phần mềm
-Riêng phần nhân sự cho nội dung đặt ra là xây dưng giao diện người dù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,…

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:
[3] Hàng hóa
[4] Hóa đơn bán hàng
[5] Hóa đơn mua hàng
[6] Quản lý khách hàng
[7] Loại hàng
[8] Nhà cung cấp
[9] Nhan vien
[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:
2.2 Ràng buộc toàn vẹn

2.2.1 Ràng buộc Khóa chính

(1) NhaCungCap:


t1,t2

NhaCungCap, t1

t2

t1.MaNCC

t2.MaNCC

R Thêm Xóa Sửa
NhaCungCap + - +(MaNCC)
(2) TTBaoHanh:


t1,t2

TTBaoHanh, t1

t2

t1. MaTTBH

t2. MaTTBH

R Thêm Xóa Sửa
TTBaoHanh + - +( MaTTBH)


(3) LoaiHang:


t1,t2

TTBaoHanh, t1

t2

t1. MaLoai

t2. MaLoai

R Thêm Xóa Sửa
LoaiHang + - +( MaLoai)

(4) HangHoa:


t1,t2

HangHoa, t1

t2

t1. MaHH

t2. MaHH


R Thêm Xóa Sửa
HangHoa + - +( MaHH)
(5) HoaDonMua:


t1,t2

HoaDonMua, t1

t2

t1. MaHD

t2. MaHD

R Thêm Xóa Sửa
HoaDonMua + - +( MaHD)
(6) HoaDonBan:


t1,t2

HoaDonBan, t1

t2

t1. MaHD

t2. MaHD


R Thêm Xóa Sửa
HoaDonBan + - +( MaHD)
(7) NhanVien:


t1,t2

NhanVien, t1

t2

t1. MaNV

t2. MaNV

R Thêm Xóa Sửa
NhanVien + - +( MaNV)
(8) KhachHang:


t1,t2

KhachHang, t1

t2

t1. MaKH

t2. MaKH


R Thêm Xóa Sửa
KhachHang + - +( MaKH)
2.2.2 Ràng buộc Khóa ngoại
(1) NhaCungCap – LoaiHang

t

LoaiHang,

!t’

NhaCungCap, t’.NhaCungCap = t.LoaiHang
R Thêm Xóa Sửa
LoaiHang + - +(MaNCC)
NhaCungCap - +
(2) TTBaoHanh – LoaiHang

t

LoaiHang,

!t’

TTBaoHanh, t’. TTBaoHanh = t.LoaiHang
R Thêm Xóa Sửa
LoaiHang + - +(MaTTBH)
TTBaoHanh - +
(3) LoaiHang - HangHoa

t


HangHoa,

!t’

LoaiHang, t’. LoaiHang = t. HangHoa
R Thêm Xóa Sửa
HangHoa + - +(MaLoai)
LoaiHang - +
(4) HangHoa - ChiTietHDMua

t

ChiTietHDMua,

!t’

HangHoa, t’. HangHoa = t. ChiTietHDMua
R Thêm Xóa Sửa
ChiTietHDMua + - +(MaHH)
HangHoa - +
(5) HangHoa - ChiTietHDBan

t

ChiTietHDBan,

!t’

HangHoa, t’. HangHoa = t. ChiTietHDBan

R Thêm Xóa Sửa
ChiTietHDBan + - +(MaHH)
HangHoa - +
(6) NhanVien - ChiTietHDBan

t

ChiTietHDBan,

!t’

NhanVien, t’. NhanVien = t. ChiTietHDBan
R Thêm Xóa Sửa
ChiTietHDBan + - +(MaNV)
NhanVien - +
(7) HoaDonMua - ChiTietHDMua

t

ChiTietHDMua,

!t’

HoaDonMua, t’. HoaDonMua = t. ChiTietHDMua
R Thêm Xóa Sửa
ChiTietHDMua + - +(MaHD)
HoaDonMua - +
(8) HoaDonBan - ChiTietHDBan

t


ChiTietHDBan,

!t’

HoaDonBan, t’. HoaDonBan = t. ChiTietHDBan
R Thêm Xóa Sửa
ChiTietHDBan + - +(MaHD)
HoaDonBan - +
(9) KhachHang - HoaDonBan

t

HoaDonBan,

!t’

KhachHang, t’. KhachHang = t. HoaDonBan
R Thêm Xóa Sửa
HoaDonBan + - +(MaKH)
KhachHang - +
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
R Thêm Xóa Sửa
ChiTietHDMua + + +(SLTon)
ChiTietHDBan + + +(SLTon)
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.
UPDATE HangHoa
SET SLTon = IsNull
((SELECT sum(SLMua)
FROM ChiTietHDMua
WHERE ChiTietHDMua.MaHH = HangHoa.MaHH) -
(SELECT sum(SLBan)
FROM ChiTietHDBan
WHERE ChiTietHDBan.MaHH = HangHoa.MaHH), (SELECT
sum(SLMua)
FROM ChiTietHDMua
WHERE 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)
R Thêm Xóa Sửa
ChiTietHD + + +(TongGiaTri)
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 HoaDonMua
SET TongGiaTri =
(SELECT SUM(SLMua * GiaMua)
FROM ChiTietHDMua
WHERE (MaHD = HoaDonMua.MaHD))
UPDATE HoaDonBan
SET TongGiaTri =
(SELECT SUM(SLBan * GiaBan)
FROM ChiTietHDBan
WHERE (MaHD = HoaDonBan.MaHD))
2.3 Phụ thuộc hàm

(1) NhaCungCap = {MaNCC, TenNCC, DiaChi, DienThoai}
F = {
MaNCC  TenNCC
MaNCC  DiaChi
MaNCC  DienThoai
}
(2) TTBaoHanh = {MaTTBH, DiaChi, DienThoai}
F = {
MaTTBH  DiaChi
MaTTBH  DienThoai

}
(3) LoaiHang = {MaLoai, MaNCC, MaTTBH}
F = {
MaLoai  MaNCC
MaLoai  MaTTBH
}
(4) HangHoa = {MaHH, TenHang, MaLH, Chip, Screen, Ram, HDD, VGA,
CDRW, SLTon, Gia, GiaBan}
F = {
MaHH  TenHang
MaHH  MaLH
MaHH  Chip
MaHH  Screen
MaHH  Ram
MaHH  HDD
MaHH  VGA
MaHH  CDRW
MaHH  SLTon
MaHH  Gia
MaHH  GiaBan
}
(5) ChiTietHDMua{MaHD, MaHH, SLMua, GiaMua}
F = {
MaHD, MaHH  SLMua,
MaHD, MaHH  GiaMua
}
(6) ChiTietHDBan{MaHD, MaHH, SLBan, GiaBan, MaNV}
F = {
MaHD, MaHH  SLBan
MaHD, MaHH  GiaBan

MaHD, MaHH  MaNV
}
(7) NhanVien{MaNV, TenNV, DiaChi, DienThoai}
F = {
MaNV  TenNV
MaNV  DiaChi
MaNV  DienThoai
}
(8) HoaDonMua{MaHD, MaNCC, TongGiaTri, NgayLap}
F = {
MaHD  MaNCC
MaHD  TongGiaTri
MaHD  NgayLap
}
(9) HoaDonBan{MaHD, MaNCC, TongGiaTri, NgayLap}
F = {
MaHD  MaKH
MaHD  TongGiaTri
MaHD  NgayLap
}
(10) KhachHang{MaKH, TenKH, DiaChi, DienThoai}
F = {
MaKH  TenNV
MaKH  TenKH
MaKH  DiaChi
MaKH  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}

×