You are on page 1of 25

Bµi 1: T¹o tÖp CSDL

1. Khëi ®éng vµ tho¸t:


a. Khëi ®éng:
- Khëi ®éng: KÝch ®óp chuét vµo biÓu t-îng foxpro trªn mµn h×nh nÒn.
- Foxpro cã hai chÕ ®é lµm viÖc lµ chÕ ®é héi tho¹i vµ chÕ ®é lËp tr×nh:
+ ChÕ ®é héi tho¹i: Lµ chÕ ®é th«ng dÞch, mçi khi ta ra lÖnh trong cöa sæ lÖnh (cöa sæ
Command) th× Foxpro dÞch vµ thi hµnh lÖnh ngay lËp tøc.
+ ChÕ ®é lËp tr×nh: Lµ chÕ ®é biªn dÞch, c¸c c©u lÖnh cña Foxpro ®-îc viÕt trong mét tÖp gäi
lµ tÖp ch-¬ng tr×nh cã phÇn më réng lµ *.prg. C¸c c©u lÖnh cã mèi quan hÖ víi nhau t¹o thµnh
mét ch-¬ng tr×nh hoµn thiÖn. Khi thùc hiÖn ch-¬ng tr×nh, Foxpro sÏ lÇn l-ît dÞch vµ thi hµnh
tÊt c¶ c¸c c©u lÖnh ®ã.
b. Tho¸t:
- C1: Tõ cöa sæ Command gâ lÖnh: Quit
- C2: BÊm F10/ chän môc File/ Quit.
2. C¸c kiÓu d÷ liÖu c¬ b¶n vµ c¸c phÐp to¸n:
a. KiÓu ký tù Character (C):
- Bao gåm chuçi c¸c ký tù trong b¶ng m· chuÈn ASCII, cã ®é dµi tèi ®a lµ 254 ký tù.
- C¸c phÐp to¸n: +, -
b. KiÓu sè Numberic (N):
- Chøa c¸c sè cã ®é dµi tèi ®a 20 ký tù, bao gåm c¶ dÊu chÊm ng¨n c¸ch phÇn thËp ph©n.
- PhÐp to¸n: +, -, *, /, ^
c. KiÓu sè Float (F):
- Chøa c¸c sè ®-îc biÓu diÔn theo d¹ng to¸n häc.
- VÝ dô: Sè 1685.54 viÕt lµ 1.68554E+3 tøc lµ 1.68554*103.
- PhÐp to¸n: +, -, *, /, ^
d. KiÓu Logic (L):
- ChØ bao gåm hai gi¸ trÞ lµ TRUE (.T.) hoÆc FALSE (.F.)
- PhÐp to¸n: AND, OR, NOT
- B¶ng ch©n lý vÒ gi¸ trÞ c¸c phÐp to¸n:
A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True
e. KiÓu ký øc Memo (M):
- Chøa c¸c ®o¹n v¨n b¶n lín.
f. KiÓu General (G):
- Chøa c¸c lo¹i d÷ liÖu ®Æc biÖt nh- h×nh ¶nh, ©m thanh...
3. T¹o tÖp CSDL:
a. Kh¸i niÖm vÒ CSDL trong Foxpro2.6:
- CSDL lµ mét b¶ng gåm c¸c dßng vµ c¸c cét:
+ C¸c cét t¹o thµnh cÊu tróc CSDL gäi lµ c¸c tr-êng (Field), trªn mçi tr-êng x¸c ®Þnh duy
nhÊt mét kiÓu d÷ liÖu.
+ C¸c dßng l-u tr÷ d÷ liÖu gäi lµ c¸c b¶n ghi (Record), mçi b¶n ghi l-u tr÷ mét hå s¬.
b. LÖnh t¹o tÖp CSDL:
- Có ph¸p:
CREATE [<Tªn_tÖp.DBF>]
CREATE TABLE <Tªn_tÖp.DBF>
Tr-êng1 KiÓu(§é_réng)[, Tr-êng2 KiÓu(§é_réng)...]
- Gi¶i thÝch:
+ Hai lÖnh trªn sÏ t¹o ra tÖp CSDL cã phÇn më réng lµ *.DBF.
+ NÕu dïng có ph¸p thø nhÊt th× sau khi ra lÖnh sÏ xuÊt hiÖn mµn h×nh thiÕt kÕ cÊu tróc
CSDL bao gåm:
* Field: Tªn tr-êng. Cã ®é dµi tèi ®a 10 ký tù chØ bao gåm c¸c ch÷ c¸i tõ A ®Õn Z, c¸c ch÷
sè vµ dÊu g¹ch nèi d-íi _
* Type: KiÓu d÷ liÖu cña tr-êng, ®Ó x¸c ®Þnh kiÓu ta chØ cÇn bÊm ch÷ c¸i ®Çu tiªn cña tªn
kiÓu.
* Width: §é réng cho phÐp cña tr-êng, tÝnh c¶ dÊu chÊm ng¨n c¸ch phÇn thËp ph©n nÕu lµ
kiÓu sè.
* Dec: Sè ch÷ sè sau phÇn thËp ph©n, chØ ¸p dông ®èi víi kiÓu sè.
Khi thiÕt kÕ xong tÖp CSDL, ta bÊm Ctrl+W ®Ó ghi l¹i cÊu tróc vµ tho¸t khái mµn h×nh thiÕt
kÕ. Foxpro sÏ hái: Input data records now? – cã nhËp d÷ liÖu cho c¸c b¶n ghi b©y giê kh«ng?
NÕu chän Yes th× sÏ xuÊt hiÖn mµn h×nh nhËp d÷ liÖu liÖu cho tÖp võa t¹o. NhËp d÷ liÖu xong
ta l¹i bÊm Ctrl+W ®Ó l-u l¹i d÷ liÖu vµ trá vÒ cöa sæ Command.
TÖp sau khi t¹o xong sÏ ë tr¹ng th¸i më.
+ NÕu dïng có ph¸p th- hai th× sÏ kh«ng xuÊt hiÖn mµn h×nh thiÕt kÕ mµ Foxpro sÏ tù thiÕt
kÕt tÖp CSDL theo cÊu tróc ®· chØ ®Þnh.
4. Më - ®ãng tÖp CSDL:
- Khi muèn lµm viÖc víi bÊt kú tÖp CSDL nµo, ta ®Òu ph¶i ra lÖnh më tÖp ®ã.
- Më tÖp CSDL:
USE <Tªn_tÖp.DBF>
- §ãng tÖp CSDL:
USE
CLOSE DATABASE
CLOSE ALL
- Chó ý: T¹i mét thêi ®iÓm Foxpro chØ lµm viÖc ®-îc víi mét tÖp CSDL, khi më mét tÖp míi
th× tÖp cò sÏ bÞ ®ãng.
5. Bæ sung c¸c b¶n ghi vµo tÖp CSDL:
- Có ph¸p:
APPEND [BLANK]
- Gi¶i thÝch:
+ LÖnh trªn sÏ bæ sung c¸c b¶n ghi vµo cuèi tÖp CSDL ®ang më.
+ NÕu trong c©u lÖnh cã thµnh phÇn BLANK th× sÏ bæ sung mét b¶n ghi tr¾ng vµo tÖp CSDL.
Khi ®ã sÏ kh«ng xuÊt hiÖn mµn h×nh nhËp d÷ liÖu.

Bµi 2: NhËp vµ söa néi dung b¶n ghi

