Phụ thuộc Boolean dương theo nhóm bộ trong mô hình dữ liệu dạng khối

Một phần của tài liệu (Luận án tiến sĩ) một số phụ thuộc logic mở rộng trong mô hình dữ liệu dạng khối (Trang 68 - 80)

CHƯƠNG 3. PHỤ THUỘC BOOLEAN DƯƠNG THEO NHÓM BỘ

3.2. Phụ thuộc Boolean dương theo nhóm bộ trong mô hình dữ liệu dạng khối

Định nghĩa 3.1

Cho lược đồ khối Rid A A; , 1 2,..., An, r(R) là một khối trên R, ta quy ước rằng mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid), 1 i n, có chứa ít nhất p (p 2) phần tử. Khi đó, với mỗi miền trị di ta xét ánh xạ: i: (di)p B thỏa các tính chất sau:

(i). Tính phản xạ: a (di)p: i(a) = 1, nếu trong a có ít nhất hai thành phần giống nhau.

(ii). Tính giao hoán: a (di)p: i(a) = i(a’), trong đó a’ là một hoán vị của a.

(iii). Tính bộ phận: a (di)p: i(a) = 0.

Như vậy, ta thấy các ánh xạ i chính là phép đánh giá trên p giá trị của di

thỏa các tính chất phản xạ và giao hoán. Quan hệ đẳng thức là một trường hợp riêng của quan hệ này.

3.2.2. Khối chân lý theo nhóm bộ của khối dữ liệu Định nghĩa 3.2

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di, của thuộc tính chỉ số x(i), xid, 1 i n. Với mỗi nhóm p phần tử: u1, u2, ..., up tùy ý (không nhất thiết phân biệt) trên khối, ta gọi ( u1, u2, ..., up) là phép gán trị:

( u1, u2, ..., up) = (tx1, tx2, ..., txn) trong đó txi = i(u1.x(i), u2.x(i),, ..., up.x(i)), xid, 1 i n.

Khi đó, với mỗi khối r ta kí hiệu khối chân lý theo nhóm bộ của khối r là Tr: Tr = { (u1, u2, ..., up) | uj r, 1 j p }.

Từ định nghĩa ta thấy khối chân lý theo nhóm bộ của khối r là một khối nhị phân.

Trong trường hợp tập id ={x}, khi đó khối suy biến thành quan hệ và khái niệm khối chân lý theo nhóm bộ của khối lại trở thành khái niệm bảng chân lý theo nhóm bộ của quan hệ trong mô hình dữ liệu quan hệ. Nói một cách khác, khối chân lý theo nhóm bộ của khối là mở rộng khái niệm bảng chân lý theo nhóm bộ của quan hệ trong mô hình dữ liệu quan hệ.

Ví dụ 3.1. Cho khối dữ liệu R = ({1, 2, 3}; A1, A2, A3), r là một khối trên R, trong đó id ={1, 2, 3} là thuộc tính chỉ số tương ứng là Mùa hè, Mùa xuân, Mùa đông. Tập trị B ={0, 1}. Ta kí hiệu A1: Bánh mì, A2: Bơ, A3: Sữa là các thuộc tính của khối được gán trị như hình 3.1:

r: Ban_hang_NB

Hình 3.1: Khối dữ liệu r: Ban_hang_NB Xét p = 3, với miền trị di, xét ánh xạ i: (di)3  {0, 1}, i = 1, 2, 3.

Khi đó a  (di)3: i(a) = 1 nếu trong a có ít nhất hai giá trị giống nhau;

i(a)= 0 với các trường hợp còn lại.

Khi đó, kết quả phép gán trị trên khối Tr_nb như sau:

Hình 3.2. Khối chân lý Tr_nb

Mùa đông (3)

L2 L2

CC L2

CC CC

L1 L1

CC CC

L2 L2

L2 null

CC CC

CC null

Bánh mì (A1)

(A2)

Mùa xuân (2) Mùa hè (1)

t1

t2

t3

L2 L2

L2 null

L2

CC

t4

CC

L2

L2 L2 L2 L2

CC CC

null

null

null Sữa (A3)

L2

L2 L1

L2 L2

null tn

L2 null L2 L1

Mùa đông (3) Bánh mì

