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

Nghiên cứu công nghệ olap và ứng dụng

71 545 6

Đ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 71
Dung lượng 3,17 MB

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

Nội dung

> Là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều vàmối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa,...> Kho dữ liệu thường rất lớn tớ

Trang 1

TRƯỜNG ĐẠI HỌC sư PHẠM TP.CM

KHOA TOÁN - TIN HỌC

Bộ MÔN TIN HỌC

Trần Vĩnh Tiến Đức - Nguyễn Phú Thịnh

NGHIÊN CỨU CÔNG NGHỆ OLAP

VÀ ỨNG DỤNG

LUẬN VĂN CỬ NHÂN CÔNG NGHỆ THÔNG TIN

TRƯỜNG ĐẠI HỌC sư PHẠM TP.CM

KHOA TOAN - TIN Hỏc

Bộ MÔN TIN HỌC

NGHIÊN CỨU CÔNG NGHỆ OLAP

GIÁO VIÊN HƯỚNG DẪN: NGUYỀN THỊ TRÀ LINH

Trang 2

Lòi cảm ơn.

Đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc đến Cô Nguyễn Thị Trà Linh

và Thầy Trần Ngọc Bảo là những nguời đã trực tiếp hướng dẫn để ngày hôm naychúng em có thể hoàn thành luận văn này Chắc chắn rằng nếu không có sự dìu dắt

và tận tình giúp đỡ của Cô và Thầy thì chúng em sẽ gặp rất nhiều khó khăn trongquá trình nghiên cứu thực hiện luận văn

Trang 3

Lời cảm ơn 2

Mục lục 3

Bảng các kí hiệu, chữ viết tắt 6

Bảng danh mục các bảng biểu 7

Bảng danh mục các hình vẽ 8

Tóm tắt nội dung luận văn 10

Mở đầu 11

Trang 4

2.1.7 Role 33

2.1.8 Schedule (Lập lịch) 34

2.2 Quy trình thiết kế các đối tượng trong SSAS 35

2.2.1 Sơ lược về quy trình xây dựng Data Warehouse 35

2.2.1.1 Quy trình chung 35

2.2.1.2 Công cụ thực hiện: 37

2.2.2 Quy trình tạo Cube: 37

Chương 3 Component Pivot Table trong Excel 43

Trang 5

5.1.2 Thiết kế 72

5.1.2.1 Dữ liệu: 72

Trang 6

Bảng 1: So sánh các mô hình OLAP

26

Trang 7

Bảng danh mục các hình vẽ

Hình 1: Các dạng cơ sở dữ liệu 11

Hình 2: Ví dụ về một mẫu báo cáo cố định 12

Hình 3: Minh họa vị trí của ứng dụng 13

Hình 4: Data Warehouse 15

Hình 5: Đặc điểm của Data Warehouse 17

Hình 6: cấu trúc của Data Warehouse 19

Hình 7: Vị trí của OLAP 19

Trang 8

Hình 41: Màn hình chức năng Active cube 81

Hình 42: Màn hình chức năng Assign cube to group 81

Hình 43: Màn hình chức năng Assign User to cube 82

Trang 9

> Tìm hiểu tổng quan về công nghệ OLAP

Trang 10

> Giới thiêu sơ lươc:

• •

U nl i m i t e d D a t a S o ur c e s

KÉT QUÁ HỌC TẬP I

Ho ten: _Lè Tuần _Ngày sinh: _2/15/1991 12:00:00AI

Hình 2: Ví dụ về một mẫu báo cáo cố định

Vậy tình huống đặt ra là ta sẽ xử lý như thế nào khi người dùng muốn:

Trang 11

Hình 3: Minh họa vị trí của ứng dụng

> Muc đích đề tài

Trang 12

> Đối tượng và phạm vi nghiên cửu

Trang 13

Chương 1 Công nghệ OLAP

1.1 Giới thiêu về Data Warehouse

1.1.1 Định nghĩaPre-Data Data

VVarehouse Cleansing RepositoriesData Front-EndAnalytics

OLAP

Data Mining

Data Visualization

Reporting

Hình 4: Data Warehouse

Trang 14

> Là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều vàmối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa,

