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

cơ sở dữ liệu nâng cao đề tài quản lý khách sạn

29 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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ý Khách Sạn
Tác giả Huỳnh Ngọc Trợ
Người hướng dẫn TS. Hoàng Hữu Trung
Trường học ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ
Chuyên ngành Tin học Kinh tế
Thể loại Đề tài
Thành phố Huế
Định dạng
Số trang 29
Dung lượng 3,62 MB

Nội dung

Phiếu thuêđược lập thành hai bản một bản sẽ được giao lại cho một khách hàng , một bản lưu lại.Thông tin trên Phiếu thuê gồm có : Mã phiếu thuê, ngày lập , mã khách hàng, tênkhách hàng,

Trang 1

ĐẠI HỌC HUẾTRƯỜNG ĐẠI HỌC KINH TẾKHOA HỆ THỐNG THÔNG TIN KINH TẾ

-

-Cơ sở dữ liệu nâng cao

Đề Tài Quản lý Khách SạnSinh viên thực hiện

LớpMã sinh viênGiáo viên hướng dẫn

Huỳnh Ngọc TrợK55 Tin học Kinh tế

21K4080057Hoàng Hữu Trung

uản lý Khách sạn 3

Trang 2

Bước 1: Mô tả bài toán 3

Bước 2: Liệt kê danh từ liên quan 4

Bước 3: Xác định thực thể và các thuộc tính tương ứng của thực thể 5

Bước 4: Xác định mối quan hệ giữa các thực thể và vẽ sơ đồ thực thể mối quan hệ ERD 6

4.1 các mỗi quan hệ thực thể 6

4.2 ,Vẽ sơ đồ thực thể mối quan hệ(Entity Relationship Diagram -ERD) 7

Bước 5: Chuẩn Hóa 8

5.1 thiết lập khóa cho thực thể 8

5.2 Các quan hệ 1-1 , 1-n , n-n 8

Bước 6 : Xây dựng mô hình dữ liệu quan hệ 12

6.1 mô hình dữ liệu quan hệ sql server 12

Code chạy trên SQL Server kèm hình ảnh và kết quả 13

Câu Lệnh Inner Join 13

Câu Lệnh Full Outer Join 13

Câu Lệnh Left Join 14

Câu Lệnh Right Join 14

Bước 1: Mô tả bài toán

Để có thể quản lý tốt và chăm sóc khách hàng thuận lợi Khách sạn chia ra nhiều bộphận khác nhau , tùy vào năng lực mỗi cá nhân, Nhân viênsẽ thuộc một bộ phận

tương ứng và trong Bộ phận đó sẽ gồm nhiều nhân viên cùng một bộ phận Khách Hàng

đến thuê Phòng bộ phận , quản lý thuê phòng sẽ kiểm tra yêu cầu của khách hàng, nếuyêu cầu không được đáp ứng thì đưa ra thông báo từ chối , nếu đáp ứng được thì NhânViên sẽ lập Phiếu thuê cho khách hàng Khách hàngcó thể đăng ký thuê nhiều lần

Trang 3

khi có nhu cầu thuê phòng và mỗi lần thuê sẽ một phiếu thuê được lập Phiếu thuê

được lập thành hai bản một bản sẽ được giao lại cho một khách hàng , một bản lưu lại.Thông tin trên Phiếu thuê gồm có : Mã phiếu thuê, ngày lập , mã khách hàng, tênkhách hàng, số CCCD, Dịa chỉ khách hàng, số tiền đặt trước , yêu cầu , Sau khi phiếuthuê được lập sẽ một bản chi tiết phiếu thuê đại diện cho các chi tiết cụ thể hơn liênquan đến việc cho thuê , một phiếu thuế sẽ nhiều chi tiết phiếu thuê tương ứng vớisố lượng phòng khách hàng được cho thuê , một chi tiết phiếu thuê chỉ thuộc vềmột phiếu thuê duy nhất và trong Chi Tiết Phiếu Thuê sẽ có nhiều thông tin củakhách hàng xuất hiện trong đó Thông tin Chi Tiết Phiếu Thuêgồm : MaCTPT ,NgayTP , MaPhong ,MaPT Mỗi Phòng trong khách sạn đều được phân biệt với các