(A1)

(A2)

Mùa xuân (2) Mùa hè (1)

(t1, t2, t3)

Sữa (A3)

1 1

1 1

1

1 1

1 1

1 1

1 0

1 1

0 0

1 1

1 1

1 1

1 1

1 0

1 0

1 1

1

1

1

1

1 1

0 1 1 1

1

1

1

0

1 1

0 0

1 1 1

1

1

(t1, t2, t4)

(t1, t2, tn)

(t2, t3, t4)

(t2, t3, tn)

(t3, t4, tn)

Nhận xét: Qua khối chân lý Tr_nb ở hình 3.2, mối quan hệ mức tiêu thụ giữa bánh mì, bơsữa như sau:

- Mùa hè: cứ 6 nhóm (3 người) mua bánh mì (có ít nhất 2 người cùng loại hàng CC hoặc L1 hoặc L2 - gọi tắt là cùng loại) thì có 5 nhóm mua kèm hoặc kèm sữa (cùng loại).

- Mùa xuân: cứ 6 nhóm (3 người) mua bánh mì, chỉ có 3 nhóm (cùng loại) thì có 3 nhóm mua kèm hoặc kèm sữa (cùng loại).

- Mùa đông: cứ 6 nhóm (3 người) mua bánh mì, thì cả 6 nhóm mua kèm hoặc kèm sữa (cùng loại).

Căn cứ vào số liệu trên, ta thấy vào mùa xuân khách hàng ít có xu hướng mua bánh mì kèm sữa hoặc kèm (cùng loại),… nhưng mùa hèmùa đông, hầu như khách hàng lại có xu hướng mua bánh mì kèm bơ hoặc mua kèm sữa cùng loại.

Từ đó, có thể theo dõi được sở thích mua hàng của nhóm khách hàng theo mùa, do vậy, việc theo dõi theo mùa rất có ích cho các nhà quản lý, trong việc quản lý nguồn hàng và sắp xếp các mặt hàng phù hợp và thuận tiện đối với nhóm khách hàng.

3.2.3. Phụ thuộc Boolean dương theo nhóm bộ của khối dữ liệu Định nghĩa 3.3

Cho lược đồ khối R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di

của thuộc tính chỉ số x(i), xid, 1 i n. Ta gọi mỗi công thức Boolean dương trong P(U), với ( )

1 n

i i

U id

 , là một phụ thuộc Boolean dương theo nhóm bộ.

Ta nói khối r thỏa phụ thuộc Boolean dương theo nhóm bộ (PTBDTNB) f, hoặc f đúng trong khối r và kí hiệu r(f) nếu TrTf.

Khối r thỏa tập PTBDTNB F và kí hiệu r(F) nếu khối r thỏa mọi phụ thuộc f trong F:

r(F) f F: r(f) Tr TF.

Nếu có r(F) ta cũng nói tập PTBDTNB F đúng trong khối r.

Cho tập PTBDTNB F và một PTBDTNB f:

- Ta nói F suy dẫn ra f theo khối và kí hiệu Ff nếu: r: r(F)  r(f).

- Ta nói F suy dẫn ra f theo khối có không quá p phần tử và kí hiệu Fp f nếu: rp : rp(F)  rp(f).

Ví dụ 3.2:

Cho khối dữ liệu R = ({1, 2, 3}; A1, A2, A3), r là một khối trên R đã cho ở ví dụ 3.1.

r: Ban_hang_NB

Yêu cầu: Tìm phụ thuộc dữ liệu trên các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), xid).

Với quy ước phép gán trị các cặp các phần tử đã cho ở như ví dụ 3.1:

Xét p = 3, với miền trị di, xét ánh xạ i: (di)3  {0, 1}, i = 1, 2, 3.

Khi đó a  (di)3:

- i(a) = 1 nếu trong a có ít nhất hai giá trị giống nhau;

Mùa đông (3)

L2 L2

CC L2

CC CC

L1 L1

CC CC

L2 L2

L2 null

CC CC

CC null

Bánh mì (A1)

(A2)

Mùa xuân (2) Mùa hè (1)

t1

t2

t3

L2 L2

L2 null

L2

CC

t4

CC

L2

L2 L2 L2

L2 CC

CC null