> Kho dữ liệu thường rất lớn tới hàng trăm GB hay thậm chí hàng Terabyte Kho

dữ liệu được xây dựng để tiện lợi cho việc truy cập theo nhiều nguồn, nhiều kiểu

Trang 17

Hình 6: cấu trúc của Data VVarehouse

Hình 7: Vị trí của OLAP

Trang 18

> Nếu hệ thống xử lý chuyển giao dữ liệu OLTP tập trung vào việc thu thập, lirutrữ và biến đổi dữ liệu một cách chuẩn xác, thì OLAP tập trung vào việc sử dụngcác dữ liệu đã đuợc biến đổi vào việc ra quyết định sản xuất kinh doanh OLAP

là một mục trong các phần mềm cơ sở dữ liệu cung cấp giao diện qua đó nguời

sử dụng có thể biến đổi hoặc giới hạn các dữ liệu sơ khai tuỳ theo các hàm đãđịnh nghĩa hoặc do chính nguời sử dụng định nghĩa, sau đó nhanh chóng kiểmtra các kết quả trong các chiều khác nhau của dữ liệu

> Hệ thống OLAP là một hệ thống quản lý dữ liệu giàu năng lực Nó cho phép

Trang 19

• Cung cấp các công cụ mạnh giúp người dùng tạo các khung nhìn mới của

dữ liệu dựa trên một tập các hàm tính toán đặc biệt

• Hỗ trợ tạo mô hình chức năng để dự báo, phân tích xu thế phát triển và

phân tích thống kê

Trang 20

Hình 8: Mô hình dữ liệu MOLAP

> Dữ liệu được tìm thấy tại điểm giao của các chiều

G L L ĩ n e

Trang 21

Hình 9: Mô hình dữ liệu ROLAP

Key values to joỉn

Trang 22

Hình 10: Lược đồ hình sao

Hình 11: Lược đồ hình bông tuyết

> ROLAP thích họp cho các truy vấn dữ liệu theo thòi gian thực (xảy ra

thường xuyên và đòi hỏi độ chính xác tức thời)

Trang 23

1.3.3 HOLAP (Hybrid OLAP)

Hình 12: Mô hình dữ liệu HOLAP

> Lợi ích của việc lưu trữ trong cấu trúc HOLAP là:

Trang 24

Chương 2 OLAP trong MS SQL Server Analysis

Service (SSAS)

Giới thiệu sơ lược về SSAS

> Từ trước đến nay, SQL Server được biết đến với vai trò là một hệ quản trị cơ sở

dữ liệu có trách nhiệm hỗ trợ quản lí, lưu trữ dữ liệu với Database Engine Tuynhiên, từ phiên bản SQL Server 2005 đến SQL Server 2008 và mới nhất là SQLServer 2008 R2, thì bộ SQL Server đã được tích hợp nhiều gói dịch vụ hỗ trợviệc tích hợp và khai thác khả năng tiềm tàng của một cơ sở dữ liệu như SQLServer Integrating Services, SQL Server Analysis Services và SQL ServerReporting Services

Trang 26

Hình 14: Ví dụ về ô rỗng trong khối

> Cube biễu diễn dữ liệu dưới dạng tổng hợp nhiều hơn là chi tiết như khi dùngbảng thông thường Do đó, cube cho người dùng thấy được cái nhìn tóm tắt,tổng họp của toàn bộ dữ liệu

Cac l:hõn trô IM ỉabte íày tư

khõa cũi*, cãc UHìiãisiOiỉ 'rabịe

rows Time: months

Basic OLAP Analysis Relational OLAP Analysis

Hình 17: Slice

Trang 27

2.1.6 Partition

> Tất cả các khối đều có tối thiểu một phân hoạch (Partition) để chứa dữ liệu của

nó Một partition đơn đuợc tự động tạo ra khi khối đuợc định nghĩa

> Khi ta tạo một partition mới cho một khối, partition mới này được thêm vàotrong tập họp các partition đã tồn tại đối với khối

Trang 28

2.1.8 Schedule (Lập lịch)

Trang 29

2.2 Quy trình thiết kế các đối tượng trong

SSAS

Hình 18: Các đối tượng trong SSAS

