Tải bản đầy đủ (.pdf) (7 trang)

Xây dựng Cơ sở dữ liệu quản lý mua bán sách

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 (410.14 KB, 7 trang )



HỌC VIÊN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Khoa: Công ngh thông tin




CƠ S D LIỆU




Đ ti: Xây dng Cơ s d liu qun l mua bn sch


Biên son: Lê Văn Cc
Lp: D10CN1











Đ ti: Xây dng Cơ s d liu qun l mua bn sch
I. Xc định bi ton


Hoạt động của nhà sách: mua hàng và bán hàng
Mua hng: Khi có nhu cầu mua thêm hàng thì bộ phận kinh doanh của nhà sách sẽ có hợp đồng với
các nhà cung cấp sách để nhập sách về nhà sách, sau đó nhà cung cấp đưa thông tin( báo giá) các loại
hàng về cho nhà sách. Nếu đồng ý thì bộ phận kinh doanh của nhà sách gửi hóa đơn đặt hàng đến nhà
cung cấp sách.Sau đó nhà cung cấp sách sẽ chuyển hàng về cho nhà sách và kèm theo hóa đơn. Sau
khi kiểm tra những hàng không đạt yêu cầu thì nhà sách sẽ gửi trả lại cho nhà cung cấp sách. Hàng đã
kiểm tra đủ tiêu chuẩn sẽ cho tiến hành nhập kho. Cuối tháng nhà cung cấp gửi bảng đối chiếu nợ để
cửa hàng đối chiếu nợ.
Bn hng: Đối với khách mua sĩ thì trước hết họ phải viết vào một đơn đặt hàng ( Nhà sách cung
cấp). Sau khi đối chiếu với lượng hàng còn trong kho, nếu đủ thì sẽ tiến hành lập hóa đơn bán hàng và
bán cho khách.Đối với khách mua lẻ thì họ vào các quầy tự chọn loại hàng mà mình cần mua. Sau đó
ra quầy thu ngân để thanh toán. Khách sẽ nhận được phiếu tính tiền kèm với hàng.
Cuối tháng, bộ phận kinh doanh sẽ gửi báo cáo về doanh thu trong tháng, và các sách bán chạy nhất
trong tháng cho lãnh đạo nhà sách.
II. Xc định cc đối tượng thc thể
1. Đơn đặt hàng (DONDH) :
- Số phiếu
- Ngày
2. Sách ( SACH)
- Mã sách
- Tên sách
- Đơn giá
3. Hóa đơn nhập ( HDNHAP):
- Số phiếu
- Ngày nhập
4. Khách (KHACH)
- Mã khách
- Tên khách
- Địa chỉ
5. Kho (KHO)

- Mã kho
- Tên kho
- Địa chỉ
- Giá nhập
6. Hóa đơn bán (HDBAN)
- Số hóa đơn
- Đơn giá
- Số lượng
7. Nhà cung cấp (NCC)
- Mã nhà cung cấp
- Tên nhà cung cấp
- Địa chỉ nhà cung cấp
Xác định mối quan hệ giữa các thực thể như sau:
DONDH < có> nhiều SACH
DONDH <giao> NCC
DONDH <đặt> SACH
HDNHAP <giao> NCC
KHACH <nhận> HDBAN
NCC < có> SACH
KHACH < nhận > SACH
KHO < nhận> nhiều NCC
III. Mô hình E-R


























Hóa đơn
bán
Số hóa
đơn
Đơn giá
Số
lượng
Khách

khách
Tên
khách
Hóa đơn

nhập
Nhà cung
cấp
Đơn đặt
hàng
Sách
Kho
Nhận
mua
Đặt

Nhận
giao
Giao

Địa chỉ
Số phiếu
Ngày
nhập
Số phiếu
Ngày
nhập
Mã NCC

Tên
NCC
Mã kho
Tên
kho
Địa

chỉ
Giá
nhập
Mã sách
Tên
sách
Giá bán