1. Con trá b¶n ghi vµ dÞch chuyÓn con trá b¶n ghi:
+ GO <n>: ChuyÓn tíi b¶n ghi thø n.
+ GO TOP: ChuyÓn tíi b¶n ghi ®Çu tiªn.
+ GO BOTTOM: ChuyÓn tíi b¶n ghi cuèi cïng.
+ SKIP: DÞch chuyÓn theo chiÒu tiÕn mét b¶n ghi.
+ SKIP <n>: DÞch chuyÓn n b¶n ghi. NÕu n>0: dÞch chuyÓn theo chiÒu tiÕn, nÕu n<0: dÞch
chuyÓn theo chiÒu lïi.
2. Ph¹m vi thùc hiÖn lÖnh:
- NhiÒu lÖnh cña Foxpro dïng kÌm víi <Ph¹m vi> nh- c¸c lÖnh Display, List, Browse... Ph¹m
vi dïng ®Ó x¸c ®Þnh sè b¶n ghi mµ lÖnh t¸c ®éng ®Õn.
- Cã bèn d¹ng ph¹m vi:
+ ALL: Lµm viÖc víi tÊt c¶ c¸c b¶n ghi.
+ RECORD <n>: Lµm viÖc víi b¶n ghi thø <n>.
+ NEXT <n>: Lµm viÖc víi n b¶n ghi kªt tõ b¶n ghi hiÖn hµnh.
+ REST <n>: Lµm viÖc víi c¸c b¶n ghi kÓ tõ b¶n ghi hiÖn hµnh tíi b¶n ghi cuèi cïng.
3. Bæ sung b¶n ghi cho tÖp CSDL:
- Có ph¸p:
APPEND [BLANK]
APPEND FROM <TÖp_CSDL> [FOR <BtL>]
4. ChÌn b¶n ghi vµo tÖp CSDL:
- Có ph¸p:
INSERT [BLANK] [BEFORE]
INSERT FORM <TÖp_CSDL> [FOR <BtL>]
5. Xem cÊu tróc tÖp CSDL:
- Có ph¸p:
LIST STRUCTURE
DISPLAY STRUCTURE
6. Xem néi dung tÖp CSDL:
- Có ph¸p:
LIST [<Ph¹m vi>] [FIELDS <DS tr-êng>]
[FOR <BtL1>] [WHILE <BtL2>]
[OFF] [TO PRINTTO FILE <Tªn_tÖp>]
7. Xem, söa, thªm c¸c b¶n ghi:
- Có ph¸p:
BROWSE [FIELDS <DS tr-êng>] [FOR <BtL1>]
[TITLE <BtC1>] [WIDTH <BtN1>]
[LPARTITION] [PARTITION <BtN2>]
[NOLINK] [LEDIT] [REDIT] [LOCK <BtN3>]
[FREEZE <Tªn tr-êng>]
[NOEDITNOMODIFY] [NOAPPEND] [NODELETE]
+ §Ó bæ sung mét b¶n ghi vµo cuèi tÖp CSDL ta bÊm Ctrl+N.
+ §Ó ®¸nh dÊu xo¸ b¶n ghi ta bÊm Ctrl+T.
+ FILEDS <DS tr-êng>: ChØ hiÓn thÞ nh÷ng tr-êng cã trong danh s¸ch.
+ FOR <BtL1>: ChØ lµm viÖc víi c¸c b¶n ghi tho¶ m·n <BtL1>.
+TITLE <BtC1>: Dïng <BtC1> lµm tiªu ®Ò cña cöa sæ Browse thay cho tiªu ®Ò ngÇm ®Þnh
lµ tªn tÖp CSDL.
+ WIDTH <BtN1>: PhÇn nµy quy ®Þnh chiÒu réng tèi ®a ®Ó hiÓn thÞ mét tr-êng trªn mµn
h×nh lµ <BtN1>. NÕu kh«ng cã thµnh phÇn nµy th× ®é réng dµnh cho c¸c tr-êng chÝnh lµ ®é
réng cña kiÓu d÷ liÖu cña tr-êng ®ã. VÝ dô WIDTH 10 th× trong cöa sæ tr×nh duyÖt sÏ dµnh
cho c¸c tr-êng tèi ®a lµ 10 ký tù.
+ PARTITION <BtN2>: Theo mÆc ®Þnh cöa sæ Browse chiÕm toµn mµn h×nh (phãng to thu
nhá cöa sæ b»ng c¸ch bÊm Ctrl+F10). Tõ kho¸ trªn sÏ ph©n mµn h×nh thµnh 2 phÇn theo chiÒu
däc. PhÇn bªn tr¸i gåm <BtN2> cét, phÇn bªn ph¶i lµ sè cét cßn l¹i cña mµn h×nh (mµn h×nh
cã 80 cét vµ 24 dßng).
B×nh th-êng con trá sÏ n»m ë phÇn bªn ph¶i. Di chuyÓn con trá (vÖt s¸ng) gi÷a hai phÇn
b»ng c¸ch bÊm Ctrl+H.
Theo ngÇm ®Þnh, khi vÖt s¸ng ë mét phÇn di chuyÓn th× vÖt s¸ng ë phÇn kia còng di chuyÓn
theo. Ta cã thÓ bá chÕ ®é liªn kÕt nµy b»ng tõ kho¸ NOLINK (hoÆc bÊm Ctrl+B råi chän
Unlink Partition).
+ LPARTITION: Tõ kho¸ nµy quy ®Þnh con trá mµn h×nh ë khu vùc tr¸i ngay sau khi khëi
®éng lÖnh Browse víi tõ kho¸ PARTITION.
+ LEDIT vµ REDIT: Khi dïng PARTITION, trong c¶ hai phÇn cña cöa sæ BROWSE ®Òu
hiÖn theo d¹ng Browse (d¹ng hµng ngang), ta cã thÓ cho hiÖn theo d¹ng Change (d¹ng hµng
däc). NÕu muèn phÇn bªn tr¸i hiÖn d¹ng Change th× dïng tõ kho¸ LEDIT, nÕu muèn phÇn bªn
ph¶i hiÖn d¹ng Change th× dïng tõ kho¸ REDIT (hoÆc bÊm Ctrl+B råi chän Change).
+ LOCK <BtN3>: Tõ kho¸ nµy dïng ®Ó cè ®Þnh <BtN3> tr-êng liªn tôc bªn tr¸i, chóng sÏ
kh«ng bÞ tr«i khi cuén mµn h×nh theo chiÒu ngang. NÕu muèn cè ®Þnh c¸c tr-êng kh«ng liªn
tôc th× ph¶i ®i kÌm víi FIELDS <DS tr-êng>.
+ FREEZE <Tªn tr-êng>: ChØ cho phÐp söa ®æi vµ di chuyÓn trong mét tr-êng ®· chØ ®Þnh.
+ NOEDIT hay NOMODIFY: Kh«ng cho phÐp chØnh söa d÷ liÖu.
+ NOAPPEND: Kh«ng cho phÐp bæ sung b¶n ghi vµo CSDL (b»ng c¸ch bÊm Ctrl+N).
+ NODELETE: Kh«ng cho phÐp ®¸nh dÊu xo¸ c¸c b¶n ghi (b»ng c¸ch bÊm Ctrl+T)

Bµi 3: Qu¶n lý cÊu tróc tÖp vµ b¶n ghi


