
SQL Server 2000 : B ng o (Virtual table - view) -ả ả
Ph n 1ầ
N u b n là ng i l p trình đã t ng làm vi c quen thu cế ạ ườ ậ ừ ệ ộ
v i c s d li u Microsoft Access thì b n đ u bi t đ n đ iớ ơ ở ữ ệ ạ ề ế ế ố
t ng truy v n ch n l a (Select query) trong Microsoft Access.ượ ấ ọ ự
Lo i truy v n này cho phép b n ch n ra d li u t m t ho cạ ấ ạ ọ ữ ệ ừ ộ ặ
nhi u b ng dùng đ hi n th , th ng kê ho c cho phép ng iề ả ể ể ị ố ặ ườ
s d ng có th c p nh t d li u tr c ti p vào bên d i cácử ụ ể ậ ậ ữ ệ ự ế ướ
b ng mà n i dung c a truy v n có tham chi u đ n.ả ộ ủ ấ ế ế
Gi ng nh Microsoft Access, Microsoft SQL Server cũng có m t đ i t ng cho phépố ư ộ ố ượ
b n có th l a ch n các c t, các dòng d li u chính xác t m t ho c nhi u b ng vàạ ể ự ọ ộ ữ ệ ừ ộ ặ ề ả
sau đó hi n th ra cho ng i s d ng xem ho c c p nh t trên các d li u đó. Đ iể ị ườ ử ụ ặ ậ ậ ữ ệ ố
t ng này chính là đ i t ng b ng o (ượ ố ượ ả ả view) mà b n s tìm hi u trong ph n này.ạ ẽ ể ầ
1/- Khái ni m v b ng o :ệ ề ả ả
B ng o th c ch t là m t đ i t ng mà bên trong nó ch l u tr duy nh t m t câuả ả ự ấ ộ ố ượ ỉ ư ữ ấ ộ
l nh ệSELECT dùng đ ch đ nh các c t, các dòng d li u bên d i các b ng d li uể ỉ ị ộ ữ ệ ướ ả ữ ệ
mà nó ch n l a ra đ hi n th cho ng i s d ng xem ho c c p nh t. V i nguyên t cọ ự ể ể ị ườ ử ụ ặ ậ ậ ớ ắ
này, b n có th hi n th ra đúng các thông tin t i thi u mà ng i s d ng c n dùng,ạ ể ể ị ố ể ườ ử ụ ầ
không c n thi t ph i hi n th ra t t c các thông tin hi n đang đ c l u tr bên trongầ ế ả ể ị ấ ả ệ ượ ư ữ
b ng (đáp ng đ c tính b o m t thông tin). Ngoài ra còn giúp nh ng ng i s d ngả ứ ượ ả ậ ữ ườ ử ụ
d dàng truy xu t đ n các thông tin mà h đang c n, khi đó đ n gi n s thông quaễ ấ ế ọ ầ ơ ả ẽ
vi c th c hi n các truy v n tr c ti p đ n các b ng o mà không c n quan tâm cácệ ự ệ ấ ự ế ế ả ả ầ
thông tin này đang đ c l u tr trong nh ng b ng d li u nào (đáp ng đ c tính dượ ư ữ ữ ả ữ ệ ứ ượ ễ
s d ng).ử ụ
Trong th c t , b n th ng t o ra các b ng o đ l u tr các thông tin cho các lo i báoự ế ạ ườ ạ ả ả ể ư ữ ạ
cáo đ n gi n ho c d li u c a các màn hình nh p li u ph c t o có liên k t d li uơ ả ặ ữ ệ ủ ậ ệ ứ ạ ế ữ ệ
v i nhi u b ng khác ho c các màn hình tra c u thông tin cho các ng i s d ng.ớ ề ả ặ ứ ườ ử ụ
L u ý : ưb ng o hoàn toàn không l u tr d li u m t cách riêng l . Các d li u đ cả ả ư ữ ữ ệ ộ ẻ ữ ệ ượ
hi n th trong b ng o s đ c l y t bên d i d li u c a các b ng c sể ị ả ả ẽ ượ ấ ừ ướ ữ ệ ủ ả ơ ở
(underlying table) trong c s d li u hi n hành. Tuy nhiên b n v n có th c p nh tơ ở ữ ệ ệ ạ ẫ ể ậ ậ
(thêm, s a, xóa) d li u trong các b ng o nh là đang c p nh t d li u trong cácử ữ ệ ả ả ư ậ ậ ữ ệ
b ng c s .ả ơ ở
2/- T o b ng o b ng ti n ích Enterprise Manager :ạ ả ả ằ ệ
Đ t o b ng o, b n có th s d ng ti n ích ể ạ ả ả ạ ể ử ụ ệ Enterprise Manager. Các b c t oướ ạ
b ng o nh sau :ả ả ư
T o m i b ng oạ ớ ả ả

