1. Trang chủ
  2. » Luận Văn - Báo Cáo

cbài tập cá nhân cơ sỡ dữ liệu đề tài quản lý bán hàng

13 1 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

Nội dung

Mô tả bài toánMỗ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 DIENTHOAI.

Trang 1

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

BÀI TẬP CÁ NHÂN MÔN: CƠ SỠ DỮ LIỆU

Đề tài

QUẢN LÝ BÁN HÀNG

Giảng viên hướng dẫn : Trần Huệ Chi Sinh viên thực hiện : Nguyễn Văn Thuận Lớp : IS 301 B

Mã sinh viên: 28211106441

Trang 2

3.1 Câu lệnh nhập dữ liệu vào bảng 7

3.2 Câu lệnh xóa dữ liệu 7

4 Câu lệnh thao tác dữ liệu 7

4.1 Truy vấn lấy dữ liệu từ 1 bảng (8 câu) 7

4.2 Truy vấn từ nhiều bảng (6 câu) 8

4.3 Truy vấn có dùng hàm 10

4.4 Truy vấn có gộp nhóm 10

Trang 3

PHẦN I – PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ MÔ HÌNH CƠ SỞ DỮ LIỆU

1 Mô tả bài toán

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 (DIENTHOAI) 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 (SOHD) duy nhất, mỗi hóa đơn xác định dược khách hàng và ngày lập hóa đơn (NGAYLAPHD), 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 đó.

KHACHHANG (MAKH, HOTEN, DIACHI, DIENTHOAI) NHOMHANG (MANHOM, TENNHOM)

HOADON (SOHD, NGAYLAPHD, NGAYBAN) MATHANG (MAHANG, TENHANG, DONGIA, DVT) BAN (SOHD, MAHANG, SLBAN)

Trang 6

Bảng dữ liệu HOADON

Bảng dữ liệu BAN

Trang 7

PHẦN II – BIỂU THỨC ĐẠI SỐ QUAN HỆ 1 Lập danh sách các khách hàng ở Đà Nẵng δdiachi = “Đà Nẵng” (KHACHHANG) 2 Lập danh sách những mặt hàng có dvt là kg δDVT = “kg” (MATHANG)

3 Lấy những hóa đơn năm 2023 Mahd, makh, ngayhd πmahđ, makh, ngayhd (δ year(ngayhd) = 2023(hoadon)) 4 Lấy những mặt hàng có sl bán>=20 Mah, mahd, slban πmah, mahd, slban (δ slban >= 20 (ban))

5 Lấy những mặt hàng có trong hd01 Mahd, mah, tenh πmahd, mah, tenh (δmahd = “hd01” (ban * mathang))

6 Lấy những mặt hàng mà kh01 đã mua Makh, mahd, mah, tenh πmakh, mahd, mah, tenh (δmakh = “kh01” (ban*hoadon * mathang)) 7 Lấy những hóa đơn mua với sl>50 Mah, mahd, tenh, sl

πmah, mahd, tenh, slban (δ slban >50 (ban * mathang)) 8 Lấy những mặt hàng chưa ai mua.

πmah(mathang) – πmah(ban)

Trang 8

PHẦN III – NGÔN NGỮ SQL 1 Câu lệnh tạo bảng

CREATE TABLE KHACHHANG (MAKH TEXT PRIMARY KEY, HOTEN TEXT,

DIACHI TEXT, DIENTHOAI NUMBER) CREATE TABLE NHOMHANG (MANHOM TEXT PRIMARY KEY, TENNHOM TEXT)

CREATE TABLE MATHANG (MAHANG TEXT PRIMARY KEY, TENHANG TEXT,

DONGIA NUMBER, DVT TEXT,

MANHOM TEXT REFERENCES NHOMHANG(MANHOM)) 2 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 HOADON add column GIAMGIA number 2.2 Câu lệnh xóa cột

Alter table KHACHHANG drop column DIACHI 2.3 Câu lệnh đổi kiểu dữ liệu

alter table KHACHHANG alter column DIENTHOAI int

Trang 9

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 KHACHHANG (MAKH, HOTEN, DIACHI, DIENTHOAI) values (“KH06”, “Nguyễn Văn A”, “Hà Nội”, “0123456789”)

3.2 Câu lệnh xóa dữ liệu

Delete from KHACHHANG where MAKH = “KH01” 4 Câu lệnh thao tác dữ liệu

4.1 Truy vấn lấy dữ liệu từ 1 bảng (8 câu)

- Câu không cần điều kiện: Lập danh sách các khách hàng Select makh, hotwn, diachi, dienthoai from KHACHHANG