1. Söa cÊu tróc tÖp CSDL:
- Có ph¸p:
Modify Structure
+ LÖnh trªn dïng ®Ó söa cÊu tróc tÖp CSDL ®ang ®-îc më.
+ Khi dïng lÖnh nµy, cöa sæ thiÕt kÕt cÊu tróc CSDL ®-îc më, ta cã thÓ thªm tr-êng, thay
®æi tªn, thay ®æi kiÓu d÷ liÖu cña c¸c tr-êng.
+ NÕu tÖp CSDL cã c¸c tr-êng Memo th× tÖp cò l-u tr-êng Memo lµ *.FPT sÏ ®æi thµnh
*.TBK.
+ Khi söa xong bÊm Ctrl+W ®Ó ghi l¹i (m¸y sÏ hái “Make structure changes permanent” ta
chän YES) hoÆc bÊm ESC ®Ó huû bá viÖc söa ®æi.
- Chó ý:
+ NÕu kiÓu d÷ liÖu cña mét tr-êng sau khi ta thay ®æi mµ phï hîp víi d÷ liÖu cña tÖp cò th×
d÷ liÖu cña tÖp cò chuyÓn sang tÖp míi. NÕu kh«ng phï hîp sÏ bÞ xo¸ bá (VÝ dô: KiÓu
Number söa thµnh kiÒu Character lµ phï hîp nh-ng kiÓu Character ®æi thµnh kiÓu Number sÏ
kh«ng phï hîp).
+ NÕu ta thay ®æi tªn tr-êng vµ kiÓu tr-êng hoÆc tªn tr-êng vµ ®é réng cña tr-êng th×
Foxpro coi ®©y lµ mét tr-êng míi vµ sÏ huû bá hÕt d÷ liÖu cña tr-êng nµy. Trong tr-êng hîp
nµy ta ph¶i tiÕn hµnh hai lÇn söa cÊu tróc: lÇn thø nhÊt söa mäi thay ®æi cña tr-êng nh-ng
kh«ng söa tªn tr-êng råi ghi l¹i, lÇn thø hai chØ söa tªn tr-êng.
+ V× viÖc söa ®æi cÊu tróc tÖp dÔ gÆp rñi ro nªn tr-íc khi söa ®æi ta nªn sao l¹i mét b¶n ®Ó
l-u tr÷, nÕu cã g× trôc trÆc ta vÉn cßn b¶n cò.
2. Sao chÐp cÊu tróc tÖp CSDL:
- Có ph¸p:
COPY STRUCTURE TO <tªn_tÖp.DBF> [FIELDS <DS tr-êng>]
+ LÖnh nµy sao chÐp cÊu tróc tÖp CSDL ®ang më sang mét tÖp míi lµ <Tªn_tÖp.DBF>
+ TÖp míi t¹o thµnh chØ cã cÊu tróc, ch-a cã néi dung b¶n ghi.
+ NÕu cã thµnh phÇn FIELDS <DS tr-êng> th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi
®-îc sao chÐp, tøc lµ tÖp míi t¹o thµnh chØ bao gåm c¸c tr-êng cã trong danh s¸ch.
3. Sao l-u cÊu tróc:
- Có ph¸p:
COPY STRUCTURE EXTENDED TO <Tªn_tÖp.DBF>
[FIELDS <DS tr-êng>]
+ LÖnh nµy sÏ sao chÐp cÊu tróc cña tÖp CSDL ®ang më thµnh c¸c b¶n ghi cña
<Tªn_tÖp.DBF>. TÖp CSDL míi t¹o thµnh nµy cã bèn tr-êng cè ®Þnh:
* FIELD_NAME C(10): Ghi tªn c¸c tr-êng cña tÖp CSDL cÇn l-u.
* FIELD_TYPE C(1): Ghi kiÓu cña tr-êng.
* FIELD_LEN N(3,0): Ghi ®é réng cña tr-êng.
* FILED_DEC N(3,0): Ghi sè ch÷ sè sau phÇn thËp ph©n cña tr-êng sè.
+ NÕu cã thµnh phÇn FIELDS <DS tr-êng> th× chØ nh÷ng tr-êng n»m trong danh s¸ch cña
tÖp CSDL ®ang më míi ®-îc sao.
- Chó ý: Sau khi l-u cÊu tróc cña tÖp ®ang më sang <Tªn_tÖp.DBF>, ta cã thÓ t¹o mét tÖp
CSDL míi cã cÊu tróc t-¬ng øng víi c¸c b¶n ghi cña <Tªn_tÖp.DBF> b»ng lÖnh:
CREATE <TÖp_míi.DBF> FROM <Tªn_tÖp.DBF>
4. Sao chÐp cÊu tróc vµ b¶n ghi:
- Có ph¸p:
COPY TO <Tªn_tÖp.DBF>
[FIELDS <DS tr-êng>] [<Ph¹m vi>]
[FOR <BtL1>] [WHILE <btL2>]
+ LÖnh trªn sÏ sao chÐp cÊu tróc cïng b¶n ghi cña tÖp CSDL ®ang më sang tÖp CSDL míi lµ
<Tªn_tÖp.DBF>.
+ NÕu cã thµnh phÇn FIELDS <DS tr-êng> th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi
®-îc sao chÐp.
+ NÕu cã <Ph¹m vi> th× chØ nh÷ng b¶n ghi n»m trong <Ph¹m vi> míi ®-îc sao chÐp.
+ NÕu cã FOR <BtL1> th× chØ nh÷ng b¶n ghi tho¶ m·n <BtL1> míi ®-îc sao chÐp.
+ NÕu cã WHILE <btL2> th× c«ng viÖc sao chÐp chØ diÔn ra chõng nµo <BtL2> cßn ®óng.
Khi <btL2> nhËn gi¸ trÞ sai th× viÖc sao chÐp sÏ dõng.
5. Xo¸ b¶n ghi:
a. §¸nh dÊu xo¸ b¶n ghi:
- §Ó xo¸ b¶n ghi khái tÖp CSDL tr-íc hÕt ta ph¶i ®¸nh dÊu xo¸ b¶n ghi ®ã.
- Có ph¸p:
DELETE [<Ph¹m vi>] [FOR <BtL1>] [WHILE <BTL2>]
+ LÖnh trªn sÏ ®¸nh dÊu xo¸ c¸c b¶n ghi. NÕu kh«ng cã c¸c thµnh phÇn tïy chän th× sÏ ®¸nh
dÊu xo¸ tÊt c¶ c¸c b¶n ghi.
+ NÕu cã <Ph¹m vi> th× chØ ®¸nh dÊu xo¸ nh÷ng b¶n ghi n»m trong <Ph¹m vi>.
+ NÕu cã FOR <BtL1> th× chØ ®¸nh dÊu xo¸ nh÷ng b¶n ghi tho¶ m·n <BtL1>.
+ NÕu cã WHILE <BTL2> th× sÏ ®¸nh dÊu xo¸ nh÷ng b¶n ghi ®Õn khi <BtL2> nhËn gi¸ trÞ
sai.
b. Kh«i phôc ®¸nh dÊu xo¸:
- Có ph¸p:
RECALL [<Ph¹m vi>] [FOR <BtL1>] [WHILE <BtL2>]
+ LÖnh trªn sÏ kh«i phôc l¹i c¸c b¶n ghi ®· bÞ ®¸nh dÊu xo¸.
+ NÕu cã FOR <BtL1> th× chØ kh«i phôc c¸c b¶n ghi tho¶ m·n <BtL1>.
+ NÕu cã WHILE <BtL2> th× viÖc kh«i phôc chØ x¶y ra chõng nµo <BtL2> cßn ®óng.
c. Xo¸ b¶n ghi khái tÖp CSDL:
- Có ph¸p: PACK
+ LÖnh trªn sÏ xo¸ tÊt c¶ c¸c b¶n ghi ®· bÞ ®¸nh dÊu xo¸.
d. Xo¸ tÊt c¶ c¸c b¶n ghi khái tÖp CSDL:
- Có ph¸p: ZAP
+ LÖnh trªn sÏ xo¸ tÊt c¶ c¸c b¶n ghi cña tÖp CSDL hiÖn hµnh mµ kh«ng cÇn ®¸nh dÊu xo¸,
t-¬ng ®-¬ng víi c¸c c©u lÖnh:
Delete All
Pack
e. C¸c lÖnh vµ c¸c hµm liªn quan:
- LÖnh SET DELETE ON/OFF: §Æt chÕ ®é xö lý c¸c b¶n ghi bÞ ®¸nh dÊu xo¸. Ta cã thÓ t¹m
thêi che c¸c b¶n ghi bÞ ®¸nh dÊu xo¸ b»ng lÖnh SET DELETE ON, khi ®ã c¸c b¶n ghi ®· bÞ
®¸nh dÊu xo¸ sÏ t¹m thêi bÞ che ®i coi nh- kh«ng tån t¹i. NÕu ta dïng c¸c lÖnh DISPLAY,
LIST th× c¸c b¶n ghi ®ã sÏ kh«ng ®-îc hiÖn lªn.
- Hµm Delete(): Tr¶ vÒ kÕt qu¶ gi¸ trÞ Logic, cho biÕn b¶n ghi hiÖn hµnh cã bÞ ®¸nh dÊu xo¸
(TRUE) hay kh«ng (FALSE).

Bµi 4: Qu¶n lý c¸c tÖp

1. LÖnh DIR:
- Có ph¸p:
DIR <Tªn_tÖp>
+ LÖnh trªn dïng ®Ó liÖt kª c¸c tÖp CSDL trong th- môc hiÖn hµnh.
+ Trong <Tªn_tÖp> cã thÓ dïng c¸c ký tù ®¹i diÖn:
* DÊu * ®¹i diÖn cho mét nhãm ký tù.
* DÊu ? ®¹i diÖn cho mét ký tù.
+ NÕu chØ dïng lÖnh DIR th× Foxpro liÖt kª tÊt c¶ c¸c tÖp CSDL trong th- môc hiÖn hµnh.
2. LÖnh DISPLAY FILES:
- Có ph¸p:
DISPLAY FILES [ON <§-êng dÉn>]
[LIKE <Nhãm tÖp>] [TO PRINTER]
+ LÖnh trªn cho hiÓn thÞ c¸c tÖp.
+ NÕu cã ON <§-êng dÉn> th× sÏ hiÓn thÞ c¸c tÖp ë th- môc chØ ra trong <®-êng dÉn>.
+ NÕu cã LIKE <Nhãm tÖp> th× sÏ hiÓn thÞ c¸c tÖp theo nhãm chØ ®Þnh.
+ Muèn in kÕt qu¶ ra m¸y in, ta thªm thµnh phÇn TO PRINTER.
3. LÖnh DELETE:
- Có ph¸p:
DELETE FILE <Tªn_tÖp>
ERASE <Tªn_tÖp>
+ Hai lÖnh trªn cã t¸c dông xo¸ <Tªn_tÖp> khái ®Üa.
+ Cã thÓ dïng c¸c ký tù ®¹i diÖn nh- dÊu * ?
4. LÖnh COPY FILE:
- Có ph¸p:
COPY FILE <TÖp_nguån> TO <TÖp_®Ých>
+ LÖnh trªn sÏ sao chÐp <TÖp_nguån> thµnh mét tÖp n÷a cã tªn lµ <TÖp_®Ých>.
+ <TÖp_nguån> ph¶i ë tr¹ng th¸i ®ãng.
5. LÖnh RENAME:
- Có ph¸p:
RENAME <Tªn_cò> TO <Tªn_míi>
+ LÖnh trªn sÏ ®æi tªn cña tÖp cã tªn lµ <Tªn_cò> thµnh <Tªn_míi>.
+ TÖp cÇn ®æi tªn <Tªn_cò> ph¶i ë tr¹ng th¸i ®ãng.
6. LÖnh TYPE:
- Có ph¸p:
TYPE <Tªn_tÖp1> [TO PRINTERTO FILE <Tªn_tÖp2>]
+ LÖnh trªn dïng ®Ó xem néi dung cña tÖp v¨n b¶n nh- c¸c tÖp *.txt, *.prg, *.pas
+ NÕu cã TO PRINTER th× néi dung tÖp sÏ ®-îc ®-a ra m¸y in.
+ NÕu cã TO FILE th× néi dung cña <Tªn_tÖp1> sÏ ®-îc sao chÐp sang tÖp míi lµ
<Tªn_tÖp2>.
7. LÖnh RUN:
- Có ph¸p:
RUN <LÖnh DOS>
! <LÖnh DOS>
+ Hai lÖnh trªn dïng ®Ó thùc hiÖn mét lÖnh bÊt kú cña MS-DOS.
8. LÖnh SET DEFAULT TO:
- Có ph¸p:
SET DEFAULT TO <§-êng dÉn>
+ LÖnh trªn ®Æt th- môc lµm viÖc míi ®-îc chØ ra trong <§-ên dÉn>
9. C¸c hµm lµm viÖc víi CSDL:
BOF(): Cho gi¸ trÞ .T. nÕu ta ra lÖnh chuyÓn con trá b¶n ghi lªn trªn b¶n ghi ®Çu tiªn.
EOF(): Cho gi¸ trÞ .T. nÕu con trá b¶n ghi ®· ®Æt ë cuèi tÖp (b¶n ghi cuèi cïng cña tÖp ch-
ph¶i lµ cuèi tÖp, b¶n ghi ë cuèi tÖp dïng ®Ó l-u th«ng tin vÓ tæng sè b¶n ghi cña tÖp).
RECNO(): Cho sè thø tù cña b¶n ghi hiÖn hµnh. NÕu con trá ®· ë cuèi tÖp th× hµm sÏ cho
tæng sè b¶n ghi céng 1.
RECCOUNT(): Cho tæng sè b¶n ghi cña tÖp CSDL.
FCOUNT(): Cho sè tr-êng cña tÖp CSDL ®ang më.
FIELD(n): Cho biÕt tªn cña tr-êng thø n (d-íi d¹ng ch÷ hoa) trong tÖp CSDL ®ang më.
FSIZE(‘Tªn_tr-êng’): Cho ®é réng cña ‘Tªn_tr-êng’ trong tÖp CSDL.
DBF(): Cho biÕt tªn cïng c¶ ®-êng dÉn cña tÖp CSDL ®ang më.
FILE(‘§-êng_dÉn\Tªn_tÖp’): Cho gi¸ trÞ .T. nÕu ‘Tªn_tÖp’ ®-îc chØ ra ®· cã trªn ®Üa.