loại phòngkhác nhau để đáp ứng nhu cầu của khách hàng, khi đến thuê phòng kháchhàng sẽ được tư vấn chọn loại phòng để phù hợp khả năng chỉ trả cũng như số lượng dukhách khi thuê phòng, mỗi phòng chỉ thuộc về mộtloại phòng tương ứng và một loạiphòng sẽ có nhiều phòng như thế Thông tin về loại phòng bao gồm: MaLP , TenLP ,DonGia , SoNguoiToiDa Khách Hàngsau khi lập phiếu thuêphòng sẽ dựa vào đó đểbiết được Thông tin về Phòng của mình Thông tin Phòng bao gồm: MaPhong , MaLP ,diện tích , tình trạng phòng , đơn giá phòng Khi khách hàng trả phòng Nhân viên sẽ

lậpHóa đơn thanh toán cho khách hàng từ phiếu thuê được lưu lại khi khách hàngthuê phòng và nếu khách hàng đã thanh toán ngay khi lập Phiếu thuê thì nhân viên sẽkiểm tra lại trong thời gian lưu lại có sử dụng dịch vụ gì không nếu có thì nhân viên sẽtrả lại số tiền thừa cho khách hàng Thông tin trên Hóa đơn thanh toán gồm :MaHD ,NgayLap, TenKH ,MaNV, MaPT Hóa đơn được lập thành hai bản , một bảngiao cho khách hàng , một bản lưu lại Khi khách hàng có nhu cầu sử dụng thêm dịch vụ , bộ phận quản lý dịch vụ sẽ kiểm tra yêu cầu của khách Nếu yêu cầu không đáp ứngđược thì đưa ra thông báo từ chối , nếu đáp ứng được thì cung cấp dịch vụ cho khách.Thông tin dịch vụ gồm : mã dịch vụ , tên dịch vụ , đơn giá bộ phận này phải lưu đầyđủ thông tin theo dõi quá trình sử dụng dịch vụ của khách hàng trongPhiếu dịch vụ ,

Mỗi Phiếu dịch vụ sẽ các thông tin dịch vụ được ghi vào sau khi được khách hàngsử dụng , mỗi dịch vụ sẽ có nhiều khách hàng khác nhau sử dụng và lưu ở nhiều Phiếudịch vụ khác nhau , thông tin Phiếu dịch vụ gồm : MaPhieuDV , NgayLap

,SoLuong,MaDV TongTien .Trong thời gian lưu lại khách sạn Bộ phận quản lý kháchhàng sẽ nhập và lưu toàn bộ thông tin về khách hàng khi cần thiết cũng có thể sửa chữavà xóa thông tin khách hàng Thông tin khách hàng gồm : Mã khách hàng, tên kh, sốCCCD , địa chỉ , điện thoại , quốc tịch , sổ hổ chiếu

Bước 2: Liệt kê danh từ liên quan

Trang 4

Mã phiếu thuê Ngày lập Số tiền đặt trước Yêu cầu

Bước 3: Xác định thực thể và các thuộc tính tương ứng của thực thể

Thực thể: KHACHHANG (Khách Hàng)- Mục đích: Quản lý thông tin Khách Hàng- Thuộc tính: MaKH, TenKH ,NgaySinh, SDT, CCCD , DiaChi , QuocTich.Thực thể: PHONG ( Phòng )

- Mục đích: Quản lý thông tin các Phòng- Thuộc tính: MaPhong , DienTich, TinhTrang , MaLP.Thực thể: LOAIPHONG (Loại Phòng )

- Mục đích: Quản lý thông tin các Loại phòng

Trang 5

- Thuộc tính: MaLP , TenLP , DonGia , SoNguoiToiDaThực thể: PHIEUTHUE ( Phiếu Thuê)

- Mục đích: Quản lý thông tin các Phiếu Thuê phòng- Thuộc tính:MaPT , NgayThue, NgayTra, GiaMotNgay,TenKH, MaNV,MaKH.Thực thể: CHITIETPHIEUTHUE (Chi Tiết Phiếu Thuê)

- Mục đích: Quản lý thông tin các Phiếu Thuê phòng- Thuộc tính: MaCTPT , NgayTP , MaPhong ,MaPTThực thể: HOADONTHANHTOAN (Hóa Đơn Thanh Toán)