Trang 30

• Đây là bước chi phối hầu hết thời gian của quy trình, vì chúng ta cần phảilấy dữ liệu từ nhiều nguồn đã nhận dạng ra để đưa vào kho lưu trữ trungtâm.

• Do các nguồn dữ liệu xuất phát từ nhiều hệ thống khác nhau nên các hệquản trị CSDL của chúng cũng khác nhau, chẳng hạn như MS Access,

MS SQL Server, Oracle, Sybase, hoặc cũng có thể là flat íiles,spreadsheets, mail Systems và nhiều dạng lưu trữ dữ liệu khác Vì thế, tacần quyết định sẽ sử dụng hệ CSDL nào cho việc tổ chức kho dữ liệu

Trang 31

2.2.1.2 Công cu thưc hiên:

” • • •

> Extract-Transform-Load (ETL): điển hình như DTS (Data TransíormationServices) trong SQL Server, Informatica, về công cụ ETL dạng opensource có thể kể đến Talend, Kettle

> Lập lịch: SQL Server Agent dùng để lập lịch cho việc tự động chuyển đổi từ

Trang 32

4 Trong dialog box Connection Manager, ta sẽ định nghĩa giá trị thuộc tính cho

Data Source Trong danh sách Provider, chọn Native OLE DB\SQL Server

Native Client 10.0

5 Trong Server Name, gõ vào localhost

Trang 33

■ FactInternetSales (dbo)

5 Nhấn nút “>” để thẽm các bảng vào danh sách Included Objects

6 NhấnNext

Trang 34

■ Full Date Altemate Key

■ English Month Name

Trang 35

5 Nhấn Suggest để cửa số Suggest Table hiển thị và đề xuất các table cần thiết

để xây dựng các measure group

6 NhấnNext

Trang 36

6 Như vậy project SSAS đã được deploy lên server

PivotTable Field List ▼ X

Drag items to the PivotTable report

_| Player Name

gVEAR gTEAM

g Games gcomp

Trang 37

Bạn có thể tạo một pivot table từ nhiều nguồn dữ liệu khác nhau Thuờng nguồn dữliệu là các bảng của Excel Bạn cũng có thể tạo Pivot Table từ nguồn dữ liệu ngoại,

từ nhiều vùng hợp lại, hay từ chính các Pivot Table khác

Các buớc

Trang 38

TIP: Để thay đổi các tuỳ chọn khác cho một trường, nhấn kép lên nút của trường đó.Chọn các tuỳ chọn.

Thêm trường dữ liêu

1 Để thêm trường dữ liệu, chọn một ô trong bảng pivot table

PivotChart F«er Pane

Acbve Relds on the

clarkville Main Street Northgate

I Sheet4 ầ Sheetl , Sheet2 - Sheet3 ■

jãEfH]iioo% ị-L

như Pivot Table của Excel

> Tham khảo: http://www.radar-soft.com/products/

Leơend

Trang 39

Workinơ areaHình 21: RadarCube OLAP

> Tham khảo: http://www datadvnamics.com/products/ dda/overview.aspx

Hình 22: Data Dynamics Analysis

shipped Quarter

Product Sales

Category Name A Product Name

0 u Beverages Côte de Blaye

S1.369

553,677.58 S10.034.90 S7.875.90

$71,276.75 S7,153.00 S6.484.50

S141.396.73 S22.119.10

Category Name Product Name Minimum Sale ShippedDate Shipped Year shipped Quarter

1 2 3 4 5 6 z 176 177 178 >

Drop Filter Fields Here

Trang 41

Chương 4 Các thư viện lập trình liên quan đến

SSAS

4.1 AMO

Server myServer = new ServerO;

Trang 42

4.2 ADOMD.NET

> Với AMO, ta đã có thể thao tác được với các đối tượng và lấy được cấu trúc cácthành phần của Analysis Service Tuy nhiên, không thể truy vấn được data Đểtruy vấn data trong Analysis Service, ta phải dùng thư viện ADOMD.NET

4.3 SMO

Trang 43

Server, đảm bảo cho Client có thể truy xuất được những dữ liệu mới nhất và đầy

đủ của hệ thống

