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

Báo cáo bài tập lớn môn hệ quản trị cơ sở dữ liệu – it10 chủ đề 04 quản lý kinh doanh cửa hàng thuốc

22 15 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

Tiêu đề Quản Lý Kinh Doanh Cửa Hàng Thuốc
Tác giả Nguyễn Văn Chiến, Đào Thái Duy, Nguyễn Đình Duy, Nguyễn Viết Duy, Nguyễn Thị Thúy Hằng
Người hướng dẫn ThS. Trịnh Thị Xuân
Trường học Trường Đại Học Mở Hà Nội
Chuyên ngành Hệ Quản Trị Cơ Sở Dữ Liệu
Thể loại Báo cáo
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 4,14 MB

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

Nội dung

- Xây dựng chương trình quản lý kinh doanh cửa hàng thuốc - Các bảng tối thiểu cần có: tblThuoc Thuốc, tblKhachHang Khách hàng, tblNhanVien Nhân viên, tblHoaDon Hoá đơn, tblCTHoaDon Chi

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

TRUNG TÂM ĐÀO TẠO ELEARNING

-BÁO CÁO BÀI TẬP LỚN

MÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU – IT10

CHỦ ĐỀ 04: QUẢN LÝ KINH DOANH CỬA HÀNG THUỐC

SVTH:

- Nguyễn Văn Chiến

- Đào Thái Duy

Trang 2

MỤC LỤC

Trang

I PHÁT BIỂU BÀI TOÁN 1

II MÔ HÌNH CSDL QUAN HỆ 1

III TẠO CƠ SỞ DỮ LIỆU 3

IV XÂY DỰNG CÁC VIEW CHO CSDL 8

V XÂY DỰNG CÁC PROCEDURE CHO CSDL 12

VI XÂY DỰNG CÁC TRIGGER C 15

VII PHÂN QUYỀN VÀ BẢO MẬT CSDL 18

VIII PHÂN TÁN CƠ SỞ DỮ LIỆU 19

Trang 3

CHỦ ĐỀ 04

I Đề bài.

- Xây dựng chương trình quản lý kinh doanh cửa hàng thuốc

- Các bảng tối thiểu cần có: tblThuoc (Thuốc), tblKhachHang (Khách hàng),

tblNhanVien (Nhân viên), tblHoaDon (Hoá đơn), tblCTHoaDon (Chi tiết hoá đơn),….

(Sinh viên tự xác định các thuộc tính và có thể bổ sung thêm các bảng phù hợp với bài toán thực tế)

- Yêu cầu cần thực hiện:

1 Xác định các bảng và Tạo CSDL của bài toán ( 1 điểm Thực hiện câu lệnh tạo CSDL, ):

tạo bảng và chèn dữ liệu cho bảng, mỗi bảng tối thiểu 5 bản ghi

2 Tạo các view chứa và khai thác CSDL ( 2 điểm Tối thiểu 10 view (gồm: Lấy thông tin ):

một bảng, lấy thông tin nhiều bảng, tính toán gom nhóm, …)

3 Tạo và thực thi các thủ tục cho CSDL ( 2 điểm Tối thiểu 5 thủ tục (các thủ tục có ):

truyền tham số)

4 Tạo và vận dụng các trigger ( 2 điểm Tối thiểu 5 trigger ):

5 Phân quyền và bảo mật cho CSDL ( 2 điểm Tạo tối thiểu 2 người dùng và phân quyền ):

sử dụng cho Bảng, View, Thủ tục đã tạo ở trên

6. Phân tán (1 điểm) : lựa chọn một số bảng bất kỳ, thực hiện phân tán ngang và dọc, thực hiện các yêu cầu khai thác trên dữ liệu phân tán

II Yêu cầu chung về quyển báo cáo và chương trình

*Toàn bộ chương trình và file báo cáo BTL được lưu trong thư mục với tên theo nguyên tắc sau:

Nguyên tắc: SQLSERVER-BTL-<thứ tự đề>-<Họ tên sinh viên>

