N u HQT CSDL không h tr KNT, chúng ta v n có th áp d ng ý t ng KNT đ t ng t c đ th c thi truy v n b ng cách s d ng các b y s ki n (trigger). Ch ng h n, cho tr ng h p truy v n Q_TongTheoKhachHang trên đây chúng ta có th th c hi n theo s đ ba b c sau đây.
B c 1. T o m t b ng có các c t và ki u d li u t ng ng ch a k t qu th c thi truy v n Q_TongTheoKhachHang, sau đó t o các ch m c n u c n:
CREATE TABLE TMV_TongTheoKhachHang as Q_TongTheoKhachHang.
B c 2. T o các b y s ki n thêm m i (ON INSERT), c p nh t (ON UPDATE) và xoá (ON DELETE) cho m i b n ghi cho m i b ng trong các b ng g c liên quan QUOCGIA, KHACHHANG, BANHANG, BANGGIA. Các b y s ki n này s đi u ch nh giá tr các b n ghi trong b ng TMV_TongTheoKhachHang t ng ng v i s thay đ i d li u trong các b ng g c. Ví d , b y s ki n thêm m i đ n gi n cho b ng BANHANG có th đ c xây d ng theo k ch b n sau đây.
CREATE OR REPLACE TRIGGER TRG_BanHang_AI ON BANHANG
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 135 AFTER INSERT FOR EACH ROW
DECLARE Gia number(10, 2);
BEGIN
-- c giá tr DonGia t BANGGIA t ng ng v i SanPham_ID và ThoiGian_ID v a --đ c thêm m i; Gi s new.KhachHang_ID đã có trong b ng TMV_TongTheoKhachHang
SELECT DonGia INTO Gia FROM SH.BANGGIA WHERE
SanPham_ID = :new.SanPham_ID AND ThoiGian_ID = :new.ThoiGian_ID;
--C p nh t b n ghi trong b ng TMV_TongTheoKhachHang có KhachHang_ID t ng ng
UPDATE TMV_TongTheoKhachHang SET Total = Total + :new.SoLuong * :Gia WHERE KhachHang_ID = :new.KhachHang_ID;
END;
Các b y s ki n này s đ m b o cho thông tin ch a trong b ng TMV_TongTheoKhachHang – k t qu th c thi truy v n Q_TongTheoKhachHang luôn luôn t ng ng v i các thay đ i d li u trong các b ng g c. Vì th i gian th c thi các b y s ki n này là r t nh , nên th i gian th c thi vi c c p nh t d li u trong các b ng g c c ng r t nh , và th ng ng i dùng không nh n th y s khác bi t so v i khi không có chúng. Trong tr ng h p này, có th nói “KNT” TMV_TongTheoKhachHang c a chúng ta đ c c p nh t gia t ng trong ch đ ON COMMIT.
B c 3. Vì các HQT CSDL này thông th ng không có ch c n ng vi t l i truy v n, rõ ràng, các cách vi t khác nhau c a m t truy v n s đ c HQT CSDL hi u là các truy v n khác nhau. L p trình viên ph i th c hi n công vi c vi t l i truy v n. Ch nh ng truy v n nào đ c vi t l i h ng t i các b ng KNT m t cách rõ ràng m i có th s d ng KNT. Trong các ch ng trình ng d ng, thay vì s d ng truy v n Q_TongTheoKhachHang, chúng ta s d ng truy v n sau đây:
SELECT QuocGia_Vung, KhachHang_ID, Total FROM
TMV_TongTheoKhachHang.
Và truy v n tính t ng thành ti n theo t ng vùng s là:
SELECT QuocGia_Vung, SUM(Total) AS SUM_Total
FROM TMV_TongTheoKhachHang GROUP BY QuocGia_Vung.
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 136 C ng gi ng nh tr ng h p các truy v n Q_TongTheoKhachHang đ c th c thi m t khi KNT trên c s truy v n đó đã đ c c p nh t, các truy v n trên b ng TMV_TongTheoKhachHang s đ c th c thi trong th i gian x p x 0ms. Tuy nhiên, trong tr ng h p này th i gian th c thi c p nh t “KNT” nh h n nhi u, h u nh không đáng k . Trên đây tác gi đã ch ra, các HQT CSDL Oracle và MS SQL Server không th th c hi n c p nh t gia t ng đ i v i nhi u truy v n, ch ng h n tr ng h p truy v n Q_TongTheoKhachHang. KNT t ng ng đ c c p nh t hoàn toàn v i th i gian c p nh t KNT x p x th i gian th c thi l i truy v n. Cho dù truy v n có ph c t p bao nhiêu và th c thi trên các b ng l n bao nhiêu ch ng n a, v i gi i pháp s d ng các b y s ki n, l p trình viên có th th c hi n c p nh t gia t ng cho b t k “KNT” nào. Vi c c p nh t gia t ng này chi m không đáng k tài nguyên c a h th ng. Cách th c này có th đ c áp d ng đ kh c ph c h n ch th i gian c p nh t cao t ng đ ng th i gian th c thi truy v n khi bu c ph i th c thi c p nh t hoàn toàn trong các HQT CSDL Oracle 11g và MS SQL Server 2005. Tuy nhiên, khi đó tính n ng vi t l i truy v n c a chúng s b m t đi, vì HQT CSDL không bi t r ng, m t KNT cho truy v n đã đ c t o ra.
Thêm m t kinh nghi m ng d ng ý t ng KNT trong các HQT CSDL ch a h tr KNT. T i m t c s đào t o có g n 20.000 h c viên thu c h n 40 ngành đào t o thông qua các h đào t o khác nhau t i 13 khoa đào t o trình đ đ i h c và hai tr ng cao đ ng tr c thu c. H c viên h c theo nhi u di n khác nhau: Kinh phí nhà n c, t túc, h p đ ng gi a s s đào t o và các t ch c kinh t xã h i. H c viên có th đóng ti n theo nhi u đ t trong n m. V i HQT CSDL PostgreSql trên m t máy ch t ng đ i y u (vi x lý AMD K6), vi c th c hi n th t c tính s h c viên, tính t ng s ti n và ph n tr m s ti n sinh viên đã đóng theo t ng khoa, ngành và h đào t o chi m x p x 13 phút, th m chí khi ch có m t phiên b n c a nó xu t hi n trong h th ng. Th t c này th ng làm ng ng tr công vi c c a các ng d ng khác. Sau khi ng d ng k thu t b y s ki n vi t b ng ngôn ng C++ đ c p nh t b ng ch a k t qu th c thi th t c trên, thay vì ph i th c thi th t c, các ng d ng đ c h ng đ n b ng “KNT”, th i gian truy c p đ n b ng đ c tính v i đ n v ms. N ng su t làm vi c c a h th ng t ng v t b c, trong khi ng i dùng không nh n ra s khác bi t khi c p nh t d li u trong các b ng g c liên quan. M t k ch b n thành công ngoài mong đ i t ng t c ng x y ra v i th t c tính toán các th ng kê liên quan đ n thu nh p c a h n 3.000 công nhân viên làm vi c t i c s đào t o đó.
Nh v y:
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 137 - Tuy KNT có th cho phép th c thi các truy v n ph c t p trên các CSDL v i dung l ng l n, có th đ n hàng terabytes trong vài giây ho c ph n nh c a giây, nh ng nó ít đ c bi t đ n và ít đ c ng d ng.
- KNT đ c h tr khá m nh nh ng c ng ch gi i h n các HQT CSDL th ng m i n i ti ng nh Oracle, MS SQL Server, IBM DB2. Vi c c p nh t KNT trong Oracle và MS SQL Server còn nhi u h n ch , đ c bi t kh n ng c p nh t gia t ng còn y u trong m t s tr ng h p d n đ n tính kém hi u qu c a k thu t này.
- Ta ng d ng ý t ng KNT trong các HQT CSDL ch a h tr KNT b ng cách s d ng các b y s ki n. Th m chí, cách th c này có th đ c áp d ng đ kh c ph c h n ch c a các HQT CSDL Oracle và MS SQL Server trong th i gian c p nh t cao t ng đ ng th i gian th c thi truy v n. Tuy nhiên, khi đó tính n ng vi t l i truy v n c a chúng s b m t đi, l p trình viên ph i th c hi n ch c n ng vi t l i truy v n thay cho HQT CSDL.
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 138 Ph n V Kho d li u – DataWarehouse
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 139 Ph n VI CSDL phân tán
D li u trong các H qu n tr CSDL phân tán (HQT CSDLPT) đ c l u tr các nút khác nhau, và m i nút th ng đ c đi u hành b i m t HQT CSDL có th v n hành đ c l p không ph thu c vào các nút khác. Quan đi m c đi n c a m t h CSDLPT là h th ng c n ph i làm cho s phân tán c a d li u là trong su t đ i v i ng i dùng. Nhi m v chính
− đ m b o tính trong su t c a các DBDistributedDB (HQT CSDL PT − HQT CSDL Phân Tán) là đ m b o các công c liên k t (integrate) các CSDL c c b , phân b t i các nút khác nhau c a m ng máy tính, nh th nào đó đ các ng i dùng làm vi c b t k nút nào trong m ng đ u có th truy c p đ n b t k CSDL nào các nút gi ng nh truy c p đ n m t CSDL duy nh t.
Và khi đó c n ph i đ m b o:
− S đ n gi n trong vi c s d ng h th ng.
− Các kh n ng th c hi n các ch c n ng m t cách đ c l p khi s liên k t m ng b phá hu ho c vì th c thi các yêu c u qu n tr .
− C p đ hi u qu công vi c cao.
đ t đ c các yêu c u trên c n ph i gi i quy t hi u qu các v n đ sau: phân tách truy v n, ch n ph ng cách t i u đ th c thi truy v n, th c thi nh t quán các giao tác, đ m b o đ ng b , phát hi n và gi i quy t các b t c phân tán, khôi ph c tr ng thái c a CSDL sau khi x y ra s c các lo i khác nhau.
C th , các tính ch t sau đây đ c xem là c n ph i có cho m t HQT CSDL PT:
− Tính đ c l p c a d li u phân tán. Ng i dùng c n ph i đ c th c hi n các truy v n không c n nói các b ng liên quan, ho c b n sao ho c là các phân đo n c a các b ng n m đâu. Và đây c ng là m t ph n yêu c u v s đ n gi n trong vi c s d ng h th ng.
Nguyên t c này là s m r ng c a tính đ c l p v t lý và lu n lý. Ngoài ra, các truy v n trên nhi u b ng n m và phân b (các phân m nh c a nó) t i các nút khác nhau c ng c n ph i đ c t i u hoá m t cách h th ng trên c s đánh giá tr s thu đ c t vi c tính toán tr giá liên l c và m c đ khó kh n trong vi c th c hi n truy v n trên máy c c b .
Trong các HQT CSDL PT, ví d System R*, s đ m b o tính t qu n (autonom?) r t đ c chú ý. M i CSDL c c b đ c qu n tr không ph thu c vào các nút khác. Các nút có th t thêm nh ng ng i dùng m i cho riêng h th ng c a mình, thay đ i các phiên b n c a h th ng, v.v. H th ng đ c thi t k , đ trên m i nút không nh t thi t ph i có các d ch v trung tâm đ đ t tên các đ i t ng ho c phát hi n các b t c trong th c thi các giao tác.
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 140 Trong m i nút khác nhau không c n ph i có ki n th c toàn c c v các thao tác đang đ c th c hi n t i các nút khác c a m ng, và công vi c v i các d li u có th truy c p đ c có th v n đ c ti n hành bình th ng, không ph thu c vào tình tr ng c a các nút khác và th m chí là đ ng truy n.
− Tính ch t A – tính nguyên t c a các giao tác phân tán. Ng i dùng c n thi t có th t o ra các giao tác đ truy c p và c p nh t d li u các nút khác nhau gi ng nh là vi t các giao tác hoàn toàn trên m t nút c c b . C th , các hi u ng c a m t giao tác xuyên su t nhi u nút c ng c n ph i có tính nguyên v n: ho c hoàn t t t t c ho c không có gì − n u giao tác hoàn t t thành công thì t t c các thay đ i b i nó đ c c đ nh, và ng c l i − không có d u tích nào v giao tác trong CSDL n u nó không hoàn t t thành công.
M c dù đa s có th đ ng ý, r ng các tính ch t trên là lý t ng, nh ng trong tình hu ng c th , ví d các nút đ c liên k t v i nhau b i m t m ng t c đ ch m kho ng cách l n, thì các tính ch t trên không đ c gi đúng m c.
M c đ hi u qu cao là m t trong nh ng yêu c u chìa khoá cho các HQT CSDL PT. đ t đ c hi u qu cao nh th c n áp d ng hai ph ng cách, đó là các truy v n đ c biên d ch tr c khi th c thi và đ m b o kh n ng di chuy n các quan h t xa v CSDL c c b .
(~~~?)
Ch ng VI.1 Các lo i hình h th ng phân tán
Các CSDL PT có th là đ ng nh t ho c không đ ng nh t. Trong tr ng h p đ ng nh t, các CSDL c c b đ c qu n lý b i m t lo i HQT CSDL. Trong các h th ng không đ ng nh t các CSDL c c b có th thu c nhi u mô hình d li u khác nhau, và vì th còn đ c g i là h th ng đa CSDL. S liên k t m ng c a các CSDL không đ ng nh t là c p thi t, nh ng c ng là v n đ r t ph c t p. Có nhi u cách gi i quy t trên c p đ lý thuy t, nh ng hi n t i v n ch a th đ i phó v i v n đ chính − đó là không đ hi u qu trong các h th ng liên k t.
Chú ý r ng, th c t bài toán liên k t các h th ng không đ ng nh t dòng SQL đã đ c gi i quy t thành công. Hi u r ng, chúng t ng ng v i vi c chu n hoá ngôn ng SQL m c đ cao, và s tuân theo c a các nhà phát tri n HQT CSDL theo nguyên t c h th ng m .
Chìa khoá cho s thành công trong vi c xây d ng m t h th ng không đ ng nh t là có các chu n đ c ch p nh n r ng rãi cho các giao th c gateway. Giao th c gateway là
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 141 m t giao di n l p trình ng d ng (API – Application Programming Interface) có th đ a các ch c n ng c a HQT CSDL cho các ch ng trình khác bên ngoài (external). Ví d , ODBC và JDBC. Các s khác nhau, ví d kh n ng các máy ch , đ nh d ng d li u…, đ c nh n th y khi truy c p đ n các máy ch CSDL qua các giao th c gateway.
Gateway không ph i là m t công c đa n ng. Nó thêm m t l p x lý, mà có th là r t “đ t đ ”, và không ph i nó ch p nh n t t c m i s khác bi t gi a các máy ch . Ví d , máy ch có th không có kh n ng cung c p các d ch v c n thi t cho vi c đi u hành các giao tác phân tán, và th m chí n u có kh n ng, thì các giao th c gateway đang đ c chu n hoá hoàn toàn theo m c đ t ng tác đó c ng ch a đ c gi i quy t tho đáng nh mong đ i.
Qu n tr d li u phân tán đòi h i m t giá đ t cho hi u su t, s hoàn thi n c a ph n m m, và s khó kh n trong qu tr . i u đó đ c bi t đúng cho tr ng h p các h không đ ng nh t.
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 142 Ch ng VI.2 Các ki n trúc c a HQT CSDL PT
Có ba cách khác nhau đ phân chia các ch c n ng gi a các ti n trình (process) c a các HQT CSDL liên quan. Các ki n trúc khác nhau c a HQT CSDL PT đ c g i là Client-Server, máy ch c ng l c (h p tác, collaborating server) và ng d ng t ng trung gian (Middleware).
VI.2.1 Các h th ng khách-ch
M t h th ng khách-ch có th có m t ho c nhi u ti n trình khách và m t ho c nhi u ti n trình ch , và các ti n trình khách có th g i các truy v n đ n b t k ti n trình ch nào. Máy khách đáp ng các yêu c u v giao di n ng i dùng, còn máy ch qu n tr d li u và th c thi các giao tác. Nh v y, m t ti n trình máy khách có th ch y trên m t máy cá nhân và g i các truy v n đ n ti n trình máy ch đang ch y trên mainframe.
Ki n trúc này tr nên r t ph bi n vì các lý do sau. Th nh t, nó t ng đ i đ n gi n trong vi c tri n khai nh s phân chia ch c n ng rõ ràng và vì máy ch là trung tâm.
Th hai, m t máy ch đ t đ v n h n là các máy khách đ t đ đ t ng tác v i ng i dùng.
Th ba, ng i dùng có th s d ng các giao di n thân thi n, h n là các giao di n không thân thi n trên máy ch .
Khi vi t các ng d ng khách- ch , vi c ghi nh ranh gi i gi a ch và khách, c ng nh gi liên l c gi a chúng theo t p h p (t p h p có th ) là r t quan tr ng.
VI.2.2 Các h th ng máy ch h p tác
Ki n trúc khách-ch không cho phép m t truy v n riêng l bao trùm đa máy ch , vì ti n trình máy khách có th ph i có kh n ng chia nh m t truy v n thành các truy v n nh h n riêng l đ đ c th c thi các máy ch khác nhau và sau đó liên k t các k t qu truy v n l i v i nhau thành m t k u qu th ng nh t. Các ti n trình máy khách vì v y có th s hoàn toàn ph c t p, và vi c phân bi t gi a ch và khách tr nên khó kh n. gi m thi u v n đ này chúng ta s d ng m t ki n trúc khác, đó là h các máy ch h p tác. Chúng ta có th có m t t p h p các máy ch CSDL, và m i chúng có kh n ng th c thi các giao tác trên d li u c c b , và chúng có th h p tác đ cùng th c thi các giao tác bao trùm đa máy ch .
Khi m t máy ch nh n m t truy v n đòi h i ph i truy c p đ n d li u n m trên các máy ch khác, nó s t o ra các truy v n con đ đ c th c thi trên các máy ch đó và k t
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 143 h p các k t qu th c thi các truy v n con v i nhau đ thu đ c k t qu th c thi truy v n g c. M t cách lý t ng, vi c phân tích thành các truy v n con đ c th c hi n trên c s t i u chi phí, đ c tính b ng giá tr c a vi c liên l c trong m ng và chi phí tính toán c c b trên các máy ch .
VI.2.3 Các h th ng t ng trung gian
Ki n trúc phân t ng trung gian đ c thi t k đ cho phép m t truy v n đ n l có th bao trùm đa máy ch , không c n đòi h i t t c các máy ch CSDL có kh n ng đi u khi n các chi n l c th c thi truy v n đa máy ch . Nó th c s hi u qu khi liên k t vài h th ng c mà các kh n ng c b n c a chúng không th m r ng.
M t ý t ng n a là ch c n m t máy ch CSDL có kh n ng qu n tr các truy v n và các giao tác bao trùm đa máy ch ; còn các máy ch còn l i ch c n x lý các truy v n và giao tác c c b . Có th cho r ng, máy ch đ c bi t đó nh là m t t ng ph n m m có th xác đ nh vi c th c thi các truy v n và các giao tác trên m t ho c nhi u máy ch CSDL đ c l p.
Máy ch nh v y th ng đ c g i là ph n m m t ng trung gian (l p gi a) – middleware.
Ph n m m t ng trung gian có kh n ng th c hi n các phép n i và các thao tác quan h khác trên d li u thu đ c t các máy ch khác, nh ng th ng thì b n thân nó không h tr b t c d li u nào.
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 144 Ch ng VI.3 L u tr d li u trên HQT CSDL PT
Trong HQT CSDL PT, các quan h đ c l u tr trên các nút khác nhau. Vi c truy c p đ n m t quan h đ c l u tr trên m t nút t xa gánh ch u các chi phí g i thông đi p, và đ gi m thi u chi phí đó, m i quan h có th đ c chia c t (partitioned) ho c phân m nh(fragmented) xuyên su t nhi u nút. Và các phân đo n đ c l u tr t i các nút mà nó đ c truy c p th ng xuyên, ho c đ c nhân b n (replicated) m i nút, n i mà quan h c n đ n m c đ cao.
VI.3.1 Phân m nh (fragmentation)
Phân m nh là chia m t quan h thành các quan h nh h n ho c các m nh và l u tr các phân m nh đó, thay vì chính b n thân quan h , có th là các nút khác nhau. Trong cách phân m nh ngang (horizontal fragmentation), m i phân m nh là m t t p h p con các b n ghi c a quan h g c. Trong cách phân m nh d c (vertical fragmentation), m i phân m nh là m t t p h p con các thu c tính c a quan h g c. Các cách phân m nh đ c minh ho trong hình d i đây.
Id H tên Tu i a ch L ng
1 Nguy n V n A 20 … 1000
2 Tr n Th B 30 … 2000
3 Chu T n C 28 … 1500
4 Châu V n D 27 … 3700
5 Phí Thu E 40 … 2200
6 Ph m Phú F 45 … 1200
Hình VI.1 Phân m nh ngang và phân m nh d c
Th ng thì các b n ghi thu c v m t phân m nh theo chi u ngang đã cho đ c đ nh danh b i m t truy v n l a ch n. Ví d , select * from NhânViên where tu i between 25 and 30. C ng nh v y, các b n ghi c a m t phân m nh theo chi u d c đã cho đ c đ nh Phân m nh ngang
Phân m nh d c
H QU N TR C S D LI U – B n Nháp 30-08-08
http://elearning.due.edu.vn/course/view.php?id=7 Nguy n Tr n Qu c Vinh ntquocvinh@{gmail.com, yahoo.com, due.edu.vn} 145 danh b i m t truy v n chi u (projection query), ví d select Id, H Tên, Tu i from NhânViên.
M t khi m t quan h đ c phân m nh, c n ph i đ m b o kh n ng khôi ph c l i quan h g c t các phân m nh thu đ c:
− Phân m nh theo chi u ngang: b n k t h p (union) c a các phân m nh theo chi u ngang ph i b ng quan h g c.
− Phân m nh theo chi u d c: T p h p các phân m nh theo chi u d c ph i là k t qu c a m t phân tách không m t mát c a phép n i.
ch c ch n r ng s phân m nh theo chi u d c là m t phép n i không m t d li u, các h th ng th ng gán cho m i b n ghi trong quan h g c m t t đ nh danh đ c nh t tid, và g n t đ nh danh đó cho t ng b n ghi trong m i phân m nh. N u cho r ng quan h g c có m t thu c tính b tr tid nh là m t khoá, thì thu c tính đó đ c thêm vào m i phân m nh theo chi u d c. C ng nh là k t qu phân tách đ m b o là m t phép n i không m t d li u.
Nhìn chung m i quan h đ u có th phân m nh theo chi u ngang ho c d c, và m i phân m nh sau đó c ng có th đ c phân m nh nh th .
VI.3.2 Nhân b n (replication)
Nhân b n có ngh a là l u tr nhi u b n sao c a m t quan h ho c phân m nh c a quan h . M t quan h có th đ c nhân b n và l u tr m t ho c nhi u nút. Và nh v y, m t ho c nhi u phân m nh c a m t quan h c ng có th đ c nhân b n m t ho c nhi u nút. Ví d , n u quan h R đ c phân m nh thành R1, R2 và R3. Có th b n sao c a R1 và R2 đ c nhân b n hai nút, còn R3 − t t c các nút.
ng c c a vi c nhân b n là hai m c đích:
− T ng tính s n sàng c a d li u: N u nút ch a m t nhân b n b s c , thì nh ng d li u nh th có th tìm đ c nh ng nút khác. Gi ng nh th , n u có b n sao c c b c a các quan h “t xa”, thì chúng ta không b r i vào tính th nguy hi m n u x y ra s c m ng.
− Th c thi truy v n nhanh h n: Các truy v n có th đ c th c thi nhanh h n nhi u n u s d ng b n sao c c b c a các quan h thay v ì truy c p đ n các b n t các nút t xa.