- Mục đích: Quản lý các hóa đơn thanh toán- Thuộc tính: MaHD ,NgayLap, TenKH ,MaNV, MaPT, TongTienThực thể: DICHVU (Dịch Vụ)

- Mục đích: Quản lý các dịch vụ- Thuộc tính: MaDV , TenDV , DonGiaThực thể: PHIEUDICHVU (Phiếu Dịch Vụ)

- Mục đích: Quản lý các dịch vụ- Thuộc tính: MaPhieuDV , NgayLap , TongTien, MaPTThực thể: BOPHAN (Bộ phận)

- Mục đích: Quản lý thông tin các bộ phận- Thuộc tính: MaBP , TenBP , MoTa.Thực thể: NHANVIEN (Nhân viên)

- Mục đích: Quản lý thông tin Nhân viên- Thuộc tính: MaNV , TenNV , NgaySinh , GioiTinh , DiaChi , SDT , CCCD,

ChucVu , MaBP, Luong

Trang 6

Bước 4: Xác định mối quan hệ giữa các thực thể và vẽ sơ đồ thực thể mốiquan hệ ERD

4.1 các mỗi quan hệ thực thể

Khách Hàng đến thuê Phòng ,bộ phậnquản lý thuê phòng sẽ kiểm tra yêu cầu của khách hàng, nếu yêu cầu không được đáp ứng thì đưa ra thông báo từ chối , nếu đáp ứngđược thì Nhân Viênsẽ lập Phiếu thuê cho khách hàng

Khách hàng có thể đăng ký thuê nhiều lần khi có nhu cầu thuê phòng và mỗi lần thuêsẽ một phiếu thuê được lập Phiếu thuê được lập thành hai bản một bản sẽ được

giao lại cho một khách hàng , một bản lưu lại

Sau khi phiếu thuê được lập sẽ một bản chi tiết phiếu thuê đại diện cho các chi tiếtcụ thể hơn liên quan đến việc cho thuê , một phiếu thuế sẽ nhiều chi tiết phiếu thuê

tương ứng với số lượng phòng khách hàng được cho thuê , một chi tiết phiếu thuê

chỉ thuộc về một phiếu thuê duy nhất và trong Chi Tiết Phiếu Thuê sẽ có nhiều thôngtin của khách hàng xuất hiện trong đó

Mỗi Phòng trong khách sạn đều được phân biệt với các loại phòng khác nhau để đáp ứng nhu cầu của khách hàng , khi đến thuê phòng khách hàng sẽ được tư vấn chọn loạiphòng để phù hợp với khả năng chỉ trả cũng như số lượng du khách khi thuê phòng, mỗi phòng chỉ thuộc về mộtloại phòng tương ứng và một loại phòng sẽ có nhiều phòng như thế

Khách sạn chia ra nhiều bộ phận khác nhau , tùy vào năng lực mỗi cá nhân, Nhân viên

sẽ thuộc một bộ phận tưởng ứng và trong Bộ phận đó sẽ gồm nhiều nhân viên cùngmột bộ phận

Trang 7

Khi khách hàng trả phòng Nhân viên sẽ lậpHóa đơn thanh toán cho khách hàng từ

phiếu thuêđược lưu lại khi khách hàng thuê phòng hoặc lậphóa đơn thanh toánngaykhi khách hàng thuê phòng

Mỗi Phiếu dịch vụ sẽ các thông tin dịch vụ được ghi vào sau khi được khách hàngsử dụng , mỗi dịch vụ sẽ có nhiều khách hàng khác nhau sử dụng và lưu ở nhiều Phiếudịch vụ khác nhau

4.2 ,Vẽ sơ đồ thực thể mối quan hệ(Entity Relationship Diagram -ERD)

Trang 9

Bước 5: Chuẩn Hóa

