Professional Documents
Culture Documents
BT-QL Mua Ban
BT-QL Mua Ban
MÔN HỌC HỆ
CƠ SỞ DỮ
LIỆU
ĐỀ TÀI: QUẢN LÝ MUA BÁN
1
A. PHỤ LỤC
2
B. NỘI DUNG
Ngày nay, hoạt động trao đổi buôn bán không còn xa lạ với
chúng ta, với tốc độ phát triển một cách mạnh mẽ các ngành nghề
kéo theo buôn bán kinh doanh cũng phát triển theo. Cũng suất phát
từ đó 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.
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:
3
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
xuất, đơn giá, số lượng tồn kho.
Cá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.
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.
5
-
HDNHAP
- sohdnhap(khóa chính)
- ngaynhap
- makh(khóa ngoại)
HDXUAT
- sohdxuat(khóa chính)
- makh (khóa ngoại)
- ngayxuat
3. Các mối quan hệ
a. Giữa khách hàng (đại lý) và hóa đơn
nhập (hóa đơn mua hàng của cửa hàng)
KHACHANG HDNHAP
6
Một khách hàng hay một đại lý thì có thể bán cho cửa hàng của
chúng ta một hoặc nhiều lần cần thiết và sẽ có một hoặc nhiều
hóa đơn , tuy nhiên một hóa đơn nhập hàng của cửa hàng
chúng ta thì lại là của một và chỉ một đại lý duy nhất.
KHACHANG HDXUAT
Một khách hàng hay một đại lý thì có thể mua một hoặc nhiều mặt
hàng từ cửa hàng của chúng ta và sẽ có một hoặc nhiều hóa đơn ,
tuy nhiên một hóa đơn bán hàng của cửa hàng chúng ta thì lại là của
một và chỉ một đại lý duy nhất.
MATHANG HDNHAP
7
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:
CTNHAP
- sohdnhap (khóa chính)
- mamh (khóa chính)
- soluong
- dg
- vat
- tt
MATHANG HDXUAT
8
Trong 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:
CTNHAP
- sohdxuat (khóa chính)
- mamh (khóa chính)
- soluong
- dg
- vat
- tt
4.Xây dựng mô hình thực thể kết hợp
9
III. MÔ HÌNH QUAN HỆ
KHACHHANG (makh,tenkh,diachi,daidien)
MATHANG (mamh, tenmh, dvt, mota, nsx,
dongia, slton)
HDNHAP (sohdnhap,ngaynhap,makh,tongtien)
HDXUAT (sohdxuat, ngayxuat, makh,tongtien)
SDT (makh, sdt)
FAX (makh, fax)
EMAIL (makh, email)
CTNHAP (sohdnhap, mamh, soluong, dg, vat,
tt)
CTXUAT (sohdxuat, mamh, soluong, dg, vat,
tt)
IV. CÁC RÀNG BUỘC
1.KHACHHANG
Với r là một quan hệ của khách hàng ta có các
ràng buộc toàn vẹn sau:
R 1: t 1, t 2 € r
t1.MAKH ≠ t2.MAKH
10
R1 Thêm Xóa Sửa
R + - +
R2: t € r
t.tenkh is not null
R2: t € r
t.tenmh is not null
14
5.CTNHAP
Với r là một quan hệ của CTNHAP ta có các
ràng buộc toàn vẹn sau:
R 1: t 1, t 2 € r
t1. sohdnhap, mamh ≠ t2. sohdnhap, mamh
R1 Thêm Xóa Sửa
R + - +
R2: t € r
t.soluong is not null
R4: t € r
t.VAT is not null
R5: t € r
t.tt is not null
16
R3 Thêm Xóa Sửa
R + - +
R4: t € r
t.VAT is not null
R5: t € r
t.tt is not null
7.EMAIL
Với r là một quan hệ của EMAIL ta có các ràng
buộc toàn vẹn sau:
R 1: t 1, t 2 € r
t1. makh ≠ t2. makh
17
R1 Thêm Xóa Sửa
R + - +
8.FAX
Với r là một quan hệ của FAX ta có các ràng
buộc toàn vẹn sau:
R 1: t 1, t 2 € r
t1. makh ≠ t2. makh
R1 Thêm Xóa Sửa
R + - +
9.Với r là một quan hệ của EMAIL ta có các ràng
buộc toàn vẹn sau:
R 1: t 1, t 2 € r
t1. makh ≠ t2. makh
R1 Thêm Xóa Sửa
R + - +
V. ĐẠI SỐ QUAN HỆ
Liệt kê tên các kh mua loại hàng có mã F5
18
Ptenkh(KHACHHANG mamh=mamh
smamh=‘F5’(MATHANG))
liệt kê các mặt hàng có đơn giá =5tr
sdongia=5tr (MATHANG)
Liệt kê các công ty nhập & xuất có số lượng bằng
nhau
HDNHAP HDXUAT
soluong=soluong
19
NAME=BH1_data,
filename='D:\tieuluan\BH1.mdf',
SIZE=10,MAXSIZE=50,FILEGROWTH=15%
),
(
NAME=BH2_data,
filename='D:\tieuluan\BH2.ndf',
SIZE=10,MAXSIZE=50,FILEGROWTH=15%),
FILEGROUP BH1group
(
NAME=BH3_data,
FILENAME='D:\tieuluan\BH3.ndf',
SIZE=10,MAXSIZE=50,FILEGROWTH=5%)
LOG ON
(
NAME=BH_log,
FILENAME='D:\tieuluan\BH.ldf',
SIZE=5,
MAXSIZE=25,
FILEGROWTH=5%)
drop table mathang
use banhang
drop table ctxuat
--tạo bảng khách hàng
create table KHACHHANG
( MAKH char(5)not null PRIMARY KEY,
TENKH Varchar(30) NOT NULL,
DIACHI Varchar(40),
20
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 ,
tt 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 ,
21
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
22
--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
SELECT 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)+
(soluong*dg*vat)/100)
AS AVGTOTAL FROM ctnhap
GROUP BY sohdnhap
23
--Cho biết các sản phẩm có đơn giá cao nhất
SELECT *
FROM mathang
WHERE dongia>= ALL
(SELECT dongia FROM mathang)
25