> Tài liệu tham khảo về AMO ở MSDN:

http://msdn.microsoft.com/en-us/librarv/ms 162169.aspx

Trang 44

4.4 MDX

Analysis Service không dùng ngôn ngữ truy vấn như đối với cơ sở dữ liệuquan hệ thông thường Thay vào đó, để truy vấn dữ liệu ta phải dùng đến ngônngữ MDX (Multi-dimensional Expressions)

4.4.1 Cấu trúc chung

4.4.2 Ví dụ mẫu

Trang 45

> Mệnh đề FROM xác định nguồn dữ liệu đa chiều (khối) nào đuợc sử dụng đểtrích lọc dữ liệu vào tập kết quả của phát biểu SELECT Trong ví dụ là từ khối

dữ liệu Sales

> Mệnh đề WHERE nếu có, dùng để xác định chiều cắt của khối dữ liệu, nhằmgiới hạn tập kết quả theo các chiều thành viên Trong ví dụ, dữ liệu đuợc cắttheo thành viên CA của chiều Store

Trang 47

Chương 5 Xây dựng công cụ Web hỗ trợ phân tích

dữ liệu cho các ứng dụng OLTP

5.1 Phân tích, thiết kế

5.1.1 Phân tích

5.1.1.1 Quy trình xử lý nghiệp vụ:

Trang 48

Hình 25: Mô hình xử lý nghiệp vụ quản lý template

59

Trang 49

5.1.1.2 Yêu cầu chức năng:

60

Trang 50

Manage Template

Hình 27: So’ đồ Use-Case mô tả hệ thống chức năng của Designer

Hình 28: Sơ đồ User-Case mô tả hệ thống chức năng của Custom User

61

Trang 51

62

Trang 52

63

Trang 53

64

Trang 54

Hình 34: So' đồ Use-Case mô tá chức năng quản lý Group

65

Trang 55

Hình 36: So’ đồ Use-Case mô tả chức năng cấu hình hệ thống

5.1.1.3 Mô hình quan niệm dữ liệu:

66

Trang 56

1 p : primary key (khóa

chính)

u : unique key, candidate

key (khóa chỉ định)

M : mandatory (not null)

Hình 37: Mô hình quan niệm dữ liệu hệ thống OLAP

Trang 58

• Khóa ngoại:

(S) R3-01: tblRole[vTen_Role] c= tblGroup[vTen_Group]

Trang 59

2 p : primary key (khóa chính)

u : unique key, candidate key (khóa chi định)

M : mandatory (not null)

SELECT DISTINCT tblTemplate.iMa_Template FROM tblTemplate

WHERE (tblTemplate.iOwner = @iMa_User))

5.1.2 Thiết kế 5.1.2.1 Dữ liệu:

ỹ£>—oc

tblChi_Tiet_Role_Member

iStt_Chi_Tiet iMa_Member iMa_Role

-£~

^ tblDatabase

9 iMa_DB vĩenDB

tNoi_Dung iOwner ÍMa_Oibe iParent vStatus vMo_Ta

tblQuyen

$ iMa_Quyen vĩen_Quyen vMo_Ta iParent

L : locked (không cho phép sừa giá trị)

F : íoreign key (khóa ngoại).

74

• Bà ng tblQuyen:

Khỏa ngoại:

• Bàng tblTemplate:

Trang 61

- (S): ràng buộc sẽ được hệ quản trị cơ sở dữ liệu kiểm ưa.

(S) RI-03: id(tblRole) = iMa_Role

- (I) : ràng buộc sê được kiểm ưa ở mức giao diện.

- (T): ràng buộc sẽ được thay thế bằng trigger.

77

Trang 62

(S) RI-04: id(tblGroup) = iMa_Group

(S) RI-05: id(tblQuyen) = iMa_Quyen

(S) RI-06: id(tblTemplate) = iMa_Template

(S) Rl-07: id(tblưser) = iMa_User

(S) RI-08: id(tblCurrentConnect) = vServer

(S) RI-09: id(tblAttribute) = iMa_Att

(I) R2-02: tblTemplate.vLoai in (‘public’, ‘private’)

(I) R2-03: tblTemplate.vStatus in (‘normal’, ‘restricted’)

