tài liệu tham khảo hệ quản trị cơ sở dữ liệu DB2
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
Đề Tài:
Tiểu Luận Môn Cơ Sở Dữ Liệu Phân Tán
Giáo viên hướng dẫn: TS Nguyễn Mậu Hân Học viên thực hiện: Trần Kiên
Trần Thái Sơn Nguyễn Trí Nhân Nguyễn Thị Trúc Quỳnh
Nhóm 7 l ớp Khoa học máy tính 2008 -2010
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DB2
Trang 33
Trang 4*DB2 là h qu n tr c s d li u (HQTCSDL) ệ ả ị ơ ở ữ ệphân tán c a IBM, có th qu n lý và x lý c s ủ ể ả ử ơ ở
d li u (CSDL) quan h ho c CSDL nguyên b n ữ ệ ệ ặ ảXML
Trang 5s n sàng cho doanh nghi p v a và nh - và ẵ ệ ừ ỏ
không b t bu c ph i m t chi phí.ắ ộ ả ấ
*DB2 Express-C có các tính n ng c b n nh ă ơ ả ưcác n b n DB2 thấ ả ương m i trên n n Linux, ạ ềUNIX và Windows DB2 Express-C có th ể
ch y trên c h th ng 32-bit ho c 64-bit c ạ ả ệ ố ặ ảLinux hay Windows
Trang 7*DB2 Workgroup and Express(t i ố ưu hi u ệ
n ngtruy v n song song, liên k t h p nh t d ă ấ ế ợ ấ ữ
li u )ệ
Trang 88
Trang 99
Trang 10Nếu nhập lệnh từ cửa sổ lệnh
của Windowse hoặc Linux
Trang 132.C A S NH P L NH C A DB2: Ử Ổ Ậ Ệ Ủ
S d ng c a s nh p l nh c a DB2 ử ụ ử ổ ậ ệ ủ
(Command Editor), b n có th th c thi các ạ ể ự
l nh DB2, SQL và các câu l nh XQuery, phân ệ ệtích k ho ch th c hi n c a m t câu l nh, ế ạ ự ệ ủ ộ ệ
xem hay s a k t qu c a câu truy v nử ế ả ủ ấ .
Trang 14Ví d : ụ Để thêm m t k t n i t i m t CSDL ộ ế ố ớ ộ
nh n vào nút Add M t h p tho i nh sau s ấ ộ ộ ạ ư ẽ
xu t hi n ấ ệ
Trang 15N u b n không quen thu c v i ngôn ng SQL ế ạ ộ ớ ữ
và thích s d ng m t trình h tr ho c hử ụ ộ ỗ ợ ặ ướng
d n t đ ng sinh mã SQL, lúc này trình tr giúp ẫ ự ộ ợ
“SQL Assist Wizard” là m t công c s n có t ộ ụ ẵ ừtrình so n th o dòng câu l nh (Command ạ ả ệ
Editor) s giúp b n gi i quy tẽ ạ ả ế
Trang 1818
Trang 19Môi trường c a DB2 có các đ i tủ ố ượng nh : ư
Th hi n, C s d li u, các file c u hình Và ể ệ ơ ở ữ ệ ấchúng được minh h a trong elip màu đ ọ ỏ ởhình sau:
Trang 201.Th hi n(instance) ể ệ
Ta có th t o nhi u Th hi n trên m t máy ể ạ ề ể ệ ộ
ch d li u và dùng chúng v i nhi u m c ủ ữ ệ ớ ề ụđích khác nhau
-Các l nh đ thao tác trên Instanceệ ể
Ví d đ t o th hi n có tên myinst ta dùng l nh:ụ ể ạ ể ệ ệ
db2icrt myinst
Trang 21th ng không đ ố ượ c xóa, s a đ i ử ổ + TEMPSPACE1 :không gian đ th ể ể
hi n s d ng khi s p x p d li u ệ ử ụ ắ ế ữ ệ + USERSPACE1 :không gian l u tr ư ữ
b ng c a CSDL n u ta không t o ả ủ ế ạ không gian b ng riêng ả
+ IBMDEFAULTBP : vùng đ m d li u ệ ữ ệ + LOG: các t p nh t ký ệ ậ
( m c đ nh ặ ị các đ i t ố ượ ng trên đ ượ c
Trang 223.Các file c u hình: ấ
a T p c u hình qu n tr c s d li u(dbm ệ ấ ả ị ơ ở ữ ệcfg):
Bao g m các thao s nh hồ ố ả ưởng t i th hi n và ớ ể ệ
t t c CSDL trong đó.ấ ả
Ví d cách th c hi n thông qua trung tâm đi u ụ ự ệ ềkhi n:ể
Trang 2424
Trang 25k t n i đ n m t máy ch DB2 khác ế ố ế ộ ủ
*Kh i đ ng công c tr giúp c u hình ở ộ ụ ợ ấ(Configuration Assistant) đ c u hình máy ể ấkhách và máy ch nh sau:ủ ư
Trang 26-Kh i đ ng Configuration assistant:ở ộ
Start -> Programs -> IBM DB2 -> DB2COPY1 -> Setup Tools -> Configuration Assistant
Trang 28-C u hình máy ch :ấ ủ
+Thi t l p giá tr cho bi n SVCENAME ế ậ ị ế
Configure -> DBM configuration nh hình v ư ẽsau:
Trang 29Trong h p tho iộ ạ Configuration Assistant ch n:ọ
Select ->Add Database Using Wizard
(h p tho i sau xu t hi n)ộ ạ ấ ệ
Trang 3232
Trang 34* Đị nh danh:
-Là m t ti n trình ki m tra tính h p l thông ộ ế ể ợ ệtin đ ng nh p c a ngă ậ ủ ườ ử ụi s d ng
-Ti n trình đ nh danh đế ị ược th c thi b i m t ự ở ộ
chương trình b o m t bên ngoài DB2 (đi n ả ậ ểhình là b i m t h đi u hành, m t phở ộ ệ ề ộ ương
th c đ nh danh c a m t m ng nào đó) ứ ị ủ ộ ạ
-Khi s d ng ti n trình đ nh danh c a h đi u ử ụ ế ị ủ ệ ềhành, tên người dùng (userid) và m t mã đậ ược chuy n t i c s d li u máy ch (nh m t ể ớ ơ ở ữ ệ ở ủ ư ộ
ph n c a câu l nh k t n i) Sau đó, c s d ầ ủ ệ ế ố ơ ở ữ
li u máy ch s g i ti n trình đ nh danh c a ệ ở ủ ẽ ọ ế ị ủ
h đi u hành đ ki m tra tính h p l c a ệ ề ể ể ợ ệ ủ
người dùng và m t mã.ậ
Trang 35Ta dùng tham s AUTHENCATION trong DBM ốCFG máy ch DB2 đ thi t l p ch đ đ nh ở ủ ể ế ậ ế ộ ịdanh
B ng giá tr c a tham s AUTHENCATIONả ị ủ ố
Trang 36trước bao g m nhi u đ c quy n ồ ề ặ ề
-M t đ c quy n cho phép ngộ ặ ề ười dùng thi hành m t lo i thao tác đ n d a trên c s ộ ạ ơ ự ơ ở
d li u nh là: CREATE, UPDATE, DELETE, ữ ệ ưINSERT, …
Trang 37S đ phân c p các quy n và đ c quy n.ơ ồ ấ ề ặ ề
Trang 40Ví d , v c p quy n SYSADM cho nhóm h ụ ề ấ ề ệ
đi u hành ‘db2admns’, b n có th dùng câu ề ạ ể
Trang 4242
Trang 43Cách x lý truy c p đ ng th i trong DB2 có ử ậ ồ ờliên quan đ n các khái ni m nh giao d ch, ế ệ ư ịtruy c p đ ng th i và khóa.ậ ồ ờ
1 Các giao d ch ị
*M t ộ giao d chị hay m t đ n v công vi cộ ơ ị ệ g m ồ
có 1 hay nhi u dòng l nh SQL mà khi th c ề ệ ự
hi n c n ph i đệ ầ ả ược coi là m t đ n v riêng l ộ ơ ị ẻ
*N u m t trong nh ng dòng l nh trong giao ế ộ ữ ệ
d ch th t b i thì toàn b giao d ch th t b i, và ị ấ ạ ộ ị ấ ạ
b t k dòng l nh nào đấ ỳ ệ ược thi hành đ n đi m ế ể
th t b i thì s đấ ạ ẽ ược quay lui (h i x ), đ a d ồ ử ư ữ
li u v giá tr , tr ng thái trệ ề ị ạ ước đó
*M t giao d ch k t thúc v i dòng l nh COMMIT ộ ị ế ớ ệ
Trang 44Ví d b n mu n chuy n 100$ t tài kho n ti t ụ ạ ố ể ừ ả ế
ki m (Savings) c a b n sang tài kho n séc ệ ủ ạ ả (Checking) Vi c đó ph i đòi h i th c hi n công ệ ả ỏ ự ệ
Trang 48*M c đ cô l p đứ ộ ậ ược phát bi u v i m nh đ ể ớ ệ ềWITH {m c cô l p } Ch ng h n nh :ứ ậ ẳ ạ ư
SELECT … WITH {UR | CS | RS | RR }
M t ng d ng c n xác đ nh “ s b “ s hàng ộ ứ ụ ầ ị ơ ộ ốtrong b ng Ví d :ả ụ
SELECT COUNT(*) FROM TAB1 WITH UR
*Hi u su t r t quan tr ng, nên vi c ch n s ệ ấ ấ ọ ệ ọ ử
d ng m c đ cô l p nào ph thu c vào ng ụ ứ ộ ậ ụ ộ ứ
d ng c a các b n ụ ủ ạ
Trang 50Có hai tham s c u hình c s d li u chính ố ấ ơ ở ữ ệliên quan đ n khóa leo thang:ế
-LOCKIST–s lố ượng c a b nh d tr đ qu n lí ủ ộ ớ ự ữ ể ả
nh ng khóa cho m i ng d ng đữ ọ ứ ụ ược n i S ố ự
m c đ nh là 50 l n trang 4K(200K) trên ặ ị ầWindows
-MAXLOCKS–ph n tr m c c đ i c a toàn b ầ ă ự ạ ủ ộdanh sách khóa cho m t ng d ng M c đ nh là ộ ứ ụ ặ ị22%
Khóa leo thang không t t cho hi u n ng nh ng ố ệ ă ư
l i gi m s xung đ t ạ ả ự ộ
Trang 51*Ch khóa:ờ
-Khi hai ho c nhi u các ng d ng c n th c ặ ề ứ ụ ầ ự
hi n m t phép toán trên cùng m t đ i tệ ộ ộ ố ượng,
m t trong s đó có th ph i ch đ nh n độ ố ể ả ờ ể ậ ược khóa Theo m c đ nh m t ng d ng s đ i vô ặ ị ộ ứ ụ ẽ ợ
h n ạ
-Thanh ghi CURENT LOCK TIMEOUT dùng đ ể
đ t th i gian ch khóa cho m t k t n i Theo ặ ờ ờ ộ ế ố
m c đ nh, thanh ghi này đặ ị ược đ t giá tr c a ặ ị ủLOCKTIMEOUT S d ng l nh: ử ụ ệ
SET LOCK TIMEOUT = WAITE n
đ thay đ i giá tr c a nó(thông thể ổ ị ủ ường giá tr ị
n t 30 đ n 120 giây là t t) ừ ế ố
Trang 5252
Trang 531.S l ơ ượ c v XML: ề
*XML vi t t t c a eế ắ ủ Xtensible Markup Language: ngôn ng nâng c p có th m ữ ấ ể ở
-CSDL thu n XML s d ng mô hình phân c p ầ ử ụ ấ
c a d li u XML đ l u tr và x lý XML bên ủ ữ ệ ể ư ữ ửtrong Khi s d ng các câu l nh XPath hay ử ụ ệXquery, m t c ch s x lý câu l nh đó ch ộ ơ ế ẽ ử ệ ứkhông c n chuy n sang SQL ầ ể
Trang 542 XML trong DB2:
*PureXML là m t công ngh m i độ ệ ớ ược cung c p ấtrong DB2 phiên b n 9 có h tr vi c l u tr ả ỗ ợ ệ ư ữthu n XML ầ
B c tranh t ng quát DB2: ứ ổcác l nh DB2, SQL/XML và XQueryệ
Trang 57-B n có th nâng cao kh n ng dùng d li u ạ ể ả ă ữ ệquan h , b ng cách l u tr các tài li u XML ệ ằ ư ữ ệtrong các c t c a b ng có s d ng ki u d li u ộ ủ ả ử ụ ể ữ ệ
m i XML.ớ
Trang 60B ng bên d ả ướ i mô t m t s hàm SQL/XNL có s n ả ộ ố ẳ
XMLPARSE Tách (phân tích) thuộc tính hoặc dữ liệu nhị phân
trong 1 đối tượng lớn, lấy ra giá trị XML XMLSERIALIZE Chuyển giá trị XML sang thuộc tính hoặc dữ liệu
nhị phân trong 1 đối tượng lớn XMLVALIDATE Đánh giá giá trị của XML với sơ đồ XML (XML Schema)
và ghi chú kiểu các giá trị của XML XMLEXISTS Xác định (kiểm tra) câu truy vấn XQuery có giá trị trả
về không (ví dụ một dãy giá trị hay nhiều hơn) XMLQUERY Thực thi câu lệnh truy vấn và trả về dãy kết quả
XMLTABLE Thực thi câu lệnh truy vấn và kết quả trả về (nếu có)
sẽ là một bảng quan hệ
Trang 61Ví d : ụ
Chúng ta suy ngh xem làm cách nào t o ra đ ỉ ạ ượ c m u ẫ báo cáo g m danh sách đ a ch th đi n t c a nh ng ồ ị ỉ ư ệ ử ủ ữ khách hàng “Vàng” (có tr ng thái “Gold”) Câu l nh ạ ệ
d ướ i đây có th gi i quy t v n đ này: ể ả ế ấ ề
SELECT xmlquery(‘$c/Client/email’ passing contact as
“c”)
FROM clients
WHERE status = “Gold”
Dòng đ u tiên nói r ng ta mu n l y ra ph n t là đ a ch ầ ằ ố ấ ầ ử ị ỉ
th đi n t c a tài li u XML ch không mu n l y ra c t ư ệ ử ủ ệ ứ ố ấ ộ
d li u T ữ ệ ươ ng t ví d tr ự ụ ướ c, tài li u XML đ ệ ượ ư c l u trong
bi n”$c” trong ví d này, hàm XMLQUERY có th s ế ụ ể ử
d ng sau m nh đ SELECT, trong khi hàm XMLEXISTS ụ ệ ề
đ ượ c s d ng trong m nh đ WHERE ử ụ ệ ề
Trang 62*Truy vấn dữ liệu với Xquery
-Query là m t ngôn ng truy v n độ ữ ấ ược t o ra ạcho XML XQuery h tr các bi u th c đỗ ợ ể ứ ường
d n đ đ nh v trí trong c u trúc phân c p XML ẫ ể ị ị ấ ấ
Th c t XPath là t o t p con c a Xquery ự ế ạ ậ ủ
XQuery h tr c d li u có ki u và d li u ỗ ợ ả ữ ệ ể ữ ệ
không có ki u XQuery không ch a giá tr NULL ể ứ ị
vì tài li u XML b đi nh ng d li u thi u hay ệ ỏ ữ ữ ệ ế
không xác đ nh XQuery tr v m t chu i các ị ả ề ộ ỗ
d li u XML.ữ ệ
-Câu l nh Xquery có phân bi t ch hoa ch ệ ệ ữ ữ
thường
Trang 63c t ta ch đ nh trong tài li u XML làm tham s ộ ỉ ị ệ ốCâu l nh trên tệ ương ng v i câu l nh SQL sau ứ ớ ệđây:
SELECT contact FROM clients
Trang 64Xin cảm ơn!