Bµi 5: T×m kiÕm tuÇn tù - S¾p xÕp vËt lý trªn CSDL

1. T×m kiÕm tuÇn tù:


- Có ph¸p:
LOCATE FOR <BtL> [<Ph¹m vi>]
+ LÖnh trªn sÏ t×m kiÕm c¸c b¶n ghi trªn toµn tÖp tho¶ m·n <BtL> b¾t ®Çu tõ b¶n ghi ®Çu
tiªn.
+ NÕu t×m thÊy, hµm Found() cho gi¸ trÞ .T. hµm Recno() cho biÕt sè hiÖu b¶n ghi cña b¶n
ghi võa t×m ®-îc, Foxpro sÏ ®Þnh vÞ con trá vµo b¶n ghi t×m ®-îc.
+ NÕu kh«ng t×m thÊy, hµm Found() chi gi¸ trÞ .F. hµm Eof() cho gi¸ trÞ .T. tøc lµ con trá b¶n
ghi ®· ë cuèi tÖp.
+ Trong tr-êng hîp t×m thÊy, ®Ó t×m tiÕp ta thùc hiÖn lÖnh:
CONTINUE
Cho tíi khi mµn h×nh th«ng b¸o “End of Locate Scope”, lóc nµy hµm Eof() cã gi¸ trÞ .T. hµm
Found() cã gi¸ trÞ .F.
2. S¾p xÕp vËt lý trªn CSDL:
- Tr-íc khi s¾p xÕp d÷ liÖu, ph¶i x¸c ®Þnh s¾p xÕp theo tr-êng nµo, theo thø tù t¨ng dÇn hay
gi¶m dÇn, tr-êng nµo -u tiªn s¾p xÕp tr-íc, cã ph©n biÖt ch÷ hoa hay ch÷ th-êng kh«ng.
- C¸c chØ tiªu ph©n lo¹i trong khi s¾p xÕp:
/A (viÕt t¾t cña Ascending): s¾p xÕp theo thø tù t¨ng dÇn.
/D (viÕt t¾t cña Descending): s¾p xÕp theo thø tù gi¶m dÇn.
/C: kh«ng ph©n biÖt ch÷ hoa hay ch÷ th-êng.
Theo ngÇm ®Þnh, Foxpro s¾p xÕp theo chiÒu t¨ng dÇn vµ cã ph©n biÖt ch÷ hoa hay ch÷
th-êng.
- Có ph¸p:
SORT TO <TÖp_míi> ON <Tr-êng 1> [/A/D][/C]
[,<Tr-êng 2> [/A/D][/C]...]
[<Ph¹m vi>] [FOR <BtL1>][WHILE <btL2>]
[FIELDS <DS tr-êng>]
- Gi¶i thÝch:
+ LÖnh SORT s¾p xÕp c¸c b¶n ghi cña tÖp ®ang më theo c¸c tr-êng ®-îc chØ ®Þnh sau ON vµ
ghi ra tÖp <TÖp_míi>, c¸c tr-êng ë ®Çu -u tiªn xÕp tr-íc.
+ NÕu cã <Ph¹m vi> th× chØ nh÷ng b¶n ghi n»m trong <Ph¹m vi> míi ®-îc s¾p xÕp sang
<TÖp_míi>. NÕu kh«ng cã <Ph¹m_vi> th× s¾p xÕp tÊt c¶ c¸c b¶n ghi.
+ NÕu cã FIELDS <DS tr-êng> th× chØ nh÷ng tr-êng n»m trong danh s¸ch míi ®-îc s¾p xÕp
sang <TÖp_míi>.
+ Thµnh phÇn FOR <BtL1> dïng ®Ó giíi h¹n c¸c b¶n ghi, chØ nh÷ng b¶n ghi tho¶ m·n
<BtL1> míi ®-îc s¾p xÕp sang <TÖp_míi>.
+ NÕu cã thµnh phÇn WHILE <BtL2> th× c«ng viÖc s¾p xÕp ®-îc tiÕn hµnh chõng nµo
<BtL2> cßn ®óng.
3. LÖnh thay thÕ tr-êng:
- Có ph¸p:
REPLACE <Tr-êng 1> WIDTH <Bt1> [,<Tr-êng 2> WIDTH <Bt2>...]
[<Ph¹m vi>] [FOR <BtL1>] [WHILE <BtL2>]
- Gi¶i thÝch:
+ LÖnh trªn thay thÕ <Tr-êng 1> bëi <Bt1>, <Tr-êng 2> bëi <Bt2>... cña c¸c b¶n ghi thuéc
<Ph¹m vi>. NÕu kh«ng cã <Ph¹m vi th× chØ thay thÕ trªn b¶n ghi hiÖn t¹i.
+ NÕu cã FOR <BtL1> th× chØ thay thÕ c¸c b¶n ghi trong <Ph¹m vi> vµ tho¶ m·n <BtL1>.
+ NÕu cã WHILE <BtL2> th× c«ng viÖc thay thÕ c¸c b¶n ghi trªn tr-êng ®-îc chØ ®Þnh diÔn
ra chõng nµo <BtL2> cßn ®óng.

Bµi 6: S¾p xÕp theo tÖp chØ sè

