3.8:Hiển thị tất cả các mặt hàng của khách hàng có tên là Dũng đã mua hàng gồm mã hàng,tên khách hàng,số điện thoại.... 3.10:Hiển thị tất cả mặt hàng trên phiếu vận chuyển có số phiếu là
Trang 1ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH
-ĐỒ ÁN NHÓM
ĐỀ TÀI SỐ 09
QUẢN LÝ HOẠT ĐỘNG KINH DOANH
Giảng viên : Nguyễn Dũng Môn: Cơ sở dữ liệu Lớp: IS 301 CA Sinh viên :
ĐÀ NẴNG , 12 - 2023
Trang 2MỤC LỤC
1.Vẽ mô hình thực thể liên kết 1
1.1.Mô hình thực thể liên kết 1
2.Vẽ mô hình cơ sở dữ liệu quan hệ 1
3.Lập phép toán đại số quan hệ 3
4.Viết câu lệnh SQL 6
4.1 Cài đặt mô hình quan hệ câu 2 vào SQL SERVER 6
4.2 Nhập dữ liệu vào các bảng(tối thiểu 10 dòng) 7
4.3 Viết câu lệnh SQL cho các câu ở Câu 3 9
4.5 Hiển thị các đơn đặt hàng (PHIEUDONHAG) đã đặt hàng nhưng
4.9 Thống kê tổng số lượng của từng mặt hàng bao gồm số lượng trong kho và số lượng đã bán 12
4.10 Xoá tất cả các phiếu hàng không chuyển thành hoá đơn 13
4.11 Xoá tất cả nhân viên vận chuyển đã hết hợp đồng với công ty 13
4.12 Diễn hoá chặt chẽ các ràng buộc toàn vẹn đã được mô tảtrong lược đồ cơ sở dữ liệu 13
Trang 53.Lập phép toán đại số quan hệ
Trang 63.8:Hiển thị tất cả các mặt hàng của khách hàng có tên là Dũng đã mua hàng gồm mã hàng,tên khách hàng,số điện thoại.
Trang 73.10:Hiển thị tất cả mặt hàng trên phiếu vận chuyển có số phiếu là 01.
σSoPhieuChuyen=’01’(HangHoa⋈MaHang ChiTietHoaDon ⋈MaHoaDon Hoa Don PhieuChuyenHang))⋈
3.11: Hiển thị nhân viên có tên là Hùng,địa chỉ Quảng Nam,gồm mã nhân viên,tên nhân viên,ngày sinh, địa chỉ ,bộ phận
(σ HoTen=’Hùng’ and DiaChi=’Quảng Nam’ (NhanVien)) 3.12:Thống kê số lượng hàng đã bán theo từng mặt hàng, gồm mã hàng,tên hàng,số lượng.
πMaHang,TenHang,Sum(Soluong) (σ HangHoa MaHang ChiTietHoaDon)⋈ (σDaThanhToan=’1’)
(MaHoaDon ChiTietHoaDon HoaDon)⋈
3.13 Hiển thị các nhân viên vận chuyển hợp đồng bới công ty.πNhanVien.MaNV, NhanVien.HoTen, NhanVien.DiaCHi,
Trang 8CREATE TABLE KhachHang (
MaKH NVARCHAR( )10NOT NULLPRIMARY KEY, HoTen NVARCHAR( )50NOT NULL,
CREATE TABLE HangHoa (
MaHang NVARCHAR( )10NOT NULLPRIMARY KEY, TenHang NVARCHAR( )50NOT NULL,
CREATE TABLE PhieuDatHang(
SoPhieuDH NVARCHAR( )10NOT NULLPRIMARY KEY,
MaKH NVARCHAR( )10NOT NULL, Khóa ngoại tham chiế6u đế6n KhachHang
primary key(SoPhieuDH, MaHang),
foreign key (SoPhieuDH) references PhieuDatHang(SoPhieuDH), foreign key (MaHang )references HangHoa(MaHang), )
Tạo ba ng NhanVien
CREATE TABLE NhanVien (
MaNV NVARCHAR( )10NOT NULLPRIMARY KEY,
Trang 9Tạo ba ng HoaDon
CREATE TABLE HoaDon(
MaHoaDon NVARCHAR( )10NOT NULLPRIMARY KEY,
foreign key (MaHoaDon) references PhieuDatHang(SoPhieuDH), foreign key (MaNV )references NhanVien(MaNV),
primary key(MaHoaDon, MaHang),
foreign key (MaHoaDon) references HoaDon(MaHoaDon), foreign key (MaHang )references HangHoa(MaHang), );
Tao ba ng PhieuChuyenHang
CREATE TABLE PhieuChuyenHang (
SoPhieuChuyen NVARCHAR( )10NOT NULLPRIMARY KEY,
MaHoaDon NVARCHAR( )10NOT NULL, Khóa ngoại tham chiế6u đế6n PhieuDH
SoHieuNguoiChuyen NVARCHAR( )10NOT NULL, Khóa ngoại tham chiế6u đế6n NhanVien
NgayChuyen DATE,
TinhTrangChuyen NVARCHAR( ),50
FOREIGN KEY (MaHoaDon) REFERENCES HoaDon(MaHoaDon), FOREIGN KEY (SoHieuNguoiChuyen) REFERENCES NhanVien(MaNV),
('KH01', 'Nguyen Van A', '123 Duong ABC','0123456789','Khach hang moi'), ('KH02', 'Tran Thi B', '456 Duong XYZ', '0987654321', 'Khach hang xuat sac'), ('KH03', 'Le Van C', '789 Duong LMN','0123456789','Khach hang than thien'), ('KH04', 'Pham Thi D', '101 Duong PQR', '0987654321', 'Khach hang tiem nang'), ('KH05', 'Hoang Van E', '202 Duong STU','0123456789','Khach hang VIP'), ('KH06', 'Doan Van F', '303 Duong VWX', '0987654321', 'Khach hang uu dai'), ('KH07', 'Trinh Thi G', '404 Duong YZA','0123456789','Khach hang than quen'), ('KH08', 'Ngo Van H', '505 Duong BCW', '0987654321', 'Khach hang moi'), ('KH09', 'Dinh Van I', '606 Duong DEF', '0123456789', 'Khach hang xuat sac'), ('KH10', 'Lam Thi K', '707 Duong GHI', '0987654321', 'Khach hang than thien')
Trang 10('MH07', 'Loa JBL', 'Loa Bluetooth','2023-12-31','JBL', 40 1500000, ), ('MH08', 'Quat Panasonic' 'Quat tiet trung', ,'2023-12-31','Panasonic', 12 ,
('NV01', 'Tran Van X', '123 Duong MNO', '1990-01-01' '0123456789' '2023-12-, , 31', 'Nhan vien quan ly'),
('NV02', 'Le Thi Y', '456 Duong PQR','1995-05-15','0987654321','2023-12-31', 'Nhan vien ban hang'),
('NV03', 'Nguyen Van Z', '789 Duong STU','1988-10-20','0123456789', '2023-12-31', 'Nhan vien ke toan'),
('NV04', 'Doan Van K', '101 Duong VWX', '1992-03-08' '0987654321' '2023-12-, , 31', 'Nhan vien IT'),
('NV05', 'Pham Thi L', '202 Duong YZA', '1985-12-25' '0123456789' '2023-12-, , 31', 'Nhan vien quan ly'),
('NV06', 'Trinh Van M', '303 Duong BCW','1993-06-30','0987654321' '2023-12-, 31','Nhan vien ban hang'),
('NV07', 'Dinh Thi N', '404 Duong DEF' '1982-09-12' '0123456789' '2023-12-, , , 31', 'Nhan vien ke toan'),
('NV08', 'Ngo Van P', '505 Duong GHI', '1997-04-18' '0987654321' '2023-12-, , 31', 'Nhan vien IT'),
('NV09', 'Lam Van Q', '606 Duong JKL', '1991-07-05' '0123456789' '2023-12-, , 31', 'Nhan vien quan ly'),
('NV10', 'Do Thi R', '707 Duong MNO','1987-02-28','0987654321','2023-12-31', 'Nhan vien ban hang')
; HoaDon
8
Trang 11GhiChu) VALUES
('HD01', '2023-12-15', 'NV01', 15000000 0 , ,'Hoa don mua hang'), ('HD02', '2023-12-16', 'NV02', 8000000 1 , ,'Hoa don thanh toan'), ('HD03', '2023-12-17', 'NV03', 1000000 0 , ,'Hoa don mua hang'), ('HD04', '2023-12-18', 'NV04', 12000000 1 , ,'Hoa don thanh toan'), ('HD05', '2023-12-19', 'NV05', 20000000 0 , ,'Hoa don mua hang'), ('HD06', '2023-12-20', 'NV06', 5000000 0 , ,'Hoa don mua hang'), ('HD07', '2023-12-21', 'NV07', 1500000 1 , ,'Hoa don thanh toan'), ('HD08', '2023-12-22', 'NV08', 500000 0 , ,'Hoa don mua hang'), ('HD09', '2023-12-23', 'NV09', 8000000 0 , ,'Hoa don mua hang'), ('HD10', '2023-12-24', 'NV10', 1000000 1 , ,'Hoa don thanh toan')
('PC01', 'HD01', 'NV01', '2023-12-16', 'Dang chuyen hang'), ('PC02', 'HD02', 'NV02', '2023-12-17', 'Da nhan hang'), ('PC03', 'HD03', 'NV03', '2023-12-18', 'Dang chuyen hang'), ('PC04', 'HD04', 'NV04', '2023-12-19', 'Da nhan hang'), ('PC05', 'HD05', 'NV05', '2023-12-20', 'Dang chuyen hang'), ('PC06', 'HD06', 'NV06', '2023-12-21', 'Dang chuyen hang'), ('PC07', 'HD07', 'NV07', '2023-12-22', 'Da nhan hang'), ('PC08', 'HD08', 'NV08', '2023-12-23', 'Dang chuyen hang'), ('PC09', 'HD09', 'NV09', '2023-12-24', 'Dang chuyen hang'), ('PC10', 'HD10', 'NV10', '2023-12-25', 'Da nhan hang')
SELECT H.MaHang H TenHang, FROM ChiTietPhieuDatHang p HangHoa H,
WHERE H.MaHang P MaHang = AND P SoPhieuDH='PDH01'
Trang 12SELECT MaHoaDon, TongTienThanhToan FROM HoaDon
WHERE MaHoaDon='HD01'
3.5 :
SELECT KhachHang.MaKH KhachHang, HoTen KhachHang, DienThoai FROM PhieuDatHang KhachHang,
WHERE PhieuDatHang.MaKH KhachHang MaKH= AND PhieuDatHang SoPhieuDH ='HD02'; 3.6 :
SELECTHoaDon MaHoaDon HoaDon , TongTienThanhToan AS TongTienBanDuoc FROM HoaDon, ChiTietHoaDon PhieuChuyenHang,
WHERE HoaDon.MaHoaDon ChiTietHoaDon= MaHoaDon AND HoaDon MaHoaDon PhieuChuyenHang = MaHoaDon AND PhieuChuyenHang TinhTrangChuyen =N'Da nhan hang' GROUP BY HoaDon.MaHoaDon HoaDon TongTienThanhToan, ;
SELECT ChiTietHoaDon.MaHang HangHoa, TenHang, ChiTietHoaDon SoLuong , ChiTietHoaDon.DonGia FROM ChiTietHoaDon HangHoa,
WHERE ChiTietHoaDon.MaHang HangHoa= MaHang AND ChiTietHoaDon MaHoaDon ='HD05';
AND pdh SoPhieuDH c SoPhieuDH = AND c MaHang h MaHang= AND k HoTen like N'%Dũng%'; AND pdh SoPhieuDH ctpdh = SoPhieuDH AND pdh MaKH kh MaKH = AND pch SoHieuNguoiChuyen nv = MaNV AND ctpdh MaHang hh MaHang = AND pch TinhTrangChuyen ='Da nhan hang';
Trang 13AND pch MaHoaDon pdh SoPhieuDH = AND pdh SoPhieuDH ctpdh = SoPhieuDH AND ctpdh MaHang hh MaHang = ;
SELECT hh.MaHang hh TenHang , ,SUM(cthd SoLuong ) AS SoLuong FROM HangHoa hh, ChiTietHoaDon cthd HoaDon hd,
WHERE hh.MaHang cthd MaHang= AND cthd MaHoaDon hd = MaHoaDon
SELECT nv.MaNV ,COUNT(pch SoPhieuChuyen ) AS SoLuongDonHang FROM PhieuChuyenHang pch NhanVien nv,
WHERE EXISTS( SELECT* FROM NhanVien
WHERE NhanVien MaNV pch = SoHieuNguoiChuyen
) AND nv MaNV pch SoHieuNguoiChuyen = AND nv NgayHetHD >CONVERT(DATE,
GETDATE()) GROUP BY nv.MaNV
SELECT kh.MaKH kh HoTen kh DienThoai, , , kh.DiaChi FROM KhachHang kh, PhieuDatHang pdh
WHERE kh.MaKH pdh MaKH = AND kh DienThoai ='0905222507'AND
CONVERT(DATE, pdh.NgayTao)=CONVERT(DATE,DATEADD DAY( , - ,GETDATE()))
4.5 Hiển thị các đơn đặt hàng (PHIEUDONHAG) đã đặt hàng nhưng không thành công
11
Trang 14from HoaDon d, PhieuDatHang p where ( d MaHoaDon p= SoPhieuDH)and AND p TinhTrangChuyen =N'Da chuyen hang' AND p SoHieuNguoiChuyen n= MaNV;
4.7 Hiển thị hai hoá đơn đã bán có số tiền lớn nhất
Select TOP 2 h.MaHoaDon h NgayLapHD h TongTienThanhToan n, , , HoTen from HoaDon h, PhieuChuyenHang p NhanVien n ,
where ( n MaNV p SoHieuNguoiChuyen= )and (h MaHoaDon p MaHoaDon = ) order by h.TongTienThanhToan DESC
4.8 Hiển thị tất cả các đơn hàng nhưng không phát sinh hoá đơn.
SELECT PhieuDatHang.SoPhieuDH PhieuDatHang, NgayTao, KhachHang.HoTen FROM PhieuDatHang KhachHang,
WHERE PhieuDatHang.MaKH KhachHang MaKH= AND NOT EXISTS(
SELECT 1 FROM HoaDon
WHERE HoaDon MaHoaDon PhieuDatHang = SoPhieuDH );
4.9 Thống kê tổng số lượng của từng mặt hàng bao gồm số lượng trong kho và số lượng đã bán
12
Trang 15HangHoa.MaHang, HangHoa.TenHang,
HangHoa SoLuongHienCo +CASE WHENSUM(ChiTietHoaDon SoLuong ) IS NULLTHEN 0 ELSE SUM(ChiTietHoaDon SoLuong ) END AS TongSoLuong
FROM PhieuDatHang KhachHang,
WHERE PhieuDatHang.MaKH KhachHang MaKH= AND NOT EXISTS(
DELETE FROM NhanVien
WHERE NgayHetHD <CONVERT(DATE,GETDATE()) AND MoTaKhac N'Nhan vien van = chuyen';
4.12 Diễn hoá chặt chẽ các ràng buộc toàn vẹn đã được mô tả trong lược đồ cơ sở dữ liệu
13