Nhập môn Cơ sở dữ liệu DB

210 787 1
Nhập môn Cơ sở dữ liệu DB

Đ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

Nhập môn Cơ sở dữ liệu DB

 ! " Mt cun sách ca cng ng dành cho cng ng !#$%&' () Nhp môn H qun tr c s d liu DB2 1 Xut bn ln u (tháng 11 nm 2007) Tài liu này s dng cho IBM DB2 Express-C phiên bn 9.1 vi h iu hành Linux, UNIX và Windows Bn quyn thuc công ty IBM Nhp môn H qun tr c s d liu DB2 2Mc Lc Thông cáo và Nhãn hiu hàng hóa .7 Ai nên c cun sách này? .8 Cu trúc ca quyn sách này nh th nào? 8 Mt quyn sách do cng ng làm và giành cho cng ng .8 Tác gi và nhng ngi óng góp .8 Li cm n .9 Li cm n bn ting Vit .10 Li nói u .12 Phn I – Tng quan và Cài t .13 Chng 1 - DB2 Express-C là gì? .13 1.1 T do phát trin, trin khai và phân phi…không gii hn! . 13 1.2 H tr k thut .14 1.3 Các máy ch DB2 14 1.4 Máy khách DB2 .15 1.5 T do phát trin phn mm ng dng 16 1.6 Phiên bn và n bn DB2 (version and edition) 16 1.7 Chuyn sang n bn DB2 khác 17 1.8 Bo trì DB2 Express-C 17 1.9 Mt s phn mm min phí liên quan 17 1.9.1 DB2 Developer Workbench (công c phát trin) .17 1.9.2 DB2 9 Embedded Application Server (máy ch nhúng) .18 1.9.3 DB2 9 Net Search Extender (m rng tìm kim trên mng) 18 1.9.4 B công c bt u Rails cho DB2 .18 1.9.5 B công c bt u Web 2.0 dành cho DB2 .18 Chng 2 – Các tính nng liên quan và các sn phm .19 2.1 Các tính nng bao hàm trong ng ký s dng DB2 Express-C .20 2.1.1 Các chng trình sa li .20 2.1.2 Tính s n sàng cao và khôi phc sau s c (HADR) .20 2.1.3 Kh nng tái to d liu (di trú d liu) 20 2.2 Các tính nng không trong bn DB2 Express-C .21 2.2.1 Phân vùng c s d liu 21 2.2.2 B tp trung kt ni .21 2.2.3 B m rng không gian !a lý 22 2.2.4 B kim soát truy vn .22 2.3 Các sn ph"m tr phí liên quan n DB2 22 2.3.1 DB2 Connect .22 2.3.2 WebSphere Federation Server 22 2.3.3 WebSphere Replication Server .23 Chng 3 - Cài t DB2 24 3.1 Các iu kin trc khi cài #t 24 3.2 Quyn cài #t h iu hành 24 3.3 Cài #t theo hng d$n t%ng bc .25 3.4 Cài #t hàng lot (Silent Install) 28 Bài tp nhanh #1: Cài #t DB2 Express-C và to ra c s d liu m$u 30 Chng 4 - Các công c DB2 32 4.1 Trung tâm iu khin (Control Center) .33 4.2 Nhp lnh trc tip .36 4.3. Trình tr giúp SQL .38 4.4 Trình bày nút Show SQL .40 Nhp môn H qun tr c s d liu DB2 3Bài tp nhanh #2 - To mt CSDL mi vi Trung tâm iu khin 40 4.5 To k!ch bn .42 4.5.1 Các k!ch bn SQL .42 4.5.2 Các k!ch bn vi h iu hành 44 Bài tp nhanh #3 – To mt k!ch bn cài #t cho c s d liu EXPRESS 45 4.6 Trung tâm tác v (Task Center) .48 4.6.1 C s d liu Tools Catalog .48 4.7 Nht ký .49 4.8 Giám sát tình trng (health) .51 4.8.1 Trung tâm tình trng .51 Chng 5 - Môi trng ca DB2 .54 5.1 Cu hình DB2 62 5.1.1 Các bin môi trng .63 5.1.2 Tp cu hình qun tr! c s d liu (dbm cfg) 63 5.1.3 Tp cu hình c s d liu (db cfg) 65 5.1.4 &ng ký lý l!ch DB2 (profile) .66 5.2 Máy ch qun tr! DB2 67 Phn II – Hc DB2: Qun tr C s d liu 68 Chng 6 - Kin trúc ca DB2 .68 6.1 Mô hình x lý ca DB2 .68 6.2 Mô hình b nh ca DB2 .69 6.3 Mô hình lu tr ca DB2 .70 6.3.1 Trang và phm vi 70 6.3.2 Vùng nh m .70 6.3.3 Các không gian bng .73 Chng 7 – Kt ni máy khách DB2 77 7.1 Tr giúp cu hình .77 7.1.1 Nhng cài #t bt buc trên máy ch .77 7.1.2 Nhng cài #t cn thit trên máy khách 79 7.1.3 To lý l!ch cho máy khách và máy ch .82 Bài tp nhanh #4 – S dng Tr giúp thit lp cu hình .86 Chng 8 - Làm vic vi các i tng d liu 88 8.1 S  88 8.2 Bng .88 8.2.1 Kiu d liu .89 8.2.2 Ct khoá chính (Identity columns) .91 8.2.3 Các  tng tun t (Sequence object) . 92 8.2.4. Các bng danh sách h thng .92 8.2.5. Khai báo các bng tm thi 93 Bài tp nhanh #5 - Khi to mt bng mi 94 8.3 Các khung nhìn (Views) 96 8.4 Các ch' mc (Index) .96 8.4.1 Tr giúp thit k (Design Advisor) .97 8.5 Tính toàn v(n tham chiu .98 Chng 9 – Công c di chuyn d liu 100 9.1 Công c EXPORT (xut) .101 9.2 Công c IMPORT (nhp) .102 9.3. LOAD (np) 102 9.4 Công c db2move 104 9.5 Công c db2look 104 Nhp môn H qun tr c s d liu DB2 4Bài tp nhanh #6 - Trích xut DDL t% c s d liu EXPRESS . 107 Chng 10 – Bo mt c s d liu 110 10.1 &!nh danh .111 10.2 Quyn hn 112 10.3 Quyn qun tr! c s d liu DBADM 114 10.4 Nhóm PUBLIC 115 10.5 Lnh GRANT và REVOKE .115 10.6 Kim tra vic cp quyn và quyn .115 10.7 Xem xét quyn trên nhóm 117 Bài tp nhanh # 7: Cho phép và hy b) (phân quyn) quyn ngi s dng .118 Chng 11 – Sao lu và khôi phc .121 11.1 Nht ký c s d liu . 121 11.2 Các kiu nht ký .122 11.3 Các kiu ghi nht ký .122 11.3.1 Ghi tun t quay vòng . 122 11.3.2 Nht ký lu tr 123 11.4 Nht ký c s d liu t% Trung tâm iu khin 123 11.5 Các tham s ca nht ký . 124 11.6 Sao lu c s d liu 125 Bài tp nhanh #8 - Lp l!ch sao lu .127 11.7 Khôi phc c s d liu .129 11.7.1 Các kiu khôi phc d liu .129 11.7.2 Khôi phc c s d liu 129 11.8 Các hot ng khác vi BACKUP và RESTORE .130 Chng 12 - Nhim v bo trì 131 12.1 REORG, RUNSTATS, REBIND 131 12.1.1 Lnh REORG 131 12.1.2 Lnh RUNSTATS . 132 12.1.3 BIND/REBIND .132 12.1.4 Các công vic duy trì t% Trung tâm iu khin . 133 12.2 Các la chn bo trì .135 Bài tp nhanh #9 – Cu hình vic bo trì t ng . 137 Chng 13 – Truy cp ng thi và khóa .139 13.1 Các giao d!ch 139 13.2 Truy cp ng thi .140 13.3 Các vn  khi không kim tra truy cp ng thi 141 13.3.1 Mt d liu cp nht . 141 13.3.2 &c vi không cam kt .142 13.3.3 &c không l#p li 142 13.3.4 &c th%a 143 13.4 Các mc lp .144 13.4.1 &c vi không cam kt .144 13.4.2 *n !nh con tr) .144 13.4.3 &c +n !nh .145 13.4.4 &c l#p li .145 13.4.5 So sánh các mc  lp d liu 145 13.4.6 &#t mc lp 146 13.5 Khóa leo thang .147 13.6 Kim soát khóa 148 13.7 Ch khóa 148 Nhp môn H qun tr c s d liu DB2 513.8 Vn  khóa ph thuc và phát hin 149 13.9 Truy cp ng thi và thc tin khóa tt nht .150 PHN 3: HC DB2 – PHÁT TRIN NG DNG .152 Chng 14 – Các th tc SQL PL 153 14.1 DB2 Developer Workbench .154 14.1.2 To mt th tc lu trong DWB .154 14.2 Mt s khái nim v th tc SQL PL 158 14.2.1 Cu trúc ca th tc 158 14.2.2 Nhng thuc tính tùy chn ca th tc .158 14.2.3 Các loi tham s 159 14.2.4 Chú thích trong th tc SQL PL .159 14.2.5 Câu lnh ghép . 160 14.2.6 Khai báo bin 160 14.2.7 Câu lnh gán .160 14.3 Các con tr) (cursor) .161 14.4 &iu khin lung 161 14.5 Gi th tc 162 14.6 Li và x lý iu kin 163 14.7 SQL ng .165 Chng 15 – Hàm ni tuyn, hàm ngi dùng nh ngha, các hàm x ký các s! kin b"y (Inline SQL PL, UDF, Triggers) 166 15.1 Hàm ni tuyn SQL .166 15.2 B$y s kin (Triggers) .167 15.2.1 Các loi b$y s kin 167 Bài tp nhanh #10 - Khi to mt b$y b,ng Trung tâm iu khin .170 15.3 Hàm ngi dùng !nh ngh-a (UDF) 172 15.3.1 Hàm vô hng 172 15.3.2 Hàm bng 173 Bài tp nhanh #11 - Khi to UDF s dng DB2 Developer Wordbench 175 Chng 16 – SQL/XML và XQuery 176 16.1 S dng XML vi các c s d liu 176 16.2 C s d liu XML 177 16.2.1 c s d liu h tr XML . 177 16.2.2 C s d liu thun XML . 178 16.3 XML trong DB2 .178 16.3.1 .u im ca công ngh pureXML trong DB2 9 179 16.3.2 Khái nim c bn v XPath 181 16.3.3 &!nh ngh-a XQuery .184 16.3.4 Chèn các tài liu XML 185 16.3.5 Truy vn d liu XML 188 16.3.6 Ni (join) vi SQL/XML 193 16.3.7 Ni (Join) vi XQuery 194 16.3.8 Các lnh cp nht và xóa 194 16.3.9 Ch' mc XML . 195 Bài tp nhanh #12 – SQL/XML và XQuery 197 Chng 17 – Phát trin vi Java, PHP và Ruby .198 17.1 Phát trin ng dng b,ng Java . 198 17.1.1 Trình iu khin JDBC kiu 2 (type 2) .198 17.1.2 Trình iu khin JDBC kiu 4 199 17.2 Phát trin ng dng b,ng PHP . 200 Nhp môn H qun tr c s d liu DB2 617.2.1 La chn kt ni DB2 cho PHP 200 17.2.2 /ng dng công ngh Zend Core dành cho IBM .201 17.3 Phát trin ng dng Ruby trên nn Rails .203 17.3.1 B công c phát trin DB2 trên nn Rails 203 A.1 Thêm thông tin v mã các li 204 A.2 SQLCODE and SQLSTATE 205 A.3 Nht ký khai báo qun tr! DB2 . 205 A.4 db2diag.log 206 A.5 Theo vt CLI .206 A.6 Khc phc và sa li trong DB2 .206 Các trang web 207 Sách 208 Nhp môn H qun tr c s d liu DB2 7V cun sách này Thông cáo và Nhãn hiu hàng hóa Copyright IBM Corporation 2007 All right Reserved. IBM Canada 8200 Warden Avenue Markham, ON L6G 1C7 Canada Không c sao chép hoc s dng di bt k dng thc nào hoc dch sang ngôn ng khác toàn b hoc bt c phn nào ca tài liu này mà không c s cho phép trc ca ngi gi bn quyn  trên. IBM không m bo hay i din cho nhng ni dung c nêu ra  ây và không chu trách nhim v tính thng mi hoc tính hp lý cho bt kì mc ích nào. IBM cho rng mình không trách nhim vi bt k li nào trong tài liu này. Thông tin trong tài liu này th thay i mà không cn báo trc. IBM giành quyn c thay i và không bt buc phi thông báo cho bt c ai v s thay i này. IBM không cam kt nhng thông tin trong tài liu này là mi nht. Các thông tin trong tài liu này liên quan n sn ph m không phi ca IBM ã c qua các nhà cung cp sn ph m ó. IBM không kim tra các sn ph m ó và không kh!ng nh v tính chính xác khi thc hin, tính tng thích hoc bt k thc mc nào liên quan n sn ph m không phi ca IBM. Các câu h"i v kh nng ca các sn ph m không phi ca IBM cn c gi cho các nhà cung cp sn ph m ó. IBM, biu tng IBM, DB2, DB2 Connect, DB2 Universal Database, i5/OS, pureXML, WebSphere, và z/OS là nhãn hiu hàng hóa ã ng ký ca t#p oàn IBM ti M$, các nc khác, hoc c hai. 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 M$, 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 M$, các nc khác, hoc c hai. Linux là nhãn hiu ng ký ca Linus Torvalds ti M$, các nc khác, hoc c hai. Tên ca công ty khác, sn ph m, hoc dch v th là nhãn hiu ng ký ca h&. Trích d%n các sn ph m và dch v ca IBM trong tài liu này không ngh'a là IBM a chúng n tt c các quc gia mà IBM hot ng. Nhp môn H qun tr c s d liu DB2 8Ai nên c cun sách này? Quyn sách này giành cho bt k 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 ( 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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, bao g+m th tc, hàm do ngi dùng nh ngh'a, các b%y s kin, SQL/XML, XQuery, phát trin ng dng bng Java, PHP và Ruby. Ph lc các thông tin cn thit v sa li. Bài t#p  ây là bài t#p nhanh,  hu ht các chng, tt c các tp cn thit  thc hin bài t#p này th tìm thy  tp nén expressc_book_quicklabs.zip i kèm theo sách này, hoc s, tìm thy  trang web ca IBM DB2 Express-C, a ch- www.ibm.com/db2/express Tài liu ca cun sách c.ng 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). Cun sách này c.ng giúp bn chu n b cho bài kim tra ca chng trình “DB2 vi /i h&c”, chng trình y  ca nó bài h&c vi 16 gi trên lp. Bn 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. Mt quyn sách do cng ng làm và giành cho cng ng /i ng. làm DB2 Express-C ã sáng kin làm quyn sách này  cung cp mi0n phí cho cng +ng. Vit và ch-nh lý mt cun sách là vic làm khó khn. Mc ích ca chúng tôi là ni dung cun sách s, c duy trì và m rng bng vic tham gia ca cng +ng DB2 Express-C. Nu bn mun óng góp ý kin, óng góp nhng ni dung mi  nâng cao ni dung 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.” Tác gi và nhng ngi óng góp Nhng ngi sau ây ã cung cp ni dung và các óng góp ý ngh'a cho cun sách này Tên /n v Chc danh Tài liu óng góp Ngày Raul F. Chong IBM G/ chng trình “DB2 vi /i h&c” Bn tho tt c các chng Tháng 5 – 2007 Ian Hakes IBM Cng +ng DB2 Express-C Xem li và sa cha Tháng 5, 6 – 2007 Rav Ahuja IBM G/ sn ph m DB2 Xem li, c#p nh#t và trình bày cun sách Tháng 7-10 - 2007 Nhp môn H qun tr c s d liu DB2 9Li cm n Chúng tôi chân thành cm n các cá nhân sau ây vi s tr giúp - Ted Wasserman, Clara Liu và Paul Yip  phòng thí nghim IBM Toronto, ngi ã phát trin ng dng trong khuôn kh cun sách này - Don Chamberlin và Cindy Saracco vi các bài báo ca h& v XQuery ng trên developerWorks, và Matthía Nicola vi bài trình bày v pureXML. - Kevin Czap và Grant Hutchingson vi các tài liu k$ thu#t v phát trin DB2 - Katherine Boyachok vi thit k bìa - Susan Visser giúp ( xut bn cun sách này [...]... công c DB2 4.1 Trung tâm i u khi n (Control Center) Công c chính c a DB2 dùng trong vi c qu n tr c giao di n nh trong hình 4.3 s d L nh db2 ce db2 db2 cmd db2 cc db2 tc db2 hc db2 ca db2 fs li u là Trung tâm i u khi n Nh p môn H qu n tr c s d li u DB2 34 Hình 4.3 - Trung tâm i u khi n c a DB2 Trung tâm i u khi n là m t công c qu n lý t#p trung cho phép b n: • Xem xét h th ng c a b n, các b n cài t DB2 , các... n ph!m tr phí liên quan n DB2 2.3.1 DB2 Connect DB2 Connect là m t ph n m m d a trên vi c tr phí cho phép m t máy khách DB2 Linux, UNIX hay Windows k t n i n m t máy ch DB2 z/OS hay DB2 i5/OS nh trong hình 2.2 DB2 Connect không c yêu c u trong quá trình liên k t theo chi u ng c l i, khi b n k t n i t* DB2 z/OS hay DB2 i5/OS d n m t máy ch DB2 Linux, UNIX hay Windows DB2 Connect trong hai n b... khách DB2 và các trình i u khi n u mi0n phí và th c t i v t* trang web DB2 Express-C Các máy khách và các trình i u khi n th c s d ng k t n i n máy ch DB2 trên n n Linux, Unix, ho c Windows / k t n i n DB2 trên máy ch z/OS® ho c DB2 trên máy ch i5/OS®, b n c n ph i thông qua máy ch k t n i DB2 (DB2 Connect n m gi a hình 2) Chúng ta s, th o lu#n v ph n m m DB2 Connect trong Ch ng 2 Nh p môn H... m%u T p biên b n m%u: PROD = UDB_EXPRESS_EDITION LIC_AGREEMENT=ACCEPT FILE = C:\Program Files\IBM\SQLLIB\ INSTALL_TYPE = CUSTOM COMP=TCPIP _DB2 _LISTENER_SUPPORT COMP=TCPIP _DB2 _CLIENT_SUPPORT COMP =DB2 _SAMPLE_DATABASE COMP =DB2 _SAMPLE_APPLICATIONS COMP=OLE _DB_ SUPPORT COMP=ODBC_SUPPORT COMP = JDBC_SUPPORT COMP = IBM_JRE Các ph ng pháp th dùng t o ra t p biên b n: • Cài t DB2 Express-C tr c m t l n, s... phí nh : • DB2 Developer Workbench • DB2 9 Embedded Application Server • DB2 9 Net Search Extender Ngoài ra b n th t i v b công c kh i u d a trên DB2 Express-C t* trang web IBM Alphaworks (www.alphaworks.ibm.com/datamgmt) B công c này bao g+m: • Starter toolkit for DB2 on Rails • Web 2.0 Starter Toolkits for DB2 1.9.1 DB2 Developer Workbench (công c phát tri n) DB2 Developer Workbench (DBW) là m... t ng 1 - DB2 Express-C là gì? DB2 Express-C là m t s n ph m thu c dòng IBM DB2 – ph n m m máy ch d li u qu n lý c d li u quan h và d li u XML DB2 Express-C là n b n DB2 c dùng mi0n phí, không h n ch và d0 s d ng Ch C trong DB2 Express-C là vi t t t c a Community (C ng +ng) Ngh'a là c ng +ng nh ng ng i s d ng DB2 Express-C k t h pl i h tr l%n nhau c tr c tuy n và không tr c tuy n C ng +ng DB2 Express-C... nút “Next” r+i nh n “Finish” Quá trình cài t s, k t thúc sau vài phút và b n th b t u s d ng DB2 u cài t DB2 (DB2 Setup Launchpad), b n nên ch&n Trên hình 3.1 là c a s b t “Install New” cài t m t b n sao m i c a DB2 lên h th ng Hình 3.1 – B t u cài t DB2 (DB2 Setup Launchpad) Nh p môn H qu n tr c s d li u DB2 26 Sau khi ch p nh#n i u kho n s d ng, thông th “Typical” (m c nh) nh trên hình 3.2 Hình 3.2... DB2 Enterprise 9 (xem hình 1.1) Nh p môn H qu n tr c s d li u DB2 17 1.7 Chuy n sang n b n DB2 khác Khi c s d li u c a b n c n m r ng, th b n s, c n nâng c p n b n DB2 h tr c u hình ph n c ng l n h n N u tr ng h p này x y ra, r t d0 dàng nâng c p lên m t n b n khác c a DB2 : • N u b n nâng c p lên m t n b n DB2 khác trên cùng m t máy, cài t n b n DB2 m i è lên DB2 Express-C, cùng v i b n quy n t ng... tác v i máy ch d li u DB2 Ph n gi a c ánh d u b ng hình elip màu ") li t kê tên c a các công c khác nhau th ( t ng tác v i máy ch d li u DB2 Phía bên ph i trong hình v, là môi tr ng DB2 c b n bao g+m m t th hi n (instance) DB2 , m t c s d li u và các t p c u hình t ng ng Hình 4.1 - B c tranh t ng th DB2 : Các công c DB2 Hình 4.2 li t kê t t c các công c DB2 s)n trong IBM DB2 Start Menu H u h t... b n c a DB2 Hình 1.1 - Các máy ch DB2 n b n DB2 Express ch- thi u Nh trên hình 1.1, n b n DB2 Express-C c.ng gi ng nh i m t s thành ph n DB2 Express-C là hoàn toàn mi0n phí C.ng nh ã nói trên, ng i dùng luôn c s)n sàng h tr k$ thu#t t* di0n àn, ho c th nh#n s h tr chính th c 24x7 c a IBM n u tr phí 12 tháng Nh p môn H qu n tr c s d li u DB2 15 Hình 1.1 c.ng cho th y kh n ng nâng c p t* DB2 Express-C . quyn xác nh. DB2 phiên bn 9 (c.ng c bit ti vi tên DB2 9) có nhiu n bn; ví d: DB2 express-C 9, DB2 Express 9, DB2 Workgroup 9, và DB2 Enterprise. bn ca DB2 . Hình 1.1 - Các máy ch DB2 Nh trên hình 1.1, n bn DB2 Express-C c.ng ging nh n bn DB2 Express ch- thiu i mt s thành phn. DB2 Express-C

Ngày đăng: 02/11/2012, 17:44

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan