You are on page 1of 8

TRƯỜNG ĐẠI HỌC DUY TÂN

KHOA CÔNG NGHỆ THÔNG TIN


--------------

BÁO CÁO BÀI TẬP CÁ NHÂN


MÔN HỌC: CƠ SỞ DỮ LIỆU
Đề tài: QUẢN LÍ BÁN HÀNG

SVTH: Nguyễn Tiến Lực


\ LỚP : IS 301 E
GV: Trần Huệ Chi

Đà Nẵng,15/11/2023
PHẦN 1:
Câu 1: QUẢN LÝ BÁN HÀNG
Mỗi khách hàng có một mã khách hàng (MAKH) duy nhất, mỗi MAKH xác định được các thông
tin về khách hàng như : họ tên khách hàng (HOTEN), địa chỉ (ĐIACHI), số điện thoại
(ĐIENTHOAI). Các mặt hàng được phân loại theo từng nhóm hàng, mỗi nhóm hàng có một mã
nhóm (MANHOM) duy nhất, mỗi mã nhóm hàng xác định tên nhóm hàng (TENNHOM), tất
nhiên một nhóm hàng có thể có nhiều mặt hàng. Mỗi mặt hàng được đánh một mã số
(MAHANG) duy nhất, mỗi mã số này xác định các thông tin về mặt hàng đó như : tên hàng
(TENHANG), đơn giá bán (ĐONGIA), đơn vị tính (ĐVT). Mỗi hóa đơn bán hàng có một số hóa
đơn (SOHĐ) duy nhất, mỗi hóa đơn xác định được khách hàng và ngày lập hóa đơn
(NGAYLAPHĐ), ngày bán hàng (NGAYBAN). Với mỗi mặt hàng trong một hóa đơn cho biết
số lượng bán (SLBAN) của mặt hàng đó.
Câu 2: Mô hình của quản lý bán hàng

MAKH DIACHI HOTEN SOHD NGAYBAN NGAYLAPHD

1 n
KHANHHANG HOADON

DIENTHOAI

SLBAN CHITIET

n
1 n
NhOMHANG MATHANG DVT

MAHANG DONGIA TENHANG


TENNHOM MANHOM
Câu 3: Các mối quan hệ

Câu 4: Xác định các yêu cầu quản lý.


1 . Lập danh sách những khách hàng không có số điện thoại : MAKH, HOTEN, DIACHI,
DIENTHOAI

π MAKH, HOTEN, DIACHI, DIENTHOAI (δDIENTHOAI = IS NULL (KHACHHANG))

2. Lấy những hóa đơn có giá bán >= 15000 : MAKH, SOHD, NGAYLAPHD, DONGIA

π MAKH, SOHD, NGAYLAPHD, DONGIA (δDONGIA >= 15000 (HOADON * MATHANG))

3 . Lấy những mặt hàng cua nhóm hàng “N02”: MANHOM, TENNHOM, TENHANG,
DVT

π MANHOM, TENNHOM, TENHANG, DVT (δMANHOM = “N02” (NHOMHANG * MATHANG))

4. Lấy những khách hàng mua “Bia tiger”: MAKH, TENHANG, DONGIA, SLBAN

π MAKH, TENHANG, DONGIA, SLBAN (δTENHANG =“Bia tiger” (HOADON * CHITIET * MATHANG))

5. Lấy những mặt hàng chưa có ai mua: MAHANG

π MAHANG (MATHANG) – π MAHANG (CHITIET)

6. Lấy những hóa đơn có trong tháng 5: SOHD, THANG, MAKH

π SOHD, MONTH(NGAYBAN) AS THANG, MAKH (δMONTH(NGAYBAN) = 5 (HOADON))

7. Lấy những hóa đơn vừa mua “nước rửa chén” vừa mua “bột giặt”: SOHD

π SOHD (δ TENHANG = “Bột giặt” (HOADON * CHITIET * MATHANG)) ∩

π SOHD (δTENHANG = “Nước rửa chén” (HOADON *CHITIET * MATHANG))


8. Lấy những hóa đơn lập trong tháng 6 của khách hàng có địa chỉ ở “Đà Nẵng”: SOHD,
MAKH

