Tiểu luận môn học hệ cơ sở dữ liệu: Quản lý mua bán
Trang 1TIỂU LUẬN MÔN HỌC HỆ
CƠ SỞ DỮ
LIỆU
ĐỀ TÀI: QUẢN LÝ MUA BÁN
GVHD: Trần Thị Kim Chi Sinh viên thực hiện:
Trang 2A PHỤ LỤC
I.GIỚI THIỆU ĐỀ TÀI
1 Mụch đích chọn đề tài
2 Yêu cầu đề tài
II XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP 1.Kiểu thực thể
Trang 3từ đó vấn đề quản lí dữ liệu đã cần được quan tâm phát triển Ví dụ việc quản lý xuất nhập hàng, mua bán hàng hóa va quản lý tồn kho, những vấn đề này cần được thực hiện một cách chính xác, chặt chẽ Nhưng để tổ chức quản lý những công việc trên bằng phương pháp thủ công ghi chép thì không phải là một công việc đơn giản, không phải ai cũng làm được mà cần phải có một kỹ năng nghiệp vụ và cần
1 hệ thống, 1 cơ sở dữ liệu quản lý chặt chẽ và chính xác để vịêc mua bán kinh doanh thụân tịên hơn, và nhất là không dẫn đến những thiệt hại cho hoạt động buôn bán Vậy nên phương pháp thủ công này thì mất nhiều công sức và dễ bị nhầm lẫn.Vì lý do đó nhóm em chọn đề tài này để thực hành vịêc kinh doanh, quản lý vịêc mua bán, trau dồi kinh nghiệm và nhất là cách xây dựng 1 csdl bằng việc ứng dụng công nghệ thông tin.
2 yêu cầu đề tài
Công ty ABC cần quản lý việc mua bán các mặt hàng cho các đại lý với mô tả như sau:
Mỗi mặt hàng cần được lưu trữ các thông tin cơ bản sau: mã hàng (không trùng nhau), tên hàng, đơn vị tính, mô tả, tên nhà sản
Trang 4Các đại lý bán/mua hàng cũng cần được lưu lại các thông tin như: Mã số đại lý (không trùng nhau), tên đại lý, địa chỉ của đại lý, số điện thoại, số Fax, địa chỉ Email, tên người đại diện.
Dữ liệu bán/mua cần được lưu trữ riêng biệt.
Mỗi lần bán/mua hàng: công ty cần lưu lại thông tin từ các hoá đơn bán/mua bao gồm các thông tin: số hoá đơn, ngày bán/mua, họ tên và địa chỉ của người mua/ người bán (đại lý), tổng số tiền mua/bán, số tiền thuế VAT, tổng số tiền sau khi đã tính thuế, người lập phiếu (người phụ trách việc mua/bán).
Bên cạnh các thông tin trên, công ty cũng cần lưu lại thông tin chi tiết của từng hoá đơn như: số hoá đơn, mã hàng đươc bán/mua,
số lượng bán/mua, đơn giá của từng mặt hàng
Yêu cầu được đề ra là xây dựng cơ sở dư cho cty qản lý vịêc mua bán với các đại lý sỉ, lẻ dễ dàng, thụân tiện cho việc qản lý, giảm chi phí do tiền chi cho nhân công, tránh các thiệt hại không đáng có do sai sót của người quản lý.
II XÂY DỰNG MÔ HÌNH THỰC THỂ KẾT HỢP
Trang 6nhập (hóa đơn mua hàng của cửa hàng)
b Giữa khách hàng (đại lý) và hóa đơn xuất (hd bán hàng của cửa hàng)
Trang 7Sohdxuat Ngaynhap makh
Trong một hóa đơn nhập hàng (hd mua hàng của đại lý ) thì
có thể có nhiều mặt hàng trong đó và ngược lại một mặt hàng thì cũng có thể có mặt trong nhiều hóa đơn nhập khác nhau vì vậy xuất hiện mối quan hệ nhiều nhiều yêu cầu ta phải đưa về quan hệ một nhiều bằng cách thêm một quan hề khác đó là chi tiết hóa đơn nhập (CTNHAP) gồm các thuộc tính sau:
Trang 8Trong một hóa đơn xuất hàng (hd bán hàng của đại lý ) thì có thể có nhiều mặt hàng trong đó và ngược lại một mặt hàng thì cũng
có thể có mặt trong nhiều hóa đơn xuất khác nhau vì vậy xuất hiện mối quan hệ nhiều nhiều yêu cầu ta phải đưa về quan hệ một nhiều bằng cách thêm một quan hề khác đó là chi tiết hóa đơn xuất (CTXUAT) gồm các thuộc tính sau:
Trang 10 EMAIL (makh, email)
CTNHAP (sohdnhap, mamh, soluong, dg, vat, tt)
CTXUAT (sohdxuat, mamh, soluong, dg, vat, tt)
t.tenkh is not null
2.MATHANG
Với r là một quan hệ của mặt hàng ta có các ràng buộc toàn vẹn sau:
Trang 11t.tenmh is not null
R3: t € r
t.dongia is not null
Trang 12Với r là một quan hệ của hóa đơn nhập ta có các ràng buộc toàn vẹn sau:
t.ngaynhap is not null
Trang 13Với r là một quan hệ của hóa đơn xuất ta có các ràng buộc toàn vẹn sau:
t.ngayxuat is not null
R3 : t € r
t.tongtien is not null
Trang 14Với r là một quan hệ của CTNHAP ta có các ràng buộc toàn vẹn sau:
R1: t1, t2 € r
t1 sohdnhap, mamh ≠ t2 sohdnhap, mamh
R2: t € r
t.soluong is not null
t.VAT is not null
R5: t € r
t.tt is not null
Trang 15R5 Thêm Xóa Sửa
t1 sohdxuat, mamh ≠ t2 sohdxuat, mamh
R2: t € r
t.soluong is not null
t.VAT is not null
Trang 18 Liệt kê những khách hàng mua mặt hàng là ‘ca’
Sohdxuat=Sohdxuat
VI TRUY VẤN SQL
tạo cơ sở dữ liệu bán hàng
CREATE DATABASE banhang
Trang 19create table KHACHHANG
( MAKH char ( 5 )not null PRIMARY KEY ,
TENKH Varchar ( 30 ) NOT NULL,
DIACHI Varchar ( 40 ),
DAIDIEN VARCHAR ( 30 ) )
tạo bảng mặt hàng
create table MATHANG
( mamh char ( 5 ) not null PRIMARY KEY ,
tenmh Varchar ( 20 ) unique not null,
dvt char ( 10 )not null,
mota VARCHAR ( 20 ),
nsx DateTime NOT NULL,
dongia smallmoney not null,
slton int
)
tạo bảng chi tiết nhập hàng hóa
create table ctnhap
( sohdnhap int identity not null,
mamh char ( 5 ) not null,
soluong int not null,
dg smallmoney ,
vat float
Trang 20tt as (( soluong * dg )+( soluong * dg * vat )/ 100 ),
primary key ( sohdnhap , mamh ) )
tạo bảng chi tiết xuất hàng hóa
create table ctxuat
( sohdxuat int identity not null,
mamh char ( 5 ) not null,
soluong int not null, dg smallmoney ,
vat float
tt as (( soluong * dg )+( soluong * dg * vat )/ 100 ),
primary key ( sohdxuat , mamh ) )
tạo bảng hóa đơn nhập
create table hdnhap
( sohdnhap int identity not null primary key ,
makh char ( 5 ) foreign key references khachhang ( makh ),
ngaynhap DateTime NOT NULL DEFAULT ( GetDate ()),
tongtien float
)
tạo bảng hóa đơn xuất
create table hdxuat
( sohdxuat int identity not null primary key ,
makh char ( 5 ) foreign key references khachhang ( makh ),
ngayxuat DateTime NOT NULL DEFAULT ( GetDate ()),
tongtien float
)
tạo bảng số điện thoại của khách hàng
create table sdt
Trang 21( makh char ( 5 ) primary key ,
sodt char ( 12 ) )
tạo bảng địa chỉ email của khách hàng
create table email
( makh char ( 5 ) primary key ,
email char ( 40 ) )
tạo bảng số fax của khách hàng
create table fax
( makh char ( 5 ) primary key ,
fax char ( 20 ) )
các câu lệnh truy vấn
Cho biết hai mặt hàng có cùng đơn giá
SELECT mh1 tenmh , mh2 tenmh , mh1 dongia
FROM mathang mh1 , mathang mh2
WHERE mh1 dongia = mh2 dongia
Danh sách các hoá đơn gồm Mahd, tenkh
SELECT h makh , tenkh
FROM hdnhap h , khachhang k
WHERE h makh = k makh
Cho biết tổng tiền xuất của từng khách hàng
SELECT makh , SUM (( soluong * dg )+( soluong * dg * vat )/ 100 )
AS Total FROM ctxuat c , hdxuat h
where c sohdxuat = h sohdxuat
GROUP BY makh
Cho biết tổng tiền của từng hóa đơn
Trang 22SELECT sohdnhap , SUM (( soluong * dg )+
( soluong * dg * vat )/ 100 )
AS Total FROM ctnhap
GROUP BY sohdnhap
Cho biết trung bình thu được theo từng hóa đơn
SELECT sohdnhap , AVG (( soluong * dg )+
WHERE dongia >= ALL
( SELECT dongia FROM mathang )
Cho biết các sản phẩm có đơn vị tính có chữ cai và
có đơn giá cao nhất
SELECT *
FROM mathang
WHERE dvt like '%cai%' and
dongia >= ALL ( SELECT dongia FROM mathang )
liệt kê những khách hàng cùng địa chỉ
select distinct a makh , a tenkh , a diachi
from khachhang a , khachhang b
where a makh != b makh and a diachi = b diachi ;
liệt kê nhữn khách hàng mua nhiều hơn 2 sản phẩm
select a makh , a tenkh , sosp = count ( c mamh )
from ctxuat c , khachhang a , hdxuat b
Trang 23where a makh = b makh and b Sohdxuat = c Sohdxuat
group by a makh , a tenkh
having count ( c mamh )>= 2 ;
liệt kê những mặt hàng còn tồn trong kho