Nhà cung cấp sẽ cung cấp nhiều đồng hồ thuộc các hãng khác nhau.. Một đơn đặt hàng chỉ gởi cho một nhà cung cấp, trong đơn đặt hàng có thông tin mã đơn đặt hàng để phân biệt các đơn đặt
Trang 1
BO GIAO DUC VA DAO TAO TAP DOAN BUU CHINH VIEN THONG VIET NAM
HOC VIEN CONG NGHE BUU CHINH VIEN THONG
Trang 2Khảo sát thực tế bài toán:
Công ty bán nhiều đồng hồ, thông tin đồng hỗ bao gồm mã đồng hồ đề phân biệt các đồng hồ với nhau, tên đồng hồ, giá, 36 luong ton, mé ta, trạng thái, hình ảnh Một loại đồng hồ có nhiều đồng hồ và một đồng hồ có l loại đồng hồ
Một đồng ho thuộc | hang dong hồ, một hãng có nhiều đồng hô
Nhà cung cấp sẽ cung cấp nhiều đồng hồ thuộc các hãng khác nhau Nhà cung cấp, sẽ
có thông tin: mã nhà cung cấp đề phân biệt với nhà cung cấp khác, tên nhà cung cấp,
địa chí, email, số điện thoại
Công ty có nhiều nhân viên, mỗi nhân viên có thông tin bao gồm mã nhân viên để phân biệt các nhân viên, họ, tên, giới tính, ngày sinh, địa chỉ, số điện thoại, email Khi công ty muốn nhập hàng thì phải đặt hàng cho nhà cung cấp Một đơn đặt hàng chỉ gởi cho một nhà cung cấp, trong đơn đặt hàng có thông tin mã đơn đặt hàng để phân biệt các đơn đặt hàng, ngày đặt hàng: một nhà cung cấp có thê được đặt hàng nhiều lần
Một đơn hàng có thê đặt nhiều đồng hồ khác nhau, một đồng hỗ có thê được đặt hàng nhiều lần Một đồng hồ trong đơn đặt hàng phải chỉ rõ số lượng đặt, và đơn giá Ta phải ghi nhận nhân viên nào lập đơn đặt hàng cho nhà cung cấp Một đơn đặt hàng chỉ
được lập bởi một nhân viên và một nhân viên lập được nhiều đơn đặt hàng
Nhân viên chỉ nhập hàng trên đơn đặt hàng đã lập Phiếu nhập có thông tin mã phiếu nhập , ngày nhập; Một đơn đặt hàng chỉ có một phiếu nhập, nêu đơn hàng nhập còn thiếu thì xem như bỏ qua các đồng hồ nhập còn thiếu, muốn nhập lại thì ta sẽ lập đơn đặt hàng, moi
Mot phiêu nhập có thê có nhiều đồng hồ khác nhau và một đồng hồ có thể được nhập
về nhiều lần với số lượng và giá khác nhau
Khách hàng có thê đặt hàng online nhiều lần với nhiều phiêu đặt khác nhau; phiếu đặt
có thông tin: ngày đặt, họ tên người nhận, địa chỉ người nhận, số điện thoại nguol nhận, ngày giờ giao hàng Một phiếu đặt của khách hàng tại 1 thời điểm chí thuộc | trong các trạng thái sau: chờ duyệt, đã phân công nhân viên giao hàng, hoàn tat, da
Trang 3Một phiếu đặt của khách hàng có thể có nhiều đồng hồ khác nhau và một đồng hồ có
thê được đặt nhiều lần trên nhiều phiêu đặt Phiếu đặt sẽ được duyệt bởi một nhân
Khách hàng có thê trả hàng với điều kiện là phải có hóa đơn và được trả nhiều lần
Nhân viên sẽ lập phiêu trả ghi nhận các mặt hàng trả, số lượng trả Đồng hồ chỉ được
trả trong vòng | tuan sau khi mua
Các đồng hỗ khi bán sẽ được bảo hành với thời gian (số tháng) tùy đồng hồ Mỗi đồng
hồ sẽ có l phiếu bảo hành riêng gồm số phiếu bảo hành, ngày bắt đầu, ngày kết thúc Khi bảo hành phái ghi rõ trạng thái đồng hỗ trước và sau khi bảo hành và nhân viên nhận, nhân viên giao trả
Trong năm, công ty sẽ có các đợt khuyến mãi (KM) giảm giá mặt hàng Mỗi đợt khuyến mãi có thông tin: mã đợt KM đề phân biệt các đợt KM, lý do KM, ngày bắt đầu, ngày kết thúc Trong I đợt KM, mỗi đồng hồ có % giảm giá riêng Một đợt khuyến mãi được tạo bởi l nhân viên và l nhân viên có thẻ tạo nhiều đợt khuyến mãi khác nhau
Tat cả các phiêu đã lập đều phải ghi nhận nhân viên lập các phiếu đó
NHACUNGCAP(MANCC, TENNCC, DIACHI, EMAIL, SDT)
NHANVIEN(MANV, HO, TEN, PHAI, NGAYSINH, DIACHI, EMAIL, SDT) DONDATHANG(MADDH, NGAYDAT)
12 BAOHANH(SOBH, NGAYBD, NGAYKT, TTTRUOC, TTSAU)
13 KHUYENMAI(MAKM, LYDO, NGAYBD, NGAYKT)
Trang 8
c/ Mô hình đữ liệu quan hệ ta ERD (đạt dạng chuẩn 3)
HANG(MAHANG, TENHANG)
LOAI(MALOAI, TENLOAI)
NHACUNGCAP(MANCC, TENNCC, DIACHI, EMAIL, SDT)
DONGHO(MADH, TENDH, GIA, SLTON, MOTA, TRANGTHAL HINHANH, TGBH, MALOAI, MAHANG)
NHANVIEN(MANV, HO, TEN, PHAI,NGAYSINH, DIACHI, EMAIL, SDT) DONDATHANG(MADDH, NGAYDAT, MANCC, MANV)
PHIEUNHAP(MAPN, NGAYNHAP, MADDH)
KHACHHANG(IDKH, CMND, HO, TEN, PHAL NGAYSINH, DIACHL, SDT, EMAIL, MST)
PHIEUDAT(MAPD, NGAYDAT, NGUOINHAN, DIACHINHAN, SDTNHAN, TGGIAO, TRANGTHAI, IDKH)
HOADON(SOHD, MAPD, MST, TONGTIEN)
INHOADON(ID, SOHD, NGAYIN, MANV)
PHIEUTRA(MAPT, SOHD, NGAYTRA, MANV)
PHIEUBAOHANH(SOBH, SOHD, MADH)
NHANBH(IDNBH, SOBH, NGAYNHAN, TTNHAN, MANV)
TRABH(IDTBH, SOBH, NGAYTRA, TITRA, MANV)
KHUYENMAI(MAKM, LYDO, NGAYBD, NGAYKT, MANV
CTDDH(MADDH, MADH, SOLUONG, DONGIA)
CTPN(MAPN, MADH, SOLUONG, GIA)
CTPD(MAPD, MADH, SOLUONG)
CTPT(MAPT MADH, SOLUONG)
Trang 9d/ M6 hinh Diagram
Trang 10
DONGHO
9 MADH TENDH
Trang 11SOHD NGAYIN MANV
DONGHO
? MADH TENDH GIÁ
MOTA
Trang 14e/ Ta dién dé lié u:
1 Bang HANG
HANG(MAHANG, TENHANG)
2 Bang LOAL
LOAI(MALOAL TENLOAIT)
3 Bang NHA CUNG CAP:
NHACUNGCAP(MANCC, TENNCC, DIACHI, EMAIL, SDT)
cung cap
4 Bang DONG HO:
DONGHO(MADH, TENDH, GIA, SLTON, MOTA, TRANGTHAI, HINHANH,
TGBH, MALOAIL MAHANG)
Trang 15
5 Bang NHAN VIEN:
NHANVIEN(MANV, HO, TEN, PHAI, NGAYSINH, DIACHI, EMAIL, SDT)
6 Bang DON DAT HANG:
DONDATHANG(MADDH, NGAYDAT, MANCC, MANV)
7 Bang CHI TIET DON DAT HANG:
CTDDH(MADDH, MADH, SOLUONG, DONGIA)
Trang 16
§ Bảng PHIẾU NHẬP:
PHIEUNHAP(MAPN, NGAYNHAP, MADDH)
9 Bang CHI TIET PHIEU NHAP
CTPN(MAPN, MADH, SOLUONG, GIA)
10 Bảng KHÁCH HÀNG:
KHACHHANG(IDKH, CMND, HO, TEN, PHAI, NGAYSINH, DIACHI, SDT,
EMAIL, MST)
Trang 17
11 Bang PHIEU DAT:
PHIEUDAT(MAPD, NGAYDAT, NGUOINHAN, DIACHINHAN, SDTNHAN,
TRANGTHAI nvarchar(50) | _ TRANGTHAI= N'Chờ duyệt” Trạng thái phiếu
OR TRANGTHAI = N’Da phan công nhân viên giao hàng” OR
TRANGTHAI = N’Hoan tat’? OR TRANGTHAI =N Đã hủy”
12 Bảng CHI TIẾT PHIẾU ĐẶT:
CTPD(MAPD, MADH, SOLUONG)
13 Bảng HÓA ĐƠN:
HOADON(SOHD, MAPD, MST, TONGTIEN)
Trang 18
14 Bang IN HOA DON:
INHOADON(ID, SOHD, NGAYIN, MANV)
16 Bảng CHI TIẾT PHIẾU TRA:
CTPT(MAPT, MADH, SOLUONG)
17 Bảng PHIẾU BẢO HÀNH:
PHIEUBAOHANH(SOBH, SOHD, MADH)
18 Bảng PHIẾU NHẬN BẢO HÀNH:
NHANBH(IDNBH, SOBH, NGAYNHAN, TINHAN, MANV)
Trang 19
SOBH
19 Bảng PHIẾU TRẢ BẢO HÀNH:
TRABH(IDTBH, SOBH, NGAYTRA, TTTRA, MANV)
20 Bảng KHUYẾN MÃI:
KHUYENMAI(MAKM, LYDO, NGAYBD, NGAYKT, MANV
f/ Cac ràng buộc toàn vẹn:
a Ràng buộc toàn vẹn miện giá trị:
a Néi dung: "x DONGHO
x.GIA > 0
b Tầm ảnh hưởng:
Ràng buộc 2: Số lượng tôn của đông hỗ phải lớn hơn hoặc băng 0
a Néi dung: "x DONGHO
Trang 20
a Néi dung: "x DONGHO
x.TGBH > 0
b Tầm ảnh hưởng:
Ràng buộc 4: Tổng tiền của hóa đơn phải lớn hơn 0
a Néi dung: "x HOADON
x.TONGTIEN > 0
b Tầm ảnh hưởng:
Trang 21
Ràng buộc 7: Sô lượng đồng ho ở chi tiệt phiêu nhập phải lớn hon 0
a._ Nội dung: "x ÌCTPN
Trang 22
a Néi dung: "x | CTKM
x.GIAMGIA > 0 U x.GIAMGIA < 1
b Tầm ảnh hưởng:
Ràng buộc 12: — Phái của nhân viên phải có giá tri là 1 hoặc 0
a Néi dung: "x NHANVIEN
x.PHAI=0 U x.PHAI=1
b Tầm ảnh hưởng:
Ràng buộc 13 Phái của khách hàng có giá trị là I hoặc 0
a Néi dung: "x | KHACHHANG
x.PHAI=0 U x.PHAI=1
b Tầm ảnh hưởng:
a N6i dung: "x | PHIEUDAT
x TRANGTHAI = ‘Cho duyét’ U x TRANGTHAI = ’Da phan céng nhan viên
giao hang’ U x TRANGTHAI = ‘Hoan tat’ U x TRANGTHAI = ’Da huy’
Trang 24a._ Nội dung:"n1, n2 Ì NHANVIEN
Mã nhân viên là đuy nhất
nl <>n2 4a nl MANV <> n2 MANV
b Tầm ảnh hưởng:
Ràng buộc 20: Mã đơn đặt hàng là duy nhất
a._ Nội dung:"n1, n2 Ì DONDATHANG
nl <>n2a nl MADDH < n2 MADDH
b Tầm ảnh hưởng:
Ràng buộc 2l: Mã phiếu nhập là duy nhất
a Nội dung:"n1, n2 Ì PHIEUNHAP
nl <>n2a nl MAPN <> n2 MAPN
Trang 25Rang budéc 24: Số hóa đơn là duy nhất
a._ Nội dung:"n1, n2 ÌHOADON
nl <>n2a nl SOHD < n2 SOHD
Ràng buộc 25: ID của¡in hóa đơn là duy nhất
a._ Nội dung:"n1, n2 INHOADON
Trang 26
Ràng buộc 27: Số phiếu bảo hành là duy nhất
a Nội dung:"n1, n2 Ì PHIEUBAOHANH
Ràng buộc 30: Mã khuyến mãi là đuy nhất
a Nội dung:"n1,n2 ÌKHUYENMAI
Trang 27
nl <>n2 a nl, MADDH U nl.MADH < n2 MADDH U n2.MADH
b Tầm ảnh hưởng:
Trang 28
Ràng buộc 34:
Mã phiếu trả và mã đồng hỗ là đuy nhất trong quan hệ CTPT
nl <>n2à n1 MAPT Ù nI.MADH <>n2 MAPT Ù n2MADH
b Tầm ảnh hưởng:
Trang 29
Ràng buộc 38: Tên nhà cung cấp là duy nhất
a N6idung:"nl, n2 | NHACUNGCAP
nl <>n2a nl TENNCC <> n2 TENNCC
b Tầm ảnh hưởng:
Trang 30
Ràng buộc 42: — Email nhân viên là duy nhât
a._ Nội dung:"n1, n2 Ì NHANVIEN
nl <>n2a nl EMAIL < n2 EMAIL
b Tầm ảnh hưởng:
Ràng buộc 43: SDT nhan vién là duy nhất
a._ Nội dung:"n1, n2 Ì NHANVIEN
nl <>n2a nl SDT <> n2 SDT
b Tầm ảnh hưởng:
Rang budéc 44 CMND khách hàng là đuy nhất
a._ Nội dung:"n1,n2 Ì KHACHHANG
nl <>n2 à n1 CMND <> n2 CMND
b Tầm ảnh hưởng:
Ràng buộc 45: Email khách hàng là duy nhất
a._ Nội dung:"n1,n2 Ì KHACHHANG
Trang 31
b Tầm ảnh hưởng:
Ràng buộc 46: Mã số thuế của khách hàng là duy nhất
a._ Nội dung:"n1,n2 Ì KHACHHANG
c Ràng buộc toàn vẹn liên thuộc tSnh:
Ràng buộc 47: Với mọi phiếu đặt, ngày đặt phải nhỏ hơn hoặc bằng thời gian giao
a +N6i dung: "d | PHIEUDAT
Ràng buộc 48: Với mọi khuyến mãi, ngày bắt đầu phải nhỏ hơn ngày kết thúc
a +N6i dung: "d | KHUYENMAI
d NGAYBD < d NGAYKT
b + Tầm ánh hưởng:
d Rang buộc toàn vẹn liên quan hệ:
a._ Nội dung: :" đh Ì DONGHO, $hÌ HANG
Trang 32
dh MAHANG = h.MAHANG
b Tầm ảnh hưởng:
a._ Nội dung: :" đh Ì DONGHO, $1 Ï LOẠI
dh.MALOAI =1.MALOAL
b Tầm ảnh hưởng:
Ràng buộc 5l: Đơn đặt hàng phải thuộc một nhà cung cấp
a N6idung: :" di DONDATHANG, $¢ 1 NHACUNGCAP
d.MANCC =c.MANCC
b Tầm ảnh hưởng:
Ràng buộc 52: — Một đơn đặt hàng phải do một nhân viên lập
a Néidung: :" di DONDATHANG, $ nv | NHANVIEN
Trang 33
Ràng buộc 53: Mỗi phiếu nhập phải có tương ứng một đơn đặt hàng
a Nội dung: :" pn Ì PHIEUNHAP, $ ddh | DONDATHANG
pn.MADDH = dđh.MADDH
b Tầm ảnh hưởng:
Ràng buộc 54: Mat phiéu đặt phái thuộc một khách hàng
a N6idung: :" pd | PHIEUDAT, $ kh | KHACHHANG
Ràng buộc 55: Một hóa đơn phái tương ứng thuộc một phiếu đặt
a Nội dung: :" hđÏ HOADON, $ pđ Ì PHIEUDAT
Trang 34
Ràng buộc 56: — Khi in hóa đơn phải có một hóa đơn tương ứng
a N6idung: :" il INHOADON, $hI HOADON
i.SOHD = h.SOHD
b Tầm ảnh hưởng:
Ràng buộc 57: — Hóa đơn phải được In bởi một nhân viên
a Nội dung: :"¡ÏINHOADON, $ nvÏÌ NHANVIEN
a._ Nội dung: :" ptÏ PHIEUTRA, $hÌ HOADON
Trang 35
a N6idung: :” pt | PHIEUTRA, $ nv | NHANVIEN
pt.MANV = pt.MANV
b Tầm ảnh hưởng:
a Nội dung: :" bhÌ PHIEUBAOHANH, $hÏ HOADON
bh.SOHD =h.SOHD
b Tầm ảnh hưởng:
a Nội dung: :" bhÌ PHIEUBAOHANH, $ ny Ì NHANVIEN
a Nội dung: :" bh PHIEUBAOHANH, $ đh Ì DONGHO
bh.MADH = dh.MADH
b Tầm ảnh hưởng:
Trang 36
a N6idung: :"n i NHANBH, $ bh | PHIEUBAOHANH
Ràng buộc 64: Nhận bảo hành phải do một nhân viên nhận
a N6idung: :"n i NHANBH, $ nv | NHANVIEN
a Néidung: :"ti TRABH, $ bh | PHIEUBAOHANH
Trang 37PHIEUBAOHANH - + *
a N6idung: :"t i TRABH, $ nv | NHANVIEN
Ràng buộc 67: Khuyến mãi phải do một nhân viên lập
a Nội dung: :" km Ì KHUYENMAI, $ nyÌ NHANVIEN
4 Cac cau lệnh truy vnn:
a/ Liệt kê phiếu đặt hàng chờ duyệt của khách hàng (Số CMND,họ tên KH, Ngày đặt, Tổng tiền)
CREATE VIEW V_Cau_A
AS
Ngày_ đặt=PD.NGAYDAT, Tôäg_ tiêà=HD T0NGTTEN
FROM KHACHHANG KH, PHIEUDAT PD, HOADON HD
WHERE PD.TRANGTHAI=N'Cho duyét' AND KH.IDKH = PD.IDKH AND PD.MAPD = HD.MAPD
SELECT ~ FROM V_Cau_A
Trang 38
b/ Liệt kê các đơn đặt hàng chưa nhập hàng trong khoảng thời gian (@tungay, @denngay) Cac đơn hang in theo thứ tự thời gian đặt tăng dan Ket xuất:
MãsốÐÐH Ngày đặt Họ tên NV lập phiếu Nhà cung cấp Tổng trị giá
set DATEFORMAT DMY
IF EXISTS *SELECT MADDH FROM PHIEUNHAP WHERE NGAYNHAP BETWEEN @TUNGAY AND @DENNGAY)
SELECT Mã_ sô “ĐĐH=DDH.MADDH, Ngày_ đặt=NGAYDAT,
Tôäg_trị_ giá=SUM”S0LUONG`DONGTA)
FROM *SELECT MADDH,NGAYDAT ,MANV,MANCC FROM
DONDATHANG WHERE MADDH NOT IN’SELECT MADDH FROM
PHIEUNHAP) ) DDH
INNER JOIN
*SELECT MADDH,SOLUONG,DONGIA FROM CTDDH) CTDDH ON DDH MADDH=CTDDH MADDH ,
*SELECT HO,TEN,MANV FROM NHANVIEN) NV,
*SELECT TENNCC,MANCC FROM NHACUNGCAP) NCC
WHERE DDH.MANV=NV.MANV AND DDH.MANCC=NCC.MANCC
Trang 39GROUP BY ĐH.MAĐH,NGAYDAT,HỚ '+TEN, TENNCC
ORDER BY NGAYDAT ASC
END
EXEC P_Cau_B '1-1-1999','12-12-2022'
œ/ Tinh doanh thu cua cua hang theo tung thang trong | nam @nam Két xuất: Tháng Doanh thụ Lưu ý: Tháng không có doanh thu van in ra, và không vượt quá ngày hiện tạị
GRE SQLauery21.2ql - LAPTOP-FLKSMSREQLEDH FINAL (52 (52))* - Microsoft SQL Server Management Studio
Fle Eat View Quay Project TooS Win
in ra, và không vượt quả ngày hiện tạị
TONGTIEN),@) AS Doanh_thu dbọspt_values WHERE type = "P* AND NUMBER 1 AID 12) M
AS mth FROM INHOADON WHERE YEAR(NGAYIN) ~ §WAM ) THD SELECT SOHD,TONGTIEN FROM HOADON ) HD ON THD SOHO ~ HD SOHO!
Trang 40* SELECT SOHD,TONGTIEN FROM HOADON ) HD ON IHD.SOHD
(@tungay, @denngay) Ket xuat:
trung binh Lợi nhuận
THE END