π SOHD, MAKH(δMONTH(NGAYLAPHD = 6 (HOADON * KHACHHANG))

9. Lấy những mặt hàng có số lượng bán >= 200: MAHANG, SLBAN, DONGIA,
THANHTIEN

π MAHANG, SLBAN, DONGIA, SLBAN*DONGIA AS THANHTIEN (δSLBAN >= 200 (CHITIET * MATHANG))

10. Lập danh sách các mặt hành có đơn vị tính là “Cái”. MAHANG, TENHANG, DVT

π MAHANG, TENHANG, DVT(δDVT = Cái (MATHANG))

PHẦN 2: Câu lệnh SQL


Cho cơ sở quản lý bán hàng:
KHACHHANG(MAKH, HOTEN, DIACHI, DIENTHOAI)
HOADON(SOHD, MAKH, NGAYLAPHD, NGAYBAN)
NHOMHANG(MANHOM, TENNHOM)
MATHANG(MAHANG, TENHANG, DONGIA, DVT, MANHOM)
CHITIET(MAHANG, SOHD, SLBAN)

Câu 1: Tạo bảng


1.1 Tạo bảng hóa đơn
CREATE TABLE HOADON
(SOHD TEXT PRIMARY KEY,
MAKH TEXT REFERENCES KHACHHANG(MAKH),
NGAYLAPHD DATETIME,
NGAYBAN DATETIME)
1.2 Tạo bảng Chi tiết
CREATE TABLE CHITIET
(SOHD TEXT REFERENCES HOADON(SOHD),
MAHANG TEXT REFERENCES MATHANG(MAHANG),
SLBAN NUMBER,
PRIMARY KEY(SOHD, MAHANG))
1.3 Tạo bảng Khách hàng
CREATE TABLE KHACHHANG
(MAKH TEXT PRIMARY KEY,
HOTEN TEXT,
DIACHI TEXT,
DIENTHOAI TEXT)
1.4 Tạo bảng mặt hàng
CREATE TABLE MATHANG
(MAHANG TEXT PRIMARY KEY,
TENHANG TEXT,
DONGIA NUMBER,
DVT TEXT,
MANHOM TEXT)
1.5 Tạo bảng nhóm
CREATE TABLE NHOMHANG
(MANHOM TEXT PRIMARY KEY,
TENNHOM TEXT)

Câu 2: Viết câu lệnh chỉnh sửa cấu trúc bảng


2.1 Câu lệnh thêm cột
ALTER TABLE MATHANG ADD COLUMN NUOCSX TEXT, NGAYSX DATETIME
2.2 Câu lệnh xóa cột
ALTER TABLE MATHANG DROP COLUMN NGAYSX
2.3 Câu lệnh đổi kiểu dữ liệu
ALTER TABLE MATHANG ALTER COLUMN DONGIA DOUBLE

Câu 3: Câu lệnh về dữ liệu


3.1 Câu lệnh nhập dữ liệu vào bảng
INSERT INTO HOADON ( SOHD, NGAYLAPHD )
VALUES (01, #07/19/2023#)
3.2 Câu lệnh cập nhật dữ liệu
UPDATE MATHANG SET TENHANG = "Vở Hồng Hà"
WHERE MAHANG ="MH01";
3.3 Câu lệnh xóa dữ liệu
DELETE *
FROM CHITIET
WHERE SLBAN = 1000;

Câu 4: Truy vấn dùng hàm


4.1 Tính tổng số lượng bán của tất cả các mặt hàng có SOHD = “HD01”
SELECT SUM(SLBAN) AS TONGSLBAN
FROM CHITIET WHERE SOHD = "HD01"
4.2 Đếm số mặt hàng
SELECT COUNT(MAHANG) AS SOHANG
FROM MATHANG
4.3 Tính số lượng trung bình của các hóa đơn có số lượng bán > 200
SELECT AVG(SLBAN) AS TBC
FROM CHITIET
WHERE SLBAN > 200
4.4 Tìm đơn giá cao nhất trong các mặt hàng
SELECT Max(DONGIA) AS DONGIAMAX
FROM MATHANG;
4.5 Tìm đơn giá cao nhất trong các mặt hàng
SELECT Min(DONGIA) AS DONGIAMIN
FROM MATHANG;

Câu 5: Truy vấn có gộp nhóm


5.1 Tính tổng số lượng bán của từng hóa đơn
SELECT SOHD, SUM(SLBAN) AS TONGSLB
FROM CHITIET
GROUP BY SOHD;
5.2 Lấy những hóa đơn có từ 3 mặt hàng trở lên
SELECT CHITIET.SOHD, Count(CHITIET.MAHANG) AS SOHANG
FROM CHITIET
GROUP BY CHITIET.SOHD
HAVING (((Count(CHITIET.[MAHANG]))>=3));
5.3 Tìm đơn giá cao nhất của từng hóa dơn
SELECT HOADON.SOHD, Max(MATHANG.DONGIA) AS MAXDONGIA
FROM HOADON, CHITIET, MATHANG
WHERE (((HOADON.SOHD)=[CHITIET].[SOHD]) AND
((CHITIET.MAHANG)=[MATHANG].[MAHANG]))
GROUP BY HOADON.SOHD;
5.4 Tìm các hóa đơn có trung bình cộng số lượng bán >= 200
SELECT SOHD, AVG(SLBAN) AS TBC
FROM CHITIET
GROUP BY SOHD
HAVING AVG(SLBAN) >= 200;

You might also like