B c 1 :ướ
Kh i đ ng ti n ích ở ộ ệ Enterprise Manager. Ch n ch c năng ọ ứ New View … trong th cự
đ n t t sau khi nh n chu t ph i trên đ i t ng ơ ắ ấ ộ ả ố ượ Views.
T o m i b ng o trong Enterprise Managerạ ớ ả ả
B c 2 :ướ
Trong màn hình thi t k d li u b ng o, nh n vào bi u t ng ế ế ữ ệ ả ả ấ ể ượ Add Table trên thanh
công c đ đ a các b ng d li u làm d li u ngu n cho b ng o.ụ ể ư ả ữ ệ ữ ệ ồ ả ả

Thi t k d li u b ng oế ế ữ ệ ả ả
Màn hình này có cách trình bày g n gi ng nh màn hình t o truy v n b ng ví d (ầ ố ư ạ ấ ằ ụ QBE
– Query by Example) trong Microsoft Access, nó s giúp cho b n phát sinh n i dungẽ ạ ộ
c a câu l nh ủ ệ SELECT b ng các hành đ ng kéo th chu t c a chính b n trên màn hìnhằ ộ ả ộ ủ ạ
này.
B c 3 :ướ
Trong màn hình ch n các d li u cho b ng o, b ng cách ch n vào ô ki m tra (checkọ ự ệ ả ả ằ ọ ể
box) phía tr c tên c a các c t ho c thao tác kéo th (drag drop) đ ch n các c tướ ủ ộ ặ ả ể ọ ộ
mu n hi n th d li u trong b ng o. S a l i bí danh (alias) các c t đ g i nh .ố ể ị ữ ệ ả ả ử ạ ộ ể ợ ớ

Ch đ nh các c t hi n th d li u bên trong b ng oỉ ị ộ ể ị ữ ệ ả ả
B c 4 :ướ
Nh n vào bi u t ng ấ ể ượ Save trên thanh công c và gõ vào tên c a b ng o, nh n ụ ủ ả ả ấ OK để
k t thúc quá trình t o b ng o b ng ti n ích ế ạ ả ả ằ ệ Enterprise Manager.
Nh p tên b ng o mu n l u l iậ ả ả ố ư ạ
Sau khi t o xong b ng o, b n cũng có th quay l i đ s a đ i n i dung câu l nhạ ả ả ạ ể ạ ể ử ổ ộ ệ
SELECT trong b ng o b ng cách ch n ch c năng ả ả ằ ọ ứ Design View đ quay l i màn hìnhể ạ
thi t k d li u b ng o tr c đó ho c ch n ch c năng ế ế ữ ệ ả ả ướ ặ ọ ứ Properties đ có th s a tr cể ể ử ự
ti p câu l nh ế ệ SELECT bên trong b ng o. Các ch c năng này hi n th trong th c đ nả ả ứ ể ị ự ơ
t t sau khi nh n chu t ph i trên tên c a b ng o c n s a đ i.ắ ấ ộ ả ủ ả ả ầ ử ổ

Hi n th câu l nh SELECT trong b ng oể ị ệ ả ả
3/- Xem và c p nh t d li u b ng o :ậ ậ ữ ệ ả ả
Sau khi t o xong b ng o, b n có th xem d li u mà b ng o ch a đ ng có đúngạ ả ả ạ ể ữ ệ ả ả ứ ự
theo mong mu n hay không b ng cách th c hi n ch c năng ố ằ ự ệ ứ Open View (Return all)
trong th c đ n t t sau khi nh n chu t ph i trên tên c a b ng o c n xem d li u.ự ơ ắ ấ ộ ả ủ ả ả ầ ữ ệ
Ho c th c hi n câu l nh sau :ặ ự ệ ệ
Ví d :ụ
Đ xem n i dung d li u c a b ng o vw_DONDH_NHACC v a t o trên, b n th cể ộ ữ ệ ủ ả ả ừ ạ ở ạ ự
hi n câu l nh nh sau :ệ ệ ư
Vi c c p nh t d li u b ng o có th đ c th c hi n b ng các l nh ệ ậ ậ ữ ệ ả ả ể ượ ự ệ ằ ệ INSERT,
UPDATE, DELETE thông qua vi c tham chi u đ n tên các b ng o. M c dù d li uệ ế ế ả ả ặ ữ ệ
trong b ng o đ c l y ra t nhi u b ng khác nhau nh ng vi c c p nh t d li u trênả ả ượ ấ ừ ề ả ư ệ ậ ậ ữ ệ
b ng o ch đ c phép tác đ ng trên m t và ch m t b ng mà thôi. Tuy nhiên đ i v iả ả ỉ ượ ộ ộ ỉ ộ ả ố ớ
b ng o có tính ch t th ng kê t ng h p (s d ng các hàm tính toán : MIN, MAX,ả ả ấ ố ổ ợ ử ụ
SUM, COUNT, …) thì d li u bên trong b ng o ch có tính ch t đ xem (không choữ ệ ả ả ỉ ấ ể
phép c p nh t d li u).ậ ậ ữ ệ

