1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI TẬP LỚN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

11 31 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 239,74 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hệ thống có các chức năng cơ bản như quản lý mặt hàng, quản lý khách hàng, quản lý hoá đơn bán.. Thiết kế bảng Hàng hóa có các thuộc tính phù hợp, có lưu giá bán hiện tại.. Thiết kế bảng

Trang 1

BÀI TẬP LỚN MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Họ và tên:

Mssv:

Lớp

GV giảng dạy:

Giới thiệu đầu bài.

Project 4: Xây dựng CSDL hệ thống quản lý bán hàng Thiết kế CSDL để

phục vụ app quản lý nhập xuất hàng hóa và bán hàng hóa Thống kê

báo cáo

Phân tích chức năng.

Hệ thống có các chức năng cơ bản như quản lý mặt hàng, quản lý khách hàng, quản lý hoá đơn bán Cửa hàng có thể có một hoặc nhiều người bán, với mỗi hoá đơn bán hàng phải có thông tin của người bán cho khách hàng cụ thể

1 Thiết kế bảng Hàng hóa có các thuộc tính phù hợp, có lưu giá bán hiện tại

Tạo table HANGHOA có các thuộc tính như sau:

Trang 2

2 Thiết kế bảng Hóa đơn nhập và các bảng liên quan để lưu thông tin nhập hàng, cho phép lưu giá nhập.

Tạo bảng HOADONNHAP các bảng liên quan là bảng NHACUNGCAP, CHITIETHOADONNHAP

3 Thiết kế bảng Hóa đơn bán và các bảng liên quan để lưu thông tin bán hàng, cho phép lưu giá bán thực tế để việc sửa giá sản phẩm đã bán không làm ảnh hưởng đến những hóa đơn đã bán.

Tạo bảng HOADONXUAT có các thuộc tính và các bảng liên quan là bảng NHANVIEN,KHACHHANG,CHITIETHOADONXUAT

Trang 3

4.Đặt các ràng buộc cứng (CHECK CONSTRAINT) cho phù hợp trong các bảng.

5 Liên kết các bảng với nhau bằng cách đặt khóa ngoại (FOREIGN KEY) phù hợp.

Trang 4

6 Viết SQL tạo 1 hóa đơn mới; sql để thêm/sửa/xóa các hàng hóa vào hóa đơn mới này Viết SQL Kiểm tra xem trong kho có đủ hàng cho hàng hóa này không?

Create procedure SP_INSERT_HDX Tạo một sp_themHDBH

@MANV nvarchar ( 50 ),

@MAKH int 1

AS BEGIN

INSERT into HOADONXUAT ( MANV , MAKH ) values ( @MANV , @MAKH )

END

Khi gõ lệnh xong thì đã hoàn tấ: t nhưng không thấ: y hiện ba @ng hóa đơn!

7 Viết SQL xóa 1 hóa đơn; cấu hình để xóa tự động các mặt hàng trong hóa đơn này.

VD:xóa dòng có MAHDX là ‘3’

delete from CHITIETHOADONXUAT where MAHDX = 3

Trang 5

8 Tạo function tính tổng tiền của 1 hóa đơn nhập.

create function TongTienHD ( @MAHDN int

RETURNS MONEY

AS BEGIN

declare @TONGTIEN money ; gán giá trị cho biế: n bơ @i lệnh select sum

SELECT @TONGTIEN = Sum ( SOLUONGN * DONGIAN )

FROM CHITIETHOADONNHAP

WHERE MAHDN = @MAHDN ; xác định đúng hóa đơn nhập

return @TONGTIEN ;

END

CHẠY:

select from CHITIETHOADONNHAP ;

select dbo TongTienHD ( ) as TONGTIEN

kết quả :tổng tiền của (MAHDN 01)

Trang 6

9 Tạo stored procedure tính tổng tiền doanh thu theo tháng.

VD: Tính tổng hóa đơn tháng 6

SELECT month ( HD NGAYXUAT ) Thang , sum ( HD TONGTIEN ) Tong

FROM HOADONXUAT HD

WHERE month ( HD NGAYXUAT )= 6

GROUP BY month ( HD NGAYXUAT )

Trang 7

10 Tạo stored procedure tính tổng tiền nhập hàng theo tháng

SELECT month ( HD NGAYNHAP ) Thang , sum ( HD TONGTIEN ) Tô@ ng FROM HOADONNHAP HD

WHERE month ( HD NGAYNHAP )= 3

GROUP BY month ( HD NGAYNHAP

Tính tổng tiền cho hóa đơn Nhập tháng 3

Trang 8

11 Tạo trigger để cập nhật số lượng hàng còn trong kho của mỗi loại.

update CHITIETHOADONXUAT set SOLUONGX = 5 where MAHH = 1

go

select from KHO

go

select from CHITIETHOADONXUAT

SOLUONG = SOLUONG - inserted.SOLUONGX + deleted.SOLUONGX

12 Viết SQL thống kê mặt hàng bán chạy.

Select Top 1 TENHH , SUM ( SOLUONGX ) as Tongsoluong

from HANGHOA , CHITIETHOADONXUAT

where HANGHOA MAHH = CHITIETHOADONXUAT MAHH

group by TENHH

order by Tongsoluong desc

Trang 9

13 Viết SQL thống kê mặt hàng bán chạy mà còn ít trong kho(để nhập

về bán tiếp)

Khi chạy câu lệnh:

Select Top ( ) with ties * from HANGHOA , KHO

where HANGHOA MAHH = KHO MAHH

order by SOLUONG asc

Sẽ thống kê ra thông tin mặt hàng còn ít nhất trong kho:

Trang 10

14 Viết SQL thống kê mặt hàng bán chậm, ( nhằm tìm nguyên nhân để

xử lý, ví dụ vị trí bán hàng không tốt -> ko bán được)

Câu lệnh SQL tìm ra mặt hàng bán được ít nhất

Select Top ( ) with ties * from CHITIETHOADONXUAT , HANGHOA

where HANGHOA MAHH = CHITIETHOADONXUAT MAHH

order by SOLUONGX asc

Trang 11

15 Viết SQL thống kê các hàng hóa có giá bán còn thấp hơn giá nhập Câu lệnh sql:

select from CHITIETHOADONNHAP

minus

select from HANGHOA

SELECT HANGHOA MAHH , TENHH , DONGIAN , DONGIA FROM

HANGHOA , CHITIETHOADONNHAP , CHITIETHOADONXUAT

Where HANGHOA MAHH = CHITIETHOADONNHAP MAHH AND

HANGHOA MAHH = CHITIETHOADONXUAT MAHH AND

DONGIA < DONGIAN

group by HANGHOA MAHH , TENHH , DONGIAN , DONGIA

Ngày đăng: 02/09/2021, 10:17

TỪ KHÓA LIÊN QUAN

w