1. Kh¸i niÖm:
- Khi nhËp d÷ liÖu b»ng c¸c lÖnh Append, Browse, c¸c b¶n ghi míi ®-îc nèi vµo cuèi tÖp vµ
®-îc s¾p xÕp cè ®Þnh theo mét thø tù vËt lý, ®-îc ®Æc tr-ng bëi sè hiÖu b¶n ghi. C¸c b¶n ghi
khi ®· l-u vµo tÖp th× kh«ng thÓ lµm ®¶o lén chóng, v× thÕ muèn s¾p xÕp chóng ta ph¶i sao
chÐp chóng sang mét tÖp kh¸c theo mét trËt tù míi b»ng lÖnh SORT.
- Khi s¾p xÕp vËt lý b»ng lÖnh SORT cã nhiÒu nh-îc ®iÓm nh-: Qu¸ tr×nh s¾p xÕp diÔn ra rÊt
l©u nÕu sè l-îng b¶n ghi lín, khi bæ sung thªm b¶n ghi míi th× trËt tù s¾p xÕp cã thÓ kh«ng
cßn ®óng n÷a v× b¶n ghi míi bæ sung lu«n n»m cuèi tÖp.
- Foxpro cho phÐp s¾p xÕp theo Logic b»ng c¸ch t¹o mét tÖp trung gian cã kÝch th-íc rÊt nhá
gäi lµ tÖp chØ sè. øng víi mçi tÖp CSDl ta cã thÓ t¹o nhiÒu tÖp chØ sè t-¬ng øng víi nhiÒu -u
tiªn s¾p xÕp kh¸c nhau. ViÖc chuyÓn tõ thø tù -u tiªn nµy sang thø tù -u tiªn kh¸c rÊt thuËn
tiÖn.
- TÖp chØ sè ®-îc t¹o ra chØ gåm c¸c tr-êng -u tiªn s¾p xÕp vµ mét tr-êng chøa sè hiÖu b¶n
ghi nªn tÖp cã dung l-îng rÊt nhá, tÖp chØ sè cã quan hÖ t-¬ng øng víi tÖp CSDL nhê sè hiÖu
b¶n ghi.
- Víi tÖp chØ sè ta cã thÓ t×m kiÕm dÔ dµng vµ nhanh h¬n t×m kiÕm tuÇn tù trªn tÖp CSDL. Khi
thù hiÖn mét lÖnh t×m kiÕm, tr-íc hÕt Foxpro sÏ dß t×m trªn tÖp chØ sè, nÕu t×m thÊy b¶n ghi
tho¶ m·n ®iÒu kiÖn t×m kiÕm th× sÏ chiÕu sang tÖp CSDl ®Ó lÊy d÷ liÖu ®Çy ®ñ cña b¶n ghi ®ã
th«ng qua sè hiÖu b¶n ghi.
VÝ dô: gi¶ sö tÖp hsns.dbf gåm c¸c b¶n ghi:
Record # HODEM TEN KHOA
1 Nguyen Van Thanh Kinh te
2 Le Thi Linh Ke toan
3 Le Van Xuan Marketing
4 Tran Van Hanh Du lich
NÕu s¾p xÕp theo thø tù ABC cña tr-êng TEN th× tÖp chØ sè sÏ gåm hai cét:
Gi¸ trÞ khãa Recno
Hanh 4
Linh 2
Thanh 1
Xuan 3
B©y giê cÇn t×m kiÕm mét ng-êi tªn lµ “Linh”, m¸y sÏ dß t×m ë cét thø nhÊt cña tÖp chØ sè
®Õn ng-êi tªn lµ “Linh”, viÖc dß t×m trªn tÖp ®· ®-îc s¾p xÕp sÏ nhanh h¬n nhiÒu so víi tÖp
ch-a ®-îc s¾p xÕp. Sau ®ã dãng hµng ngang sang cét thø hai ®-îc sè hiÖu b¶n ghi lµ 3 cã
nghÜa th«ng tin vÒ ng-êi cÇn t×m n»m trong b¶n ghi sè 3 trong tÖp CSDL gèc. Nh- vËy Foxpro
sÏ chiÕu sang b¶n ghi thø 3 cña tÖp CSDL gèc ®Ó lÊy th«ng tin.
- Theo c¸ch thøc ho¹t ®éng cña tÖp chØ sè cã thÓ chia tÖp chØ sè thµnh ba lo¹i: TÖp chØ sè
chuÈn IDX (Index file), tÖp chØ sè kÕt hîp CDX ®éc lËp (Independent Conmpound Index file)
vµ tÖp chØ sè kÕt hîp CDX kh«ng ®éc lËp (Structural Compound Index file).
2. TÖp chØ sè chuÈn:
a. T¹o tÖp chØ sè chuÈn:
- Có ph¸p:
INDEX ON <BiÓu thøc kho¸> TO <TÖp.IDX>
[FOR <BtL>] [COMPACT] [UNIQUE] [ADDITIVE]
- Gi¶i thÝch:
+ <BiÓu thøc kho¸> cã thÓ lµ tªn tr-êng, biÓu thøc mµ cã biÕn tr-êng tham gia. ViÖc s¾p xÕp
lu«n theo thø tù <BiÓu thøc kho¸> t¨ng dÇn, kh«ng cho phÐp s¾p xÕp theo thø tù gi¶m dÇn.
+ TO <TÖp.IDX> sÏ chØ thÞ viÖc t¹o tÖp chØ sè cã tªn lµ <tÖp.IDX>. T¹o xong, tÖp chØ sè
®-îc më vµ con trá b¶n ghi n»m ë b¶n ghi cã chØ sè kho¸ thÊp nhÊt.
+ NÕu FOR <BtL> th× chØ nh÷ng b¶n ghi tho¶ m·n <BtL> míi ®-îc s¾p xÕp.
+ Tõ kho¸ COMPACT sÏ gióp cho viÖc t¹o chØ sè nhanh h¬n.
+ NÕu cã UNIQUE th× Foxpro chØ lÊy mét b¶n ghi ®Çu tiªn trong nh÷ng b¶n ghi trïng kho¸
s¾p xÕp ®Ó ®-a ra tÖp chØ sè.
+ NÕu cã thªm tõ kho¸ ADDITIVE th× tÖp chØ sè míi t¹o sÏ lµ tÖp chØ sè chñ vµ kh«ng ®ãng
c¸c tÖp chØ sè ®ang më (TÖp CSDL sÏ s¾p xÕp theo <BiÓu thøc kho¸> cña tÖp chØ sè chñ).
b. Më tÖp chØ sè chuÈn:
- Trong bé nhí m¸y tÝnh cã thÓ cã nhiÒu tÖp chØ sè IDX cïng hoÆt ®éng g¾n liÒn víi CSDL
(tøc lµ cã nhiÒu c¸ch s¾p xÕp cïng ho¹t ®éng). Nh-ng trong sè ®ã chØ cã mét tÖp chØ sè chñ
(Master Index File), khi hiÓn thÞ c¸c b¶n ghi ta thÊy c¸c b¶n ghi ®-îc s¾p xÕp theo tÖp chØ sè
chñ.
- Cã hai c¸ch më tÖp chØ sè lµ: më CSDL råi më tÖp chØ sè hoÆc më c¸c tÖp chØ sè ®ång thêi
víi CSDL.
- C¸ch 1:
SET INDEX TO <Danh s¸ch c¸c tÖp IDX>
[ORDER <BtN><TÖp chØ sè chñ IDX>]
[ASCENDINGDESCENDING] [ADDITIVE]
- Gi¶i thÝch:
+ <Danh s¸ch c¸c tÖp IDX>: C¸c tÖp chØ sè trong danh s¸ch sÏ ®-îc më, tÖp chØ sè ®Çu tiªn
(theo ngÇm ®Þnh) sÏ lµ tÖp chØ sè chñ.
+ NÕu cã [ORDER <BtN><TÖp chØ sè chñ IDX>] th× tÖp chØ sè cã thø tù lµ <BtN> trong
<Danh s¸ch c¸c tÖp IDX> sÏ lµ tÖp chØ sè chñ. NÕu dïng order 0 th× c¸c tÖp chØ sè ®-îc më
nh-ng kh«ng cã tÖp chØ sè chñ. Cã thÓ ®Æt tÖp chØ sè chñ b»ng c¸c gäi trùc tiÕp tªn <TÖp chØ
sè chñ IDX>.
+ ASCENDINGDESCENDING: Dïng kÌm víi ORDER ®Ó quy ®Þnh l¹i chiÒu t¨ng
(ASCENDING) hay gi¶m (DESCENDING) dÇn cña kho¸ s¾p xÕp. C¸c tõ kho¸ nµy chØ cã t¸c
dông khi xuÊt d÷ liÖu (vÝ dô lÖnh LIST), song thø tù s¾p xÕp cña tÖp chØ sè vÉn kh«ng thay ®æi
(vÉn theo thø tù t¨ng dÇn).
+ NÕu cã ADDITIVE th× më c¸c tÖp chØ sè míi nh-ng kh«ng ®ãng c¸c tÖp chØ sè ®· më tõ
tr-íc.
- C¸ch 2:
USE <Tªn_tÖp.DBF> INDEX <Danh s¸ch c¸c tÖp IDX>
[ORDER <BtN><TÖp chØ sè chñ IDX>]
[ASCENDINGDESCENDING]
C¸c tõ kho¸ dïng gièng nh- c¸ch 1.
c. §æi tÖp chØ sè chñ:
- Trong khi lµm viÖc ta cã thÓ ®æi ®Ýnh môc chñ ®Ó s¾p xÕp l¹i trËt tù cña c¸c b¶n ghi theo ý
muèn.
- Có ph¸p:
SET ORDER TO <BtN><TÖp chØ sè chñ IDX>
[ASCENDINGDESCENDING]
- Gi¶i thÝch:
+ Khi dïng lÖnh nµy th× tÖp chØ sè cã thø tù lµ <BtN> trong danh s¸ch c¸c tÖp chØ sè IDX
®ang më sÏ lµm chØ sè chñ. Cã thÓ chØ ®Ých danh tÖp chØ sè chñ lµ <Tªn tÖp chØ sè IDX>.
+ C¸c tõ kho¸ [ASCENDINGDESCENDING] quy ®Þnh chiÒu t¨ng hay gi¶m cña kho¸ s¾p
xÕp khi xuÊt d÷ liÖu, song thø tù s¾p xÕp cña tÖp chØ sè kh«ng thay ®æi.
- Khi tr¶ l¹i thø tù vËt lý ban ®Çu cña tÖp CSDL mµ kh«ng cÇn ®ãng bÊt kú tÖp chØ sè nµo ta
dïng lÖnh: SET ORDER TO 0
d. §ãng tÖp chØ sè:
- C¸c có ph¸p:
SET INDEX TO: §ãng tÊt c¶ c¸c tÖp chØ sè ®ang më.
CLOSE INDEX: §ãng c¸c tÖp chØ sè.
CLOSE ALL: §ãng tÊt c¶ c¸c lo¹i tÖp (c¶ tÖp CSDL vµ tÖp chØ sè).
- Khi ®ãng mét tÖp CSDL th× tÖp chØ sè liªn quan tíi tÖp CSDL ®ã còng bÞ ®ãng theo.
3. TÖp chØ sè kÕt hîp ®éc lËp:
a. T¹o tÖp chØ sè kÕt hîp ®éc lËp:
- Có ph¸p:
INDEX ON <Bt kho¸> TAG <Tªn ®Ýnh môc> OF <Tªn tÖp.CDX>
[FOR <BtL] [ASCENDINGDESCENDING] [UNIQUE]
- Gi¶i thÝch:
+ LÖnh trªn sÏ t¹o mét tÖp chØ sè kÕt hîp ®éc lËp cã phÇn më réng lµ *.CDX, trong tÖp nµy
cã chøa <Tªn ®Ýnh môc> quy ®Þnh c¸ch s¾p xÕp. Trong tÖp cã thÓ cã nhiÒu ®Ýnh môc, mçi
®Ýnh môc quy ®Þnh mét kho¸ s¾p xÕp kh¸c nhau. §Ó t¹o nhiÒu ®Ýnh môc ta thùc hiÖn lÖnh
nhiÒu lÇn, mçi lÇn mét ®Ýnh môc víi mét <Bt kho¸>.
+ C¸c tõ kho¸ [ASCENDINGDESCENDING] quy ®Þnh thø tù s¾p xÕp lµ t¨ng dÇn (ngÇm
®Þnh) hay gi¶m dÇn.
+ NÕu cã tõ kho¸ UNIQUE th× Foxpro chØ lÊy mét b¶n ghi ®Çu tiªn trong sè c¸c b¶n ghi
trïng kho¸ s¾p xÕp ®Ó ®-a ra tÖp chØ sè.
b. Më tÖp chØ sè kÕt hîp ®éc lËp:
- Ta còng cã hai c¸ch ®Ó më tÖp chØ sè kÕt hîp ®éc lËp
- C¸ch 1:
SET INDEX TO <Tªn_tÖp.CDX>
[ORDER <BtN><§Ýnh môc chñ>]
[ASCENDINGDESCENDING]
- Gi¶i thÝch:
+ LÖnh trªn dïng ®Ó më tÖp chØ sè lµ <Tªn_tÖp.CDX>.
+ NÕu cã [ORDER <BtN><§Ýnh môc chñ>] th× sÏ quy ®Þnh ®Ýnh môc cã thø tù lµ <BtN>
hoÆc chØ ra tªn ®Ýnh môc lµm ®inh môc chñ. NÕu kh«ng cã order th× kh«ng cã ®Ýnh môc nµo
lµ ®Ýnh môc chñ.
+ C¸c tõ kho¸ ASCENDINGDESCENDING quy ®Þnh chiÒu s¾p xÕp t¨ng dÇn hay gi¶m dÇn
khi xuÊt d÷ liÖu.
- C¸ch 2:
USE <Tªn_tÖp.DBF> INDEX <Tªn_tÖp.CDX>
[ORDER <BtN><§Ýnh môc chñ>]
[ASCENDINGDESCENDING]
C¸c tõ kho¸ dïng gièng nh- c¸ch 1.
c. §æi ®Ýnh môc chñ:
- Có ph¸p:
SET ORDER TO <BtN><§Ýnh môc chñ>
[ASCENDINGDESCENDING]
- Gi¶i thÝch:
+ LÖnh trªn sÏ thay ®æi ®Ýnh môc chñ lµ ®Ýnh môc cã thø tù lµ <BtN> trong tÖp CDX hoÆc cã
thÓ chØ ®Ých danh <§Ýnh môc chñ>.
d. §ãng tÖp chØ sè:
- C¸c có ph¸p:
SET INDEX TO: §ãng tÊt c¶ c¸c tÖp chØ sè ®ang më.
CLOSE INDEX: §ãng c¸c tÖp chØ sè.
CLOSE ALL: §ãng tÊt c¶ c¸c lo¹i tÖp (c¶ tÖp CSDL vµ tÖp chØ sè).
- Khi ®ãng mét tÖp CSDL th× tÖp chØ sè liªn quan tíi tÖp CSDL ®ã còng bÞ ®ãng theo.
e. Xo¸ mét ®Ýnh môc khái tÖp chØ sè:
- Có ph¸p:
DELETE TAG <Tªn ®Ýnh môc> [OF <Tªn_tÖp.CDX>]
DELETE TAG ALL [OF <Tªn_tÖp.CDX>]
- Gi¶i thÝch:
+ LÖnh thø nhÊt xo¸ ®Ýnh môc cã tªn lµ <Tªn ®Ýnh môc> khái tÖp CDX.
+ LÖnh thø hai xo¸ tÊt c¶ c¸c ®Ýnh môc ®ång thêi xo¸ c¶ tÖp CDX.
+ NÕu cã tõ kho¸ OF <Tªn_tÖp.CDX> sÏ xo¸ c¸c ®Ýnh môc cña tÖp ®-îc chØ ®Þnh, nÕu
kh«ng sÏ xo¸ c¸c ®Ýnh môc cña tÖp chØ sè ®ang më.
4. C¸c hµm vµ c¸c lÖnh liªn quan ®Õn tÖp chØ sè:
- LÖnh xem tÖp chØ sè chñ:
DISPLAY STATUS
LÖnh nµy dïng ®Ó xem t×nh tr¹ng cña tÖp CSD: Tªn tÖp CSDL, c¸c tÖp chØ sè ®ang më vµ
kho¸ s¾p xÕp, tÖp chØ sè chñ.
- Hµm NDX(n): Cho biÕt tªn tÖp chØ sè IDX cã sè thø tù lµ n trong danh s¸ch c¸c tÖp chØ sè
®-îc më.
- Hµm KEY(n): Tr¶ l¹i biÓu thøc kho¸ cña tÖp IDX cã sè thø tù lµ n.
- Hµm ORDER(): Cho tªn tÖp chØ sè chñ cña tÖp CSDL ®ang më.
- Hµm SYS(21): Tr¶ l¹i sè thø tù cña tÖp chØ sè chñ.