Ví dụ: SQLSERVER -BTL-01-NguyenVanHung

*Chương trình: Tạo file Query ghi nhận toàn bộ các câu lệnh thực hiện xử lý với CSDL của

bài toám gồm: Tạo cơ sở dữ liệu, tạo và chỉnh sửa các bảng, tạo và kiểm tra các View, tạo và thực thi các thủ tục Proc, tạo và thực thi các Trigger, tạo người dùng và phân quyền người dùng, ….

*Cấu trúc quyển báo cáo:

1 Trang bìa: Tên đề tài, tên nhóm (gồm cả họ tên các thành viên của nhóm), tên lớp.

2 Mục lục.

3 Giới thiệu đề tài.

4 Phát biểu bài toán

5 Mô hình CSDL và tạo CSDL – tạo và chỉnh sửa các bảng

6 Các đối tượng CSDL gồm: View, Proc, Trigger

7 Phân quyền và bảo mật CSDL

8 …

9 Kết luận, hướng phát triển tiếp theo

10.Tài liệu tham khảo

Trang 4

I PHÁT BIỂU BÀI TOÁN.

Quản lý kinh doanh của hàng thuốc gồm các thông tin sau:

Mỗi loại thuốc phải có mã thuốc, tên thuốc, số lượng, đơn vị tính (viên, vỉ,…), giá và

Các giao dịch với khách hàng sẽ được lập hoá đơn Hoá đơn sẽ bao gồm mã hoá đơn, ngày đặt hàng, mã khách hàng, mã nhân viên lập hoá đơn và tổng tiền Trong mỗi hoá đơn sẽ bao gồm chi tiết hoá đơn như mã chi tiết hoá đơn, mã hoá đơn, mã thuốc, số lượng, thành tiền của từng loại thuốc và tổng tiền Số lượng thuốc sẽ được cập nhật lại sau khi khách hàng mua thuốc

Nhà thuốc sẽ quản lý nhân viên bằng mã nhân viên, tên nhân viên, địa chỉ, số điện thoại, ngày sinh và giới tính Các nhân viên sẽ được giới hạn độ tuổi làm việc từ 18 tuổi đến

65 tuổi và không thể chỉnh sửa mã nhân viên khi cập nhật lại thông tin nhân viên Chương trình sẽ được phân quyền để phù hợp cho mục đích sử dụng mỗi người.

II MÔ HÌNH CSDL QUAN HỆ.

Ta có CSDL của bài toàn như sau:

1 tblNhaSanXuat (MaNSX, TenNSX, DiaChi, SDT).

2 tblThuoc (MaThuoc, TenThuoc, SoLuong, DVT, DonGia, MaNSX )

3 tblKhachHang (MaKH, TenKH, DiaChi, SDT).

4 tblNhanVien (MaNV, TenNV, DiaChi, SDT, NgaySinh, GioiTinh).

5 tblHoaDon (MaHD, NgayDatHang, MaKH MaNV , , TongTien).