null

null Sữa (A3)

L2

L2 L1

L2 L2

null tn

L2 null L2

L1

- i(a)= 0 với các trường hợp còn lại.

Giả sử, xét các công thức trên các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), x(i) = (x, Ai), xid): f1: x(1)px(2); f2: x(1) p x(3); f3: x(1)px(2)x(3).

Ta lập khối chân lý Tf_nb gồm các thuộc tính A1, A2, A3 (cũng là của thuộc tính chỉ số x(i), xid) và các thuộc tính là các công thức f1: x(1)Px(2); f2: x(1) P x(3); f3: x(1)px(2)x(3).

Ta được khối chân lý Tf_nb như hình 3.4 Tf _nb:

Hình 3.2: Khối chân lý Tf_nb - Xét công thức: f1: x(1)px(2) :

+ Với lắt cắt 1: Do có nhóm p phần tử:(t1, t2, t3) = 0.

+ Với lắt cắt 3: Do có nhóm p phần tử:(t1, t2, tn) = 0.

Do đó TrTf1 nên công thức x(1)Px(2) không là công thức Boolean dương theo nhóm bộ. Hay x(1) not px(2). Nói cách khác r không thỏa phụ thuộc hàm f1.

Mùa đông (3) Bánh mì

(A1)

(A2)

Mùa xuân (2) Mùa hè (1)

(t1, t2, t3)

Sữa (A3)

1 1

1 1

1

1 1

1 1

1 1

1 0

1 1

0 0

1 1

1 1

1 1

1 1

1 0

1 0

1 1

1

1

1

1

1 1

0 1 1 1

1

1

1

0

1 1

0 0

1 1 1

1 1

(t1, t2, t4)

(t1, t2, tn)

(t2, t3, t4)

(t2, t3, tn)

(t3, t4, tn)

x(1)Px(2)

x(1)P x(3)

x(1)px(2)x(3)

1 1

1 1

1

1 1 1

1 1

0 1

1 1

1 1

1 1

1 1

1 1

1 1

0 1

1 1

1 1

0

1

1 1

1 1 1 1

1

1

1

1

1 1

1 1

1 1

1 1

1 1 1 1

- Xét công thức: f2: x(1)Px(3) :

+ Với lắt cắt 1: Do có nhóm p phần tử:(t2, t2, tn) = 0.

Do đó TrTf2 nên công thức x(1)Px(3) không là công thức Boolean dương theo nhóm bộ. Hay x(1)not p x(3). Nói cách khác r không thỏa phụ thuộc hàm f2.

- Xét công thức Boolean: f3: x(1)px(2) x(3) :

Do có tất cả các nhóm p phần tử tùy ý có phép gán trị đều bằng 1 trên mọi lắt cắt. Do đó TrTf3. Theo Định nghĩa 3.3, tồn tại phụ thuộc Boolean dương theo nhóm bộ f3: x(1)px(2)x(3) trên khối. Nói cách khác rthỏa phụ thuộc Boolean dương theo nhóm bộ f3.

Trong trường hợp đặc biệt, khi x = 2, khối suy biến thành quan hệ, các công thức f1: x(1)Px(2); f2: x(1) P x(3); f3: x(1)px(2)x(3)p nhóm phần tử tùy ý có phép gán trị đều bằng 1, do đó, các công thức f1, f2, f3 lại trở thành phụ thuộc Boolean dương theo nhóm bộ trên mô hình dữ liệu quan hệ.

Bằng việc mở rộng phép sánh trị trên p phần tử, luận án đề xuất thêm được một kiểu ràng buộc dữ liệu là Phụ thuộc Boolean dương theo nhóm bộ trên khối.

Kết quả đạt được có giúp các nhà quản lý trong việc theo dõi được xu hướng mua hàng của nhóm khách hàng theo mùa.

Với dạng bài toán này, không chỉ xảy ra ở lĩnh vực kinh doanh mà còn trong nhiều lĩnh vực khác,... Chẳng hạn, trong lĩnh vực y tế, khi dịch bệnh diễn biến phức tạp từng ngày, việc xác định trong khu dân cư hoặc khu công nghiệp thuộc xã/huyện/tỉnh,... có p (p ≥ 2) người mắc bệnh, cùng với tình hình phức tạp dịch bệnh từng ngày, sẽ giúp nhà quản lý có căn cứ để quyết định công bố vùng dịch bệnh, từ đó khoanh vùng và lập phương án dập dịch hiệu quả.