Bµi 7: S¾p xÕp theo tÖp chØ sè (tiÕp)

1. TÖp chØ sè kÕt hîp kh«ng ®éc lËp:


a. T¹o tÖp chØ sè kÕt hîp kh«ng ®éc lËp:
- Có ph¸p:
INDEX ON <Bt kho¸> TAG <Tªn ®Ýnh môc>
[FOR <BtL>][ASCENDINGDESCENDING] [UNIQUE]
- Gi¶i thÝch:
+ LÖnh trªn sÏ t¹o tÖp chØ sè míi cã tªn trïng víi tªn cña tÖp CSDL.
+ C¸c tõ kho¸ dïng t-¬ng tù nh- lÖnh t¹o tÖp chØ sè kÕt hîp ®éc lËp.
b. Më tÖp chØ sè kÕt hîp kh«ng ®éc lËp:
- Khi më tÖp CSDL th× tÖp chØ sè kÕt hîp kh«ng ®éc lËp sÏ tù ®éng ®-îc më, nh-ng kh«ng cã
®Ýnh môc chñ.
- Muèn cã ®Ýnh môc chñ ngay khi më ta dïng lÖnh:
USE <Tªn_tÖp.DBF> ORDER <BtN><§Ýnh môc chñ>
c. §æi ®Ýnh môc chñ:
- Dïng lÖnh gièng nh- víi tÖp chØ sè kÕt hîp ®éc lËp.
d. §ãng tÖp chØ sè kÕt hîp kh«ng ®éc lËp:
- LÖnh Set Index To vµ Close Index kh«ng ®ãng ®-îc tÖp chØ sè lo¹i nµy, mµ nã chØ lµm cho
kh«ng cã ®Ýnh môc nµo lµ ®Ýnh môc chñ.
- Muèn ®ãng tÖp chØ sè kÕt hîp kh«ng ®éc lËp chØ cã c¸ch lµ ®ãng tÖp CSDL.
e. Xo¸ mét ®Ýnh môc khái tÖp chØ sè:
- Có ph¸p:
DELETE TAG <Tªn ®Ýnh môc>
DELETE TAG ALL
- Gi¶i thÝch:
+ LÖnh thø nhÊt xo¸ ®Ýnh môc trong tÖp chØ sè ®ang më.
+ LÖnh thø hai xo¸ tÊt c¶ c¸c ®Ýnh môc cïng tÖp chØ sè.
- Chó ý:
+ Khi gÆp lÖnh xãa ®Ýnh môc, Foxpro sÏ t×m ®Ýnh môc ®-îc chØ thÞ trong tÖp chØ sè kÕt hîp
kh«ng ®éc lËp tr-íc (nÕu cã), nÕu kh«ng t×m thÊy míi ®i t×m ë tÖp chØ sè kÕt hîp ®éc lËp ®ang
më.
2. CËp nhËt c¸c tÖp chØ sè:
- Khi dïng tÖp chØ sè ta ph¶i lu«n ®¶m b¶o sù t-¬ng thÝch gi÷a tÖp CSDL vµ c¸c tÖp chØ sè
liªn quan. Mäi sù cËp nhËt kh«ng ®ång bé ®Òu dÉn ®Õn nh÷ng sai sãt kh«ng thÓ l-êng tr-íc
®-îc.
- Khi CSDL thay ®æi, c¸c tÖp chØ sè hiÖn ®ang më sÏ tù ®éng thay ®æi theo cho phï hîp,
nh÷ng tÖp chØ sè kh«ng ®-îc më sÏ kh«ng ®-îc cËp nhËt. §Ó cËp nhËt l¹i tÖp chØ sè ta më tÖp
CSDL råi dïng lÖnh:
REINDEX
- LÖnh nµy sÏ chØ sè ho¸ l¹i tÊt c¶ c¸c tÖp chØ sè ®ang më sao cho phï hîp víi t×nh tr¹ng míi
nhÊt cña CSDL hiÖn hµnh.
- Nãi chung, tr-íc khi dïng thø tù cña c¸c tÖp chØ sè mµ kh«ng biÕt ch¾c cã lçi thêi hay
kh«ng th× ta nªn chØ sè ho¸ l¹i.
2. Sao chÐp gi÷a c¸c lo¹i tÖp chØ sè:
a. Sao chÐp c¸c tÖp chØ sè IDX vµo tÖp chØ sè CDX:
- Có ph¸p:
COPY INDEXS <Danh s¸ch tÖp IDX>ALL [TO <TÖp.CDX>]
- Gi¶i thÝch:
+ LÖnh nµy sÏ sao chÐp c¸c tÖp chØ sè IDX ®ang më vµ ®-îc liÖt kª trong <Danh s¸ch tÖp
IDX> thµnh c¸c ®Ýnh môc cña tÖp chØ sè kªt hîp ®éc lËp cã tªn lµ <TÖp.CDX>. NÕu
<TÖp.CDX> ch-a cã th× m¸y sÏ tù ®éng t¹o ra, tÖp nµy sÏ chØ sè ho¸ CSDL ®ang më.
+ NÕu dïng tham sè ALL thay v× <Danh s¸ch tªp. IDX> th× tÊt c¶ c¸c tÖp chØ sè ®ang më
®Òu ®-îc sao chÐp.
+ NÕu kh«ng cã TO <TÖp.CDX> th× sÏ sao chÐp c¸c tÖp chØ sè IDX thµnh c¸c ®Ýnh môc cña
tÖp chØ sè kÕt hîp CDX kh«ng ®éc lËp (trïng tªn víi tªn tÖp CSDL).
+ NÕu trong tÖp chØ sè CDX cã ®Ýnh môc trïng tªn víi tªn tÖp IDX trong danh s¸ch th× m¸y
sÏ hái cã chÐp ®Ì lªn kh«ng khi ®ang lµm viÖc ë chÕ ®é SET SAFETY ON.
b. Sao chÐp mét ®Ýnh môc thµnh tÖp chØ sè IDX:
- Có ph¸p:
COPY TAG <Tªn ®Ýnh môc> [OF <TÖp.CDX>] TO <TÖp.IDX>
- Gi¶i thÝch:
+ LÖnh nµy sÏ sao chÐp mét ®Ýnh môc cã tªn lµ <Tªn ®Ýnh môc> cña tÖp chØ sè kÕt hîp CDX
®ang më lµ <TÖp.CDX> thµnh tÖp chØ sè IDX.
+ NÕu kh«ng cã OF <TÖp.CDX> th× m¸y sÏ lÊy <Tªn ®Ýnh môc> cña tÖp chØ sè kÕt hîp
kh«ng ®éc lËp.
3. C¸c lÖnh t×m kiÕm nhê tÖp chØ sè:
a. LÖnh t×m kiÕm SEEK:
- ViÖc t×m kiÕm nhanh theo lÖnh Seek chØ ®-îc tiÕn hµnh khi tÖp CSDL ®· ®-îc chØ sè ho¸
- Có ph¸p:
SEEK <Bt>
- Gi¶i thÝch:
+ <Bt> lµ mét biÓu thøc cã gi¸ trÞ cïng kiÓu víi kiÓu gi¸ trÞ kho¸ trong tÖp chØ sè.
+ LÖnh nµy sÏ ®Þnh vÞ tíi b¶n ghi ®Çu tiªn cã gi¸ trÞ kho¸ trïng bíi gi¸ trÞ cña <Bt> nÕu t×m
thÊy, sÏ ®Þnh vÞ con trá tíi vÞ trÝ cuèi tÖp nÕu kh«ng t×m thÊy. Hµm Found() dïng ®Ó kiÓm tra
viÖc cã t×m thÊy hay kh«ng, nÕu t×m thÊy th× cho gi¸ trÞ lµ .T. cßn kh«ng t×m thÊy th× cho gi¸
trÞ lµ .F.
+ §Ó quÐt c¸c b¶n ghi kÕ tiÕp cã cïng gi¸ trÞ kho¸ sau khi ®-a vµo lÖnh Seek, ta dïng tõ
kho¸ While <BtL> trong c¸c lÖnh List, Display, Edit, Browse...
+ Trªn c¸c c¬ së d÷ liÖu lín, viÖc t×m kiÕm theo lÖnh Seek nhanh h¬n rÊt nhiÒu so víi lÖnh
Locate.
b. LÖnh t×m kiÕm FIND:
- Có ph¸p:
FIND <BtC>
- Gi¶i thÝch:
+ LÖnh trªn t×m kiÕm th«ng tin trªn tÖp ®· ®-îc chØ sè ho¸.
+ <BtC> cã thÓ lµ biÕn ký tù, biÓu thøc vµ chØ chÊp nhËn <BtC> lµ x©u ký tù. V× vËy x©u ký
tù trong lÖnh nµy kh«ng cÇn ph¶i ®Æt trong dÊu nh¸y ®¬n hay nh¸y kÐp.
+ LÖnh nµy so s¸nh <BtC> víi gi¸ trÞ cña kho¸ s¾p xÕp. NÕu viÖc so s¸nh thµnh c«ng th× con
trá b¶n ghi dõng l¹i ë b¶n ghi ®Çu tiªn cã kho¸ s¾p xÕp trïng víi <BtC>, muèn t×m tiÕp th× ta
ph¶i ra lÖnh SKIP (v× c¸c b¶n ghi cã cïng gi¸ trÞ kho¸ sÏ ®-îc s¾p xÕp liÒn nhau).
4. Mét sè nhËn xÐt vµ chó ý:
a. NhËn xÐt vÒ c¸c lo¹i tÖp chØ sè:
- TÖp chØ sè IDX cã ®Æc ®iÓm lµ mçi tÖp chØ sè øng víi mét thø tù s¾p xÕp, dïng thø tù s¾p
xÕp nµo th× më tÖp chØ sè t-¬ng øng. Hµn chÕ cña tÖp lo¹i nµy lµ chØ s¾p xÕp theo chiÒu t¨ng
dÇn cña kho¸, nÕu dïng nhiÒu thø tù s¾p xÕp th× sè l-îng tÖp trªn ®Üa sÏ nhiÒu, khi CSDL thay
®æi cÇn ph¶i cËp nhËt tÊt c¶ c¸c tÖp chØ sè.
- TÖp chØ sè kÕt hîp ®éc lËp cã ®Æc ®iÓm lµ mét tÖp chØ sè chøa ®-îc nhiÒu thø tù s¾p xÕp,
mçi ®Ýnh môc cã thÓ xÕp theo c¶ chiÒu t¨ng vµ gi¶m dÇn, khi tÖp chØ sè më th× mäi ®Ýnh môc
®Òu ®-îc cËp nhËt khi CSDL cã sù thay ®æi, sè l-îng tÖp chØ cã mét.
- TÖp chØ sè kÕt hîp kh«ng ®éc lËp cã ®Æc ®iÓm lµ kh«ng ph¶i ®Æt tªn tÖp cØh sè v× nã trïng
víi tªn tÖp CSDL, ta kh«ng cÇn quan t©m ®Õn viÖc më tÖp chØ sè v× tÖp chØ sè tù ®éng më khi
CSDL ®-îc më, do ®ã trong bÊt kú t×nh huèng nµo th× tÊt c¶ c¸c ®Ýnh môc ®Òu ®-îc cËp nhËt
khi CSDL thay ®æi. Nh-ng khi ta kh«ng cÇn chØ sè ho¸ th× tÖp nµy vÉn ®-îc më vµ chiÕm bé
nhí m¸y tÝnh. Do ®ã nÕu CSDL kh«ng lín l¾m th× ta nªn dïng tÖp chØ sè kÕt hîp kh«ng ®éc
lËp lµ tiÖn h¬n.
b. C¸c chó ý:
- TÖp chØ sè IDX chØ s¾p xÕp theo chiÒu t¨ng dÇn cña kho¸, do ®ã muèn s¾p xÕp theo chiÒu
gi¶m dÇn cña mét gi¸ trÞ nµo ®ã ta ph¶i lËp biÓu thøc kho¸ lµ nghÞch biÓn theo gi¸ trÞ Êy. VÝ
dô, xÐp theo tr-êng sè gi¶m dÇn th× ta dïng dÊu ©m ®»ng tr-íc tªn tr-êng kho¸.
- Muèn s¾p xÕp theo nhiÒu kho¸ víi c¸c møc -u tiªn kh¸c nhau trong tÖp IDX, ta ®æi kho¸
nµy ra cïng kiÓu gi¸ trÞ råi ghÐp chóng l¹i theo thø tù -u tiªn tõ tr¸i sang ph¶i thµnh biÓu thøc
kho¸. NÕu <Bt kho¸> lµ mét x©u th× ®é dµi cña x©u nµy ph¶i nh- nhau ®èi víi mäi b¶n ghi.
- Muèn s¾p xÕp tÖp chØ sè IDX theo tr-êng LOGIC. Ta ph¶i dïng hµm IFF(BtL,Gi¸ trÞ 1, Gi¸
trÞ 2).
- Cïng mét lóc ta cã thÓ më c¶ ba lo¹i tÖp chØ sè (dïng tõ kho¸ ADDITIVE) trong c¸c lÖnh
më tÖp chØ sè). Dïng lÖnh DISPLAY STATUS ta sÏ thÊy c¸c tÖp chØ sè IDX ®-îc -u tiªn xÕp
tr-íc, sau ®ã ®Õn tÖp chØ sè CDX kh«ng ®éc lËp råi ®Õn tÖp chØ sè CDX ®éc lËp.