6 tblCTHoaDon (MaCTHD, MaHD MaThuoc , , SoLuong, ThanhTien,

1 MaNSX Nvarchar(50) PK Mã nhà sản xuất

1

Trang 5

2 TenNSX Nvarchar(255) Tên nhà sản xuất

3 DiaChi Nvarchar(255) Địa chỉ nhà sản xuất

4 SDT varchar(10) Số điện thoại

*tblThuoc:

ST

T

Tên thuộc

1 MaThuoc Nvarchar(50) PK Mã thuốc

2 TenThuoc Nvarchar(255) Tên thuốc

4 DVT Nvarchar(50) Đơn vị tính

6 MaNSX Nvarchar(50) FK tham chiếu sang

2 TenKH Nvarchar(255) Tên khách hàng

3 DiaChi Nvarchar(255 Địa chỉ

4 SDT varchar(10) Số điện thoại

2 TenNV Nvarchar(255) Tên nhân viên

3 DiaChi Nvarchar(255) Địa chỉ

4 SDT varchar(10) Số điện thoại

6 GioiTinh Nvarchar(4) Giới tính

*tblHoaDon:

ST

T

Tên thuộc

1 MaHD Nvarchar(50) PK Mã hóa đơn

2 NgayDatHan DateTime Ngày đặt hàng

2

Trang 6

T Tên thuộc tính Kiểu dữ liệu Ràng buộc Ghi chú

1 MaCTHD Nvarchar(50) PK Mã chi tiết hóa đơn

2 MaHD Nvarchar(50) FK, tham chiếu sang

6 TongThanhTien Float Tổng thành tiền

III TẠO CƠ SỞ DỮ LIỆU.

- Tạo db

T o b ng nhà s n xu tạ ả ả ấ

CREATE TABLE tblNhaSanXuat

MaNSX Nvarchar(50) notnull,

TenNSX Nvarchar(255) notnull,

DiaChi Nvarchar(255) null,

SDT varchar(10 )null,

PRIMARYKEY (MaNSX),

);

T o b ng thu cạ ả ố

CREATE TABLE tblThuoc

MaThuoc Nvarchar(50 )not null,

TenThuoc Nvarchar(255)not null,

SoLuong intnotnull,

DVT Nvarchar(50 )null,

DonGia Floatnot null,

MaNSX Nvarchar(50) notnull

PRIMARYKEY (MaThuoc),

FOREIGNKEY (MaNSX)REFERENCES tblNhaSanXuat(MaNSX),

);

B ng khách hàngả

3

Trang 7

MaKH Nvarchar(50) notnull,

TenKH Nvarchar(255)not null,

DiaChi Nvarchar(255) null,

SDT varchar(10 )null,

PRIMARYKEY (MaKH)

);

B ng nhân viênả

CREATE TABLE tblNhanVien

MaNV Nvarchar(50) notnull,

TenNV Nvarchar(255)not null,

DiaChi Nvarchar(255) null,

SDT varchar(10 )null,

NgaySinh DateTimenull,

GioiTinh Nvarchar() null,

PRIMARYKEY (MaNV),

);

B ng hóa donả

CREATE TABLE tblHoaDon

MaHD Nvarchar(50) notnull,

NgayDatHang DateTimenotnull,

MaKH Nvarchar(50) notnull,

MaNV Nvarchar(50) notnull,

TongTien Floatnotnull,

PRIMARYKEY (MaHD),

FOREIGNKEY (MaKH)REFERENCES tblKhachHang(MaKH),

FOREIGNKEY (MaNV)REFERENCES tblNhanVien(MaNV)

);

B ng chi ti t hóa donả ế

CREATE TABLE tblCTHoaDon

MaCTHD Nvarchar(50 )not null,

MaHD Nvarchar(50) notnull,

MaThuoc Nvarchar(50 )not null,

SoLuong intnotnull,

ThanhTien Floatnot null,

TongThanhTien Floatnot null,

PRIMARYKEY (MaCTHD),

FOREIGNKEY (MaHD)REFERENCES tblHoaDon(MaHD),

FOREIGNKEY (MaThuoc)REFERENCES tblThuoc(MaThuoc)

);

- Chèn dữ liệu cho bảng.

Chèn d li u cho b ng tblNhaSanXuatữ ệ ả

INSERT INTO tblNhaSanXuat MaNSX TenNSX, , DiaChi SDT, )

VALUES ('NSX01',N'Công ty c ph n dổ ầ ược ph m OPC'ẩ ,N'1017 - H ng Bàng, Phồ ường 12, Qu nậ

6, Tp.HCM',02837517111);

INSERT INTO tblNhaSanXuat MaNSX TenNSX, , DiaChi SDT, )

VALUES ('NSX02',N'Công ty CP hoá dược ph m Mekophar'ẩ ,N'297/5 Lý Thường Ki t, Qu n 11,ệ ậTp.HCM, Vi t Nam.'ệ ,02838650258);

INSERT INTO tblNhaSanXuat MaNSX TenNSX, , DiaChi SDT, )