- Câu có 1 điều kiện: Lấy những mặt hàng có dvt là “kg” tenh, dvt

Select tenh, dvt From HANG Where dvt = “kg”

- Câu có 2 điều kiện: Liệt kê các mặt hàng có số lượng >=10 và <=20 Mah, soluong, dongia

Select mah, soluong, dongia From BAN

Where soluong >= 10 and soluong <= 20

- Câu có sử dụng biểu thức: Lấy những hóa đơn trong năm 2022 Mahd, nam

Select mahd, ngayhd as nam From HOADON

Trang 10

Where year (ngayhd) = 2022

- Câu có dùng tùy chọn top N: Liệt kê 2 mặt hàng có đơn

Select * from HOADON

- Câu có dùng tùy chọn order by: Lấy danh sách khách hàng được sắp xếp theo mã khách hàng

Select * from KHACHHANG order by makh - Câu có sử dụng kết hợp 2 hoặc 3 tùy chọn trên: Lấy danh sách 10 mặt hàng có Đơn giá cao nhất, được sắp xếp theo Mã hàng

Select top 10 * from MATHANG Order by dongia, mahang 4.2 Truy vấn từ nhiều bảng (6 câu)

- 2 Câu truy vấn từ 2 bảng không cần điều kiện lọc Truy vấn tất cả thông tin của bảng KHACHHANG và NHOMHANG:

Select * from KHACHHANG, NHOMHANG

Truy vấn số hóa đơn và ngày lập hóa đơn từ bảng HOADON và MATHANG:

Select hoadon.sohd, hoadon.ngaylaphd from hoadon, mathang

Trang 11

- 2 Câu truy vấn từ 2 bảng có thêm điều kiện lọc Truy vấn số hóa đơn, ngày lập hóa đơn và mã hàng từ bảng HOADON và MATHANG chỉ khi mã hàng bằng “MH01”:

select hoadon.sohd, hoadon.ngaylaphd, mathang.mahang from hoadon, mathang where mathang.mahang = “MH01” truy vấn mã khách hàng và địa chỉ từ bảng

KHACHHANG và NHOMHANG chỉ khi nhóm hàng là “Snack”:

select khachhang.makh, khachhang.diachi from khachhang, nhomhang

where nhomhang.tennhom = “snack” - 2 Câu truy vấn từ 3 bảng trở lên

Truy vấn số hóa đơn, ngày lập hóa đơn, tên hàng, và số lượng bán từ các bảng HOADON, MATHANG và BAN: select hoadon.sohd, hoadon.ngaylaphd, mathang.tenhang, ban.slban from hoadon, mathang, ban

where hoadon.sohd = ban.sohd and mathang.mahang = ban.mahang

Truy vấn tên nhóm hàng, tên hàng, mã hàng và đơn giá từ các bảng NHOMHANG, MATHANG và BAN chỉ khi số lượng bán lớn hơn 10:

select nhomhang.tennhom, mathang.tenhang, mathang.mahang, mathang.dongia

from nhomhang, mathang, ban

where nhomhang.manhom = mathang.manhom and mathang.mahang = ban.mahang and ban.slban > 10

Trang 12

4.3 Truy vấn có dùng hàm

- 1 câu có dùng làm sum có điều kiện: Tính tổng số lượng hàng đã bán trong toàn bộ các hóa đơn.

select sum (SLBAN) from BAN

- 1 câu dùng hàm count: Đếm số lượng khách hàng select count (*) as sl_khachhang

from KHACHHANG

- 1 câu dùng hàm agv có điều kiện: Tính trung bình giá của các mặt hàng có số lượng bán lớn hơn 10.

- 1 câu có dùng hàm sum: Tính tổng số lượng hàng đã bán của mỗi hóa đơn.

select distinct b.sohd,

(select sum(slban) from ban where sohd = b.sohd) as

Trang 13

from khachhang kh, mathang mh

where kh.mahang = mh.mahang and mh.manhom = nh.manhom) as so_luong_kh

từ 2 bảng: Tìm mã hàng và giá cao nhất trong danh sách các mặt hàng.

select mh.mahang, max(mh.dongia) as gia_cao_nhat from mathang mh

- 1 câu có dùng hàm avg có điều kiện nhóm: Tính giá trung bình của các mặt hàng đã bán theo từng hóa đơn select b.sohd, (select avg(dongia) from mathang where mahang = b.mahang) as gia_trung_binh from ban b

Ngày đăng: 24/04/2024, 16:12

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w