Bµi 8: §Æt läc vµ tÝnh to¸n trªn CSDL

1. §Æt läc:
a. §Æt läc b¶n ghi:
- Có ph¸p:
SET FILTER TO <BtL>
- Gi¶i thÝch:
+ LÖnh nµy t¹o mét läc trªn CSDL ®ang më. Sau lÖnh nµy chØ cã c¸c b¶n ghi tho¶ m·n
<BtL> míi ®-îc tham gia vµo qu¸ tr×nh xö lý.
+ LÖnh läc nµy mÊt t¸c dông khi gÆp mét trong c¸c lÖnh sau:
. LÖnh ®Æt mét läc kh¸c thay thÕ.
. LÖnh huû bá läc: SET FILTER TO.
. LÖnh ®ãng CSDL: USE.
+ LÖnh läc nµy còng kh«ng lµm thay ®æi con trá b¶n ghi nµy liÒn sau ®ã, do ®ã ta th-êng
ph¶i ®iÒu chØnh l¹i con trá b¶n ghi b»ng lÖnh Go Top.
b. §Æt läc tr-êng:
- Có ph¸p:
SET FIELDS TO <Danh s¸ch tr-êng 1>
- Gi¶i thÝch:
+ Khi thùc hiÖn lÖnh nµy th× tÊt c¶ c¸c lÖnh kh¸c thùc hiÖn sau nã chØ lµm viÖc víi c¸c
tr-êng trong <Danh s¸ch tr-êng 1>.
+ Sau khi läc, ta cã thÓ t¾t hoÆc bËt chÕ ®é läc c¸c tr-êng b»ng lÖnh:
SET FIELDS OFFON
+ NÕu sau khi läc ta l¹i gâ lÖnh: SET FIELDS TO <Danh s¸ch tr-êng 2> th× sÏ bæ sung
<Danh s¸ch tr-êng 2> vµo danh s¸ch c¸c tr-êng ®-îc läc.
+ NÕu ta dïng lÖnh SET FIELDS TO th× sÏ kh«ng läc tr-êng nµo (dïng lÖnh LIST sÏ kh«ng
thÊy xuÊt hiÖn mét tr-êng nµo).
+ Muèn läc tÊt c¶ c¸c tr-êng ta dïng lÖnh: SET FIELDS ALL.
2. C¸c lÖnh tÝnh to¸n:
a. LÖnh ®Õm sè b¶n ghi:
- Có ph¸p:
COUNT [<Ph¹m vi>] [TO <biÕn>] [FOR <BtL1>] [WHILE <BtL2>]
- Gi¶i thÝch:
+ LÖnh nµy ®Õm sè b¶n ghi thuéc <Ph¹m vi> vµ g¸n gi¸ trÞ vµo <biÕn>.
+ NÕu kh«ng cã <Ph¹m vi>, lÖnh sÏ ho¹t ®éng trªn toµn tÖp.
+ NÕu cã FOR <BtL1> th× chØ ®Õm c¸c b¶n ghi tho¶ m·n ®iÒu kiÖn trong <BtL1.
+ NÕu cã WHILE <BtL2> th× c«ng viÖc ®Õm sè b¶n ghi chØ cßn thùc hiÖn chõng nµo <BtL2>
cßn ®óng.
+ Muèn ®Õm tÊt c¶ c¸c b¶n ghi ta cã thÓ dïng hµm RECCOUNT().
b. LÖnh tÝnh tæng SUM:
- Có ph¸p:
SUM [<Ph¹m vi>] [<Danh s¸ch biÓu thøc>]
[FOR <BtL1>] [WHILE <BtL2>] [TO <Danh s¸ch biÕn>]
+ LÖnh nµy tÝnh tæng c¸c b¶n ghi theo <Danh s¸ch biÓu thøc>, ®©y lµ mét d·y c¸c biÓu thøc
tÝnh theo gi¸ trÞ c¸c tr-êng sè, ph©n c¸ch nhau bëi dÊu ph¶y, mçi biÓu thøc t-¬ng øng víi mét
tæng.
+ C¸c b¶n ghi tham gia lÊy tæng ®-îc x¸c ®Þnh bëi c¸c tuú chän <ph¹m vi>, For, While
gièng nh- trong lÖnh LIST.
+ NÕu kh«ng cã <Danh s¸ch biÓu thøc> th× tÊt c¶ c¸c tr-êng sè cña CSDL ®Òu ®-îc lÊy
tæng.
+ NÕu dïng TO <Danh s¸ch biÕn> th× c¸c gi¸ trÞ tæng nµy sÏ ®-îc göi theo thø tù øng vµo
<Danh s¸ch biÕn>.
c. LÖnh tÝnh trung b×nh céng AVERAGE:
- Có ph¸p:
AVERAGE [<Ph¹m vi>] [<Danh s¸ch biÓu thøc>]
[FOR <BtL1>] [WHILE <BtL2>] [To <Danh s¸ch biÕn>]
+ LÖnh trªn sÏ lÊy trung b×nh céng trªn c¸ b¶n ghi theo <Danh s¸ch biÓu thøc>. Có ph¸p
t-¬ng tù nh- lÖnh tÝnh tæng SUM.
d. LÖnh tÝnh to¸n hçn hîp CACULATE:
- Có ph¸p:
CACULATE [<Ph¹m vi>] [<Danh s¸ch biÓu thøc>]
[FOR <BtL1>] [WHILE <BtL2>] [To <Danh s¸ch biÕn>]
+ LÖnh Caculate ®-îc xem nh- lµ kh¸i qu¸t cña c¸c lÖnh Count, Sum, Average, nã cho phÐp
tÝnh nhiÒu gi¸ trÞ kh¸c nhau trong cïng mét lÇn tÝnh.
+ Có ph¸p dïng t-¬ng tù nh- lÖnh tÝnh tæng SUM, trong ®ã <Danh s¸ch biÓu thøc> lµ danh
s¸ch hµm lÊy tõ c¸c hµm mÉu sau:
CNT(): §Õm sè b¶n ghi.
SUM(<BtN>): TÝnh tæng theo <BtN>.
AVG(<BtN>): TÝnh trung b×nh céng theo <BtN>.
MAX(<Bt>): T×m gi¸ trÞ lín nhÊt theo <Bt>.
MIN(<Bt>): T×m gÝ trÞ nhá nhÊt theo <Bt>.
3. LÖnh tæng hîp theo nhãm:
- §èi v¬i nh÷ng CSDL ®· ®-îc s¾p xÕp theo mét <BiÓu thøc kho¸> nµo ®Êy (Theo vËt lý hay
Logic), c¸c b¶n ghi sÏ ®-îc xÕp thµnh tõng nhãm trong ®ã c¸c b¶n ghi thuéc cïng mét nhãm
lµ c¸c b¶n ghi cã cïng gi¸ trÞ kho¸ s¾p xÕp. Khi ®ã ta cã thÓ céng c¸c tr-êng sè cña CSDL
nµy theo tõng nhãm nhê lÖnh:
TOTAL TO <Tªn_tÖp.DBF> ON <BiÓu thøc kho¸>
[<Ph¹m vi>] [FIELDS <Danh s¸ch tr-êng>]
[FOR <BtL1>] [WHILE <BtL2>]
+ LÖnh trªn sÏ tæng hîp CSDL thanh tõng nhãm ®· ph¶i ®-îc s¾p xÕp theo <BiÓu thøc
kho¸>.
+ KÕt qu¶ tæng hîp sÏ ®-îc l-u sang mét tÖp CSDL míi cã tªn lµ <Tªn_tÖp.DBF>. TÖp nµy
cã cÊu tróc nh- CSDL ban ®Çu, trong ®ã mçi b¶n ghi øng víi nh÷ng tæng t×m ®-îc cña mét
nhãm. Nh÷ng tæng nµy ®-îc ghi trªn c¸c tr-êng t-¬ng øng. ChØ cã c¸c tr-êng trong <Danh
s¸ch tr-êng> míi ®-îc lÊy tæng, c¸c gi¸ trÞ cña c¸c tr-êng kh¸c sÏ lÊy t-¬ng øng tõ b¶n ghi
®Çu tiªn cña nhãm.
+ NÕu kh«ng dïng <DS tr-êng> th× tÊt c¶ c¸c tr-êng sè cña CSDL sÏ ®-îc lÊy tæng.
+ NÕu cã <Ph¹m vi> th× chØ lÊy tæng c¸c b¶n ghi n»m trong <Ph¹m vi>.
+ C¸c tõ kho¸ FOR, WHILE ®-îc hiÓu nh- trong lÖnh LIST.

