Documente Academic
Documente Profesional
Documente Cultură
Ñieàu kieän phaân taùn : coù dòch vuï SQL Server Agent
2. Phaân taùn cô sôû döõ lieäu coù 3 böôùc:
- Caáu hình caùc server :
+ Publisher : chöùa baûn cô sôû döõ lieäu goác
+ Distributor : ñieàu phoái caùc maûnh phaân taùn
+ Subscriber : chöùa cô sôû döõ lieäu sau khi phaân taùn
- Ñònh nghóa publication : 1 container chöùa caùc article
(table, view, store procedure)
- Ñònh nghóa subscription (database): 1 container nhaän
publication
3. Caùc phöông phaùp phaân maûnh : phaân maûnh ngang
(Horizontal), phaân maûnh doïc (Vertical), phaân maûnh hoãn
hôïp.
Trong phaân maûnh ngang : nguyeân thuûy, daãn xuaát
Ví duï: Giaû söû ta muoán phaân taùn cô sôû döõ lieäu QLDSV
theo khoa thì neáu:
KHOA : MAKH=’CNTT’ Khoa laø phaân maûnh ngang nguyeân
thuûy
LOP : MAKH=’CNTT’ LOP laø phaân maûnh ngang nguyeân
thuûy
LOP.MAKH = KHOA.MAKH LOP laø phaân maûnh
ngang daãn xuaát
4. Caùc quy taéc phaân maûnh: (trang 3 ) quaù trình phaân taùn
phaûi thoûa caùc qui taéc sau: tính ñaày ñuû, tính taùi thieát,
tính taùch bieät
Ví duï: Giaû söû ta muoán phaân taùn cô sôû döõ lieäu QLDSV
theo 2 khoa (CNTT, VT) töø Server LUUTHU ñeán 2 Server
LUUTHU\SUSU (chöùa thoâng tin khoa CNTT) vaø Server
LUUTHU\TINTIN (chöùa thoâng tin khoa VT)
6. Quy taéc ñeå giuùp cho caùc caâu leänh phaân taùn ñöôïc “trong
suoát”:
- Trong suoát : nghóa laø 1 SP khi ta cho thöïc thi ôû Server 1 thì
vaãn thöïc thi ñöôïc ôû taát caû caùc Server coøn laïi maø ta
khoâng caàn chæ laïi ñöôøng ñaãn ñeán table caàn truy xuaát.
- Quy taéc :
a. Teân caùc cô sôû döõ lieäu ôû caùc Server Subscriber phaûi
gioáng nhau
b. Taïo Link theo quy taéc voøng troøn :
+ Link1 : link ngay ñeán chính noù
+ Link2: link ñeán Server gaàn noù nhaát
+ Link3 : link ñeán Server gaàn keá nhaát
7. Leänh Select … Union : laáy döõ lieäu töø caùc server veà
Ví duï: Vieát 1 SP teân DS_LOP sao cho khi chaïy SP naøy treân 1
server baát kyø , noù ñeàu hieån thò danh saùch lôùp cuûa
tröôøng
8. Tìm kieám döõ lieäu treân cô sôû döõ lieäu phaân taùn:
Ví duï: haõy in ra teân lôùp vaø teân khoa cuûa 1 sv coù maõ soá laø
@X. (SP coù teân TimSV)
GO
- Vieát 1 SP ñeå chuyeån 1 sv coù maõ soá @X töø lôùp
coù maõ @malop1 sang lôùp coù maõ @malop2
create procedure ChuyenLop
@X char(8), @ML1 char(8), @ML2 char(8)
AS
if exists(select masv from link1.qlsv.dbo.sinhvien
where masv =@X and malop =@ML1)
if exists(select malop from link1.qlsv.dbo.Lop where
malop =@ML2)
Update link1.qlsv.dbo.sinhvien
set malop=@ML2
where masv=@X
else
Print 'Ma lop' + @ML2 + 'khong co trong danh sach lop
cua khoa'
else
if exists(select masv from link2.qlsv.dbo.sinhvien
where masv =@X and malop =@ML1)
if exists(select malop from link2.qlsv.dbo.Lop where malop
=@ML2)
Update link2.qlsv.dbo.sinhvien
set malop=@ML2
where masv=@X
else
Print 'Ma lop' + @ML2 + 'khong co trong danh sach lop
cua khoa'
else
print 'Error...'