Từ các khái niệm được đề xuất ở trên, ta có định lý tương đương sau:

Định lý 3.1

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2)giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n, tập PTBDTNB F và một PTBDTNB f . Khi đó ba mệnh đề sau là tương đương:

(i) F ╞ f (suy dẫn logic), (ii) F ├ f (suy dẫn theo khối),

(iii) F ├ p f (suy dẫn theo khối có không quá p phần tử).

Chứng minh

(i)  (ii): Ta cần chứng minh: FfFf .

Thật vậy, theo giả thiết ta có FfTFTf . (1) Giả sử r là một khối bất kì thỏa F: r(F), khi đó theo định nghĩa:

TrTF. (2)

Từ (1) và (2) ta suy ra: TrTf , do đó: r(f).

Như vậy từ r(F) ta suy ra r(f): r(F)  r(f) nghĩa là: Ff . Vậy ta có: FfFf .

(ii)  (iii): Ta cần chứng minh: FfFp f .

Hiển nhiên, vì suy dẫn theo khối có không quá p phần tử là trường hợp đặc biệt của suy dẫn theo khối.

(iii)  (i): Ta cần chứng minh: Fp f Ff .

Thật vậy, từ giả thiết Fp f nghĩa là với mọi khối rp có không quá p phần tử ta có: rp(F) rp(f), ta cần chứng minh Ff nghĩa là TFTf .

Giả sử t = (tx1, tx2, ..., txn) xid , tTF, ta chứng minh tTf.

Nếu t = e thì ta có ngay tTf vì như ta đã biết f là công thức Boolean dương.

Nếu te, ta xây dựng khối r gồm p phần tử như sau: theo tính chất bộ phận (c) của ánh xạ i:(di)pB thì ai = (ai1, ai2, ..., aip) sao cho i(ai) = 0. Khi đó, với mỗi miềm trị di của các thuộc tính chỉ số x(i) trong ( )

1 n

i i

U id

 , ta lấy một phần tử nào đó aij{ai1, ai2, ..., aip}.

Nếu txi = 1 ta điền vào cột thuộc tính chỉ số x(i) của khối r với p giá trị bằng nhau và bằng aij. Nếu txi = 0 ta điền vào cột thuộc tính chỉ số x(i) của khối r với p giá trị ai1, ai2, ..., aip.

Theo cách xây dựng khối r đó, ta có: Tr = {e, t}  TF với e là phép gán trị đơn vị. Như vậy r là khối có p phần tử và thỏa tập PTBDTNB F.

Theo giả thiết nếu r thỏa F thì r sẽ thỏa f, điều này có nghĩa là:

Tr = {e, t}  Tf , suy ra: tTf.

Trong trường hợp tập chỉ số id = {x}, khi đó khối suy biến thành quan hệ và định lý tương đương ở trên lại trở thành định lý tương đương trong mô hình dữ liệu quan hệ. Cụ thể, ta có hệ quả sau:

Hệ quả 3.1

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id, 1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n, tập PTBDTNB F và một PTBDTNB f. Khi đó nếu id = {x} thì khối r suy biến thành quan hệ và ba mệnh đề sau là tương đương:

(i) F ╞ f (suy dẫn logic),

(ii) F ├ f (suy dẫn theo quan hệ),

(iii) F ├ p f (suy dẫn theo quan hệ có không quá p phần tử).

Đây chính là một kết quả đã được chứng minh trong mô hình dữ liệu quan hệ.

3.2.4. Bao đóng tập phụ thuộc Boolean dương theo nhóm bộ Định nghĩa 3.4

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n, là tập PTBDTNB xét trên các nhóm p bộ. Khi đó bao đóng + của tập PTBDTNB được xác định như sau:

+ = { f | f P(U), ╞ f } = { f | f P(U), T Tf }.

Định nghĩa 3.5

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử,

