Đề tài Thiết kế cơ sở dữ liệu quản lí vật tư ở xí nghiệp

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.

doc9 trang | Chia sẻ: vietpd | Lượt xem: 1368 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Đề tài Thiết kế cơ sở dữ liệu quản lí vật tư ở xí nghiệp, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trê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 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ệ (1.n) ) (1.n) ) Của Ngày nhập Số phiếu macty tencty Phiếu nhập Cung ứng diachi Xuất dienthoai Nhập Danh mục vật tư Vật tư tồn Soluong dongia nhập Người tenvt mavt giatri soluong Donvi tinh soluong n madv dongia sophieu tendv ngayxuat diachi cho n Đơn vị Phiếu xuất nguoixuat dienthoai b) Sơ đồ dòng dữ liệu Thông tin hợp đồng Nơi cung ứng Hợp đồng Nhận hợp đồng nhập D2 File nơi cung ứng Trạng thái hợp đồng Hợp lệ File vật tư Hợp dồng Xuất Viết phiếu xuất Đơn vị xuất vật tư Nhận hợp đồng xuất File đơn vị xuất Trang thái đơn vị D3 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ệ 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) 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(sophieu, 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 + 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ư])); + 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 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 );
Tài liệu liên quan