ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
BÀI BÁO CÁO THIẾT KẾ CƠ SỞ DỮ LIỆU
QUẢN LÍ VẬT TƯ Ở XÍ NGHIỆP
A: Đề tài: Thiết kế cơ sở dữ liệu quản lí vật tư ở xí nghiệp gồm các nội dung:
1. Khảo sát phân tích quy chế, quy định, cách tính, bảng biểu, báo cáo
quản lí vật tư
2. Lập mô hình thực thể quan hệ và sơ đồ dòng dữ liệu
3. Thiết kế lược đò cơ sở dữ liệu đạt dạng chuẩn 3 hoặc boyce-code
4. Nhập dữ liệu test 1 tháng cho 20 loại vật tư, 20 phiếu nhập, 20 phiếu
xuất vật tư
5. Viết các câu truy vấn lên các bảng kê nhập xuất vật tư, báo cáo nhập
xuất tồn theo quý,theo năm và các yêu cầu khác
6. Cài đặt CSDL cho hệ quản trị CSDL ACCESS
B: NÔỊ DUNG BÁO CÁO
1. Khảo sát
Ngày nay, khi đời sống của con người ngày càng được nâng cao, thì nhu cầu
về nhà ở càng trở nên phát triển mạnh. Nhiều ngôi nhà, khu trung cư mọc lên với
chất lượng tốt đẹp. Vì thế mà nhiều cửa hàng, xí nghiệp kinh doanh vật liệu xây
dựng mở lên, bán những vật liệu tốt, bền, đẹp.
Qua khảo sát tình hình quản lí vật tư ở một số xí nghiệp, cửa hàng. Thực tế
đã cho thấy hầu hết các xí nghiệp đều dùng phương pháp thủ công là ghi chép
để quản lí vật tư. Việc quản lí như vậy sẽ làm hiệu quả của công việc không
cao, thiếu tính khoa học, khi cần tìm hay truy cập dữ liệu sẽ rất khó khăn.
Để quản lí vật tư được dễ dàng hơn, đáp ứng được yêu cầu cấp thiết của
nhiều xí nghiệp kinh doanh vật tư, chúng em đã ứng dụng những hiểu biết của
SVTH : Nhóm 5 –Lớp 06SPT Trang:1
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
mình về nguyên lí xây dựng cơ sở dữ liệu và những quy định, cách thức quản
lí vật tư ở các xí nghiệp để thiết kế CSDL quản lí vật tư bằng ACCESS.
2. Phân tích quy chế
Hàng hoá nhập về phải đảm bảo nguồn gốc, có địa chỉ nhà cung cấp,giá
xuất cho các đơn vị khác phải đảm bảo lớn hơn hoặc bằng giá mặt hàng nhập
về. Số lượng hàng xuất đi phải đảm bảo nhỏ hơn hoặc bằng số lượng hàng có
trong kho cộng với số lượng hàng nhập về.
Các kiểu thực thể đó là:
- dmcungung
- dmvattu
- donvi
- nhap
- xuat
- phieunhap
- phieuxuat
- vattuton
3. Lập mô hình thực thể quan hệ và sơ đồ dòng dữ liệu
a) Sơ đồ thực thể quan hệ
SVTH : Nhóm 5 –Lớp 06SPT Trang:2
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
SVTH : Nhóm 5 –Lớp 06SPT Trang:3
Nh
ập
Danh mục
vật tư
Vật tư tồn
Soluong
dongia
nhập
Ngườ
i
tenvt
mavt
giatrisoluong
Donvi
tinh
soluong
n
c
h
o
Đơn vị
Xu
ất
diachi
nguoixu
at
sophieu
dienthoa
i
tendv
madv
Số
phiếu
Ngày
nhập
dongia
macty
tencty
diachi
Cung ứng Củ
a
dienthoa
i
Phiếu xuất
ngayxua
t
Phiếu
nhập
(1.n)
)
n
(1.n)
)
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
b) Sơ đồ dòng dữ liệu
SVTH : Nhóm 5 –Lớp 06SPT Trang:4
Kiểm tra vật
tư
D1
Viết phiếu
nhập
Thông tin vật tư
Trạng thái vât tư
Thông tin đơn vị
Nhập
Hợp lệ
Hợp lệ
Nơi cung ứng
Nhận hợp
đồng nhập
File nơi cung ứng
File vật tư
File đơn vị xuất
D2
Viết phiếu
xuất
Hợp đồng
Thông tin hợp đồng
Trạng thái hợp đồng
D3
Hợp lệ
Trang thái đơn vị
Đơn vị xuất vật
tư
Nhận hợp
đồng xuất
Hợp dồng
Xuất
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
3. Thiết kế lược đồ cơ sở dữ liệu
+ Kiểu thực thể DMCUNGUNG có các thuộc tính:
- macty(mã của công ty cung ứng vật tư)
- tencty(tên công ty cung ứng vật t ư)
- diachi(địa chỉ công ty)
- dienthoai(điện thoại công ty)
+ Kiểu thực thể DMVATTU có các thuộc tính:
- mavt(mã của vật tư nhập về)
- tenvt(tên vật t ư)
- donvitinh(đon vi tính (cái, tấn, kg…))
+ Kiểu thực thể DONVI có các thuộc tính:
- madv(mã đơn vị mà cửa hang xuất ra)
- tendv(tên đơn vị mà cửa hàng xuất ra)
- diachi(địa chỉ của đơn vị mà của hàng xuất ra)
-dienthoai(số điện thoại của đơn vị đó)
+ Kiểu thực thể nhập có các thuộc tính
Sophieu(số phiếu nhập)
Mavt(mã vật tư cần nhập)
Soluong(số lượng vật tư nhập vào)
Dongia(đơn giá của các mặt hàng nhập vào)
+ Kiểu thực thể PHIEUNHAP có các thuộc tính:
Sophieu( số phiếu nhập)
Macty(mã công ty của mặt hàng nhập)
Ngaynhap( ngày nhập)
Người nhap( người nhập)
+ Kiểu thực thể XUAT có các thụôc tính:
Sophieu(số phiếu xuất)
Mavt(mã vật tư xuất)
Soluong(số lượng xuất)
Dongia(giá trị mỗi mựt hàng khi xuất)
+ Kiểu thực thể PHIEUXUAT có các thuộc tính:
Sophieu(số phiếu xuất)
SVTH : Nhóm 5 –Lớp 06SPT Trang:5
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
Ngayxuat( ngày xuất)
Nguoixuat( người xuất)
+ Kiểu thực thể VATTUTON có các thuộc tính:
Tenvt(tên vật tư tồn),
Soluong( số lượng vật tư tồn)
Giatri( gái trị vật tư tồn)
Từ mô hình thực thể quan hệ ta có lược đồ cơ sở dữ liệu quan hệ như sau:
Dmcungung(macty, tencty, diachi, dienthoai)
Dmvattu(mavt, tenvt, donvitinh)
Donvi(madv, tendv, diachi, dienthoai)
Nhap(sophieu, mavt, soluong, dongia)
Phieunhap(s ophie u , macty, ngaynhap, nguoinhap)
Xuat(sophieu, mavt, soluong, dongia)
Phieuxuat(sophieu, madv, ngayxuat, nguoixuat)
Vattuton(mavt,tenvt, soluong, donvitinh)
4. Viết các câu truy vấn
+ Câu truy vấn cho vật tư tồn
SELECT
dmvattu.mavt, vattuton.tenvt, +nhap!soluong+xuat!soluong-
vattuton!soluong AS [số lượng tồn], xuat!dongia*[số lượng tồn]
AS[thànhtiền]
From dmvattu ((INNER JOIN nhap ON dmvattu.mavt= nhap.mavt)
INNER JION vattuton ON dmvattu.mavt = vattuto.mavt) INNER
JOIN xuat
ON dmvatt.mavt= xuat.mavt,
+ Câu truy vấn lãi suất của từng mặt hàng trong tháng
SELECT DISTINCT dmvattu.mavt, dmvattu.tenvt, Sum(xuat!soluong*xuat!
dongia-xuat!soluong*nhap!dongia) AS [lãi suất]
FROM (dmvattu INNER JOIN nhap ON dmvattu.mavt=nhap.mavt) INNER JOIN
xuat ON dmvattu.mavt=xuat.mavt
SVTH : Nhóm 5 –Lớp 06SPT Trang:6
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
+ Câu truy vấn các mặt hàng đã nhập
SELECT
phieunhap.sophieu, phieunhap.macty, nhap.mavt, phieunhap.ngaynhap,
phieunhap.nguoinhap,nhap.soluong,nhap.dongia, nhap!soluong*nhap!dongia
AS [thành tiền]
FROM phieunhap INNER JOIN nhap ON phieunhap.sophieu = nhap.sophieu;
+ Câu truy vấn các mặt hàng đã xuất
SELECT
phieuxuat.sophieu, phieuxuat.madv, xuat.mavt, phieuxuat.ngayxuat,
phieuxuat.nguoixuat, xuat.soluong, xuat.dongia,
xuat!soluong*xuat!dongia AS [thành tiền]
FROM
phieuxuat INNER JOIN xuat ON phieuxuat.sophieu = xuat.sophieu;
+ Câu truy vấn tìm mã công ty cung ứng vật tư
SELECT dmvattu.mavt, dmvattu.tenvt, dmcungung.tencty
FROM(dmcungung INNER JOIN phieunhap ON dmcungung.macty =
phieunhap.macty) INNER JOIN (dmvattu INNER JOIN nhap On
dmvattu.mavt=nhap.mavt) ON phieunhap.sophieu = nhap.sophieu
GROUP BY dmvattu.mavt, dmvattu.tenvt, dmcungung.tencty, dmcungung.macty
HAVING (((dmcungung.macty)=[nhập mã công ty]));
+ Câu truy vấn tìm vật tư khi biết mã vật tư đó
SELECT dmvattu.mavt, dmvattu.tenvt, nhap.sophieu, nhap.soluong,
nhap.dongia,
xuat.sophieu, xuat.soluong, xuat.dongia
FROM (dmvattu INNER JOIN nhap ON dmvattu.mavt = nhap.mavt) INNER
JOIN xuat ON dmvattu.mavt = xuat.mavt
WHERE (((dmvattu.mavt)=[nhập mã vật tư]));
SVTH : Nhóm 5 –Lớp 06SPT Trang:7
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
+ Câu truy vấn tìm vật tư theo tên người nhập
SELECT nhap.mavt, nhap.soluong, phieunhap.ngaynhap
FROM phieunhap INNER JOIN nhap ON phieunhap.sophieu =
nhap.sophieu
WHERE (((phieunhap.nguoinhap)=[nhap ten nguoi nhap]));
+ Câu truy vấn số lần nhập vật tư của từng nhân viên
SELECT nguoinhap, count(nguoinhap) AS [so lan nhap]
FROM Q_nhap
GROUP BY nguoinhap;
+ Câu truy vấn số lần xuất vật tư của từng nhân viên
SELECT nguoixuat, COUNT(nguoixuat) AS [số lần xuất]
FROM Q_xuat
GROUP BY nguoixuat;
+ Câu truy vấn tìm vật tư chỉ do một công ty cung ứng
SELECT tenvt, COUNT(tencty) AS [số công ty cung ứng]
FROM dmvattu INNER JOIN ((dmcungung INNER JOIN phieunhap ON
dmcungung.macty=phieunhap.macty) INNER JOIN nhap ON
phieunhap.sophieu=nhap.sophieu) ON dmvattu.mavt=nhap.mavt
GROUP BY tenvt
HAVING COUNT(tencty)=1;
+ Câu truy vấn tìm vật tư do nhiều công ty cung ứng
SELECT tenvt, COUNT(tencty) AS [số công ty cung ứng]
FROM dmvattu INNER JOIN ((dmcungung INNER JOIN phieunhap ON
dmcungung.macty=phieunhap.macty) INNER JOIN nhap ON
SVTH : Nhóm 5 –Lớp 06SPT Trang:8
ĐỀ TÀI QUẢN LÍ VẬT TƯ GVHD: PGS.TSKH TRẦN QUỐC CHIẾN
phieunhap.sophieu=nhap.sophieu) ON dmvattu.mavt=nhap.mavt
GROUP BY tenvt
HAVING COUNT(tencty)>1;
+ Câu truy vấn quản lý số phiếu và nơi cung ứng của từng vật tư
TRANSFORM Count(Q_nhap.sophieu) AS CountOfsophieu
SELECT Q_nhap.mavt, Count(Q_nhap.sophieu) AS [tổng số phiếu]
FROM Q_nhap
GROUP BY Q_nhap.mavt
+ Câu truy vấn tìm đơn giá nhập max
SELECT mavt, dongia
FROM Q_nhap
WHERE dongia=
(SELECT max(dongia) as [đơn giá nhập max]
FROM Q_nhap );
+ Câu truy vấn tìm đơn giá nhập min
SELECT mavt, dongia
FROM Q_nhap
WHERE dongia=
(SELECT MIN(dongia) as [đơn giá nhập MIN]
FROM Q_nhap );
+ Câu truy vấn tìm đơn giá xuất max
SELECT mavt, dongia
FROM Q_xuat
WHERE dongia=
(SELECT MAX(dongia) AS [đơn giá xuất max]
FROM Q_xuat );
+ Câu truy vấn tìm đơn giá xuất min
SELECT mavt, dongia
FROM Q_xuat
WHERE dongia=
(SELECT MIN(dongia) AS [đơn giá xuất min]
FROM Q_xuat );
SVTH : Nhóm 5 –Lớp 06SPT Trang:9