i là các phép đánh giá trên p (p2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n. Khi đó ta kí hiệu NBD(r) là tập các PTBDTNB thỏa mãn trong khối r, nghĩa là:

NBD(r) = {f | fP(U), r(f)}.

Mệnh đề 3.1

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), xid,1 i n), có chứa ít nhất p phần tử,

i là các phép đánh giá trên p (p2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), xid, 1 i n. Khi đó ta có:

(NBD(r))+ = NBD(r).

Chứng minh

Theo định nghĩa, ta có:

(NBD(r))+ = { f | fP(U), NBD(r) ╞ f } = { f | fP(U), TNBD(r)  Tf }.

Như vậy suy ra: (NBD(r))+  NBD(r) (3)

Mặt khác, giả sử ta có: g  (NBD(r))+, ta cần chứng minh gNBD(r).

Thật vậy, từ giả thiết

g  (NBD(r))+ = { f | fP(U), TNBD(r)  Tf }  gP(U), TNBD(r)  Tg.

Mà theo định nghĩa của NBD(r) ta có: TrTNBD(r)  TrTg (theo tính bắc cầu)  khối r thỏa PTBDTNB g.

Từ đó ta có: gNBD(r)  (NBD(r))+  NBD(r) (4) Từ (3) và (4) ta suy ra: (NBD(r))+ = NBD(r).

Hệ quả 3.2

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ:

(NBD(r))+ = NBD(r).

Mệnh đề 3.2

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó ta có: Tr = TNBD(r) .

Chứng minh

Theo định nghĩa của tập các PTBDTNB NBD(r) ta có:

Nếu fNBD(r)  khối r thỏa PTBDTNB fTrTf.

Theo tính chất về tương quan giữa các công thức Boolean và khối chân lý, từ khối chân lý Tr ta tìm được một công thức Boolean h sao cho: Th = Tr. Mặt khác, vì eTr = Th nên h là công thức Boolean dương.

Từ đẳng thức: Tr = Th ta suy ra khối r thỏa PTBDTNB h, nghĩa là hNBD(r).

Vậy suy ra: NBD(r) ╞ h .

Do đó ta có: TNBD(r)  Th = TrTNBD(r)  Tr (5) Từ định nghĩa của NBD(r) ta có: TrTNBD(r) (6) Kết hợp (5) và (6) ta suy ra: Tr = TNBD(r) .

Hệ quả 3.3

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc

tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ:

Tr = TNBD(r) .

3.2.5. Thể hiện và thể hiện chặt tập phụ thuộc Boolean dương theo nhóm bộ Định nghĩa 3.6

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n.

Ta nói khối r thể hiện tập PTBDTNB nếu NDB(r)  + và khối r thể hiện chặt tập PTBDTNB nếu NDB(r) = +.

Nếu khối r là thể hiện chặt tập PTBDTNB  thì ta nói r là khối Armstrong của tập PTBDTNB .

Định lý 3.2

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó khối r thể hiện chặt tập PTBDTNB nếu và chỉ nếu Tr = T.

Chứng minh

Sử dụng kết quả của các mệnh đề 3.1 và mệnh đề 3.2 về các PTBDTNB ta có:

(NBD(r))+ = NBD(r) và Tr = TNBD(r). Khi đó: r là thể hiện chặt tập PTBDTNB

  NBD(r) = +  NBD(r)    TNBD(r) = T  Tr = T . Do đó: r là thể hiện chặt tập PTBDTNB   Tr = T,m.

Hệ quả 3.4

Cho R = (id; A1,A2,...,An ), r(R) là một khối trên R, mỗi miền trị di của thuộc tính Ai (cũng là của thuộc tính chỉ số x(i), x id,1 i n), có chứa ít nhất p phần tử, i là các phép đánh giá trên p (p 2) giá trị ứng với mỗi miền trị di của thuộc tính chỉ số x(i), x id, 1 i n. Khi đó, nếu id = {x} thì khối r suy biến thành quan hệ và ta có trong mô hình dữ liệu quan hệ: quan hệ r là thể hiện chặt tập PTBDTNB

khi và chỉ khi Tr = T.

Một phần của tài liệu (Luận án tiến sĩ) một số phụ thuộc logic mở rộng trong mô hình dữ liệu dạng khối (Trang 68 - 80)

Tải bản đầy đủ (PDF)

(110 trang)