VALUES ('NSX03',N'Công ty CP hoá dược ph m Mekophar'ẩ ,N'297/5 Lý Thường Ki t, Qu n 11,ệ ậTp.HCM, Vi t Nam.'ệ ,02838650258);

INSERT INTO tblNhaSanXuat MaNSX TenNSX, , DiaChi SDT, )

VALUES ('NSX04',N'Công ty c ph n dổ ầ ược ph m TW25'ẩ ,N'448B Nguy n T t Thành, P 18, Qu nễ ấ ậ

4, TP.HCM',02839404351);

4

Trang 8

VALUES ('NSX05',N'Công ty C Ph n Sanofi Vi t Nam'ổ ầ ệ ,N'15/6C, Đ ng Văn Bi, Q Th Đ c ặ ủ ứTP.HCM',0287109424);

Chèn d li u cho b ng tblThuocữ ệ ả

INSERT INTO tblThuoc MaThuoc, TenThuoc, SoLuong DVT, , DonGia MaNSX, )

VALUES ('T001',N'Thu c Atorvastatin 20Mg Tr Tăng Cholesterol Máu'ố ị ,'10',N'V 'ỉ,

'10000' 'NSX04', );

INSERT INTO tblThuoc MaThuoc, TenThuoc, SoLuong DVT, , DonGia MaNSX, )

VALUES ('T002',N'Thu c Kháng Sinh Tetracyclin 500Mg Vidipha Đi u Tr Nhi m Khu n'ố ề ị ễ ẩ ,

'10',N'H p'ộ ,'48000' 'NSX04', );

INSERT INTO tblThuoc MaThuoc, TenThuoc, SoLuong DVT, , DonGia MaNSX, )

VALUES ('T003',N'Siro Ho Astex 90Ml Opc Gi m Ho Viêm H ng, Viêm Ph Qu n'ả ọ ế ả ,'10',

N'Chai','38000' 'NSX01', );

INSERT INTO tblThuoc MaThuoc, TenThuoc, SoLuong DVT, , DonGia MaNSX, )

VALUES ('T004',N'Paracetamol 500mg Vidipha','15',N'H p'ộ ,'19000' 'NSX02', );

INSERT INTO tblThuoc MaThuoc, TenThuoc, SoLuong DVT, , DonGia MaNSX, )

VALUES ('T005',N'Viên u ng An th n d ng Mimosa h p 50 viên'ố ầ ễ ủ ộ ,'15',N'H p'ộ ,

'70900' 'NSX01', );

Chèn d li u cho b ng tblKhachHangữ ệ ả

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

VALUES ('KH001',N'Nguy n Văn A'ễ ,N'S 1, đố ường Nguy n Th Minh Khai, TP.HCM 'ễ ị ,

0983456780);

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

VALUES ('KH002',N'Nguy n Văn B'ễ ,N'S 8, đố ường Nguy n Văn Bi, TP.HCM 'ễ , 0986780320);

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

5

Trang 9

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

VALUES ('KH004',N'Nguy n Th Lan'ễ ị ,N'S 687, đố ường Nguy n Ái Qu c, TP.HCM 'ễ ố ,

0935873478);

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

VALUES ('KH005',N'Ð ng Th Thu Hà'ặ ị ,N'S 11/2B, đố ường S n Ðông, TP.HCM 'ơ ,

0945675678);

INSERT INTO tblKhachHang MaKH, TenKH, DiaChi SDT, )

VALUES ('KH006',N'Ngô Di t Phàm'ệ ,N'S 11/2B, đố ường S n Tây, Hà N i 'ơ ộ , );