(I) R2-04: tblTemplate_Detail.iActive in (0,1)

• Khóa ngoại:

(S) R3-01: tblRole[vTen_Role] c tblGroup[vTen_Group]

(S) R3-02: tblChi_Tiet_Group[iMa_ưser] CỊ tblưser[iMa_User](S) R3-03: tblChi_Tiet_Group[iMa_Group] c tblGroup[iMa_Group]

(S) R3-04: tblưser[iMa_Profíle] CỊ tblProfile[iMa_ Profile](S) R3-05: tblMember[iMa_Att] CỊ tbl Attribute[iMa_ Att](S) R3-06: tblChi_Tiet_Role_Member[iMa_Member] ctblMember

(S) [iMa_ Member]

(S) R3-07: tblChi_Tiet_Role_Member[iMa_Role] c tblRole[iMa_Role]

(S) R3-08: tblTemplate[iMa_Cube] CỊ tblCube[iMa_ Cube]

tblUser[iMa_User]

(S) R3-10: tblChi_Tiet_Template[iMa_Template] ctblT emplate [iMa_T emplate]

(S) R3-11: tblChi_Tiet_Template[iMa_Quyen] c tblQuyen [iMa_Quyen]

(S) R3-12: tblChuc_Nang_Profile[iMa_ Proííle] c tblProfile[iMa_

Proíile]

R3-13: tblChuc_Nang_Profile[iMa_ Quyen] c tblQuyen [iMa_Quyen]

78

Trang 63

(S) R3-16: tblCube [iMa_DB] c tblDatabase[iMa_DB]

(S) R3-17: tblCurrentConnect [iMa_DB] c tblDatabase[iMa_DB](S) R3-18: tblQuyen[iParent] c tblQuyen [iMa Quyen]

• Ràng buộc giữa các thuộc tính trong một bảng:

(T) R4-01: tblTemplate[iParent] CỊ tblTemplate[iMa_Template]

CREATE TRIGGER trg_Template_delete

ON tblTemplate FOR DELETE AS

DECLARE 0iMa_Template INT SELECT 0iMa_Template = iMa_Template FROM deleted DELETE FROM tblTemplate WHERE iParent =

• Ràng buộc giữa các thuộc tính, các bộ của nhiều bảng:

(T) R5-01: tblTemplate[iOwner] CỊ tblUser[iMa_User]

CREATE TRIGGER trg_User_delete

ON tblUser FOR DELETE AS

DECLARE @iMa_User INT SELECT @iMa_User = iMa_User FROM deleted DELETE FROM tblTemplate WHERE iMa_Template in (

SELECT DISTINCT tblTemplate.iMa_Template FROM tblTemplate

WHERE (tblTemplate.iOwner = @iMa_User))

Assign Richts to ProAle

Hình 40: Màn hình chức năng Copy Rights

Hello , Tien Duc Log out Choosc cubc(s) to use for this System. Save

Hình 41: Màn hình chức năng Active cube

Hdlo, Tien Duc Log out Choose onc group and what data can bc read by this group

Save Cancel Choose a Cube: QLSV Group Name Group A Group B Group c

Trang 64

User Grouo

Hình 45: Màn hình chức năng Assign Groups

HcDo Tien Duc Log out Choose one group and user(s) beloogs to this group _ Save Cancel

Hình 46: Màn hình chức năng Assign Users

^ Browse the XML £ilc contains cube(s), then choosc cube(s) to import to current databasc

Choose cube(s) to import:

Asslgn User to Cite

Hình 47: Màn hình chức năng Import cube

Hello , Tien Duc Log out

r Assagn User to Otoe

r Assagn Group to Cube

I” Assagn Cube to User

r Asssgn CiiDe to Group Protĩe Management I” List Protìle

r Asssgn Rights User Management

r List User 1“ Assagn Grotp

Hình 48: Màn hình chức năng Assign rights to proỉỉle

Hello Ticn Duc Log out

week(s) on

1* Mxiday r Tuesday r vvednesday r Thursday r Friday r Saturday r Sunday

start date |ữ4/29/2Ũ10 End Date í"

No End Date