5.1 thiết lập khóa cho thực thể

 KHACHHANG (MaKH, TenKH ,NgaySinh, SDT, CCCD , DiaChi ,

QuocTich.)

 PHONG (MaPhong , DienTich, TinhTrang , MaLP.) LOAIPHONG (MaLP , TenLP , DonGia , SoNguoiToiDa) PHIEUTHUE ( MaPT , MaPhong, MaKH, TenKH ,NgayThue,

NgayTra , GiaMotNgay, MaNV)

 CHITIETPHIEUTHUE (MaCTPT ,MaPT, MaKH) HOADONTHANHTOAN (MaHD ,NgayLap, TenKH ,MaNV,

Trang 10

 Hai bảng KHACHHANG và PHIEUTHUE có mối liên hệ 1-n nên tađể khóa chính của bảng KHACHHANG qua làm khóa phụ của bảngPHIEUTHUE.

 PHIEUTHUE ( MaPT , NgayLap , NgayDen, TenKH, MaKH,

MaNV)

 Hai bảng NHANVIEN và PHIEUTHUE có mối liên hệ 1-n nên ta đểkhóa chính của bảng NHANVIEN qua làm khóa phụ của bảngPHIEUTHUE.

 PHIEUTHUE ( MaPT , NgayLap , NgayDen, TenKH, MaKH,

MaNV)

 Hai bảng BOPHAN và NHANVIEN có mối liên hệ 1-n nên ta đểkhóa chính của bảng BOPHAN qua làm khóa phụ của bảngNHANVIEN.

 NHANVIEN (MaNV , TenNV , NgaySinh , GioiTinh , DiaChi ,

SDT , CCCD, ChucVu , MaBP ,NgayVL, Luong )

 Hai bảng NHANVIEN và HOADONTHANHTOAN có mối liên hệ1-n nên ta để khóa chính của bảng NHANVIEN qua làm khóa phụcủa bảng HOADONTHANHTOAN.

 HOADONTHANHTOAN (MaHD ,NgayLap, TenKH ,MaNV,

MaPT)

Trang 11

 Hai bảng PHIEUTHUE và HOADONTHANHTOAN có mối liên hệ1-n nên ta để khóa chính của bảng PHIEUTHUE qua làm khóa phụcủa bảng HOADONTHANHTOAN.

 HOADONTHANHTOAN (MaHD ,NgayLap, TenKH ,MaNV,

MaPT)

 Hai bảng PHIEUTHUE và PHIEUDICHVU có mối liên hệ 1-n nênta để khóa chính của bảng PHIEUTHUE qua làm khóa phụ của bảngPHIEUDICHVU.

 PHIEUDICHVU (MaPhieuDV , NgayLap , TongTien, MaPT)

 Hai bảng PHIEUTHUE và CHITIETPHIEUTHUE có mối liên hệ n nên ta để khóa chính của bảng PHIEUTHUE qua làm khóa phụ củabảng CHITIETPHIEUTHUE.

1- CHITIETPHIEUTHUE (MaCTPT , NgayTP , MaPhong ,MaPT)

 Hai bảng CHITIETPHIEUTHUE và KHACHHANG có mối liên hệ1-n nên ta để khóa chính của bảng CHITIETPHIEUTHUE qua làmkhóa phụ của bảngKHACHHANG.

 KHACHHANG (MaKH, TenKH ,NgaySinh, SDT, CCCD , DiaChi ,

QuocTich.)

Trang 12

 Hai bảng PHONG và PHIEUTHUE có mối liên hệ 1-n nên ta đểkhóa chính của bảng PHONG qua làm khóa phụ của bảngPHIEUTHUE.

 PHIEUTHUE ( MaPT , MaPhong, MaKH, TenKH ,NgayThue,

NgayTra , GiaMotNgay, MaNV)

 Hai bảng LOAIPHONG và PHONG có mối liên hệ 1-n nên ta đểkhóa chính của bảng LOAIPHONG qua làm khóa phụ của bảngPHONG.

 PHONG (MaPhong , DienTich, TinhTrang , MaLP.)

 Quan hệ n-n

•Hai bảng DICHVU và PHIEUDICHVU có mối quan hệ n-n nên ta phải tạo thêm 01 bảng ở giữa chúng để xác định Khách Hàng đang sử dụng dịchvụ gì và số lượng bao nhiêu

 Ta phải thêm 01 bảng là CHITIETPHIEUDICHVU (Chi tiết phiếudịch vụ)

 Thuộc tính của bảng mới bao gồm khóa của 02 bảng DICHVU vàPHIEUDICHVU và một số thuộc tính khác: MaPhieuDV , MaDV ,Dongia, Soluong

Bước 6 : Xây dựng mô hình dữ liệu quan hệ

6.1 mô hình dữ liệu quan hệ sql server

Trang 13

6.1 mô hình dữ liệu quan hệ My SQL

Trang 15

Code chạy trên SQL Server kèm hình ảnh và kết quả

Câu Lệnh Inner Join

Giải Thích: sử dụng câu lệnh Inner Join ở 3 bảng Chi tiết phiếu thuê, Phòng và Loại Phòng Kết quả câu lệnh này sẽ chứa thông tin về các phòng đã được đặt và loại phòng tương ứng

SELECTFROM CHITIETPHIEUTHUE

INNER JOIN PHONG ON CHITIETPHIEUTHUE MaPhong = PHONG.MaPhong

INNER JOIN LOAIPHONG ON PHONG MaLP LOAIPHONG MaLP.=.;

Trang 16

Câu Lệnh Full Outer Join

Giải Thích: sử dụng câu lệnh Full Outer Join ở 3 bảng Chi tiết phiếu thuê, Phòng và Loại Phòng

SELECTFROM CHITIETPHIEUTHUE

fullouter join PHONG ON CHITIETPHIEUTHUE MaPhong = PHONG MaPhong.

fullouter join LOAIPHONG ON PHONG MaLP LOAIPHONG.=.MaLP;

Câu Lệnh Left Join

Giải Thích: sử dụng câu lệnh Left Join ở 3 bảng Chi tiết phiếu thuê, Phòng và Loại Phòng

SELECTFROM CHITIETPHIEUTHUE

Left Join PHONG ON CHITIETPHIEUTHUE.MaPhong PHONG MaPhong=.Left Join LOAIPHONG ON PHONG.MaLP = LOAIPHONG.MaLP;

Câu Lệnh Right Join

Giải Thích: sử dụng câu lệnh Right Join ở 3 bảng Chi tiết phiếu thuê, Phòng và Loại Phòng

SELECTFROM CHITIETPHIEUTHUE

Right Join PHONG ON CHITIETPHIEUTHUE MaPhong = PHONG.MaPhong

Right Join LOAIPHONG ON PHONG MaLP LOAIPHONG MaLP.=.;

Trang 17

FROM NHANVIEN;

Trang 18

Câu Lệnh View

Giải Thích : Tạo một View csdlnc_nv để in ra thông tin về nhân viên và dùng update vào bảng view để tăng hoặc hạ lương nhân viên bộ về mức lương 4tr5

CREATE VIEW csdlnc_nv ASselectfrom NHANVIEN

selectfrom csdlnc_nvUPDATE dbo NHANVIEN SET Luong =4500000

where MaNV = 4

Trang 19

Giải thích: Tạo một view ThongTinPhieuThue dung để in ra thông tin tên những nhânviên đã lập phiếu thuê và khách hàng tương ứng trong khoảng thời gian 3 tháng từ tháng 1 đến tháng 3

CREATE view ThongTinPhieuThue

asSELECT nv MaNV ,nv TenNV., nv.SDT ,pt.MaKH pt TenKH,., pt.NgayThue

Giải thích: Tạo một view để xem thông tin các phòng đang được thuê , khách hàng là ai , ngày thuê ngày nào, bao lâu và sử dụng phòng gì

CREATE view ThongTinPhieuthue_PhongDaThue

asSELECT pt MaPT ,pt.TenKH as'Tên Khach Hàng'pt NgayThue as'Ngày Thuê Phòng',

pt.NgayTra 'Ngày Tr Phòng'ả,MaPhong as'Mã Phòng',GhiChu 'Chú Thích'

FROM PHIEUTHUE pt

INNER JOIN CHITIETPHIEUTHUE ctpt

Trang 20

ON ctpt.MaPT pt=.MaPT

INNER JOIN PHONG p

ON pt MaPhong = p MaPhong.

s d ng view ử ụSELECTFROM ThongTinPhieuthue_PhongDaThue

Giải thích: Tạo một view để xem thông tin các phòng Loại Hạng sang nào còn trống, để thông báo với khách hàng

CREATE view ThongTinCacPhong

asSELECT p.MaPhong , LP TenLP as'Lo i Phòng'ạ P TinhTrang ,.'Tr ng Thái'ạ,LP DonGia

SELECTFrom dbo.LOAIPHONG

Trang 21

Giải thích: Chỉnh sửa bảng Nhân Viên và sử dụng CHECK và CONSTRAINT để tạo điều kiện cho trường SĐT để số < 10 , khi nhập quá 10 sẽ đưa ra thông báo lỗiALTER TABLE dbo.NHANVIEN

ADD CONSTRAINT CK_NHANVIEN_SDT

CHECK (SDT LIKE'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

Giải thích: Chỉnh sửa bảng Nhân Viên và sử dụng CHECK và CONSTRAINT để tạo điều kiện cho trường Phòng để Tình Trạng Phòng từ P01 đến P30 khi nhập dữ liệu ở 3 trạng thái'Tr ng'ố,'Đ y'ầ,'S a ch a' ửữ

Check 3ALTER TABLE dbo PHONG

ADD CONSTRAINT P_TINHTRANG_TT

CHECK (MaPhong BETWEEN'P01'and'P30')and

TinhTrang (INN'Tr ng'ố,N'Đ y'ầ,N'S a ch a'ửữ)));