Chèn d li u cho b ng tblNhanVienữ ệ ả

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV001',N'Nguy n Văn C'ễ ,N'TP.HCM', 0983455678,'2000-04-13','Nam');

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV002',N'Nguy n Văn D'ễ ,N'TP.HCM', 0867980320,'2000-05-13' 'Nam', );

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV003',N'Nguy n Văn Hà'ễ ,N'TP.HCM', 0945675438,'2000-06-13','Nam');

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV004',N'Ngô Minh Chí',N'TP.HCM', 0939654378,'2001-04-13',N'N 'ữ);

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV005',N'Nguy n Th Linh'ễ ị ,N'TP.HCM', 0920965678,'1999-04-13',N'N 'ữ);

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV006',N'Đ ng Th Thanh'ặ ị ,N'Hà N i'ộ ,'' '1997-05-13', ,N'N 'ữ);

INSERT INTO tblNhanVien MaNV, TenNV, DiaChi, SDT NgaySinh, ,GioiTinh)

VALUES ('NV007',N'Đào Bá Phương',N'Hà N i'ộ ,'' '2000-10-13', ,N'N 'ữ);

6

Trang 10

INSERT INTO tblHoaDon MaHD, NgayDatHang MaKH TongTien MaNV, , , )

Trang 11

INSERT INTO tblCTHoaDon MaCTHD, MaHD MaThuoc SoLuong ThanhTien TongThanhTien, , , , )

VALUES ('CTHD005' 'HD004', ,'T004', 2 150000 350000, , );

- Sơ đồ quan hệ giữa các bảng

IV XÂY DỰNG CÁC VIEW CHO CSDL.

- Tạo view:

T o view ds khách hàng ạ

Create VIEW DSKhachHang_VIEW AS

SELECT TenKH, DiaChi, SDT

FROM tblKhachHang;

8

Trang 12

T o view ds nhân viênạ

Create VIEW NhanVien_VIEW AS

Create VIEW NhanVien_VIEW AS

SELECT TenNV, GioiTinh DiaChi, , SDT

FROM tblNhanVien;

Select from NhanVien_VIEW

T o view ds nhân viên có gi i tính là Namạ ớ

Create VIEW NhanVienNam_VIEW AS

SELECT MaNV, TenNV GioiTinh,

FROM tblNhanVien

WHERE GioiTinh ='Nam';

select from NhanVienNam_VIEW

9

Trang 13

Create VIEW SanPham_VIEW AS

SELECT MaThuoc TenThuoc MaNSX, ,

FROM tblThuoc

WHERE MaNSX =N'NSX04';

select from SanPham_VIEW

T o view ds nhân viên có đ a ch là TP.HCMạ ị ỉ

Create VIEW AdNhanVien_VIEW AS

SELECT TenNV DiaChi,

FROM tblNhanVien

WHERE DiaChi like'%HCM%'

select from AdNhanVien_VIEW

T o view ds hóa đ n có s ti n trên 200000ạ ơ ố ề

Create VIEW Total_VIEW AS

SELECT MaHD, NgayDatHang, MaKH, TongTien

FROM tblHoaDon

WHERE TongTien >= 200000;

select from Total_VIEW

10

Trang 14

CREATE VIEW SumHDByNV_VIEW

AS

SELECT MaNV,SUMHD =Count(MaHD )

FROM tblHoaDon

GROUP BY MaNV

select from SumHDByNV_VIEW

T o View tính t ng s hóa đ n đã l p c a nhân viên trong ngày 24/08/2022ạ ổ ố ơ ậ ủ

CREATE VIEW SUMHDDAY_VIEW

AS

SELECT MaNV, NgayDatHang SUMHD , =Count(MaHD )

FROM tblHoaDon

WHERE NgayDatHang ='2022-08-24'

GROUP BY MaNV , NgayDatHang

select from SUMHDDAY_VIEW

T o ds nhân viên không có s đi n tho iạ ố ệ ạ

Create VIEW PhoneNullNhanVien_VIEW AS

SELECT TenNV, DiaChi

11

Trang 15

select from TuoiTBCuaNV_VIEW

V XÂY DỰNG CÁC PROCEDURE CHO CSDL.

- Tạo các procedure:

T o Proc thêm nhân viên vào b ng tblNhanVienạ ả

12

Trang 16

'2000-03-Select from tblNhanVien

