1. Trang chủ
  2. » Công Nghệ Thông Tin

nhập môn DB2 Express - C

296 437 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

Định dạng
Số trang 296
Dung lượng 14 MB

Nội dung

N H  P M Ô N DB2 Express-C R A U L C H O N G, I A N H A K E S, R A V A H U J A L  i n ó i   u D R . A R V I N D K R I S H N A M  t cu  n sách c  a c  ng   ng dành cho c  ng   ng   2 Nhp môn H qun tr c s d liu DB2 Xut bn ln th ba (tháng 6 nm 2009) Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.7 vi h iu hành Linux, UNIX và Windows Bn quyn thuc công ty IBM Mc Lc V cun sách này 9  Thông cáo và Nhãn hiu hàng hóa 9  Ai nên c cun sách này? 10  Cu trúc ca quyn sách này nh th nào? 10  Mt cun sách giành cho cng ng 11  Tác gi và nhng ngi óng góp 12  Li cm n 12  Li cm n ca bn ting Vit 13  Li nói u 16  PHN I – TNG QUAN VÀ CÀI T 17  Chng 1 – DB2 Express-C là gì? 18  1.1 T do phát trin, trin khai và phân phi… không có gii hn! 19  1.2 Tr giúp ngi dùng và h tr k thut 19  1.3 Các máy ch DB2 20  1.4 Máy khách DB2 và các trình iu khin (drivers) 20  1.5 T do phát trin ng dng 22  1.6 Phiên bn và n bn DB2 23  1.7 Chuyn sang n bn DB2 khác 23  1.8 Bo trì và cp nht cho DB2 Express-C 24  1.9 Phn mm min phí liên quan và các thành phn DB2 24  1.9.1 IBM Data Studio 24  1.9.2 DB2 Text Search 25  1.9.3 WebSphere Application Server – n bn cng ng (Community Edition) 25  1.10 Tóm tt 25  Chng 2 – Các sn phm và tính nng liên quan 26  2.1 Các tính n ng kèm theo vi DB2 Express bn tr phí (FTL) 29  2.1.1 Các gói s!a li 29  2.1.2 Tính s"n sàng cao và khôi phc sau s c (High Availability Disaster Recovery - HADR) 29  2.1.3 Nhân bn d liu 30  2.2 Các tính n ng không có trong bn DB2 Express-C 31  2.2.1 Phân vùng c s d liu 32  2.2.2 Connection Concentrator - B tp trung kt ni 32  2.2.3 Geodetic Extender - B m rng không gian a lý 32  2.2.4 Label-based Access Control (LBAC) - Kim soát truy cp da trên nhãn 32  2.2.5 B qun lý ti công vic (Workload Manager – WLM) 33  2.2.6 Nén sâu 34  2.2.7 Tng thích vi SQL 35  2.3 Nhng sn ph#m có tr phí liên quan n DB2 36  2.3.1 DB2 Connect 36  2.3.2 InfoSphere Federation Server 37  2.3.3 InfoSphere Replication Server 38  2.3.4 Optim Development Studio (ODS) 38  2.3.5 Optim Database Administrator (ODA) 39  4 Nhp môn H qun tr c s d liu DB2 2.4 Các cung cp DB2 trên Cloud ca Amazon 39  2.5 Tóm tt 39  Chng 3 - Cài t DB2 40  3.1 Các iu kin cn trc khi cài $t 40  3.2 Quyn cài $t h iu hành 40  3.3 Cài $t theo th thut (hng d%n t&ng bc) 41  3.4 Kim tra li cài $t 48  3.5 Cài $t hàng lot (Silent Install) 49  3.6 Tóm tt 50  3.7 Bài tp nhanh 51  Chng 4 – Môi trng ca DB2 55  4.1 Cu hình DB2 64  4.1.1 Các bin môi trng 65  4.1.2 Tp cu hình qun tr c s d liu (dbm cfg) 65  4.1.3 Tp cu hình c s d liu (db cfg) 68  4.1.4 ' ng ký lý lch DB2 69  4.2 Máy ch qun tr DB2 (deprecated 1 ) 70  4.3 Tóm tt 71  4.4 Bài tp 71  Chng 5 – Các công c ca DB2 76  5.1 IBM Data Studio 78  5.2 Control Center (deprecated) 79  5.2.1 Khi ng Control Center 82  5.3 Nhp lnh trc tip (deprecated) 83  5.3.1 Chy trình Nhp lnh trc tip 84  5.3.2 Thêm mt kt ni c s d liu 84  5.4 Th thut tr giúp SQL (deprecated) 85  5.5 Nút “Show SQL” (deprecated) 87  5.6 Trung tâm tác v (deprecated) 88  5.6.1 C s d liu Tools Catalog (deprecated) 89  5.7 Nht ký( - Journal (deprecated) 90  5.7.1 Khi chy Journal 91  5.8 Health Monitor (deprecated) 92  5.8.1 Health Center 92  5.9 Qun l(í b nh t ng 94  5.10 Kch bn 94  5.10.1 Các kch bn SQL 95  5.10.2 Kch bn h iu hành (Shell) 96  5.11 Xét ti h iu hành Windows Vista 97  1 Deprecated: nhng tính n ng phiên bn hin nay còn h tr, nhng có th không c h tr na  các phiên bn sau. Các tính n ng này s) c kt hp trong IBM Data Studio Mc lc 5 5.12 Kt lun 97  5.13 Bài tp 98  PHN II – HC DB2: QUN TR C S D LIU 103  Chng 6 - Ki n trúc DB2 104  6.1 Mô hình x! lý DB2 104  6.2 Mô hình b nh DB2 106  6.3 Mô hình lu tr DB2 107  6.3.1 Các trang và phn m rng 108  6.3.2 Vùng m (Buffer pool) 108  6.3.3 Không gian bng – Table spaces 110  6.4 Tóm tt 116  6.5 Bài tp 116  Chng 7 – K t ni máy khách DB2 120  7.1 Các th mc DB2 120  7.1.1 Th mc c s d liu h thng 120  7.1.2 Th mc c s d liu cc b 121  7.1.3 Th mc nút 121  7.1.4 Th mc DCS 121  7.2 Công c tr giúp cu hình (deprecated) 121  7.2.1 Các cài $t cn thit trên máy ch 122  7.2.2 Các cài $t cn thit trên máy khách 125  7.2.3 To lý lch cho máy khách và máy ch 129  7.3 Tóm tt 132  7.4 Bài tp 132  Chng 8 - Làm vic vi các i t!ng c s" d# liu 135  8.1 Lc  (schemas) 135  8.2 Tên công cng ho$c bí danh (public synonyms or public aliases) 136  8.3 Bng (tables) 137  8.3.1 Kiu d liu 137  8.3.2 Ct khoá chính (Identity columns) 142  8.3.4 Các bng danh sách h thng 143  8.3.5 Khai báo các bng t*ng quát tm thi (DGTTs) 144  8.3.6 To bng tm t*ng quát (CGTTs) 146  8.4 Khung nhìn 147  8.5 Ch+ mc 147  8.5.1 Tr giúp thit k (Design Advisor) 147  8.6 Toàn v,n tham chiu 149  8.7 Tin hóa ca lc  (Schema Evolution) 150  8.8 Tóm tt 152  8.9 Bài tp 152  Chng 9 -$%&c tin 'ch di chuy(n d# liu 156  9.1 Tin -ch EXPORT 157  9.2 Tin -ch IMPORT 158  9.3 Tin -ch LOAD 159  6 Nhp môn H qun tr c s d liu DB2 9.4 Công c db2move 161  9.5 Công c db2look 161  9. 6 Tóm tt 164  9.7 Bài tp 164  Chng 10 - Bo m)t C s" d# liu 168  10.1 Chng thc 169  10.2 Quyn hn 170  10.2.1 '$c quyn 170  10.2.2 Quyn hn (authorities) 171  10.2.3 Vai trò 176  10.3 Xem xét vic nhóm các $c quyn 177  10.4 Nhóm PUBLIC 177  10.5 Lnh GRANT và REVOKE 177  10.6 Vic kim tra quyn và $c quyn 178  10.7 Tính n ng bo mt m rng trên Windows 180  10.8 Tóm tt 180  10.9 Bài tp 180  Chng 11 – Sao lu và Khôi phc 185  11.1 Nht kí c s d liu 185  11.2 Các kiu nht kí 186  11.3 Các kiu ghi nht kí 187  11.3.1 Ghi tun t quay vòng 187  11.3.2 Ghi nht kí lu tr 188  11.4 Ghi nht kí c s d liu t& Trung tâm iu khin 189  11.5 Các tham s ca nht kí 191  11.6 Sao lu c s d liu 192  11.7 Khôi phc c s d liu 194  11.7.1 Các kiu khôi phc d liu 194  11.7.2 Phc hi c s d liu 195  11.8 Thao tác khác vi câu lnh BACKUP và RESTORE 195  11.9 Tóm tt 196  11.10 Bài tp 196  Chng 12 – Nhim v bo trì 199  12.1 REORG, RUNSTATS, REBIND 199  12.1.1 Lnh REORG 200  12.1.2 Lnh RUNSTATS 200  12.1.3 BIND / REBIND 201  12.1.4 Các công vic bo trì t& Control Center (Trung tâm 'iu khin) 202  12.2 Các la chn bo trì 203  12.3 T*ng kt 205  12.4 Bài tp 205  Chng 13 - Truy c)p ng thi và khóa 208  13.1 Giao dch (Transactions) 208  13.2 Truy xut ng thi (Concurrency) 209  Mc lc 7 13.3 Mt s vn  nu không có s kim soát truy cp ng thi 210  13.3.1 Mt d liu cp nht (lost update) 210  13.3.2 'c d liu không hoàn tt ( Uncommited read) 211  13.3.3 'c d liu không th l$p li (Non-repeatable read) 212  13.3.4 'c d liu th&a (Phantom read) 213  13.4 Các mc cô lp 214  13.4.1 'c không cam kt 215  13.4.2 .n nh con tr/ 215  13.4.3 'c *n nh 217  13.4.4 'c l$p li 217  13.4.5 So sánh các mc  cô lp d liu 218  13.4.6 '$t mc cô lp 218  13.5 Khóa leo thang 220  13.6 Kim soát khóa 221  13.7 Ch khóa 222  13.8 Vn  khóa cht và phát hin 222  13.9 Truy cp ng thi và thc tin khóa tt nht 224  13.10 Tóm tt 225  13.11 Bài tp 225  PHN III – HC DB2: PHÁT TRI*N +NG D,NG 231  Chng 14 – Gii thiu vic phát tri(n ng dng vi DB2 233  14.1 Phát trin ng dng DB2: Bc tranh ln 233  14.2 Phát trin ng dng phía máy ch 235  14.2.1 Các th tc lu 235  14.2.2 Các hàm ngi dùng nh ngha 236  14.2.3 Các b%y s kin 236  14.3 Phát trin ng dng phía máy khách 237  14.3.1 SQL nhúng 237  14.3.2 SQL tnh và SQL ng 238  14.3.3 CLI và ODBC 240  14.3.4 JDBC, SQLJ và pureQuery 244  14.3.5 OLE DB 245  14.3.6 ADO.NET 246  14.3.7 PHP 248  14.3.8 Ruby on Rails 248  14.3.9 Perl 249  14.3.10 Python 249  14.4 XML và DB2 pureXML 250  14.5 Dch v Web 250  14.6 Các API qun lý 252  14.7 Các phát trin khác 252  14.7.1 Làm vic vi Microsoft Access và Microsoft Excel 252  14.8 Các công c phát trin 254  14.9 Các chng trình m%u 254  8 Nhp môn H qun tr c s d liu DB2 14.10 Tóm tt 255  Chng 15 - DB2 pureXML 256  15.1 S! dng XML vi c s d liu 257  15.2 C s d liu XML 257  15.2.1 C s d liu có h tr XML 257  15.2.2 C s d liu thun XML 258  15.3 XML trong DB2 259  15.3.1 0u im ca công ngh pureXML 260  15.3.2 C bn v XPath 262  15.3.3 C bn v XQuery 265  15.3.4 Chèn các tài liu XML 267  15.3.5 Truy vn d liu XML 270  15.3.6 Kt ni vi SQL/XML 277  15.3.7. Kt ni vi XQuery 278  15.3.8 Các thao tác cp nht và xóa 278  15.3.9 'ánh ch+ mc XML 281  15.4 Làm vic vi lc  XML 282  15.4.1 ' ng kí lc  XML 282  15.4.2 Kim tra tính hp l theo lc  XML 285  15.4.3 Các h tr XML khác 286  15.5 Tóm tt 287  15.6 Bài tp 287  Ph lc A – Kh-c phc s. c 289  A.1 Tìm thêm thông tin v các mã li 290  A.2 SQLCODE và SQLSTATE 290  A.3 Nht ký thông báo qun tr DB2 291  A.4 db2diag.log 291  A.5 Theo vt CLI 292  A.6 Khim khuyt và s!a li trong DB2 292  Ph lc B – Tham kho và Tài nguyên 293  B.1 Tham kho 293  B.2 Các trang Web: 293  B.3 Sách 295  B.4 Email liên h 296  V cun sách này Thông cáo và Nhãn hiu hàng hóa © Copyright IBM Corporation 2007, 2009 All right Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada Không c phép sao chép hay mô ph/ng tài liu này ho$c mt phn ca tài liu này di bt c hình thc hay thông qua bt c phng tin nào ho$c theo cách phiên dch ra mt ngôn ng khác mà không có s ng ý trc ca tt c các ch s hu tác quyn nêu trên. IBM không có bo m ho$c tuyên b nào liên quan n ni dung này và c th là chi b/ bt c s m bo mang tính hàm ý/suy din nào v giá tr thng mi hay tính phù hp i vi bt c mc ích c th nào. IBM không chu trách nhim v bt c sai sót nào có kh n ng tn ti trong tài liu này, bao gm nhng không gii hn trong phm v các sai sót trong quá trình dch thut. Các thông tin c bao hàm trong tài liu này là i tng chu s thay *i mà không cn thông báo. IBM bo lu quyn thc hin bt c s thay *i nào nh th mà không có ngha v thông báo cho bt c cá nhân nào v các trng hp iu ch+nh hay thay *i nh th. IBM không a ra bt c cam kt nào i vi vic cp nht các thông tin c bao hàm trong tài liu này. Các thông tin trong tài liu này có liên quan n các sn ph#m không phi ca IBM, do các nhà cung cp các sn ph#m y cung cp. IBM cha th! nghim các sn ph#m y và không th xác nhn tính chính xác v tình trng hot ng, kh n ng tng thích ho$c các kh1ng nh có liên quan các sn ph#m không phi ca IBM. 'i vi các vn  thc mc có liên quan n hiu qu ca các sn ph#m không phi ca IBM, xin liên h vi các nhà cung cp các sn ph#m này. IBM, biu tng IBM, và ibm.com là nhãn hiu hàng hóa ã  ng ký ca tp oàn IBM trên toàn th gii. Tên sn ph#m và dch v khác có th là nhãn hiu hàng hóa ã  ng ký ca IBM ho$c các công ty khác. Danh sách các nhãn hiu ã  ng ký ca IBM c  ng ti ti mc “Copyright and trademark information” ca trang www.ibm.com/legal/copytrade.shtml. Java và tt c các nhãn hiu Java là nhãn hiu hàng hóa  ng ký ca công ty Sun Microsystem, Inc. ti M2, các nc khác, ho$c c hai. Microsoft và Windows là nhãn hiu hàng hóa ca tp oàn Microsoft ti M2, các nc khác, ho$c c hai. Linux là nhãn hiu  ng ký ca Linus Torvalds ti M2, các nc khác, ho$c c hai. UNIX là nhãn hiu  ng ký ca The Open Group ti M2, các nc khác, ho$c c hai. Nhng tên ca công ty, sn ph#m hay dch v khác có th là nhãn hiu ã  ng k(ý ca các công ty khác. Các mc tham kho trong sn ph#m xut bn này có liên quan n các sn ph#m hay dch v ca IBM không mang hàm ý r3ng IBM có ý nh phát trin các sn ph#m  mi quc gia mà IBM có c s hot ng. 10 Nhp môn H qun tr c s d liu DB2 Ai nên /c cun sách này? Quyn sách này giành cho bt k4 ai ang làm vic ho$c mun làm vic vi c s d liu, nh qun tr h c s d liu (DBAs), ngi phát trin ng dng, nhà t vn, kin trúc phn mm, giám c sn ph#m, giáo viên và sinh viên. Cu trúc ca quy(n sách này nh th nào? Phn I, T*ng quan và Cài $t, gii thích n bn DB2 Express-C là gì, gii thiu h sn ph#m DB2 và các chc n ng, giúp 5 cài $t và to mi c s d liu, và khám phá các công c s"n có ca DB2. Phn II, Hc DB2: Qun tr c s d liu, c thit k  bn làm quen vi môi trng, kin trúc, kt ni t& xa, các i tng d liu, chuyn d liu (nhp và xut d liu), an toàn, sao lu và khôi phc, truy cp ng thi và khóa ca DB2, và các công vic bo trì thông thng. Phn III, Hc DB2: Phát trin ng dng, gii thiu vic phát trin ng dng trên DB2, bao gm phát trin ng dng trên máy ch, trên máy khách. C6ng tho lun v SQL/XML, XQuery, và pureXML. Ph lc có các thông tin cn thit v s!a li. Bài tp i kèm vi phn ln các chng; và c6ng cung cp các tp u vào cn thit  thc hành, nó c nén trong tp expressc_book_quicklabs.zip i kèm theo sách này. Tài liu ca cun sách c6ng c s! dng làm bài ging ca chng trình “DB2 vi 'i hc” (DB2 on Campus), và rt sát vi b ng video các trình bày có th thy  trang web www.channelDB2.com/oncampus. Bn có th xem thêm thông tin v chng trình này  trang DB2 Express-C, a ch+ www.ibm.com/db2/express/students.html. Chú ý: ' bit thêm thông tin v chng trình “DB2 on Campus”, xem video  a ch+ http://www.channeldb2.com/video/video/show?id=807741:Video:3902. Cun sách này là ln xut bn th 3, chúng tôi ã có nhiu thay *i và b* xung. Vi nhng ngi ã c cun xut bn ln 2 v DB2 9.5, chúng tôi ã ánh du  các bn có th thy các thay *i ã c cp nht  phiên bn DB2 9.7. Các phn có thay *i các bn có th d dàng nhn thy b3ng biu tng. [...]... không c s gi i h n v kích th c c s d li u, trong khi ó v%n c c ng ch c n ng lõi và c ng ngh pureXML nh c c n b n kh c c a DB2 DB2 Express- C h tr m t m ng r ng l n bao g m c c khách hàng, c c nhà phân ph i, c c ngôn ng phát tri n và nó cung c p c ch nâng c p d dàng sang c c n b n DB2 kh c 2 Ch ng 2 – C c s n ph m và tính n ng liên quan Ch ng này miêu t c c tính n ng DB2 c kèm theo v i b n tr phí c a... 9.7 C c tính n ng mà b n c th mua riêng l@ c c li t kê b3ng tên cho phiên b n DB2 t ng ng và c ánh d u v i n n xám nh t Ch c n ng S nhân b n SQL ng nh t (replication) Liên h th ng ng nh t (Federation) Net Search B n DB2 Express tr phí (FTL) B n DB2 Express C C B n DB2 Workgroup Server Edition (WSE) C B n DB2 Enterprise Server Edition (ESE) C C C C C C C C C C C C C C C C C C C C ... hi n t i ho $c d ch cu n sách này sang ngôn ng kh c, làm n g!i k ho ch th c hi n v a ch+ db2x@ca.ibm.com v i tiêu DB2 Express- C book changes.” Thành c ng c a cu n sách này ã ti p thêm s c m nh cho vi c phát tri n thêm h n 25 cu n sách cung c p tr c tuy n v c c s n ph#m c a IBM, và c v c ng ngh ngoài IBM n a Cu n sách này là m t ph n c a T sách Giành cho c ng ng (Community Book Series), c a ra vào tháng... n ph#m c a IBM nh DB2 v n hành c c gi i pháp c nhu c u cao nh t, qu n tr nh ng d li u t i quan tr ng c a h Tuy nhiên DB2 không ch+ dành cho c c doanh nghi p l n V i vi c a ra b n DB2 Express- C, c ng ngh n i ti ng DB2 ã s"n sàng cho c c doanh nghi p v&a và nh/ - và không b t bu c ph i m t chi phí! M $c dù c n c c c s n ph#m mi n phí hay c c ph n m m ngu n m kh c, DB2 Express- C trao cho b n s c m nh... tr c s d li u DB2 1.8 B o trì và c) p nh)t cho DB2 Express- C B n c i $t c a DB2 Express- C c làm m i theo nh k4 Nh ng c p nh t này th ng i kèm v i s xu t hi n c a c c b n phát hành ho $c c c phiên b n m i ho $c khi c m t s l ng áng k l i c a s n ph#m Trong quá kh , nh ng c p nh t cho DB2 Express- C th ng th c hi n 1 n m m t l n Tuy nhiên, chú ý r3ng DB2 Express- C là m t b n mi n phí không i kèm v i c c. .. tr c s d li u DB2 1.3 C c máy ch DB2 T t c c c phiên b n máy ch DB2 u c chung thành ph n lõi, chúng c óng gói cho ng i dùng c th ch n nh ng ch c n ng c n thi t v i m c giá phù h p Hình 1.1 minh h a c c phiên b n DB2 kh c nhau DB2 Enterprise Edition DB2 Workgroup Edition DB2 Express Edition DB2 Express- C + Extra functionality + Extra functionality + Extra functionality Hình 1.1 – Máy ch DB2 Nh ta th... hàng n m c a b n c duy trì p n t t 1.9 Ph n m m mi5n phí liên quan và c c thành ph n DB2 T t c c c ph n m m c t i v mi n phí t i trang t i v c a DB2 Express- C (www.ibm.com /db2/ express/ download.html) Bên c nh ph n m m DB2 Express- C, c n c nh ng ph n gói ph n m m h u ích c th c t i v và s! d ng mi n phí: Visual Studio Add-ins DB2 Spatial Extender C nh ng c ng c b* sung d a trên DB2 Express- C c t i v... n kéo th ch không c n l p trình IBM Data Studio thay th c c công c DB2 nh Control Center và Command Ch ng 1 – DB2 Express- C là gì? 25 Editor ã l i th i (chúng i kèm v i DB2 nh ng không c phát tri n ti p n a) IBM Data Studio c th o lu n chi ti t trong Ch ng 5, c c công c DB2 1.9.2 DB2 Text Search Tìm ki m v n b n DB2 (DB2 Text Search) là m t thành ph n tích h p tùy ch n c a DB2c trang b c ng ngh... Windows M $c dù DB2 Express- C không ph i là s n ph#m mã ngu n m , IBM chúng tôi v%n r t tin t ng vào s h tr và c* v6 t& c ng ng Tôi vui m&ng c th y cu n sách này do c c thành viên c a c ng ng DB2 Express- C phát tri n và phát hành mi n phí cho c ng ng Tôi mong c c b n c p nh t, làm giàu thêm ki n th c c a cu n sách v i hi u bi t, kinh nghi m c a c c b n, và giúp d ch cu n sách này sang c c ngôn ng kh c, nh... DB2 Ch C trong DB2 Express- C là vi t t t c a t& C ng ng(Community) M t c ng ng nh ng ng i s! d ng DB2 Express- C k t h p l i giúp 5 nhau, c tr c tuy n và không tr c tuy n C ng ng DB2 Express- C bao g m nhi u c nhân và c c công ty thi t k , phát tri n, tri n khai hay s! d ng c c gi i pháp c c d li u C c thành viên c a c ng ng bao g m: Nh ng nhà phát tri n ng d ng c n n m t ph n m m c s d li u chu#n . hoch th c hin v a ch+ db2x@ca.ibm.com vi tiêu  DB2 Express- C book changes.” Thành c ng c a cun sách này ã tip thêm s c mnh cho vi c phát trin thêm hn 25 cun sách cung c p tr c. tr c s d liu DB2 1.3 C c máy ch DB2 Tt c c c phiên bn máy ch DB2 u c chung thành phn lõi, chúng  c óng gói  cho ngi dùng c th chn nhng ch c n ng c n thit vi m c giá. phí! M $c dù c n c c c sn ph#m min phí hay c c phn mm ngun m kh c, DB2 Express- C trao cho bn s c mnh duy nht vt trên tt c c c la chn c ng loi. C rt nhiu sáng to c ng ngh

Ngày đăng: 24/03/2014, 19:28

TỪ KHÓA LIÊN QUAN