Câu Lệnh Stored Procedure

1.1 Giải thích: tạo Stored Procedure để in danh sách tất cả khách hàng

CREATE PROCEDURE USP DSKH ASBEGIN

selectFROM KHACHHANG

ENDIn danh sách t t c các khách hàngấảEXEC USP DSKH

Trang 22

1.2 Giải thích :tạo Stored Procedure để thêm 1 khách hàng vào bảng KHACHHANG

Thêm 1 khCREATE PROCEDURE USP_AddKHACHHANG@MaKH nvarchar(10),

KHACHHANG HoTen NgaySinh SDT DiaChi QuocTich

@HoTen @NgaySinh @SDT @DiaChi @QuocTich

END Thêm khách hàng vào b ng KHACHHANGảEXEC USP_AddKHACHHANG'KH039',N'Đoàn Huy H i'ả,'2002-11-19','2549995547',N'B cạLiêu','VN'

1.3 Giải Thích : tạo Stored Procedure để sửa thông tin của 1 kháchhàng trong bảng KHACHHANG

s a thông tin kh ửCREATE PROCEDURE USP_UpdKHACHHANG@MaKH nvarchar(10),

@HoTen NVARCHAR(),

Trang 23

dboUPDATE.KHACHHANG

1.4 Giải thích :tạo Stored Procedure để xóa 1 khách hàng trong bảngKHACHANG