T o Proc update nhân viênạ

Create proc sp_SuaNhanVien

Where MaNV = @manv

printN'Đã c p nh t thành công thông tin c a nhân viên: 'ậ ậ ủ @manv+

Trang 17

exec sp_SuaNhanVien'NV006',N'Đ ng Th Thanh update'ặ ị ,N'Hà N i'ộ ,'' '2000-05-,

13',N'N 'ữ;

select from tblNhanVien

T o Proc Xóa nhân viên kh i b ng tblNhanVienạ ỏ ả

CREATE PROC sp_NhanVienDelete

@manv Nvarchar(50)

AS

DELETE tblNhanVien Where MaNV=@manv

exec sp_NhanVienDeleteNV008

Select from tblNhanVien

T o Proc đ m s hóa đ n có t ng giá ti n => 300000ạ ế ố ơ ổ ề

CREATE PROC sp_GetHoaDon @tongtien ( FLOAT 300000= , @HoaDon_COUNT INT OUTPUT)

Trang 18

T o Proc đ list ra nh ng hóa đ n nào mà nhân viên đó làmạ ể ữ ơ

CREATE PROC sp_HDNhanVienDaLam(@manv NVARCHAR( ))

T o trigger thêm d li u trong b ng chi ti t hóa đ n.ạ ữ ệ ả ế ơ

create trigger tg_AddToBillInfo

on tblCTHoaDon

for insert

as

Update tblThuoc

set tblThuoc SoLuong = tblThuoc SoLuong - inserted.SoLuong

from tblThuoc inner join inserted

on tblThuoc.MaThuoc = inserted.MaThuoc

Select from tblThuoc

INSERT INTO tblCTHoaDon MaCTHD, MaHD MaThuoc SoLuong ThanhTien TongThanhTien, , , , )

VALUES ('CTHD006' 'HD004', ,'T001', 7 10000 70000, , );

Select from tblCTHoaDon

Select from tblThuoc

15

Trang 19

create trigger tg_CancelBill

on tblCTHoaDon

for delete

as

Update tblThuoc

set tblThuoc SoLuong = tblThuoc SoLuong + deleted SoLuong

from tblThuoc inner join deleted

on tblThuoc.MaThuoc = deleted MaThuoc

Select from tblThuoc

Select from tblCTHoaDon

Delete From tblCTHoaDon where MaCTHD ='CTHD006'

Select from tblCTHoaDon

Select from tblThuoc

16

Trang 20

T o Insert trigger ràng bu c không cho xóa nhân viên ạ ộ

create trigger tg_EditMaNV

on tblNhanVien

forupdate

as

17

Trang 21

Update tblNhanVien set MaNV ='1' Where MaNV ='NV001'

create trigger tg_ValidateAge

on tblNhanVien

for insert

as

declare @tuoi int;

select @tuoi =DateDiff Year( , NgaySinh ,GetDate() )+1 from inserted

VII PHÂN QUYỀN VÀ BẢO MẬT CSDL.

- Tạo Account và phân quyền

T o 2 login không có quy nạ ề

CREATE LOGIN duy WITH PASSWORD '123456'

GO

CREATE LOGIN duy1 WITH PASSWORD '123456'

GO

18

Trang 22

CREATE LOGIN admin@db

Grant select on tblThuoc to duyDB

Grant select on tblHoaDon to duyDB

CREATE USER duytest FOR LOGIN duy1

Grantupdateon AdNhanVien_VIEW to duytest

VIII PHÂN TÁN CƠ SỞ DỮ LIỆU.

Quản lý kinh doanh của hàng thuốc gồm các thông tin sau:

19

Ngày đăng: 20/09/2023, 15:42

HÌNH ẢNH LIÊN QUAN

Bảng tblKhachHang - Báo cáo bài tập lớn môn hệ quản trị cơ sở dữ liệu – it10  chủ đề 04 quản lý kinh doanh cửa hàng thuốc
Bảng tbl KhachHang (Trang 6)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w