NVritten by Tien Duc - Phu Thinh @Cop>TÌght 2010

Hình 49: Màn hình chức năng Schedule

84

Trang 65

Project Sample TEST

Written bv Tien Duc Phu Thinh @Cop5TĨght 2010

Hình 50: Màn hình chức năng Setting Connection

> Hệ thống giao diện phân hệ Designer:

Heũo , Nguyên Tuan Minh Log out

J J ^ Ịjll stỏndard ĩemplateỊProduct - Color- Sales Amount ▼]

Drop Fỉter Fietís Here Drop Row Relds Here Grand Total Drop Ccèjmn Fields Here

Hình 51: Màn hình chính phân hệ designer

85

Hình 52: Màn hình chức năng Design template

Assign User to Template

Assộ'* Template to User

Assign User to Cube

Assiyi Group to Cube

Assigi Cube to User

Assọn Cube to Group

Do you want

Natne export.xrri T>pe: :<M Document,

Prom locàhost

White fileỉ tíom the Internet can be Uỉefi harm your Computer It you

Hình 53: Màn hình chức năng Export template

86

Hình 54: Màn hình chức năng Assign template to User

> Hệ thống giao diện phân hệ Custom User:

Hình 55: Màn hình chính phân hệ custom User

87

Ngày đăng: 04/01/2016, 18:14

HÌNH ẢNH LIÊN QUAN

Hình 2: Ví dụ về một mẫu báo cáo cố định - Nghiên cứu công nghệ olap và ứng dụng
Hình 2 Ví dụ về một mẫu báo cáo cố định (Trang 10)
Hình 3: Minh họa vị trí của ứng dụng - Nghiên cứu công nghệ olap và ứng dụng
Hình 3 Minh họa vị trí của ứng dụng (Trang 11)
Hình 4: Data Warehouse - Nghiên cứu công nghệ olap và ứng dụng
Hình 4 Data Warehouse (Trang 13)
Hình 7: Vị trí của OLAP - Nghiên cứu công nghệ olap và ứng dụng
Hình 7 Vị trí của OLAP (Trang 17)
Hình 6: cấu trúc của Data VVarehouse - Nghiên cứu công nghệ olap và ứng dụng
Hình 6 cấu trúc của Data VVarehouse (Trang 17)
Hình 8: Mô hình dữ liệu MOLAP - Nghiên cứu công nghệ olap và ứng dụng
Hình 8 Mô hình dữ liệu MOLAP (Trang 20)
Hình 11: Lược đồ hình bông tuyết - Nghiên cứu công nghệ olap và ứng dụng
Hình 11 Lược đồ hình bông tuyết (Trang 22)
Hình 10: Lược đồ hình sao - Nghiên cứu công nghệ olap và ứng dụng
Hình 10 Lược đồ hình sao (Trang 22)
Hình 12: Mô hình dữ liệu HOLAP - Nghiên cứu công nghệ olap và ứng dụng
Hình 12 Mô hình dữ liệu HOLAP (Trang 23)
Hình 13: Ví dụ về Khối (Cube) - Nghiên cứu công nghệ olap và ứng dụng
Hình 13 Ví dụ về Khối (Cube) (Trang 25)
Hình 14: Ví dụ về ô rỗng trong khối - Nghiên cứu công nghệ olap và ứng dụng
Hình 14 Ví dụ về ô rỗng trong khối (Trang 26)
Hình 18: Các đối tượng trong SSAS - Nghiên cứu công nghệ olap và ứng dụng
Hình 18 Các đối tượng trong SSAS (Trang 29)
Hình 22: Data Dynamics Analysis - Nghiên cứu công nghệ olap và ứng dụng
Hình 22 Data Dynamics Analysis (Trang 39)
Hình 25: Mô hình xử lý nghiệp vụ quản lý template - Nghiên cứu công nghệ olap và ứng dụng
Hình 25 Mô hình xử lý nghiệp vụ quản lý template (Trang 48)
Hình 28: Sơ đồ User-Case mô tả hệ thống chức năng của Custom User - Nghiên cứu công nghệ olap và ứng dụng
Hình 28 Sơ đồ User-Case mô tả hệ thống chức năng của Custom User (Trang 50)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w