CREATE PROCEDURE USP_DeleteKH @MaKH nvarchar(10)

ASBEGIN

BEGIN TRANSACTION Xóa thông tin khách hàng trong b ng KHACHANGả

KHACHHANG MaKH @MaKH

DELETE FROMWHERE=

COMMIT TRANSACTIONEND

Xóa thông tin khách hàng trong b ng Khách hàng ‘KH039’ảEXEC USP_DeleteKH @MaKH ='KH039'

Trang 24

1.5 Giải thích : Giải thích tạo Stored Procedure để in Bậc lương Theocác bộ phận của nhân viên (NV Kỹ Thuật, Nv Bếp , NV Lao Công….)của 1 nhân viên quy đổi từ mức lương của 1 nhân viên (Chỉ cần in rađiểm chữ)

VD: Mức tiền lương của 1 nhân viên là3460000 thì tương ứng vớibộ phận Bảo vệ , mỗi bậc lương sẽ tương ứng với bộ phận đó

CREATE PROCEDURE LNV@MaNV NVarchar(10), @Bacluong Nvarchar(50)OUTPUT)ASBEGIN

exec LNV'9', @Bacluong = @He4 output;

Select @He4 AS'B c lậương';

1.6 Giải thích : Stored procedure này sẽ trả về danh sách các phòngthuộc loại phòng tương ứng, có sẵn vào ngày nhận và ngày trả phòng,

Ngày đăng: 24/09/2024, 16:37

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

TÀI LIỆU LIÊN QUAN

w