Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
257,35 KB
Nội dung
GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 1 MC LC CHNG V. LU TR VÀ CU TRÚC TP TIN 2 Mc ích: 2 Yêu cu: 2 5.1. B qun tr buffer 3 5.2. Cách thc t chc file 4 5.2.1. Mu tin vi dài c nh (Fixed-Length Records) 4 5.2.2. Mu tin vi dài thay i (Variable-Length Records) 5 5.3. T chc các mu tin trong file 6 5.3.1. T chc file tun t 7 5.3.2. T chc file cm 7 5.3.3. Lu tr t in d liu 8 5.4. Ch mc 8 5.4.1. Ch mc c sp. 9 5.4.2. Ch mc th cp 12 5.5. File ch mc B + -CÂY (B + -Tree Index file) 13 5.5.1. Cu trúc c a B + -cây 13 5.5.2. Các vn tin trên B + -cây 14 5.5.3. Cp nht trên B + -cây 14 5.5.4. T chc file B + -cây 15 5.6. File ch mc B - cây (B-Tree Index Files) 15 5.7. Phng pháp b!m (HASHING) 16 5.7.1. B!m t"nh (Static Hashing) 16 5.7.1.1. T chc tp b!m. 16 5.7.2. B!m ng (Dynamic Hashing) 18 5.7.3. Ch#n ch mc hay b!m? 19 CÂU H$I VÀ BÀI TP 20 TÀI LI%U THAM KH&O 23 GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 2 CHNG V. LU TR VÀ CU TRÚC TP TIN Mc ích: - Trình bày các vn liên quan n vn lu tr d liu trên lu tr ngoài. - Vic lu tr d liu c t chc sao cho có th lu c mt lng ln d liu và quan trng hn c là phi cho truy cp d liu cn thit mau chóng. - Các cu trúc tr giúp cho truy xut nhanh d liu c trình bày là: ch mc (indice), B + cây (B + tree), bm (hashing) Các thit b lu tr (a) có th b hng hóc không lng trc, các k thut RAID cho mt gii pháp hiu qu cho vn này. Yêu cu: - Hiu rõ các c im ca các thit b lu tr, cách t chc lu tr, truy xut a. - Các k thut t chc các mu tin trong file, các k thut t chc file. - Hiu và vn dng các k thut h tr truy cp thông tin: ch mc (th t, B + cây, bm.) tìm hiu tt phn này, b'n cn nh mt s phn trong môn h#c h i(u hành và kin trúc máy tính, c)ng nh môn h#c bo trì h thng. Các k* thut liên quan n các phng tin lu tr ngoài (b nh ngoài), các vn ( v( b nh m (buffer), cách truy xut #c ghi I/O và chi phí CPU khi truy xut d liu, các khái nim phân trang – phân o'n… có th #c thêm trong các tài liu liên quan các môn h#c nói trên. Mt c s+ d liu c ánh x' vào mt s các file khác nhau c duy trì b+i h i(u hành n(n. Các file này lu trú th,ng trc trên các "a vi backup trên b!ng. M-i file c phân ho'ch thành các n v lu tr dài c nh c g#i là khi - n v cho c cp phát lu tr và truy(n d liu. Mt khi có th cha mt vài h'ng mc d liu (data item). Ta gi thit không mt h'ng mc d liu nào tri ra trên hai khi. Mt cách gim s truy xut "a là gi nhi(u khi có th c trong b nh chính. Mc ích là khi mt khi c truy xut, nó ã n.m s/n trong b nh chính và nh vy không cn mt truy xut "a nào c. Do không th lu tt c các khi trong b nh chính, ta cn qun tr cp phát không gian s/n có trong b nh chính lu tr các khi. B m (Buffer) là mt phn c a b nh chính s/n có lu tr bn sao khi "a. Luôn có mt bn sao trên "a cho m-i khi, song các bn sao trên "a c a các khi là các phiên bn c) hn so vi phiên bn trong buffer. H thng con m trách cp phát không gian buffer c g#i là b qun tr buffer. GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 3 5.1. B qun tr buffer Các chng trình trong mt h CSDL a ra các yêu cu cho b qun tr buffer khi chúng cn mt khi "a. Nu khi này ã s/n sàng trong buffer, a ch khi trong b nh chính c chuyn cho ng,i yêu cu. Nu khi cha có trong buffer, b qun tr buffer u tiên cp phát không gian trong buffer cho khi, rút ra mt s khi khác, nu cn thit, ly không gian cho khi mi. Khi c rút ra ch c vit l'i trên "a khi nó có b s0a i k t ln c vit lên "a gn nht. Sau ó b qun tr buffer #c khi t "a vào buffer, và chuyn a ch c a khi trong b nh chính cho ng,i yêu cu. B qun tr buffer không khác gì nhi(u so vi b qun tr b nh o, mt im khác bit là kích c1 c a mt CSDL có th rt ln không cha toàn b trong b nh chính do vy b qun tr buffer phi s0 dng các k* thut tinh vi hn các s 2 qun tr b nh o kiu mu. Mt s k* thut c a b qun tr buffer: Chin luc thay th: Khi không có ch- trong buffer, mt khi phi c xoá kh3i buffer trc khi mt khi mi c #c vào. Thông th,ng, h i(u hành s0 dng s 2 LRU (Least Recently Used) vit lên "a, khi ít c dùng gn ây nht, c xoá b3 kh3i buffer. Khi cht (pinned blocks): h CSDL có th khôi phc sau s c, cn thit phi h'n ch th,i gian khi vit l'i lên "a mt khi. Mt khi không cho phép vit l'i lên "a c g#i là khi cht. Xut ra bt buc các khi (Forced output of blocks): Có nhng tình hung trong ó cn phi vit l'i mt khi lên "a, cho dù không gian buffer mà nó chim là không cn n. Vic vit này c g#i là s xut ra bt buc c a mt khi. Lý do c a yêu cu xut ra bt buc khi là ni dung c a b nh chính s4 b mt khi có s c, ngc l'i d liu trên "a thì không. Các i sách thay th buffer (buffer-replacement policies). Mc ích c a chin lc thay th khi trong buffer là ti thiu hoá các truy xut "a. Các h i(u hành th,ng s0 dng chin lc LRU thay th khi. Tuy nhiên, mt h CSDL có th d oán d liu có th cn #c trong tng lai. Yêu cu c a mt ng,i s0 dng i vi h CSDL bao g2m mt s bc. H CSDL có th xác nh trc nhng khi nào s4 là cn thit b.ng cách xem xét m-i mt trong các bc c yêu cu thc hin ho't ng c yêu cu b+i ng,i s0 dng. Nh vy, khác vi h i(u hành, h CSDL có th có thông tin liên quan n tng lai, chí ít là tng lai gn. Trong nhi(u tr,ng hp, chin lc thay th khi ti u cho h CSDL là MRU (Most Recently Used): Khi b thay th s4 là khi mi c dùng gn ây nht! B qun tr buffer s0 dng các thông tin thng kê liên quan n xác sut mt yêu cu s4 tham kho mt d liu riêng bit nào ó. Ch5ng h'n, t in d liu và các ch mc là mt trong nhng phn c truy xut th,ng xuyên nht c a CSDL. Do ó, b qun tr buffer s4 không xoá các khi t in d liu, ch mc kh3i b nh chính tr phi các nhân t khác bc ch làm i(u ó. GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 4 Trong b qun tr buffer còn có các h con nh.m i(u khin tng tranh vì tt nhiên s4 có nhi(u khi cùng truy cp lên b nh m. Các k* thut i(u khin tng tranh có th xem thêm trong phn i(u khin tng tranh + phn sau và trong môn h#c h i(u hành. Bên c'nh ó, các h thng khôi phc (crash-recovery subsystem) s4 áp 6t các ràng buc nghiêm nh6t lên vic thay th khi. Nu mt khi b s0a i, b qun tr buffer không c phép vit l'i phiên bn mi c a khi trong buffer lên "a, vì nó s4 phá hu7 phiên bn c). Thay vào ó, phi xem xét quy(n vit l'i t h thng khôi phc trc khi vit khi. H thng khôi phc có th òi h3i mt s khi nht nh khác phi xut bt buc (forced output) ra "a. 5.2. Cách thc t chc file Mt file c t chc logic nh mt dãy các mu tin (record). Các mu tin này c ánh x' lên các khi "a. Các khi có kích c1 c nh c xác nh b+i tính cht vt lý c a "a và b+i h i(u hành, song kích c1 c a mu tin l'i thay i. Trong CSDL quan h, các b c a các quan h khác nhau nói chung có kích c1 khác nhau. Có hai cách t chc mt file, ó là file vi các mu tin vi dài c nh và file vi mu tin có dài không c nh. 5.2.1. Mu tin vi dài c nh (Fixed-Length Records) Cách tip cn n gin này ny sinh nhng vn ( sau: Khi xóa mt mu tin thì không gian b chim b+i mu tin b xoá phi c lp y b+i mu tin khác c a file ho6c ta phi ánh du mu tin b xoá. Kích c1 khi phi là bi c a kích c1 c a mt mu tin, nu không mt s mu tin s4 bt chéo qua biên c a khi, tc là mt phn mu tin c lu trong mt khi, mt phn khác c lu trong mt khi khác. Khi ó òi h3i phi truy xut hai khi #c/vit mt mu tin "bc cu" ó. Khi mt mu tin b xoá, ta có th di chuyn mu tin k( sau nó vào không gian b chim mt cách hình thc b+i mu tin b xoá, r2i mu tin k tip vào không gian b chim c a mu tin va c di chuyn, c nh vy cho n khi m-i mu tin i sau mu tin b xoá c dch chuyn hng v( u. Cách tip cn này òi h3i phi di chuyn mt s ln các mu tin. Mt cách tip cn khác n gin hn là di chuyn mu tin cui cùng vào không gian b chim b+i mu tin b xoá. Cách tip cn này òi h3i phi truy xut khi b sung. Do vic chèn vào mt mu tin th,ng xy ra th,ng xuyên hn ho't ng xoá, nên ta có th chp nhn vic "ng3" không gian b chim b+i mu tin b xoá, và ch, mt ho't ng chèn n sau tái s0 dng không gian ó. Nh vy cn a vào cu trúc b sung cho mt file. 8 u m-i file, c cp phát mt s byte nht nh làm header c a file. Header này s4 cha ng thông tin v( file. Header cha a ch c a mu tin b xoá th nht, trong ni dung c a mu tin này có cha a ch c a mu tin b xoá th hai và c nh vy. Nh vy, các mu tin b xoá s4 t'o ra mt danh sách liên kt dc g#i là danh sách t do (free list). Khi chèn mu tin mi, ta s0 dng con tr3 u danh GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 5 sách c cha trong header xác nh danh sách, nu danh sách không r-ng ta chèn mu tin mi vào vùng c tr3 b+i con tr3 u danh sách nu không ta chèn mu tin mi vào cui file. Chèn và xoá i vi file mu tin dài c nh c thc hin n gin vì không gian c gii phóng b+i mu tin b xoá úng b.ng không gian cn thit chèn mt mu tin. i vi file c a các mu tin dài thay i vn ( tr+ nên phc t'p hn nhi(u. 5.2.2. Mu tin vi dài thay i (Variable-Length Records) Mu tin trong 1 file có dài thay i do mt s lý do sau: - Vic lu tr nhi(u kiu mu tin trong mt file. - Kiu mu tin cho phép dài tr,ng thay i. - Kiu mu tin cho phép l6p l'i các tr,ng. Có nhi(u k* thut thc hin mu tin dài thay i. minh ho' ta xét các biu di9n khác nhau trên các mu tin dài thay i có nh d'ng sau: Biu din chui byte (Byte-String Representation). Mt cách n gin thc hin các mu tin dài thay i là gn mt ký hiu 6c bit End-of-record (⊥) vào cui m-i record. Khi ó có th lu m-i mu tin nh mt chu-i byte liên tip. Thay vì s0 dng mt ký hiu 6c bit + cui c a m-i mu tin, mt phiên bn c a biu di9n chu-i byte là lu tr dài mu tin + bt u c a m-i mu tin. Biu di9n chu-i byte có mt s h'n ch sau: - Khó s0 dng không gian b chim hình thc b+i mt mu tin b xoá, i(u này dn n mt s ln các mnh nh3 c a "a b lãng phí. - Không có không gian cho s phát trin các mu tin. Nu mt mu tin dài thay i dài ra, nó phi c di chuyn sang v trí khác và nh vy s4 tn chi phí truy cp file. Mt d'ng s0a i c a biu di9n chu-i byte là cu trúc khe-trang (slotted-page structure) th,ng c dùng t chc mu tin trong mt khi n. Trong cu trúc slotted-page, có mt header + bt u c a m-i khi, cha các thông tin sau: - S các u vào mu tin (record entries) trong header - im cui không gian t do (End of Free Space) trong khi - Mt mng các u vào cha v trí và kích c1 c a m-i mu tin Các mu tin hin hành c cp phát k( nhau trong khi, bt u t cui khi, Không gian t do trong khi là mt vùng k( nhau, n.m gia u vào cui cùng trong mng header và mu tin u tiên. Khi mt mu tin c chèn vào, không gian cp phát cho nó + cui c a không gian t do, và u vào tng ng vi nó c thêm vào header. GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 6 Nu mt mu tin b xoá, không gian b chim b+i nó c gii phóng, u vào ng vi nó c ánh du xoá. Sau ó, các mu tin trong khi trc mu tin b xoá c di chuyn sao cho không gian t do c a khi l'i là phn n.m gia u vào cui cùng c a mng header và mu tin u tiên. Con tr3 tr3 n im cui không gian t do và các con tr3 ng vi mu tin b di chuyn c cp nht. S ln lên hay nh3 i c a mu tin c)ng s0 dng k* thut tng t (trong tr,ng hp khi còn không gian cho s ln lên c a mu tin). Biu din dài c nh. Mt cách khác thc hin mu tin dài thay i mt cách hiu qu trong mt h thng file là s0 dng mt ho6c mt vài mu tin dài c nh biu di9n mt mu tin dài thay i. Hai k* thut thc hin file c a các mu tin dài thay i s0 dng mu tin dài c nh là: Không gian d tr (reserved space). Gi thit r.ng các mu tin có dài không vt quá mt ng1ng ( dài ti a). Ta có th s0 dng mu tin dài c nh (có dài ti a), Phn không gian cha dùng n c lp y b+i mt ký t 6c bit: null ho6c End-of-record. Contr3 (Pointers). Mu tin dài thay i c biu di9n b+i mt danh sách các mu tin dài c nh, c "móc xích" vi nhau b+i các con tr3. S bt li c a cu trúc con tr3 là lãng phí không gian trong tt c các mu tin ngo'i tr mu tin u tiên trong danh sách. gii quyt vn ( này ng,i ta ( ngh phân các khi trong file thành hai lo'i: Khi neo (Anchor block). Ch cha các mu tin u tiên trong danh sách Khi tràn (Overflow block). Cha các mu tin còn l'i c a danh sách Nh vy, tt c các mu tin trong mt khi có cùng dài, cho dù file có th cha các mu tin không cùng dài. 5.3. T chc các mu tin trong file Trong phn trên ta ã xét làm th nào biu di9n các mu tin trong mt cu trúc file.Mt quan h c th hin là mt tp hp các mu tin. Gi s0 mt tp hp các mu tin nh th ã c cho trc, vn ( 6t ra là làm th nào t chc chúng trong mt file. Có mt s cách t chc sau: T chc file ng (Heap File Organization). Trong t chc này, mt mu tin bt k: có th c lu tr + bt k: ni nào trong file, + ó có không gian cho nó. Không có th t nào gia các mu tin. Mt file tng ng vi mt quan h. T chc file tun t ( Sequential File Organization). Trong t chc này, các mu tin c lu tr th t tun t, da trên giá tr c a khoá tìm kim c a m-i mu tin. T chc file b!m (Hashed File Organization). Trong t chc này, có mt hàm b!m c tính toán trên thuc tính nào ó c a mu tin. Kt qu c a hàm b!m xác nh mu tin c b trí trong khi nào trong file. T chc này liên h ch6t ch4 vi cu trúc ch mc. GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 7 T chc file cm (Clustering File Organization). Trong t chc này, các mu tin c a mt vài quan h khác nhau có th c lu tr trong cùng mt file. Các mu tin có liên h c a các quan h khác nhau c lu tr trên cùng mt khi sao cho mt ho't ng I/O em l'i các mu tin có liên h t tt c các quan h. 5.3.1. T chc file tun t T chc file tun t c thit k x0 lý hiu qu các mu tin trong th t c sp da trên mt khoá tìm kim (search key) nào ó. cho phép tìm l'i nhanh chóng các mu tin theo th t khoá tìm kim, ta "xích" các mu tin l'i b+i các con tr3. Con tr3 trong m-i mu tin tr3 ti mu tin tip theo, theo th t khoá tìm kim. Hn na, ti u hoá s khi truy xut trong x0 lý file tun t, ta lu tr vt lý các mu tin theo th t khoá tìm kim ho6c gn vi khoá tìm kim nh có th. T chc file tun t cho phép #c các mu tin theo th t c sp nh.m phuc v cho mc ích trình bày c)ng nh cho các thut toán x0 lý vn tin (query- processing algorithms). Khó kh!n g6p phi c a t chc này là vic duy trì th t tun t vt lý c a các mu tin khi xy ra các ho't ng chèn, xoá. Ta có th qun tr vn ( xoá b+i dùng dây chuy(n các con tr3 nh ã trình bày trc ây. i vi chèn, ta có th áp dng các quy tc sau: - nh v mu tin trong file ng trc mu tin c chèn theo th t khoá tìm kim. - Nu có mu tin t do (không gian c a mu tin b xoá) trong cùng khi, chèn mu tin vào khi này. Nu không, chèn mu tin mi vào mt khi tràn. Trong c hai tr,ng hp, cn phi i(u chnh các con tr3 sao cho nó móc xích các mu tin theo th t c a khoá tìm kim. 5.3.2. T chc file cm Nhi(u h CSDL quan h, m-i quan h c lu tr trong mt file sao cho có th li dng c toàn b nhng cái mà h thng file c a i(u hành cung cp. Thông th,ng, các b c a mt quan h c biu di9n nh các mu tin dài c nh. Nh vy các quan h có th ánh x' vào mt cu trúc file. S thc hin n gin ó c a h CSDL quan h rt phù hp vi các h CSDL c thit k cho các máy tính cá nhân. Trong các h thng ó, kích c1 c a CSDL nh3. Tuy nhiên, nhi(u h CSDL quy mô ln không nh, cy trc tip vào h i(u hành n(n qun tr file. Thay vào ó, mt file c cp phát cho h CSDL. Tt c các quan h c lu tr trong mt file này, và s qun tr file này thuc v( h CSDL. Cu trúc file d'ng này, c g#i là gom cm (clustering), cho phép ta #c nhi(u mu tin c yêu cu trong mt khi. Tuy nhiên, cu trúc gom cm trên l'i t3 ra không có li b.ng t chc lu m-i quan h trong mt file riêng, i vi mt s câu vn tin. GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 8 Vic xác nh khi nào thì gom cm th,ng ph thuc vào kiu câu vn tin mà ng,i thit k CSDL ngh" r.ng nó xy ra th,ng xuyên nht. S0 dng thn tr#ng gom cm có th ci thin hiu n!ng áng k trong vic x0 lý câu vn tin. 5.3.3. Lu tr t in d liu Mt h CSDL cn thit duy trì d liu v( các quan h, nh s 2 c a các quan h. Thông tin này c g#i là t in d liu (data dictionary) hay mc lc h thng (system catalog). Mt s thông tin mà h thng lu tr là: - Các tên c a các quan h. - Các tên c a các thuc tính c a m-i quan h. - Các mi(n (giá tr) và các dài c a các thuc tính. - Các tên c a các View c nh ngh"a trên CSDL và nh ngh"a c a các view này. - Các ràng buc toàn v;n. Nhi(u h thng còn lu tr các thông tin liên quan n ng,i s0 dng h thng: - Tên c a ng,i s0 dng c phép. - Gii trình thông tin v( ng,i s0 dng. Các d liu thng kê và mô t v( các quan h có th c)ng c lu tr: - S b trong m-i quan h - Phng pháp lu tr c s0 dng cho m-i quan h (cm hay không) Các thông tin v( m-i ch mc trên m-i quan h c)ng cn c lu tr : - Tên c a ch mc - Tên c a quan h c ch mc Các thuc tính trên nó ch mc c nh ngh"a - Kiu c a ch mc c t'o Toàn b các thông tin này trong thc t bao hàm mt CSDL nh3. Mt s h CSDL s0 dng nhng cu trúc d liu và mã mc ích 6c bit lu tr các thông tin này. Nói chung, lu tr d liu v( CSDL trong chính CSDL vn c a chung hn. B.ng cách s0 dng CSDL lu tr d liu h thng, nh.m n gin hoá cu trúc tng th c a h thng và cho phép s0 dng y sc m'nh c a CSDL trong vic truy xut nhanh n d liu h thng. S ch#n la chính xác biu di9n d liu h thng s0 dng các quan h nh th nào là do ng,i thit k h thng quyt nh. 5.4. Ch mc Xét ho't ng tìm sách trong mt th vin. Ví d ta mun tìm mt cun sách c a mt tác gi nào ó. u tiên ta tra trong mc lc tác gi, mt tm th< trong mc lc này s4 ch cho ta bit có th tìm thy cun sách ó + âu. Các th< trong mt mc lc c th vin sp xp th t theo vn ch cái , nh vy giúp ta có th GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 9 tìm n th< cn tìm nhanh chóng không cn phi duyt qua tt c các th<. Ch mc c a mt file rt ging vi mt mc lc trong mt th vin. Tuy nhiên, ch mc c làm nh mc lc c mô t nh trên, trong thc t, s4 quá ln c qun lý mt cách hiu qu. Thay vào ó, ng,i ta s0 dng các k* thut ch mc tinh t hn. Có hai kiu ch mc: Ch mc c sp (Ordered indices): c da trên mt th t sp xp theo các giá tr. Ch mc b!m (Hash indices): c da trên các giá tr c phân phi (u qua các bucket. Bucket mà mt giá tr c gán vi nó c xác nh b+i mt hàm, c g#i là hàm b!m (hash function). i vi c hai kiu này, ta s4 nêu ra mt vài k* thut. M-i k* thut phù hp vi các ng dng CSDL riêng bit. M-i k* thut phi c ánh giá trên c s+ c a các nhân t sau: Kiu truy xut: Các kiu truy xut c h- tr hiu qu. Các kiu này bao hàm c tìm kim mu tin vi mt giá tr thuc tính c th ho6c tìm các mu tin vi giá tr thuc tính n.m trong mt khong xác nh. Th,i gian truy xut: Th,i gian tìm kim mt h'ng mc d liu hay mt tp các h'ng mc. Th,i gian chèn: Th,i gian chèn mt h'ng mc d liu mi. Giá tr này bao hàm th,i gian tìm v trí chèn thích hp và th,i gian cp nht cu trúc ch mc. Th,i gian xoá: Th,i gian xoá mt h'ng mc d liu. Giá tr này bao hàm th,i gian tìm kim h'ng mc cn xoá, th,i gian cp nht cu trúc ch mc. Tng phí tn không gian: Không gian ph b chim b+i mt cu trúc ch mc. Mt file th,ng i kèm vi mt vài ch mc. Thuc tính ho6c tp hp các thuc tính c dùng tìm kim mu tin trong mt file c g#i là khoá tìm kim. Chú ý r.ng nh ngh"a này khác vi nh ngh"a khoá s cp (primary key), khoá d tuyn (candidate key), và siêu khoá (superkey). Nh vy, nu có mt vài ch mc trên mt file, có mt vài khoá tìm kim tng ng. 5.4.1. Ch mc c sp. Mt ch mc lu tr các giá tr khoá tìm kim tng ng vi các mu tin, các giá tr khóa này c sp xp trong ch mc khi lu tr. Các mu tin trong file c ch mc có th chính nó c)ng c sp. Mt file có th có mt vài ch mc theo nhng khoá tìm kim khác nhau. Nu file cha các mu tin c sp tun t, ch mc trên khoá tìm kim xác nh th t này c a file c g#i ch mc s cp (primary index). Các ch mc s cp c)ng c g#i là ch mc cm (clustering index). Khoá tìm kim c a ch mc s cp th,ng là khoá s cp (khoá chính). Các ch mc, khoá tìm kim c a nó xác nh mt th t khác vi th t c a file, GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 10 c g#i là các ch mc th cp (secondary indices) hay các ch mc không cm (nonclustering indices). Hình 1 5.4.1.1. Ch mc s cp. Trong phn này, ta gi thit r.ng tt c các file c sp th t tun t trên mt khoá tìm kim nào ó. Các file nh vy, vi mt ch mc s cp trên khoá tìm kim này, c g#i là file tun t ch mc (index-sequential files). Chúng biu di9n mt trong các s 2 xa nht c dùng trong h CSDL. Chúng c thit k cho các ng dng òi h3i c x0 lý tun t toàn b file ln truy xut ngu nhiên n mt mu tin. Ch mc 6c và ch mc tha (Dense and Sparse Indices). Ch mc 6c. Hình 2 Ch mc tha [...]... trong u vào b ng t ng ng v i chu-i bit này và l n theo con tr3 trong u vào b ng này chèn m t m u tin v i giá tr khoá tìm ki m K, ti n hành th t c d nh v trên, ta c bucket, gi s0 là bucket j N u còn cho cho m u tin, chèn m u tin vào trong bucket ó N u không, ta ph i tách bucket ra và phân ph i l'i NTD – Khoa Tin – HSP Hu 18 GT CSDL – Ch ng 5 L u tr và c u trúc t p tin các m u tin hi n có cùng m u tin m... không gian ch chi m b+i m u tin 5, r2i di chuy n m u tin 7 n ch- b chi m b+i m u tin 6 Di chuy n m u tin 7 n ch- b chi m b+i m u tin 5 ánh d u xoá m u tin 5 2.V4 c u trúc c a file: Hình 22 Sau m-i b c sau: Insert(Brighton, A-323, 1600) Xoá m u tin 2 Insert(Brighton, A-636, 2500) 3 V4 l'i c u trúc file: NTD – Khoa Tin – HSP Hu 20 GT CSDL – Ch ng 5 L u tr và c u trúc t p tin Sau m-i b c sau: Insert(Mianus,... ph i l'i m t s u vào n m t trong các nút k( t'o không gian cho u vào m i N u vi c th0 này th t b'i, ta m i th c hi n tách nút và phân chia các u vào gi a m t trong các nút k( và hai nút nh n c do tách nút Khi xoá, n u nút u vào, ta th0 m n m t u vào t m t trong hai nút anh em 2m/3 ch a ít h n m u tin, ta phân ph i l'i các u vào c a nút 2m/3 k( N u c hai (u có úng cho hai nút anh em k( và xoá nút th 3... {hi(K)=(hi-1(K) +1) mod nB v i 1 ≤i ≤ nB -1 và h0 là hàm b!m c s+} 5.7.1.4 Ch m c b!m NTD – Khoa Tin – HSP Hu 17 GT CSDL – Ch ng 5 L u tr và c u trúc t p tin M t ch m c b!m t ch c các khoá tìm ki m cùng con tr3 k t h p vào m t c u trúc file b!m nh sau: áp d ng m t hàm b!m trên khoá tìm ki m nh danh bucket sau ó l u giá tr khoá và con tr3 k t h p vào bucket này (ho6c vào các bucket tràn) Ch m c b!m th ,ng... CSDL – Ch ng 5 L u tr và c u trúc t p tin Hình 3 Có hai lo'i ch m c c s p: Ch m c 6c M-i m u tin ch m c ( u vào ch m c/ index entry) xu t hi n i v i m-i giá tr khoá tìm ki m trong file M u tin ch m c ch a giá tr khoá tìm ki m và m t con tr3 t i m u tin d li u u tiên v i giá tr khoá tìm ki m ó Ch m c th a M t m u tin ch m c c t'o ra ch v i m t s giá tr C)ng nh v i ch m c 6c, m-i m u tin ch m c ch a m t... chèn ho6c xoá m t m u tin, b t bu c ph i c p nh t các ch m c kèm v i file ch a m u tin này D i ây, mô t các thu t toán c p nh t cho các ch m c m t m c Xoá xoá m t m u tin, u tiên ph i tìm m u tin mu n xoá N u m u tin b xoá là m u tin u tiên trong dây chuy(n các m u tin c xác nh b+i con tr3 c a u vào ch m c trong quá trình tìm ki m, có hai tr ,ng h p ph i xét: N u m u tin b xoá là m u tin duy nh t trong... khoá tìm ki m và m t con tr3 t i m u tin d li u u tiên v i giá tr khoá tìm ki m này nh v m t m u tin, ta tìm u vào ch m c v i giá tr khoá tìm ki m l n nh t trong các giá tr khoá tìm ki m nh3 h n ho6c b.ng giá tr khoá tìm ki m ang tìm Ta b t u t m u tin c tr3 t i b+i u vào ch m c, và l n theo các con tr3 trong file (d li u) n t n khi tìm th y m u tin mong mu n Ch m c 6c cho phép tìm ki m m u tin nhanh h... u tr và c u trúc t p tin gi i quy t v n ( này, ta xem file ch m c nh m t file tu n t và xây d ng ch m c th a cho nó tìm u vào ch m c, ta tìm ki m nh phân trên ch m c "ngoài" c m u tin có khoá tìm ki m l n nh t trong các m u tin có khoá tìm ki m nh3 h n ho6c b.ng khoá mu n tìm Con tr3 t ng ng tr3 t i kh i c a ch m c "trong" Trong kh i này, tìm ki m m u tin có khoá tìm ki m l n nh t trong các m u tin. .. (bucket z) và 6t ij và iz n giá tr là k t qu c a vi c thêm 1 vào giá tr ij g c K n, ta i(u ch nh các u vào trong b ng a ch bucket tr c ây tr3 t i bucket j Ta l'i n0a u các u vào, và 6t t t c các u vào còn l'i tr3 t i bucket m i t'o (z) Ti p theo, m-i m u tin trong trong bucket j c b!m l'i và c c p phát cho ho6c vào bucket j ho6c bucket z xoá m t m u tin v i giá tr khoá K, tr c tiên ta th c hi n th t c nh... chèn và xoá là bao nhiêu ? Có nên t i u hoá th,i gian truy xu t trung bình trong khi th,i gian truy xu t tr ,ng h p x u nh t t!ng lên hay không ? NTD – Khoa Tin – HSP Hu 19 GT CSDL – Ch ng 5 L u tr và c u trúc t p tin Các ki u v n tin mà các ng ,i s0 d ng thích 6t ra là gì ? CÂU H%I VÀ BÀI T P 1 Xét vi c xoá m u tin 5 trong file: So sánh các i(u t t/x u t ng i c a các k* thu t xoá sau: Di chuy n m u tin . mu tin, chèn mu tin vào trong bucket ó. Nu không, ta phi tách bucket ra và phân phi l'i GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 19 các mu tin. header và mu tin u tiên. Khi mt mu tin c chèn vào, không gian cp phát cho nó + cui c a không gian t do, và u vào tng ng vi nó c thêm vào header. GT CSDL – Chng 5. Lu tr và. b!m? 19 CÂU H$I VÀ BÀI TP 20 TÀI LI%U THAM KH&O 23 GT CSDL – Chng 5. Lu tr và cu trúc tp tin NTD – Khoa Tin – HSP Hu 2 CHNG V. LU TR VÀ CU TRÚC TP TIN Mc ích: -