Nhập môn DB2 Express – C part 5

pdf
Số trang Nhập môn DB2 Express – C part 5 21 Cỡ tệp Nhập môn DB2 Express – C part 5 978 KB Lượt tải Nhập môn DB2 Express – C part 5 0 Lượt đọc Nhập môn DB2 Express – C part 5 1
Đánh giá Nhập môn DB2 Express – C part 5
4.9 ( 11 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 21 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Nh p môn H qu n tr c s d li u DB2 84 Hình 7.12 – Xu t k t qu lý l$ch / nh#p m t lý l ch ã c tùy ch-nh t* Tr giúp c u hình, kích vào trình sau ó ch&n Import Profile -> Customize, nh c mô t trong Hình 7.13 Hình 7.13 – Nh#p m t lý l ch Hình 7.14 mô t nh ng tr ng c n c hoàn thành nh#p m t lý l ch n Configure, Nh p môn H qu n tr c s d li u DB2 Hình 7.14 – Nh p lý l$ch 85 c tùy ch,nh Nh p môn H qu n tr c s d li u DB2 86 Bài t p nhanh #4 – S" d ng Tr giúp thi t l p c u hình M c tiêu Ch ng trình Tr giúp thi t l#p c u hình có th c s d ng c u hình các k t n i c s d li u t* xa m t cách nhanh chóng và d0 dàng. Trong bài t#p nhanh này, b n s, t o ch- m c cho m t c s d li u n m trên m t máy ch DB2 xa (remote DB2 server c th hi n b ng máy tr m c a ng i ng+i bên c nh b n, s d ng c hai cách Tìm ki m và Khám phá). M t khi c s d li u ó ã c li t kê, b n s, có th truy c#p c s d li u này gi ng nh là nó ang ngay trên h th ng máy c a mình. DB2 th c hi n t t c các quá trình giao ti p m t cách th m l ng. Ghi chú Bài t#p nhanh này gi nh r ng b n ang làm vi c trong 1 m ng máy tính. N u không ph i nh v#y, b n luôn có th s d ng chính máy tính c a mình v*a làm máy ch v*a làm máy khách và làm theo các ch- d%n cho công vi c c u hình d i ây k tn i n chính h th ng c a b n. Th t c 1. H"i ng i bên c nh (hay ng i h ng d%n b n) các thông tin sau ây : Thông tin c s d li u t* xa: (PR) Giao th c _TCPIP__ (IP) / a ch- IP hay tên máy ch _________ (PN) S c ng c a th hi n (instance) _________ (DB) Tên c a c s d li u _SAMPLE_ Các m7o : - Trong môi tr dòng l nh - Trong môi tr dòng l nh ng Windows, ng Windows, l y tên c a máy ta gõ l nh hostname t* c a s l y a ch- IP ta gõ l nh ipconfig t* c a s 2. M ch ng trình Tr giúp thi t l#p c u hình (M7o: ch c#p thông qua l nh Start) ng trình này có th truy 3. M b ng ch&n Selected và ch&n m c Add Database Using Wizard 4. Trong trang Source c a trình tr giúp, ch&n m c Manually Configure a Connection to a Database. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. 5. Trong trang Protocol c a trình tr giúp, ch&n m c TCP/IP. Nh n nút Next chuy n n trang ti p theo c a trình tr giúp. di 6. Trong trang TCP/IP c a trình tr giúp, nh#p vào tên y c a máy ch ho c là a ch- IP mà b n ã ghi l i trong b c 1. Nh#p vào s c ng b n ã ghi trong b c 1. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. Ghi chú: Tùy ch&n Service Name có th c s d ng n u b n có m t m c (entry) trong t#p tin Services n i b v i m t c ng có s c nh ngh'a d a trên c ng mà máy ch t* xa ang l ng nghe. Khi b n s d ng tùy ch&n này, DB2 s, tìm ki m trong t#p tin d ch v trên máy c a b n ch không ph i trên máy ch . B n c n ph i thêm m t m c vào t#p tin này n u b n mu n s d ng tùy ch&n trên. Nh p môn H qu n tr c s d li u DB2 87 7. Trong trang C s d li u c a trình tr giúp, nh#p vào tên c a c s d li u c nh ngh'a trên máy ch t* xa mà b n ã ghi l i trong b c 1 tr ng Database Name. / ý vi c tr ng Database Alias c i n m t cách t ng v i cùng giá tr ó nh th nào. Bí danh c s d li u (database alias) là m t cái k tn i nc tên mà nh ng ng d ng n i b trên máy c a b n s, s d ng s d li u này. B i vì b n ã có m t c s d li u trên máy c a mình c nh ngh'a s)n v i tên là SAMPLE, DB2 s, không cho phép b n t o tên m t c s d li u khác có cùng tên. Vì th b n ph i s d ng m t tên bí danh khác. Trong ví d này, hãy i bí danh c s d li u thành SAMPLE1. B n có th nh#p vào m t l i chú thích tùy ý v c s d li u này n u b n mu n. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. 8. Trong trang Data source c a trình tr giúp, b n có th (không b t bu c) ng ký c s d li u (ngu+n d li u) m i này nh m t ngu+n d li u ODBC. Vi c này s, t ng ng ký c s d li u ó trong ch ng trình qu n lý ODBC c a Windows (Windows ODBC Manager) cho b n. Trong ví d này, b" d u ánh m c “Register this database for ODBC” t i vì b n s, không s d ng ODBC. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. 9. Trong trang Node Options c a trình tr giúp, xác nh h i u hành c a máy ch n i mà c s d li u t* xa ang n m t i ó. B i vì t t c các máy tr m trong phòng máy này u s d ng Microsoft Windows, hãy m b o r ng m c Windows trong danh sách s xu ng c ch&n. Tr ng Instance name nên c t là DB2. N u tr ng này ch a c t thì hãy t giá tr cho nó là DB2. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. 10. Trang System Options c a trình tr giúp cho b n c h i m b o r ng h th ng và tên máy ch ã c i n chính xác và xác nh#n nh ng cài t c a h th ng. Nh n nút Next di chuy n n trang ti p theo c a trình tr giúp. 11. Trang Security Options c a trình tr giúp cho phép b n xác nh n i b n mu n vi c xác th c ng i dùng x y ra và ph ng th c b n mu n s d ng. Ch&n m c Use authentication value in server’s DBM Configuration. Cách làm này s, s c xác l#p b i tham s AUTHENTICATION trong t#p tin d ng ph ng th c c u hình c a th hi n (instance) xa. Nh n nút Finish t o danh m c c s d li u t* xa và óng trình tr giúp l i. M t h p tho i xác nh#n s, hi n ra. Nh n nút Test Connection m b o b n có th k t n i thành công n c s d li u. Thêm vào ó, m b o tên ng i dùng và m#t kh u mà b n cung c p là h p l trên máy ch xa (b i vì có th tham s AUTHENTICATION c a máy ch c t giá tr là SERVER). N u vi c th k t n i thành công, b n ã t o danh m c c s d li u xa m t cách thành công. N u vi c k t n i không thành công, b n hãy quay tr l i trình tr giúp và m b o r ng t t c các giá tr ã c xác l#p úng (Nh n nút Change quay l i nh ng cài t trong trình tr giúp) 12. M trung tâm i u khi n và th xem nh ng b ng khác nhau trong c s d li u t* xa v*a m i c t o danh m c 13. Quay tr l i ch ng trình Tr giúp thi t l#p c u hình và th t o danh m c v i m t c s d li u khác, l n này s d ng tu ch&n Search the Network. Làm t*ng b c trong trình tr giúp gi ng nh b n ã c u hình k t n i b ng tay. L u ý r ng, trên nh ng m ng l n, vi c tìm ki m có th s, t n th i gian tr v các k t qu Nh p môn H qu n tr c s d li u DB2 88 8 Ch ng 8 - Làm vi c v i các it ng d li u Ch ng này th o lu#n các i t ng d li u nh là d ng s + (schemas), d ng b ng (table), khung nhìn (view), ch- m c (indexes), chu i (sequences)… M t s các i t ng d li u cao c p nh là các b%y s ki n (triggers), các hàm do ng i dùng nh ngh'a (UDFs) và nh ng th t c c l u tr s, c th o lu#n trong ch ng 14, SQL PL l u tr các th t c, và ch ng 15, trong dòng SQL PL, UDFs, Triggers. 8.1 S S + là không gian tên (name spaces) cho t#p h p các chính c a chúng nh sau: - it Cung c p cho b n các ch- d%n c a quy n s h u các quan h i v i m t ng d ng. Gom nhóm các i t ng có m i quan h v i nhau. ng d li u. Ch c n ng it ng hay các m i T t c các i t ng d li u trong DB2 có hai ph n tên theo tiêu chu n; s ph n u tiên c a tên: . Tên i t ng theo quy chu n ph i là duy nh t. Khi b n k t n i c s d li u và t o hay tham chi u n m t i t ng mà không nh rõ tên s +, DB2 s, l y mã tài kho n mà b n k t n i v i c s d li u làm tên s +. Ví d , n u b n k t n i d li u m%u v i tên s d ng là “arfchong”, và t o m t b ng b ng cách s d ng phát bi u CREATE TABLE CREATE TABLE artist … Tên theo quy chu n y c a b ng c t o ra s, là arfchong.artists. 8.2 B ng M t b ng là m t t#p h p các d li u có m i quan h v i nhau m t cách h p lý theo các c t và hàng. Phát bi u bên d i cung c p cho b n ví d v vi c làm cách nào t o ra m t b ng b ng cách s d ng phát bi u CREATE TABLE CREATE TABLE artists { artno name classification bio picture } SMALLINT not null, VARCHAR (50) with default ‘abc’, CHAR (1) not null, CLOB (100K) logged, BLOG (2M) not logged compact Nh p môn H qu n tr c s d li u DB2 89 In mytblsl Trong các ph n ti p theo ây, chúng ta có th mô t các ph n chính c a phát bi u CREATE TABLE này. 8.2.1 Ki u d li u Hình 8.1 Danh sách các ki u d li u Hình 8.1 – Các ki u d c h tr trong DB2 li u c a DB2 Các ki u d li u i t ng l n (LOB) Các ki u d li u i t ng l n c dùng l u tr các chu i lý t l n, các chu i nh phân l n, hay các t#p tin c ch- ra trong hình 8.2 Nh p môn H qu n tr c s d li u DB2 Hình 8.2 – Các ki u d 90 li u LOB Các i t ng ki u nh phân l n này th ng c vi t t t cho d0 hi u: M t i t ng nh phân l n ph i là m t BLOB, m t i t ng ký t l n là CLOB, và i t ng ký t l n 2 byte c.ng c bi t nh là DBCLOB. Các ki u d li u c $nh ngh-a b i ng i dùng DB2 cho phép b n có th t nh ngh'a ki u d li u c a chính mình, d a trên ki u d li u c a h th ng. /i u này c xem nh là vi c có b ki u d li u do ng i dùng t nh ngh'a (UDTs). UDTs c dùng khi: - Có nhu c u thi t l#p ng c nh cho các giá tr Có nhu c u c n ép ki u d li u DB2. Các phát bi u theo sau âu mô t m t ví d v vi c s d ng UDTs nh th nào và khi nào CREATE DISTINCT TYPE POUND AS INTEGER WITH COMPARISIONS CREATE DISTINCT TYPE KILOGRAM AS INTEGER WITH COMPARISIONS CREATE TABLE person { F_name VARCHAR (30), Weight_p POUND NOT NULL, Weight_k KILOGRAM NOT NULL } Trong ví d này, có 2 UDTs c t o ra là: POUND and KILOGRAM. C hai u c xây ng d a trên ki u d li u s)n có c a h th ng INTEGER. M nh WITH COMPARISIONS c nh ngh'a nh là ph n cú pháp ch- ra r ng vi c thay các hàm v i cùng tên c.ng gi ng nh vi c các ki u d li u s, c t o ra. B ng person dùng 2 UDTs m i trong c t weight_p và weight_k theo tu n t . N u bây gi chúng ta a ra phát bi u sau: SELECT F_NAME FROM PERSON WHERE weight_p > weight_k Nh p môn H qu n tr c s d li u DB2 91 B n s, nh#n c m t thông báo l i vì vi c so sánh 2 c t v i ki u d li u khác nhau. Th#m chí weight_p và weight_k dùng d li u là POUND và KILOGRAM, theo th t , c hai tr ng này u c d a trên ki u d li u là INTEGER. Tuy nhiên b ng vi c t o UDTs thì b n không th th c hi n lo i so sánh này. /ây chính là nh ng gì b n mu n, so sánh gi a pound và kilogram? Nó s, vô b i vì trong cu c s ng th c, làm th nào lý. Trong ví d k ti p, b n mu n so sánh c t weight_p v i ki u d li u integer. Tuy nhiên hai ki u d li u này khác nhau, vì th b n s, nh#n c thông báo l i tr* khi b n s d ng m t hàm ã ép ki u. Nh b n th y trong phát bi u bên d i, chúng tôi s, dùng hàm ép ki u POUND() i u so sánh này có th th c hi n c. Nh ã nêu trên hàm ép ki u POUND() c t o ra v i UTD khi tri u g&i WITH COMPARISIONS c a phát bi u CREATE DISTINCT TYPE. SELECT F_NAME FROM PERSON WHERE weight_p > POUND (30) Các giá tr$ NULL M t giá tr null i di n cho m t r ng thái không xác nh. Tuy nhiên, phát bi u CREATE TABLE có th nh ngh'a m t c t b ng cách s d ng m nh NOT NULL. /i u này m b o r ng c t này s, ch a giá tr d li u c bi t n. B n c.ng có th ch- nh giá tr m c nh cho c t n u NOT NULL c khai báo. Phát bi u k ti p cung c p ví d cho i u này: CREATE TABLE Staff { ID SMALLINT NOT NULL, NAM E VARCHAR (9), DEPT SMALLINT NOT NULL with default 10, JOB CHAR (5), YEARS SMALLINT, SALARY DECIMAL (7, 2), COMM DECIMAL (7, 2) with default 15 } 8.2.2 C t khoá chính (Identity columns) C t khoá chính này là m t con s c t o ra t Ch- có m t c t khoá chính cho m t b ng. ng, s này là duy nh t cho m i dòng. Có hai cách t o ra giá tr cho c t khoá chính, i u này ph thu c vào vi c nó ngh'a nh th nào: - c nh Luôn luôn c sinh ra: nh ng giá tr luôn luôn c DB2 sinh ra. Các ng d ng thì không c phép cung c p nh ng giá tr c th . Sinh ra m c nh: giá tr có th c cung c p c th b i m t ng d ng ho c, n u không có giá tr cho tr c, thì DB2 s, sinh ra. DB2 không th mb o c tính duy nh t. Tùy ch&n này cd nh ph c v cho vi c truy n d li u, và cho vi c unload và reload c a m t b ng. Hãy xem qua ví d sau: Nh p môn H qu n tr c s d li u DB2 92 CREATE TABLE subscriber (subscriberID INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 100 INCREMENT BY 100), firstname VARCHAR (50), lastname VARCHAR (50)) c Trong ví d này, c t subscriberID là m t INTEGER chính thu c lo i luôn luôn c sinh ra t ng. Giá tr và nó s, c t ng lên v i b c là 100. nh ngh'a nh là m t c t khoá c sinh ra s, b t u t* 100, 8.2.3 Các t ng tu n t (Sequence object) Các i t ng tu n t sinh ra m t con s duy nh t d a vào c s d li u. Không gi ng nh các c t khóa chính, các i t ng tu n t này là nh ng b ng c l#p, xem ví d minh h&a phát bi u sau: CREATE TABLE t1 (salary int) CREATE SEQUENCE myseq START WITH 10 INCREMENT BY 1 NO CYCLE INSERT INTO t1 VALUES (nextval for myseq) INSERT INTO t1 VALUES (nextval for myseq) INSERT INTO t1 VALUES (nextval for myseq) SELECT * FROM t1 SALARY ----------------10 11 12 3 record(s) selected SELECT prevval for myseq FROM sysibm.sysdummy1 1 ----------------12 1 record(s) selected PREVVAL cung c p cho b n giá tr hi n t i c a dãy tu n t , trong khi NEXTVAL cung c p giá tr k ti p. Ví d bên trên c.ng s d ng SYSIBM.SYSDUMMY1. ây là m t b ng danh m c h c dùng trong tình hu ng nh m t th ng mà nó ch- có m t c t và m t hàng. Nó có th câu truy v n yêu c u tr v ch- m t giá tr . Các b ng danh m c h th ng c mô t trong ph n k ti p. 8.2.4. Các b ng danh sách h th ng M i c s d li u có các b ng danh sách h th ng c a riêng nó. Các b ng này l u tr siêu d li u v các i t ng c s d li u. B n có th truy v n nh ng b ng này nh b t k b ng c s d li u bình th ng khác. Ba s • • + c s d ng nh#n d ng các b ng danh sách h th ng: SYSIBM: các b ng c s , t i u hóa s d ng DB2 SYSCAT: khung nhìn (view) d a trên b ng SYSIBM, t i u s d0 s d ng. Nh p môn H qu n tr c s d li u DB2 • 93 SYSSTAT: các s li u th ng kê c s d li u Sau ây là m t vài ví d v các khung nhìn c a danh m c: • • • • • SYSCAT.TABLES SYSCAT.INDEXES SYSCAT.COLUMNS SYSCAT.FUNCTIONS SYSCAT.PROCEDURES 8.2.5. Khai báo các b ng t m th i Khai báo b ng t m th i là các b ng c t o ra trong b nh , c s d ng b i m t ng d ng và ct ng xóa khi ng d ng k t thúc. Nh ng b ng này ch- có th c truy nh#p b i ng d ng t o ra chúng. Không có b n ghi nào c sinh trong b ng danh sách c a DB2. Truy nh#p nh ng b ng này có hi u qu r t cao b i vì không có s tranh ch p danh sách, các hàng không b khóa, không ghi nh#t ký (tùy ch&n), và không ki m tra quy n. C.ng có h tr ch- m c cho các b ng t m th i này, ó là, b t c ch- m c chu n nào c.ng có th c t o trên m t b ng t m th i. B n c.ng có th ch y l nh RUNSTATS v i các b ng này. Khai báo các b ng t m th i bên trong m t không gian s d ng c a b ng t m th i, ây là cái ph i c nh ngh'a tr c khi t o ra b t c b ng t m th i nào. Các phát bi u d i ây cung c p m t ví d làm th nào t o ba khai báo b ng t m th i: CREATE USER TEMPORARY TABLESPACE apptemps MANAGED BY SYSTEM USING ('apptemps'); DECLARE GLOBAL TEMPORARY TABLE temployees LIKE employee NOT LOGGED; DECLARE GLOBAL TEMPORARY TABLE tempdept (deptid CHAR(6), deptname CHAR(20)) ON COMMIT DELETE ROWS NOT LOGGED; DECLARE GLOBAL TEMPORARY TABLE tempprojects AS (fullselect) DEFINITION ONLY ON COMMIT PRESERVE ROWS NOT LOGGED WITH REPLACE IN TABLESPACE apptemps; Khi m t khai báo b ng t m th i c t o ra, s + c a nó là SESSION, và ph i c ch- t ng minh. ID ng i dùng c s d ng t o m t b ng t m th i s, có t t c quy n trên b ng. M i ng d ng t o m t b ng t m th i s, quy n c l#p c a riêng nó c ch- ra trong Figure 8.5.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.