IV. Mô hình quan h
Từ mô hình E-R ta xây dựng mô hình quan hệ theo các bước sau:
1. Chuyển các thực thể thành các quan hệ tướng ứng:
DONDH( Số phiếu,Ngày)
SACH( Mã sch , tên sách, Đơn giá)
HDNHAP( Số phiếu, Ngày nhập)
KHACH( Mã khch, Tên khách, Địa chỉ)
HDBAN ( Số HĐ, Giá bán ( Đơn giá), Loại sách, Số lượng)
NCC ( Mã NCC, Tên, Địa chỉ)
Kho ( Mã kho, Tên kho, Địa chỉ, Giá nhập)
2. Chuyển đổi các mối quan hệ
KHÁCH có nhiều HÓA ĐƠN BÁN: đưa MÃ KHÁCH làm khóa ngoại trong HÓA ĐƠN BÁN.
NHÀ CUNG CẤP nhận nhiều ĐƠN ĐẶT HÀNG: Đưa MÃ NCC làm khóa ngoại trong ĐƠN ĐẶT
HÀNG.
NHÀ CUNG CÁP cung cấp SÁCH cho nhiều KHO: Đưa MÃ NCC làm khóa ngoại trong KHO, đưa
MÃ SÁCH làm khóa ngoại trong KHO.
NHÀ CUNG CẤP nhận nhiều HÓA ĐƠN NHẬP: Đưa MÃ NCC làm khóa ngoại trong HÓA ĐƠN
NHẬP.
KHO có nhiều SÁCH: Đưa MÃ KHO làm khóa ngoại trong SÁCH
- Kết quả như sau:
DONDH( Số phiếu, Mã NCC, Ngày)
SACH ( Mã sch, Mã kho, Tên sách, Giá bán ( Đơn giá) )

HDNHAP ( Số phiếu, Mã NCC, Ngày)
KHACH ( Mã khch, Tên khách, Địa chỉ)
HDBAN ( Số HĐ, Mã sách, Tên sách,, Giá bán, Số lượng)
NCC ( Mã NCC, Tên, Địa chỉ)
KHO ( Mã kho, Mã NCC, Mã sách, Tên kho, Địa chỉ, Giá nhập)
3. Mô hình dữ liệu quan hệ:

(hình vẽ được export từ mysql workbench)

Biểu thc đại số quan hệ:
Truy vấn 1: Tìm tên tất cả các cuốn sách có giá bán 20.000 đồng.
Biểu thc truy vấn hoàn chỉnh là:
Result = π
(Tên sách)

(Giá bán = “ 20.000 ”)
(SACH))
Truy vấn 2: Tìm tên tất cả các khách hàng có địa chỉ  Hà Đông – Hà Nội.

Result = π
(Tên Khách)

(Địa chỉ = “ Hà Đông – Hà Nội”)
(KHACH))

Truy vấn 3: Tìm mã sách và tên sách có giá bán dưới 100.000 đồng.
Result = π
(Mã sách, Tên sách)

(Giá bán < 100.000)

(SACH))
Truy vấn 4: Tìm tất cả các cuốn sách có giá 100.000 mà đã bán hơn 80 cuốn:
Result = π
(Tên sách)

((Giá bán = “CSDL” AND (Số lượng > 80))
(HDBAN))
Truy vấn 5: Tìm tên tất cả các nhà cung cấp có địa chỉ  Hà Đông hoặc Thanh Xuân.
Result = π
(Tên)

((Địa chỉ = “ Hà Đông ”) or (Địa chỉ = “ Thanh Xuân”))
(NCC))
Truy vấn 6: Tìm mã nhà cung cấp có ngày nhập là 05/10/2012
Result = π
(Mã NCC)

(Ngày nhập = “ 05/10/2012”)
(HDNHAP))
Truy vấn 7: Tìm số phiếu của tất cả hóa đơn nhập.có mã nhà cung cấp là 10
Result = π
(HDNHAP.Số phiếu)

(Mã NCC = “ 10”)
(HDNHAP x NCC))
Truy vấn 8: Tìm mã tất cả các khách hàng có tên là Lê Văn Các
Result = π
(Mã khách)

(Tên khách = “ Lê Văn Các ”)

(KHACH))
Truy vấn 9:Tìm số hóa đơn mã tất cả các hóa đơn bán với các khách hàng chỉ mua sách với số lượng
50.
Result = [π
(HDBAN.Số HD)

(HDBAN.Số lượng = 50)
(HDBAN))]-[π
(HDBAN.Số HD)

(HDBAN.Số lượng ≠
50)
(HDBAN))]
Truy vấn 10: Tìm mã khách của tất cả các khách hàng hoặc có tên là Lê Văn Các hoặc có địa chỉ Hà
Đông:

Result = π
(Mã khách)

((Tên = “ Lê Văn Các ”) or (Địa chỉ = “ Hà Đông”))
(KHACH))

V. Chuẩn hóa về dạng 3NF:
Tách SACH thành 2 quan hệ:
SACH ( Mã sch, Tên sách)
GIASACH ( Mã sch, Mã kho, Giá bán)
Tách KHO thành 2 qua hệ:
KHO ( Mã kho, Tên kho, Địa chỉ)
NHAPKHO ( Mã kho, Mã NCC, Mã sách, Giá nhập)
+ Kết quả chuẩn hóa:

DONDH( Số phiếu, Mã NCC, Ngày)
SACH ( Mã sch, Mã kho, Tên sách, Giá bán ( Đơn giá) )
HDNHAP ( Số phiếu, Mã NCC, Ngày)
KHACH ( Mã khch, Tên khách, Địa chỉ)
HDBAN ( Số HĐ, Mã sách, Tên sách,, Giá bán, Số lượng)
NCC ( Mã NCC, Tên, Địa chỉ)
KHO ( Mã kho, Mã NCC, Mã sách, Tên kho, Địa chỉ, Giá nhập)
NHAPKHO ( Mã kho, Mã NCC, Mã sách, Giá nhập)
SACH ( Mã sch, Tên sách)
GIASACH ( Mã sch, Mã kho, Giá bán)
VI. Thc hin 10 câu truy vn bng ngôn ng SQL
Truy vấn 1: Tìm tên tất cả các cuốn sách có giá bán 20.000 đồng.
SELECT Tên sách
FROM SACH
WHERE Giá bán =20.000 đồng;
Truy vấn 2: Tìm tên tất cả các khách hàng có địa chỉ  Hà Đông – Hà Nội.
SELECT Tên khách
FROM KHACH
WHERE Địa chỉ =HA DONG_HANOI;
Truy vấn 3: Tìm mã sách và tên sách có giá bán dưới 100.000 đồng.
SELECT Mã sách
FROM SACH
WHERE Giá bán < 100.000 ĐỒNG;
Truy vấn 4: Tìm tất cả các cuốn sách có giá 100.000 mà đã bán hơn 80 cuốn:
SELECT Tên sách
FROM SACH
WHERE Gía bán=100.000 ĐỒNG AND Số lượng >80 CUON;
Truy vấn 5: Tìm tên tất cả các nhà cung cấp có địa chỉ  Hà Đông hoặc Thanh Xuân
SELECT Tên
FROM NCC

WHERE Địa chỉ =HA DONG OR Địa chỉ = THANH XUAN;
Truy vấn 6: Tìm mã nhà cung cấp có ngày nhập là 05/10/2012
SELECT Mã NCC
FROM NCC
WHERE Ngày nhập =5/10/2012 IN
SELECT Ngày nhập
FROM HDNHAP
Truy vấn 7: Tìm số phiếu của tất cả hóa đơn nhập.có mã nhà cung cấp là 10
SELECT COUNT(Số phiếu)
FROM HDNHAP
WHERE Mã NCC=10 IN
SELECT Mã NCC
FROM NCC

Truy vấn 8: Tìm mã tất cả các khách hàng có tên là Lê Văn Các
SELECT Mã khách
FROM KHACH
WHERE Tên khách=LE VAN CAC;
Truy vấn 9:Tìm số hóa đơn mã tất cả các hóa đơn bán với các khách hàng chỉ mua sách với số lượng
50.
SELECT COUNT(HDBAN)
FROM HDBAN
WHERE Số lượng =50;

Truy vấn 10: Tìm mã khách của tất cả các khách hàng hoặc có tên là Lê Văn Các hoặc có địa chỉ Hà
Đông:
SELECT Mã khách
FROM KHACH
WHERE Tên khách =LE VAN CAC OR Địa chỉ= HA DONG;

×