Bµi 9: Lµm viÖc víi nhiÒu CSDL

1. §Þnh vïng lµm viÖc cho tÖp:


- Trong thùc tÕ qu¶n lý, chóng ta th-êng ph¶i xö lý cïng mét lóc nhiÒu tÖp CSDL, Foxpro cho
phÐp cïng lóc më ®ång thêi 25 tÖp CSDL. Mçi tÖp CSDL ®-îc më trªn mét vïng lµm viÖc
kh¸c nhau. Mçi vïng lµm viÖc cã mét sè hiÖu vïng ®¸ng sè tõ 1 ®Õn 25. Ngoµi ra cã thÓ dïng
ch÷ c¸i tõ A ®Õn J thay cho c¸c sè hiÖu tõ 1 ®Õn 10, c¸c nhãm ký tù tõ W11 ®Õn W25 thay
cho c¸c sè hiÖu tõ 11 ®Õn 25.
- Muèn më nhiÒu CSDL ®ång thêi ta cÇn ph¶i chän cho mçi CSDL mét vïng lµm viÖc kh¸c
nhau, t¹i mçi thêi ®iÓm trªn mét vïng lµm viÖc chØ cã thÓ më ®-îc mét CSDL.
- Có ph¸p:
SELECT <Sè hiÖu vïng>
USE <Tªn_tÖp.DBF>
2. G¸n bÝ danh cho tÖp:

3. CËp nhËt tõ tÖp CSDL kh¸c:

4. KÕt nèi 2 tÖp CSDL:

5. Mèi quan hÖ gi÷a hai CSDL:


a. Kh¸i niÖm:
b. T¹o mèi quan hÖ gi÷a hai tÖp CSDL:
Bµi 10: C©u lÖnh truy vÊn cã cÊu tróc SQL

1. SQL lµ g×:

2. LÖnh truy vÊn th-êng dïng:

phô lôc A: C¸c lÖnh th-êng dïng

Phô lôc B: C¸c hµm xö lý CSDL th-êng dïng

Môc lôc

Bµi 1: T¹o tÖp CSDL


Bµi 2: NhËp vµ söa néi dung b¶n ghi
Bµi 3: Qu¶n lý cÊu tróc tÖp vµ b¶n ghi
Bµi 4: Qu¶n lý c¸c tÖp
Bµi 5: T×m kiÕm tuÇn tù - S¾p xÕp vËt lý trªn CSDL
Bµi 6: S¾p xÕp theo tÖp chØ sè
Bµi 7: S¾p xÕp theo tÖp chØ sè (tiÕp)
Bµi 8: §Æt läc vµ tÝnh to¸n trªn CSDL
Bµi 9: Lµm viÖc víi nhiÒu CSDL
Bµi 10: C©u lÖnh truy vÊn cã cÊu tróc SQL
Phô lôc A: C¸c lÖnh th-êng dïng
Phô lôc B: C¸c hµm xö lý CSDL th-êng dïng
Môc lôc

You might also like