You are on page 1of 149

TRNG CAO NG S PHM QUNG TR KHOA CNG NGH THNG TIN

Mc tiu
Kin thc: Trnh by c khi nim CSDL v h qun tr CSDL Gii thch c khi nim tp CSDL, cu trc tp CSDL, c trng ca mt trng trong tp CSDL ca Visual FoxPro S dn cc thao tc c bn ca tp CSDL: To lp, sa i cu trc, cp nht, b sung, loi b bn ghi, sp xp, tm kim. S dng c lnh kt xut thng tin trong tp CSDL vi Visual FoxPro Ch ra cch lm vic vi nhiu tp CSDL: Cp nh DL t mt tp khc, kt ni hai tp CSDL v thit lp mi lin kt vi nhiu tp CSDL Trnh by c khi nim SQL v s dng c cc lnh c bn thao tc truy vn DL bng ngn ng SQL

Mc tiu
K nng: Thit lp c tp t DL thc t X l bng ch hi thoi mt s bi ton n gin trong thc t T chc in DL di dng Report v Label Thi : Thng qua mn hc, SV thy c vai tr ca cc h qun tr CSDL vi cng tc t ng ho h thng thng tin qun l Thy c trch nhim ca mnh v vic ng dng CNTT trong cng tc k ton.

NI DUNG HC PHN
Chng 1. Lm quen vi Visual FoxPro Chng 2. Nhng thao tc ban u vi tp CSDL Chng 3. Tm kim d liu Chng 4. Thao tc vi cu trc tp CSDL Chng 5. Sa i d liu Chng 6. Sp xp, ch s v tm kim nhanh Chng 7. Kt xut thng tin trong tp CSDL Chng 8. Lp bo co bng lnh Report & Lable Chng 9. Thao tc vi nhiu tp CSDL Chng 10. Nhng thao tc khc vi tp CSDL Chng 11. Truy vn d liu thng qua SQL

Chng 1. Lm quen vi Visual FoxPro


1. Visual FoxPro l g? 2. Tp CSDL. 3. Khi ng Visual FoxPro 4. Cc ch lm vic. 5. Cc loi ca s ca FoxPro. 6. Cc thao tc c bn trn ca s. 7. Ra khi FoxPro

Chng 1. Lm quen vi Visual FoxPro


1.Visual FoxPro l g?
C s d liu: V d: Bng danh sch lp, Bng im, Bng danh sch gio vin, Bng chm cng, Bng h thng mn hc L tp hp cc d liu c lin quan vi nhau, cha thng tin ca mt i tng no (nh trng hc, bnh vin, ngn hng, nh my...), c lu tr trn b nh my tnh p ng nhu cu khai thc thng tin ca nhiu ngi s dng vi nhiu mc ch khc nhau. H qun tr c s d liu: L phn mm cung cp mi trng thun li v hiu qu to lp, lu tr v tm kim thng tin ca CSDL, c gi l h qun tr CSDL (h QTCSDL-DataBase Manegement System)

Chng 1. Lm quen vi Visual FoxPro


1.Visual FoxPro l g?
Visual FoxPro l mt h qun tr CSDL kiu quan h do hng Microsoft sn xut. - Foxpro ra i cui nm 1980. Lc u l cc phin bn thi hnh trn DOS ( Foxpro Version 1.0 n 2.6). Sau l cc phin bn thi hnh trn Windows. Vo cui nhng nm 1990 hng Microsft nng cp Foxpro ln thnh mt h qun tr CSDL cho php lp trnh hng i tng v ly tn l Visual FoxPro FoxBase --> FoxPro --> Visual FoxPro

Chng 1. Lm quen vi Visual FoxPro


2. Tp CSDL
+ Tn: theo lut t tn ca Windows nhng phn m rng ngm nh l DBF (*.DBF). V d: DMTKHOAN.BDF, HOSOSV.DBF, HOCKY1.DBF + Cu trc: C th xem tp CSDL nh mt bng hai chiu, mi ct cha mt gi tr c trng cho mt c im ca i tng qun l m ta gi l TRNG (Field). Mi dng cha mt b cc gi tr m t mt i tng qun l m ta s gi l BN GHI(Record).

Chng 1. Lm quen vi Visual FoxPro


2. Tp CSDL
Mt trng ca tp CSDL c 4 c trng sau: + Tn trng (Field name) : Quy tc t tn: - T 1 n 10 k t. - Bt u bng mt k t ch - Cc k t tip theo (nu c) phi l k t ch, s, du gch di. V d: ma_so_cb, nam_1990, _hosocanhan

Chng 1. Lm quen vi Visual FoxPro


2. Tp CSDL
+ Kiu trng (Field Type)

Tn kiu Character Numeric Date Logic Memo

Vit tt C N D L M

Gi tr Cc k t trong bng m ASCII 0..9 v du phn cch thp phn (.) mt ngy thng hp l .T. v .F. hoc .Y. v .N. Vn bn ring

Chng 1. Lm quen vi Visual FoxPro


2. Tp CSDL
+ rng trng (Field Width)

Tn kiu Character Numeric Date Logic Memo

Vit tt C N D L M 1..255 1..19 8/10 1

rng

Khng hn ch

Continue

Chng 1. Lm quen vi Visual FoxPro


2. Tp CSDL
+ Phn thp phn (Field Decimal): Ch m t khi trng l kiu s; Phn thp phn <= rng 2 Vi d liu kiu ngy ta ch nh sau: Nu mi trng c thit lp bi lnh SET CENTURY ON - Nm c 4 ch s ( di 10) SET CENTURY OFF - Nm c 2 ch s ( di 8)

Chng 1. Lm quen vi Visual FoxPro


3. Khi ng Visual FoxPro
a. Visual FoxPro Start --> All Programs --> Microsoft Visual Foxpro b. Foxpro * FoxPro for Windows Start --> All Programs --> Foxpro for Windows * FoxPro for DOS Bc 1: Cho my chy vi mi trng DOS Bc 2: Chn th mc cha cc tp c bn ca FoxPro lm th mc hot ng. Bc 3: thi hnh tp FOXPROX.EXE

Chng 1. Lm quen vi Visual FoxPro


3. Khi ng Visual FoxPro
M t mn hnh chnh ca Visual FoxPro * Trn nh - Thanh tiu (Title Bar) - Thanh menu chnh (Menu Bar) - Thanh Cng c chun (Standard Tools Bar) * Vng ln nht gi l vng lm vic: Hin cc thng bo ca FoxPro hoc kt qu thao tc ca ngi s dng * Ca s lnh (Command): Ni m ngi s dng a vo cc lnh ca FoxPro thao tc vi CSDL

Chng 1. Lm quen vi Visual FoxPro


4. Cc ch lm vic
C 2 ch l hi thoi v chng trnh * Ch hi thoi: Ngi s dng ln lt a vo tng lnh. FoxPro s thc hin xong mt lnh ri ch ngi s dng a vo mt lnh khc. * Ch chng trnh: Ngi s dng lp trnh v lu tr chng trnh vo tp c dng *.PRG v sau trn ca s lnh gi thc hin bng lng DO <tn chng trnh>

Chng 1. Lm quen vi Visual FoxPro


5. Cc loi ca s ca FoxPro
C nhiu loi nhng quan trng nht l ba loi ca s * Ca s lnh * Ca s hi thoi * Ca s xut d liu

Chng 1. Lm quen vi Visual FoxPro


6. Cc thao tc c bn trn ca s
Chn ca s hot ng. Kch chut vo thanh tiu hoc n Ctrl-F1 Dch chuyn: Lm nh vi ca s ca Windows Thay i kch thc.Lm nh vi ca s ca Windows (Nu lm vi Foxpro for DOS th n Ctrl-F10 m rng ca s ton mn hnh hoc thu v kch thc ban u) n / hin: Lm nh vi ca s ca Windows Ch : Trong bt k trng hp no nu ta n Ctrl-F2 th xut hin ca s lnh.

Chng 1. Lm quen vi Visual FoxPro


7. Ra khi FoxPro
Ngoi nhng cch thng thng ca Windows ta c th dng lnh QUIT.

Chng 2. Nhng thao tc ban u vi tp CSDL


1. Thit lp tp CSDL. 2. M tp v vo d liu. 3. c tp. 4. Di chuyn con tr bn ghi. 5. ng tp.

Chng 2. Nhng thao tc ban u vi tp CSDL


1. Thit lp tp CSDL
1.1. Thit k cu trc tp Thc hin trn giy theo mu: Tn tp:______.DBF

Thuc tnh

Tn

Kiu

rng Thp phn

1.2. Cc bc thc hin trn my * a vo lnh CREATE <Tn tp> * Khai bo cu trc * Kt thc khai bo cu trc (Ctrl-W) * Kt thc lnh. V d: Tp HSCB.DBF CREATE HSCB

Chng 2. Nhng thao tc ban u vi tp CSDL


2. M tp v vo d liu.
a. M tp * Vai tr: Mun thao tc vi mt tp CSDL th ng tc u tin ca ngi s dng l phi m tp. * Lnh m tp: USE [<d:>][<path>]<tn tp CSDL> V d: USE HSCANBO b. Vo d liu Sau khi m tp ta s dng lnh BROWSE nhp mt bn ghi ta thc hin cc thao tc sau: - n Ctrl-Y - Nhp thng tin ca bn ghi - Kt thc vic nhp d liu bng Ctrl-W

Chng 2. Nhng thao tc ban u vi tp CSDL


3. c tp
- M tp - Dng mt trong cc lnh sau: * LIST [TO PRINT] * DISPLAY ALL * BROWSE V d: USE HSCB LIST MSCB,HD,TEN,HSL

Chng 2. Nhng thao tc ban u vi tp CSDL


4. Di chuyn con tr bn ghi
Bn ghi hin thi: Trn tp CSDL ang m Visual Foxpro ch sn sng lm vic (v cho php cp nht) vi mt bn ghi v ta gi l bn ghi hin thi. Khi mi m tp CSDL th bn ghi hin thi l bn ghi u tin. Con tr bn ghi: Con tr bn ghi l con tr dng ch n bn ghi hin thi.

Chng 2. Nhng thao tc ban u vi tp CSDL


4. Di chuyn con tr bn ghi.
Lnh di chuyn con tr bn ghi a. Lnh GO C php : GO <n> GO TOP GO BOTTOM Gii thch: GO <n>: Di chuyn con tr n bn ghi c s hiu <n> (n l th t vt l ca bn ghi trn tp) V d: USE HSCANBO GO 5 ... GO 16

Chng 2. Nhng thao tc ban u vi tp CSDL


4. Di chuyn con tr bn ghi.
GO TOP: Di chuyn con tr n bn ghi u tin GO BOTTOM: Di chuyn con tr n bn ghi cui cng. Cc hm h tr: * RECNO(): Tr v s hiu bn ghi hin thi * EOF(): Tr v gi tr .T. nu con bn ghi nm sau bn ghi cui cng. Cc v tr khc l .F. * BOF(): Tr v gi tr .T. nu con bn ghi nm trc bn ghi u tin. Cc v tr khc l .F. V d: USE HSCANBO
?RECNO() 1 GO 14 ?RECNO() 14 ?BOF() .F.

Chng 2. Nhng thao tc ban u vi tp CSDL


4. Di chuyn con tr bn ghi.
b. Lnh SKIP C php: SKIP [<n>] Chc nng: Di chuyn con tr bn ghi tnh t bn ghi hin thi. Gii thch: Nu n l s dng th di chuyn v cui tp n bn ghi tnh t bn ghi hin thi; Nu n l s m th di chuyn v u tp n bn ghi tnh t bn ghi hin thi. Ch : SKIP = SKIP 1 V d: USE HOSOCB SKIP 6 ? RECNO() 7 SKIP -2 ? RECNO() 5

Chng 2. Nhng thao tc ban u vi tp CSDL


5. ng tp.
* Khi khng lm vic vi tp CSDL na, ta phi tin hnh ng tp bng lnh: USE * Vic m tp khc cng ng ngha vi ng tp trc V d: USE TAIKHOAN .... USE K_HANG .... USE

Chng 3. Tm kim d liu


1. Biu thc logic. 2. S dng LIST v DISPLAY vi iu kin tm kim. 3. Tm kim tun t. 4. t ch chnh xc khi tm kim.

Chng 3. Tm kim d liu


1. Biu thc logic.
.nh ngha .Cc cch thit lp biu thc logic.

Chng 3. Tm kim d liu


1.Biu thc logic
nh ngha
Biu thc logic l biu thc cho chng ta mt trong hai gi tr hoc .T. hoc .F.

Chng 3. Tm kim d liu


1. Biu thc logic
Cc cch thit lp biu thc logic
Hng logic (.T./.F.), Bin kiu logic, Hm cho kt qu kiu Logic. Hai biu thc cng loi (K t, s, ngy) quan h vi nhau bi cc php so snh >, <, >=, <=, =, <> Cc biu thc logic quan h vi nhau bi cc php ton logic NOT (!), AND, OR V d:
LOCATE FOR <btL> LOCATE FOR .T. LOCATE FOR ten = Thanh LOCATE FOR tdvh=12 LOCATE FOR GDINH LOCATE FOR !GDINH LOCATE FOR GDINH AND TDVH=12 LOCATE FOR NGAY_S<=CTOD(01/01/1980)

Chng 3. Tm kim d liu


2. S dng LIST v DISPLAY vi iu kin tm kim.
Dng lnh tng qut: LIST FOR <btL> [TO PRINT] hoc DISPLAY FOR <btL> Gii thch: Lnh s cho hin ln mn hnh nhng bn ghi tho mn <btL> V d: SET DATE FRENCH
SET CENTURY ON USE HSCANBO LIST FOR TEN=Thanh DISPLAY FOR TDVH>=10 LIST FOR NGAY_S>=CTOD(01/01/1986) AND NGAY_S<=CTOD(31/12/1988)

Chng 3. Tm kim d liu


3. Tm kim tun t
3.1. Lnh LOCATE C php: LOCATE FOR <btL> Gii thch: Lnh t con tr ti bn ghi u tin ca tp CSDL ang m tha mn <btL> 3.2. Hm FOUND() Cho gi tr .T. nu lnh LOCATE trc tm kim thnh cng, ngc li cho gi tr .F. 3.3. Lnh CONTINUE Cho php tm kin bn ghi tip theo ca tp CSDL ang m tho mn iu kin tm kim ca lnh LOCATE trc . V d: USE HSCANBO
LOCATE FOR HSL>=3 ? FOUND() ? RECNO() DISPLAY CONTINUE ?FOUND()

Chng 3. Tm kim d liu


4. t ch chnh xc khi tm kim
Lnh xc lp mi trng SET EXACT ON/OFF Gii thch: Mi trng mc nh l OFF Nu mi trng c xc lp l OFF th vic so snh gia hai biu thc k t khng ch n di hay ni cch khc ch cn c vo biu thc c di ngn hn. Nu mi trng c xc lp l ON th vic so snh gia hai biu thc k t c ch n di hay ni cch khc hai biu thc ch bng nhau khi chng trng nhau. V d: SET EXACT OFF
? Ha = Hanh .T. SET EXACT ON ? Ha = Hanh .F.

Chng 4. Thao tc vi cu trc tp CSDL


1. Xem v in cu trc. 2. Sa cu trc tp. 3. Sao chp cu trc tp. 4. To mt tp CSDL t tp lu cu trc.

Chng 4. Thao tc vi cu trc tp CSDL


1. Xem v in cu trc
xem cu trc ca tp CSDL ang m ta s dng lnh LIST STRUCTURE [TO PRINT] hoc DISPLAY STRUCTURE Lnh s cho hin th cu trc ca tp CSDL ang m ln mn hnh. Nu c tu chn TO PRINT cu trc s c in ra my in. Thng tin v cu trc tp bao gm: Tn trng (Fieldname), kiu trng (Type), rng trng (Width) v phn thp phn (Decimal) V d: USE HSCANBO LIST STRU

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp
Vic sa i cu trc ca mt tp CSDL xy ra khi ta c nhu cu thc hin mt hay nhiu thao tc sau: .Sa tn mt trng .Sa kiu mt trng .Sa rng mt trng .Sa phn thp phn mt trng .Chn thm mt trng mi .Xo mt trng ang tn ti .Chp thm mt trng mi Cc bc tin hnh nh sau: Bc 1: M tp CSDL mun sa i cu trc USE <tn tp> Bc 2: a vo lnh MODIFY STRUCTURE Bc 3: Thc hin cc thao tc sa i nu trn. Bc 4: n Ctrl+W hoc chn OK kt thc

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Sa tn mt trng
Bc 1: a con tr vo tn trng cn sa Bc 2: Tin hnh sa ging nh sa mt vn bn bnh thng

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Sa kiu mt trng
Bc 1: a con tr vo kiu trng cn sa Bc 2: Tin hnh la chn kiu trng thch hp

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Sa rng mt trng
Bc 1: a con tr vo rng trng cn sa Bc 2: Tin hnh la chn rng trng thch hp

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Sa phn thp phn mt trng
Bc 1: a con tr vo phn thp phn trng cn sa Bc 2: Tin hnh la chn phn thp phn thch hp

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Chn thm mt trng mi
Bc 1: a con tr vo bt k no trn dng cn chn trng mi Bc 2: Chn nt Insert ta s thy xut hin mt trng mi vi tn l NewFld v tr mun chn Bc 3: Tin hnh sa li tn, kiu, rng, phn thp phn cho ph hp

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
.Xo mt trng ang tn ti
Bc 1: a con tr vo bt k no trn dng ca trng mun xo Bc 2: Chn nt Delete ta s thy trng cn xo bin mt

Chng 4. Thao tc vi cu trc tp CSDL


2. Sa cu trc tp.
Chp thm mt trng mi
Bc 1: a con tr v sau dng ca trng cui cng Bc 2: Tin hnh a vo tn, kiu, rng, phn thp phn ca trng cn chp cho ph hp

Chng 4. Thao tc vi cu trc tp CSDL


3. Sao chp cu trc tp
- Sao chp cu trc: Vi mt tp CSDL ang tn ti (tp ngun) ta c th to ra mt tp mi c cu trc bao gm mt phn hoc ton b cc trng ca tp ngun nh sau: USE <tn tp> COPY STRUCTURE TO <tp mi> [FIELDS <DS trng>] Nu c tu chn [FIELDS <DS trng>] th <tp mi> ch bao gm cc trng ca tp ngun c lit k trong danh sch, nu khng c tu chn ny th cu trc ca tp mi hon ton ging vi cu trc ca tp ngun. - Sao lu cu trc: lu tr cu trc ca mt tp CSDL ta c th to ra mt tp CSDL khc lu cu trc ca tp nh sau: COPY STRUCTURE TO <tp lu CT> EXTENDED Cu trc ca tp lu cu trc c dng nh sau:

Chng 4. Thao tc vi cu trc tp CSDL


4. To mt tp CSDL t tp lu cu trc
Khi c tp lu cu trc ta c th to ra mt tp CSDL mi vi cu trc lu bng lnh sau: CREATE <tn tp> FROM <tp lu CT>

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro 2. Cc lnh cp nht d liu 3. Cc lnh b sung d liu 4. Cc lnh loi b d liu

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro
Cu lnh tng qut: <LNH> [<Phm vi>] [FIELDS <Ds trng>] [FOR <btL>] [WHILE <btL>] 1.1. Tu chn phm vi 1.2. Ty chn FIELDS <Ds trng> 1.3. Ty chn FOR <btL> v WHILE <btL>

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro
1.1. Tu chn phm vi Trong cc lnh ca Foxpro ty chn phm vi c ngha l vng cc bn ghi lin tip nhau m lnh s tc ng ln , n s mang mt trong bn gi tr v c ngha sau y: ALL - Tt c cc bn ghi Record <n> - Bn ghi c s hiu n NEXT <n> - n bn ghi tnh t bn ghi hin thi REST - T bn ghi hin thi n cui tp. Ch : Vi mi lnh ca Foxpro s c mt phm vi ngm nh. Phm vi ny c th l ALL hoc bn ghi hin thi. V d: Lnh LIST c phm vi ngm nh l ALL cn DISPLAY c phm vi ngm nh l bn ghi hin thi.

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro
1.1. Tu chn phm vi V d: Tp HSCB.DBF c 20 bn ghi USE HSCB DISP ALL DISP Record 5 GO 10 DISP Next 5 GO 18 DISP Rest
Fox

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro
1.2. Ty chn FIELDS <Ds trng> Khng c ty chn ny th lnh s tc ng ln tt c cc trng ca tp CSDL ang m cn nu c ty chn ny th lnh ch tc ng ln nhng trng ca tp c mt trong danh sch. Tt nhin tt c nhng trng c lit k ny phi tn ti trong tp ang m. V d: USE HSCB LIST FIELDS MSCB,HD,TEN
Fox

Chng 5. Sa i d liu
1. Cc tu chn trn mt cu lnh thao tc d liu ca Foxpro
1.3. Ty chn FOR <btL> v WHILE <btL>
a. FOR <btL> Lnh ch tc ng ln cc bn ghi tha mn <btL> b. WHILE <btL> Khi gp bn ghi u tin khng tha mn <btL> th lnh kt thc. c. S khc nhau ca hai ty chn FOR <btL> v WHILE <btL> Hai ty chn ny u ch cho php lnh tc ng ln cc bn ghi tha mn <btL> nhng chng khc nhau ch khi dng ty chn FOR <btL> th Foxpro s tuyn chn tt c cc bn ghi ca tp CSDL tc ng ln nhng bn ghi tha mn <btL> cn ty chn WHILE <btL> th cho php lnh bt u t u tp tc ng ln cc bn ghi tha mn <btL> nhng ngay ln u tin gp bn ghi khng tha mn <btL> th lnh s kt thc ngay. V d: USE HSCB LIST FOR HSL>3 LIST WHILE HSL>3
Fox

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.1. Lnh EDIT 2.2. Lnh BROWSE 2.3. Lnh REPLACE

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.1. Lnh EDIT C php: EDIT [<phm vi>] [FIELDS <ds trng>] [FOR <btL>] [WHILE <btL>] Gii thch: Phm vi ngm nh l ALL. Lnh cho php sa i d liu ca tng bn ghi vi khun dng ging nh khi ta lm vic vi lnh APPEND. V d: USE HSCB EDIT
Fox

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.2. Lnh BROWSE
C php: BROWSE [<phm vi>] [FIELDS <ds trng>] [FOR <btL>] [LOCK<n>] [FREEZE <trng>] [NOAPPEND] [NOEDIT] [NOMODIFY] [FONT <Font>, <size>, <style>] Gii thch: Phm vi ngm nh l ALL. Lnh cho php sa i d liu ca tng bn ghi vi khun dng l mt bng hai chiu m mi ct l mt trng v mi dng l mt bn ghi.

Continue

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.2. Lnh BROWSE
LOCK <n>: Chia mn hnh thnh hai ca s, c nh n trng bn tri tp ca s tri v cc trng cn li ca s phi. Ta c th di chuyn ngang cc trng trn ca s phi m khng l di chuyn ngang cc trng trn ca s tri. Ty chn ny c dng khi b ngang ca tp CSDL vt qu b ngang mn hnh. FREEZE <trng>: Ch cho php con tr di chuyn trn trng <trng>. Ty chn ny c dng trong trng hp ta ch tin hnh sa i trn mt trng. NOAPPEND: Khng cho php thm bn ghi trng bng cch n t hp phm Ctrl-Y. NOEDIT, NOMODIFY: Khng cho php sa i ni dung ca cc bn ghi tn ti trc.

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.2. Lnh BROWSE
V d: USE HSCB BROW LOCK 3 BROW FREE HSL BROW NOAP NOMO

Fox

Chng 5. Sa i d liu
2. Cc lnh cp nht d liu
2.3. Lnh REPLACE C php: REPLACE [<phm vi>] <trng1> WITH <bt1> [,<trng2> WITH <bt2> ...] [FOR <btL>] Gii thch: Phm vi ngm nh l bn ghi hin thi. Trn mi bn ghi m lnh c hiu lc, Lnh thay th gi tr <trng1> bng <bt1>, <trng2> bng <bt2> ... V d: Tnh lng USE BLUONG REPL ALL LCB WITH HSL*290000, LPC WITH HSPC*290000 REPL ALL TONG WITH LCB+LPC
Fox

Chng 5. Sa i d liu
3. Cc lnh b sung d liu
3.1 Lnh APPEND 3.2 Lnh BROWSE 3.3 Lnh INSERT
C php: INSERT [BLANK] [BEFORE] Gii thch: Lnh chn mt bn ghi mi. Nu c ty chn BLANK bn ghi mi l rng, nu khng th phi in d liu cho bn ghi . Nu c ty chn BEFORE th bn ghi c chn trn bn ghi hin thi, nu khng th di bn ghi hin thi. V d: USE HSCB GO 5 INSERT BLANK BEFORE

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
Vic xa trong FoxPro c hai loi xa logic v xa vt l. 4.1. Xa logic (nh du xa) 4.2. Phc hi cc bn ghi b xa logic. 4.3. Hm DELETED() 4.4. Lnh SET DELETED ON/OFF 4.5. Xa vt l

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
4.1. Xa logic (nh du xa)
a. Khi nim: Xa logic hay nh du xa l ch nh du mt hoc nhiu bn ghi sau tu trng hp ta c th xc lp mi trng cho chng c hiu lc tc ng ln hay khng. b. Lnh nh du xa DELETE [<phm vi>][FOR <btL1>][WHILE <BtL2>] Phm vi ngm nh l bn ghi hin thi. Lnh s xa cc bn ghi trong phm vi tha mn <btL1> hoc kt thc ngay khi gp bn ghi khng tha mn <btL2> V d: USE HSCB GO 6 DELE DELE FOR RECN()=2 OR RECN()=8

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
4.2. Phc hi cc bn ghi b xa logic.
Cc bn ghi b nh du xa s c phc hi bi lnh: RECALL [<phm vi>][FOR <btL1>][WHILE <BtL2>] Phm vi ngm nh l bn ghi hin thi. Lnh s phc hi cc bn ghi trong phm vi tha mn <btL1> hoc kt thc ngay khi gp bn ghi khng tha mn <btL2>. V d: USE HSCB GO 8 RECALL RECALL ALL

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
4.3. Hm DELETED()
Cho kt qu l .T. nu bn ghi hin thi b nh du xa, ngc li cho gi tr .F. V d: USE HSCB ? DELETED()

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
4.4. Lnh SET DELETED ON/OFF
Xc lp mi trng i vi cc bn ghi b nh du xa. Nu thit lp bng lnh SET DELE ON th cc bn ghi b nh du xa s khng c hiu lc i vi cc lnh tc ng ln tp. Nu SET DELE OFF th tt c cc bn ghi trn tp u nh sau khng phn bit b nh du xa hay khng. Ngm nh l SET DELE OFF V d: USE HSCB GO 6 DELE REST SET DELE ON BROW SET DELE OFF BROW

Chng 5. Sa i d liu
4. Cc lnh loi b d liu
4.5. Xa vt l
L loi b hn khi tp CSDL v khng th phc hi bng lnh RECALL. a. Lnh PACK Cc bn ghi b nh du xa s b xa vt l nu ta dng lnh PACK. b. Lnh ZAP Tt c cc bn ghi trong tp CSDL khng phn bit c b nh du xa hay khng, s b xa vt l khi ta dng lnh ZAP. V d: USE HSCB DELE FOR HSL=0 PACK V d: USE HSCB ZAP

Chng 6. Sp xp, ch s v tm kim nhanh


1. Khi nim i tng, tiu chun v trnh t sp xp. 2. Sp xp bng lnh SORT. 3. Lp tp ch s. 4. Tm kim nhanh.
* FIND * SEEK

5. Dng nhiu tp ch s. 6. Bi tp

Chng 6. Sp xp, ch s v tm kim nhanh


1. Khi nim i tng, tiu chun v trnh t sp xp
Cc bn ghi c a vo tp CSDL theo th t xut hin ca chng v thi gian. Tuy nhin trong mi trng hp c th chng ta li mun cc bn ghi trong tp CSDL xut hin theo mt trnh t no thun li cho vic tm kim d liu. Trong Foxpro vic sp xp theo cc nguyn tc sau: i tng: Cc bn trong tp CSDL ang m. Tiu chun: Gi tr ca mt hay nhiu trng d liu. Trnh t: Tng dn hoc gim dn theo mi trng. V d: Trong mt lp hc. Sp xp bn gh hay hc sinh. Nu sp xp theo hc sinh th da vo tui hay chiu cao. Sp tng dn hay gim dn.

Chng 6. Sp xp, ch s v tm kim nhanh


2. Sp xp bng lnh SORT
C php: SORT TO <Tp KQ> ON <trng1>[/A][/D][/C][, <trng2>[/A][/D] [/C] ...] [FOR <btL>] Gii thch: <Tp KQ>: L tp CSDL cha kt qu sp xp. Vic sp xp c tin hnh theo t t u tin <trng1>, <trng2>... Nu sau <trngi> c tu chn /A ngha l sp tng dn, /D ngha l sp gim dn, /C ngha l khng phn bit gia ch hoa v ch thng (ch dng cho trng kiu k t v kt hp /AC hoc /DC). FOR <btL>: Ch sp xp cho nhng bn ghi tha mn <btL> V d: USE HSCB
SORT TO SXHSL ON HSL SORT TO SXHT ON TEN/AC, HD/AC, NSINH/D SORT TO SXTDVH ON TDVH FOR HSL>=3

Chng 6. Sp xp, ch s v tm kim nhanh


3. Lp tp ch s
3.1. Tp ch s: C tn tng qut *.IDX, c chc nng iu khin th t xut hin ca cc bn ghi trn tp CSDL theo mt trnh t no . 3.2. Lnh lp ch s: C php: INDEX ON <kha> TO <Tp ch s> Gii thch: <kha> l mt biu thc m trong tn ti t nht mt ton hng l trng ca tp CSDL. Lnh thit lp tp ch s c tn l <Tp ch s> iu khin tp CSDL ang m xut hin cc bn ghi tng dn theo gi tr ca <kha> V d: USE HSCB INDEX ON HSL TO T1

Chng 6. Sp xp, ch s v tm kim nhanh


4. Tm kim nhanh Cc tp CSDL khi ang c ch s theo mt trng no chng ta c th tm kim nhanh bng lnh: FIND <xu k t> hoc SEEK <biu thc> Vic xc nh kt qu ca cc lnh FIND v SEEK cng c thng qua hm FOUND(), nhng khng th dng lnh CONTINUE.
V d: USE HSCB INDE ON TEN TO T1 FIND Hung ?FOUND() SEEK Hung ?FOUND() INDE ON HSL TO T2 SEEK 3.62 ?FOUND() INDE ON NSINH TO T3 SEEK CTOD(25/10/1965) ?FOUND()

Chng 6. Sp xp, ch s v tm kim nhanh


5. Dng nhiu tp ch s
Mt tp CSDL c nhiu tp ch s c th m tp CSDL ng thi vi nhiu tp ch s theo mt trong hai cch: Cch 1: USE <tp CSDL> INDEX <Ds tp ch s> Cch 2: USE <tp CSDL> SET INDEX TO <Ds tp ch s> Khi mi m tp th tp u tin trong <Ds tp ch s> nm quyn iu khin tp CSDL ta gi l tp ch ng. thay i vai tr ch ng ca mt tp ch s no trong danh sch ta dng lnh: SET ORDER TO <n> Trong n l th t ca tp ch s trong danh sch.

Chng 6. Sp xp, ch s v tm kim nhanh


5. Dng nhiu tp ch s V d: USE HSCB INDEX T1,T2,T3 FIND Hung ?FOUND() SET ORDER TO 3 SEEK CTOD(25/10/1965) ?FOUND() SET ORDER TO 2 SEEK 3.62 ?FOUND()

Chng 6. Sp xp, ch s v tm kim nhanh


6. Bi tp
Theo tng nhm tin hnh tho lun v vit thu hoch v phn bit cc lnh SORT, INDEX v LOCATE, FIND, SEEK v trnh by theo mu sau:

SORT Ging nhau Khc nhau LOCATE Ging nhau Khc nhau FIND

INDEX

SEEK

Chng 7. Kt xut thng tin trong tp CSDL


Kt xut thng tin trong tp CSDL l t d liu hin c trong tp CSDL ta ly ra nhng thng tin mang tnh thng k nh: m s lng cc bn ghi tho mn mt iu kin no ; tnh tng hoc gi tr trung bnh ca mt hoc nhiu trng kiu s; tnh tng mt hoc nhiu trng kiu s ca tng nhm bn ghi theo mt trng kho no .

Chng 7. Kt xut thng tin trong tp CSDL


1. m s lng bn ghi 2. Tnh tng gi tr cc trng kiu s 3. Tnh gi tr trung bnh cc trng kiu s 4. Tnh tng b phn. 5. t lc d liu. 6. Gii hn trng d liu.

Chng 7. Kt xut thng tin trong tp CSDL


1. m s lng bn ghi 1.1. Lnh COUNT 1.2. Hm RECCOUNT()

Chng 7. Kt xut thng tin trong tp CSDL


1.m s lng bn ghi
1.1. Lnh COUNT m s lng bn ghi trong mt tp CSDL tha mn mt iu kin no ta s dng lnh: COUNT [<Phm vi>][FOR <btL>][TO <bbn>] Gii thch: Phm vi ngm nh l ALL. Lnh m s lng cc bn ghi trong <phm vi> tha mn <btL>. Nu c tu chn TO <bbn> (bin b nh) th kt qu c ghi vo <bbn>, ngc li kt qu c ghi ra mn hnh. V d: USE HSCB COUNT FOR HSL>=4 COUNT FOR NSINH<=CTOD(01/01/1944) TO CBVH COUNT TO TSCB

Chng 7. Kt xut thng tin trong tp CSDL


1. m s lng bn ghi
1.2. Hm RECCOUNT() Hm ny s cho kt qu l s lng cc bn ghi ang tn ti trn tp CSDL ang m. Ch : Lnh COUNT khng c tu chn <phm vi> v FOR <btL> c ngha l m s lng cc bn ghi ang hiu lc trn tp CSDL ang m, nhng ni chung l n khng cho cng kt qu vi hm RECCOUNT() V d: USE HSCB DELE FOR HSL<3 SET DELE ON COUNT TO TSCB ? TSCB=RECCOUNT()

Chng 7. Kt xut thng tin trong tp CSDL


2. Tnh tng gi tr cc trng kiu s
tnh tng gi tr cc trng kiu s ca mt tp CSDL ang m ta s dng lnh: SUM [<Phm vi>][<Ds trng>][TO <Ds bbn>][FOR <btL>] Gii thch: Phm vi ngm nh l ALL. Nu khng c tu chn <Ds trng> th tt c cc trng kiu s u c tnh tng, nu c th ch tnh tng cho nhng trng c lit k trong danh sch. Nu c tu chn TO <Ds bbn> (danh sch bin b nh) th cc kt qu c lu vo trong danh sch bin b nh. Ch rng s lng bin b nh c s dng trong danh sch ny phi bng ng s lng cc trng kiu s c tnh tng v chng tng ng vi nhau theo th t c lit k trong c hai danh sch. Nu khng s dng tu chn ny th kt qu c a ln mn hnh.
Continu

Chng 7. Kt xut thng tin trong tp CSDL


2. Tnh tng gi tr cc trng kiu s
V d: USE BLUONG SUM SUM LCB,LPC,TONG TO TLCB,TLPC,TTONG SUM FOR KHOA=CNTT

Chng 7. Kt xut thng tin trong tp CSDL


3. Tnh gi tr trung bnh cc trng kiu s
tnh gi tr trung bnh cc trng kiu s ca mt tp CSDL ang m ta s dng lnh: AVERAGE [<Phm vi>][<Ds trng>][TO <Ds bbn>][FOR <btL>] Gii thch: Phm vi ngm nh l ALL. Nu khng c tu chn <Ds trng> th tt c cc trng kiu s u c tnh gi tr trung bnh, nu c th ch tnh gi tr trung bnh cho nhng trng c lit k trong danh sch. Nu c tu chn TO <Ds bbn> (danh sch bin b nh) th cc kt qu c lu vo danh sch bin b nh. Ch rng s lng bin b nh c s dng trong danh sch ny phi bng ng s lng cc trng kiu s c tnh gi tr trung bnh v chng tng ng vi nhau theo th t c lit k trong c hai danh sch. Nu khng s dng tu chn ny th kt qu c a ln mn hnh.

Chng 7. Kt xut thng tin trong tp CSDL


3. Tnh gi tr trung bnh cc trng kiu s
V d: USE BLUONG AVERAGE AVERAGE LCB,LPC,TONG TO TLCB,TLPC,TTONG AVERAGE FOR KHOA=CNTT

Chng 7. Kt xut thng tin trong tp CSDL


4. Tnh tng b phn.
4.1. Khi nim 4.2. Lnh TOTAL 4.3. C ch thc hin 4.4. V d

Chng 7. Kt xut thng tin trong tp CSDL


4. Tnh tng b phn
4.1. Khi nim Tnh tng b phn ngha l tnh tng cc trng kiu s cho cc bn ghi c cng mt gi tr kha cho trc. Mi gi tr kha lp thnh mt tng. Kha y l mt trng ca tp CSDL. V d: Trn tp BLUONG.DBF khi ta cn tnh lng theo tng phng, khoa. iu c ngha l tnh tng ca cc bn ghi c cng mt gi tr trn trng KHOA.

Chng 7. Kt xut thng tin trong tp CSDL


4. Tnh tng b phn
4.2. Lnh TOTAL TOTAL ON <Kho> TO <tp KQ> [FOR <btL>][FIELDS <Ds trng>] Gii thch: Lnh tnh tng b phn cho cc bn ghi c cng mt gi tr <Kha> nm lin tip nhau lp thnh mt bn ghi tng v ghi vo <tp KQ>. Nu c tu chn FOR <btL> th ch c nhng bn ghi tha mn <btL> mi c tnh tng b phn. Nu c tu chn FIELDS <Ds trng> th vic tnh tng b phn ch tin hnh trn nhng trng c lit k trong danh sch. <Tp KQ> c cu trc hon ton ging vi cu trc ca tp ang m.

4. Tnh tng b phn


4.3. C ch thc hin Bt u t bn ghi u tin lnh thit lp mt gi tr kha ri xt nhng bn ghi k tip n lp mt bn ghi tng v ghi vo <tp KQ>. Khi gp bn ghi u tin khc gi tr kha, lnh chuyn sang thit lp gi tr kha th hai, ri thc hin nh trn, thit lp bn ghi tng khc. Qu trnh thc hin tng t nh trn, cho n khi kt thc tp CSDL. V vy, kt qu c ngha. Tp CSDL phi c sp xp hoc ch s theo trng kho tnh tng b phn.

4. Tnh tng b phn


4.4. V d USE BLUONG TOTAL ON KHOA TO THOP1 INDEX ON KHOA TO T1 TOTAL ON KHOA TO THOP2 TOTAL ON KHOA TO THOP3 FOR HSL>=3

Chng 7. Kt xut thng tin trong tp CSDL


5. t lc d liu
Khi nim: Lc d liu l ch cho php lm vic vi nhng bn ghi ca tp CSDL tha mn mt iu kin no , nh trc y ta dng tu chn FOR <btL> trong cc lnh. Lnh t lc: SET FILTER TO <btL> Vi tp CSDL ang m vic xc lp mi trng nh th ny ch cho php cc lnh tc ng ln nhng bn ghi tha mn <btL>

Chng 7. Kt xut thng tin trong tp CSDL


5. t lc d liu V d: USE HSCB BROW FOR HSL>3 COUNT FOR HSL>3 tng ng vi USE HSCB SET FILTER TO HSL>3 BROW COUNT

Chng 7. Kt xut thng tin trong tp CSDL


6. Gii hn trng d liu
Khi nim: Gii hn trng d liu l ch cho php lm vic vi nhng trng d liu m ta quan tm. Lnh gii hn trng d liu: SET FIELD TO <Ds trng> Vi tp CSDL ang m vic xc lp mi trng nh th ny ch cho php cc lnh tc ng ln nhng trng c lit k trong danh sch.

Chng 7. Kt xut thng tin trong tp CSDL


6. Gii hn trng d liu
V d: USE HSCB BROW FIELD MSCB,HD,TEN tng ng vi USE HSCB SET FIEL TO MSCB,HD,TEN BROW

Chng 8. Lp bo co bng lnh Report & Lable


1. Khi nim bo co dng Report v dng Label. 2. To tp khun bo co. 3. Sa i tp khun bo co. 4. S dng lnh REPORT 5. To tp nhn. 6. Sa i tp nhn. 7. S dng lnh LABEL

Chng 8. Lp bo co bng lnh Report & Lable


1. Khi nim bo co dng Report v dng Label
1.1. Bo co dng Report L bo co theo dng bng 2 chiu m mt dng ca n ly thng tin trn mt bn ghi. V d: DANH SCH TH SINH
S BD 121 122 123 H V TN Nguyn Vn H Trn Vn Hong H Thanh Hng NGY SINH NI SINH

26/03/1990 ng H 09/08/1989 Vnh Linh 17/05/1990 Hi Lng ng H, ngy 16 thng 3 nm 2008 CH TCH HI NG

Chng 8. Lp bo co bng lnh Report & Lable


1. Khi nim bo co dng Report v dng Label 1.2. Bo co dng Label
Bo co m mi trang ly thng tin trn mt bn ghi. V d: PHIU BO THI Trng i hc X, bo tin cho th sinh H v tn: Nguyn Vn H S bo danh: 121 Ngy sinh: 26/03/1990 Ni sinh: ng H

Chng 8. Lp bo co bng lnh Report & Lable


2. To tp khun bo co
2.1 Tn tp khun: Tp khun bo co c tn *.FRX 2.2. To tp khun: Vic to ra n bao gm cc bc sau: B1: Thit k bo co B2: Phn nh r 3 vng: u biu (Title), ni dung (Detail) v cui biu (Summary) B3: M tp CSDL tng ng USE <tp CSDL> B4: a vo lnh to tp khun bo co CREATE REPORT <tp khun bc> B5: nh dng trang in (Alt - Report - Page layout - Right Margin Colum) B6: Khai bo vng Detail B7: M vng Title v Summary (Alt - Report - Title/Summary) nh du Title Band v Summary Band

Chng 8. Lp bo co bng lnh Report & Lable


2. To tp khun bo co
B8: Khai bo vng Title B9: Khai bo vng Summary 2.3. Cch a vo mt i tng vn bn 2.4. Cch a vo mt i tng trng d liu * Trng n gin * Trng c tnh ton V d: T tp HSCB.DBF lp Danh sch cn b trch ngang. USE HSCB CREA REPO DSTN (to ra DSTN.FRX) T tp BLUONG.DBF lp Bng thanh ton lng. USE BLUONG CREA REPO BTTL (to ra BTTL.FRX)

Chng 8. Lp bo co bng lnh Report & Lable


3. Sa i tp khun bo co
Vi mt tp khun bo co c thit lp. Ta c th sa i n bng lnh: MODIFY REPORT <tn tp khun> V d: USE HSCB MODI REPO DSTN

Chng 8. Lp bo co bng lnh Report & Lable


4. S dng lnh REPORT 4.1. C php: REPORT FORM <tp khun> [FOR <btL>] TO PRINT/PREVIEW 4.2. Gii thch: Lnh in bo co vi khun dng ca <tp khun> v d liu l trn cc tp CSDL ang m. Nu c tu chn FOR <btL> th ch c nhng bn ghi tha mn <btL> mi c in theo bo co. Nu c tu chn TO PRINT th bo co c in ra my in hoc tu chn PREVIEW th bo co c a ra mn hnh. V d: USE HSCB REPO FORM DSTN PREV USE BLUONG REPO FORM BTTL PREV

Chng 8. Lp bo co bng lnh Report & Lable


5. To tp nhn
5.1 Tn tp nhn: Tp nhn c tn *.LBX 5.2. To tp nhn: Vic to ra n bao gm cc bc sau: B1: Thit k nhn B2: M tp CSDL tng ng (USE <tp CSDL>) B3: a vo lnh to tp nhn (CREATE LABEL <tp nhn>) B4: nh dng trang in (Alt - Label - Page layout ) B5: Khai bo nhn 5.3. Cch a vo mt i tng vn bn 5.4. Cch a vo mt i tng trng d liu V d: T tp HSCB.DBF to nhn l cc Phiu cn b. USE HSCB CREA LABEL PCB (to tp PCB.LBX)

Chng 8. Lp bo co bng lnh Report & Lable


6. Sa i tp nhn
Vi mt tp nhn c thit lp. Ta c th sa i n bng lnh: MODIFY LABEL <tp nhn> V d: USE HSCB MODI LABEL PCB

Chng 8. Lp bo co bng lnh Report & Lable


7. S dng lnh LABEL
7.1. C php: LABEL FORM <tp khun> [FOR <btL>] TO PRINT/PREVIEW 7.2. Gii thch: Lnh in nhn vi khun dng ca <tp nhn> v d liu l trn cc tp CSDL ang m. Nu c tu chn FOR <btL> th ch c nhng bn ghi tha mn <btL> mi c in ra nhn. Nu c tu chn TO PRINT th nhn c in ra my in hoc tu chn PREVIEW th nhn c a ra mn hnh. V d: USE HSCB LABE FORM PCB PREV

Chng 9. Thao tc vi nhiu tp CSDL


1. nh vng lm vic v gn b danh 2. Cp nht t mt tp CSDL khc 3. Kt ni hai tp CSDL 4. Thit lp mi lin kt gia nhiu tp CSDL 5. ng cc tp CSDL ang m

Chng 9. Thao tc vi nhiu tp CSDL


1. nh vng lm vic v gn b danh
1.1. Cc vng lm vic ca FoxPro. 1.2. M tp trn mt vng lm vic bt k v gn b danh. 1.3. Truy nhp trng d liu ca tp hin thi v tp ang m vng lm vic khc.

Chng 9. Thao tc vi nhiu tp CSDL


1. nh vng lm vic v gn b danh
1.1. Cc vng lm vic ca FoxPro T trc cho n nay chng ta ch lm vic vi mt vng ca Foxpro nn khi m tp CSDL cng ng ngha vi vic ng tp CSDL ang m. Thc t Foxpro c 25 vng lm vic c t tn nh sau: Dng s: T 1 n 25 Dng k t: 10 vng lm vic u tin c tn bng s t 1 n 10 hoc bng k t t A n J. chn vng lm vic ta dng lnh SELECT <Tn vng> V d: SELE C hoc SELE 15

Chng 9. Thao tc vi nhiu tp CSDL


1. nh vng lm vic v gn b danh
1.2. M tp trn mt vng lm vic bt k v gn b danh a. M tp trn vng lm vic SELECT <Tn vng> USE <tp CSDL> b. Gn b danh SELECT <Tn vng> USE <tp CSDL> ALIAS <b danh> <b danh>: Do ngi s dng t t nhng phi tun th hai iu sau: * Theo ng lut t tn trng d liu * Tn khng th l cc k t t A n J. V d: SELE 5 USE HSCB V d: SELE 16 USE BLUONG ALIAS BL

Chng 9. Thao tc vi nhiu tp CSDL


1.nh vng lm vic v gn b danh
1.3 Truy nhp trng d liu ca tp hin thi v tp ang m vng lm vic khc. * Tp hin thi: <trng> nh dng t trc n nay * Tp vng lm vic khc <Tn vng>.<trng> <B danh>.<trng> Ch rng vic di chuyn con tr bn ghi ch thc hin c i vi tp hin thi ch khng lm c vi tp ang m trn vng khc, tr dng lnh SET RELATION V d: SELE 3 USE HSCB ALIAS HS SELE 1 USE BLUONG ? HSL ? HS.HSL (hoc C.HSL)

Chng 9. Thao tc vi nhiu tp CSDL


2. Cp nht t mt tp CSDL khc
2.1. B sung cc bn ghi t mt tp CSDL khc. 2.2. Sa i d liu da vo d liu trn mt tp khc.

Chng 9. Thao tc vi nhiu tp CSDL


2. Cp nht t mt tp CSDL khc
2.1. B sung cc bn ghi t mt tp CSDL khc Khi hai tp CSDL c cng chung cu trc tp hay c mt s trng trng nhau v cu trc ta c th b sung cc bn ghi ca tp ny sang tp kia bng cch sau: Tp mun b sung c m vng hin thi. Tp cha cc bn ghi b sung trng thi ng. S dng lnh: APPEND FROM <tp CSDL> [FOR <btL>][FIELDS <Ds trng>]

Chng 9. Thao tc vi nhiu tp CSDL


2. Cp nht t mt tp CSDL khc
2.1. B sung cc bn ghi t mt tp CSDL khc Gii thch: Nu c tu chn FOR <btL> th ch nhng bn ghi tha mn <btL> mi c b sung. Nu c tu chn FIELDS <Ds trng> th cc bn ghi c b sung vo tp hin thi theo cc trng c lit k trong danh sch. Ngc li cc bn ghi c b sung vo tp hin thi theo tt c cc trng ca n trng tn vi tp hin thi. V d:USE HSCB COPY TO HS1 APPEND FROM HS1 FOR HSL>3 APPEND FROM HS1 FIELD MSCB, HD, TEN,HSL APPEND FROM BLUONG

Chng 9. Thao tc vi nhiu tp CSDL


2. Cp nht t mt tp CSDL khc
2.2. Sa i d liu da vo d liu trn mt tp khc
Thng thng khi sa i d liu nhiu, ngi ta s chun b d liu sa i trn mt tp khc. Sau s dng tp sa trn tp hin thi bng lnh: UPDATE ON <kho> FROM <b danh> REPLACE <trng 1> WITH <bt1>[,<trng 2> WITH <bt2>... ] [ FOR <btL>] Gii thch: Tp cha d liu sa i c m trn vng lm vic khc vi <b danh> v ch s theo <kho> cp nht. Tp cn sa i c m vng hin thi v cng c ch s theo <kho> cp nht. Vi nhng bn ghi ca hai tp c cng gi tr kho th vic cp nht c tin hnh nh m t trn REPLACE. Nu c tu chn FOR <btL> th ch nhng bn ghi tho mn <btL> mi c cp nht. Ch : Trng <kha> ca c hai tp phi trng nhau v cu trc.

Chng 9. Thao tc vi nhiu tp CSDL


2. Cp nht t mt tp CSDL khc
2.2. Sa i d liu da vo d liu trn mt tp khc V d: SELE 3 USE LMOI ALIAS LM INDE ON MSCB TO T1 SELE 1 USE HSCB INDE ON MSCB TO T2 UPDATE ON MSCB FROM LM REPL HSL WITH LM.HSL

Chng 9. Thao tc vi nhiu tp CSDL


3. Kt ni hai tp CSDL
Vi hai tp CSDL c mi quan h logic vi nhau ta c th kt ni chng bng lnh sau: JOIN WITH <b danh> TO <tp KQ> FOR <btL> [FIELDS <dstrng>] iu kin: Mt tp c m trn vng lm vic khc vi <b danh>, tp cn li c m trn vng hin thi. Gii thch: Lnh s tin hnh kt ni mi bn ghi ca tp hin thi ln lt vi tng bn ghi ca tp <b danh> tha mn <btL> v ghi vo <tp KQ>. Nu c ty chn FIELDS <ds trng> th <tp KQ> bao gm nhng trng c lit k trong danh sch v theo th t ny. Nu khng c ty chn th <tp KQ> bao gm tt c cc trng ca tp hin thi v tt c cc trng ca tp <b danh> khng trng tn vi cc trng ca tp hin thi.

Chng 9. Thao tc vi nhiu tp CSDL


3. Kt ni hai tp CSDL
C ch: Trc ht con tr ca tp hin thi t bn ghi u tin, con tr ca tp <b danh> cng c t bn ghi u tin v lnh xt <btL> nu tha mn th mt bn ghi s c kt ni v ghi vo <tp KQ>, ngc li th b qua v con tr trn tp <b danh> di chuyn n bn ghi k tip v li xt <btL> qu trnh tip tc cho n khi con tr bn ghi ca tp <b danh> t cui tp th con tr ca tp hin thi c di chuyn n bn ghi k tip v con tr bn ghi ca tp <b danh> li tr v bn ghi u tin. Qu trnh xt bn ghi ny ca tp hin thi vi cc bn ghi ca tp b danh li din ra nh trn. n khi con tr ca tp hin thi t cui tp th lnh kt thc.

Chng 9. Thao tc vi nhiu tp CSDL


3. Kt ni hai tp CSDL
V d 1: CLOS ALL SELE 2 USE DMHANG ALIAS DM SELE 1 USE HOADON JOIN WITH DM TO KQUA FOR MSHH=DM.MSHH FIEL SHHD, MSHH, DM.DGIA, SL, TIEN USE KQUA BROW

Chng 9. Thao tc vi nhiu tp CSDL


3. Kt ni hai tp CSDL
V d 2: CLOSE ALL SELE 3 USE DIEMTHI ALIA DT SELE 2 USE FACHBT ALIA FA SELE 1 USE HOSO JOIN WITH FA TO TGIAN FOR SBD=FA.SBD USE TGIAN JOIN WITH DT TO KQTHI FOR FACH=DT.FACH USE KQTHI BROW

Chng 9. Thao tc vi nhiu tp CSDL


4. Thit lp mi lin kt gia nhiu tp CSDL
Lnh JOIN c mt s nhc im sau: Phi to ra tp CSDL cha kt qu (tn khng gian nh) Vic kt ni ch th hin mt lc hai tp Kt qu b cng ho nn sau khi kt ni nu c s thay i trn cc tp ngun th tp kt qu cng khng th hin c. khc phc chng ta s tin hnh lin kt bng lnh: SET RELATION TO <kha> INTO <b danh> [ADDITIVE] iu kin: Trong cc tp tham gia lin kt ta phi chn mt tp c kh nng lin kt vi cc tp khc m vng hin thi v gi n l tp ch. Cc tp cn li gi l tp kt c m trn cc vng lm vic khc vi b danh v c ch s theo trng kha lin kt.

Chng 9. Thao tc vi nhiu tp CSDL


4. Thit lp mi lin kt gia nhiu tp CSDL
Gii thch: Lnh thit lp mi lin kt gia tp ch v tp <b danh> theo php so snh bng gia trng <kha> ca tp ch v trng lp ch s ca tp <b danh>. Nu c tu chn ADDITIVE th lin kt ny s b sung vo cc lin kt c trc ca tp ch. Nu khng y l lin kt u tin ca tp ch. C ch: Vi cc tp kt ang thit lp lin kt vi tp ch, khi con tr ca tp ch ng mt bn ghi no th con tr ca cc tp kt s t ng dch chuyn n cc bn ghi tng ng V d: Trong 2 tp HOADON.DBF v DMHANG.DBF th HOADON.DBF l tp ch. Trong 3 tp HOSO.DBF, FACHBT.DBF v DIEMTHI.DBF th FACHBT.DBF l tp ch

Chng 9. Thao tc vi nhiu tp CSDL


4. Thit lp mi lin kt gia nhiu tp CSDL
V d 1: CLOS ALL SELE 2 USE DMHANG ALIAS DM INDE ON MSHH TO T1 SELE 1 USE HOADON SET RELATION TO MSHH INTO DM BROW FIEL SHHD, MSHH, SL, DM.DGIA, TIEN

Chng 9. Thao tc vi nhiu tp CSDL


4. Thit lp mi lin kt gia nhiu tp CSDL
V d 2: CLOSE ALL SELE 3 USE DIEMTHI ALIA DT INDE ON FACH TO T1 SELE 2 USE HOSO ALIA HS INDE ON SBD TO T2 SELE 1 USE FACHBT SET RELA TO SBD INTO HS SET RELA TO FACH INTO DT ADDITIVE BROW FIEL SBD, HS.HVT, DT.DIEM

Chng 9. Thao tc vi nhiu tp CSDL


5. ng cc tp CSDL ang m
CLOSE DATABASE: ng tt c cc tp CSDL v cc tp ch s. CLOSE ALL: ng tt c cc loi tp. QUIT: ng tt c cc loi tp v thot khi Foxpro

Chng 10. Nhng thao tc khc vi tp CSDL


1. Chn th mc hin thi 2. c danh sch cc tp trn a 3. Sao chp tp 4. i tn tp 5. Xa tp 6. S dng lnh DOS

Chng 10. Nhng thao tc khc vi tp CSDL


1. Chn th mc hin thi
Khi ta mi khi ng Foxpro th th mc hin thi l th mc m mc DOS ta thc hin lnh khi ng Foxpro. thay i th mc hin thi ta s dng lnh: SET DEFAULT TO [<d:>]<path> Gii thch: Lnh s chn th mc hin thi l th mc c ch ra bi ng dn <path> trn a <d:> V d: SET DEFA TO C:\QLNS

Chng 10. Nhng thao tc khc vi tp CSDL


2. c danh sch cc tp trn a
2.1. Tp CSDL: Mun xem danh sch cc tp CSDL ang tn ti trong mt th mc no ta s dng lnh: DIR [<path>][TO PRINT] Gii thch: Lnh s hin th tn ca cc tp CSDL trong th mc c ch ra bi ng dn <path> hoc a ra my in nu c ty chn TO PRINT V d: DIR TO PRINT DIR C:\QLNS

Chng 10. Nhng thao tc khc vi tp CSDL


2. c danh sch cc tp trn a
2.2. Tp tng qut: DIR [<path>]<tn tp>[TO PRINT] Gii thch: <tn tp> y c th vit tng minh hoc m t vi vic s dng cc k t i din * v ?. V d: DIR *.PRG DIR HSCANBO.* DIR C:\QLNS\*.FRX

Chng 10. Nhng thao tc khc vi tp CSDL


3. Sao chp tp
3.1. Sao chp tp CSDL: Vi tp CSDL hin thi, ta c th sao chp n thnh mt tp khc bng lnh: COPY TO [<Path>]<tp KQ> [FIELDS <Ds trng>][FOR <BtL>] Gii thch: Nu c ty chn FIELDS <Ds trng> th <tp KQ> ch bao gm cc trng c lit k trong danh sch. Nu c ty chn FOR <BtL> th ch c nhng bn ghi ca tp hin thi tha mn <btL> mi c sao chp sang <tp KQ>. V d: USE HSCANBO COPY TO HSCB COPY TO HS1 FIELD MSCB, HD, TEN, HSL COPY TO HS2 FOR HSL>=3

Chng 10. Nhng thao tc khc vi tp CSDL


3. Sao chp tp
3.2. Sao chp tp tng qut: Vi tp tng qut, ta c th sao chp n thnh mt tp khc bng lnh: COPY FILE [<Path>]<tp ngun> TO [<Path>]<tp ch> Gii thch: <tp ngun> v <tp ch> phi c vit di dng y v tng minh. V d: COPY FILE HS1.DBF TO HS3.DBF COPY FILE DSTN.FRX TO BCCB.FRX

Chng 10. Nhng thao tc khc vi tp CSDL


4. i tn tp
Vi mt tp CSDL hoc mt tp tng qut ang trng thi ng ta c th i tn n bng lnh: RENAME [<Path>]<tn c> TO <tn mi> Gii thch: Lnh s i tp c tn l <tn c> c xc nh bi ng dn <Path> thnh tn l <tn mi>. V d: RENAME HS2.DBF TO CBQL.DBF

Chng 10. Nhng thao tc khc vi tp CSDL


5. Xa tp
xa mt tp bt k ang trng thi ng bn c th dng lnh: DELETE FILE <tn tp> <tn tp> phi c vit dng tng minh. V d: DELETE FILE HS3.DBF DELETE FILE \QLNS\MAIN.PRG

Chng 10. Nhng thao tc khc vi tp CSDL


6. S dng lnh DOS
Chng ta thy rng rt nhiu thao tc trn chng ta c th thc hin bng lnh DOS nu ta thot khi FOXPRO. Tuy nhin khi ang FoxPro ta hon ton c th thi hnh cc lnh ca DOS bng cch s dng c php: !<Lnh DOS> V d: !DEL \QLNS\*.PRG !C:\BP\BIN\TURBO

Chng 11. Truy vn d liu thng qua SQL


SQL - Structured Query Language - Ngn ng truy vn d liu c cu trc. Cch vit SQL chun c du ; cui cu nhng SQL trong FoxPro th tun theo lut vit lnh ca Foxpro V d: SQL chun SQL Foxpro SELECT * FROM HSCANBO; SELECT *; FROM HSCANBO

Cc thut ng: Table: Tp CSDL Row: bn ghi Col: Trng d liu

Chng 11. Truy vn d liu thng qua SQL


1. To tp CSDL v vo d liu 2. Truy vn d liu n gin 3. Kt xut tp theo th t hoc b bn ghi trng 4. Cc hm SQL 5. Tnh tng b phn 6. JOIN v UNION: lin kt d liu 7. Cc cu truy vn d liu lng nhau 8. Ghi kt qu vo tp hay in ra my in

Chng 11. Truy vn d liu thng qua SQL


1. To tp CSDL v vo d liu
1.1. To tp CSDL Lnh: CREATE TABLE <tn tp> (<trng1> <kiu1>[(< rng>[,<thp phn>])][, <trng2> <kiu2>[(< rng>[,<thp phn>])] ...]) Gii thch: <tn tp>: tn ca tp CSDL mun to <trngi>: tn ca trng th i <kiui>[(< rng>[,<thp phn>])]: L kiu v rng ca trng th i c quy nh nh sau: C(X)- Kiu k t vi di X D - Kiu ngy L - Kiu Logic N(X,Y) - Kiu s vi rng X v phn thp phn l Y.

Chng 11. Truy vn d liu thng qua SQL


1. To tp CSDL v vo d liu
1.1. To tp CSDL V d: CREATE TABLE HSCB (MSCB C(4), HD C(18), TEN C(7), NSINH D, HSL N(4,2), TDVH N(2), GD L) CREA TABL HOSO (SBD N(4),HVT C(25)) CREA TABL FACHBT (SBD N(4), FACH C(2)) CREA TABL DIEMBT(FACH C(2),DIEM N(5,2))

Chng 11. Truy vn d liu thng qua SQL


1. To tp CSDL v vo d liu
1.2. Vo d liu: Lnh: INSERT INTO <Tp> [(<Ds trng>)] VALUES (<Ds biu thc>) Gii thch: Lnh s chp vo <tp> mt bn ghi mi. Nu khng c ty chn <Ds trng> th phi vo d liu cho tt c cc trng, nu c th ch vo d liu cho cc trng c lit k trong danh sch. <Ds biu thc> l danh sch cc gi tr s gn cho cc trng tng ng theo th t <Ds biu thc> v <Ds trng> hoc l th t cc trng trn tp nu khng c ty chn <Ds trng>. V d: INSERT INTO HSCANBO (MSCB, HD, TEN) VALUES (NV01,TRAN VAN,DUNG) INSERT INTO DIEMBT VALUES (X4,9.5)

Chng 11. Truy vn d liu thng qua SQL


2. Truy vn d liu n gin
2.1. Chn tp CSDL v cc trng 2.2. Chn cc bn ghi

Chng 11. Truy vn d liu thng qua SQL


2. Truy vn d liu n gin
2.1. Chn tp CSDL v cc trng Lnh: SELECT <Ds trng> FROM <Tp> Gii thch: Lnh s hin th ln mn hnh ni dung ca <tp>. Nu ty chn <Ds trng> c thay bng du * th tt c cc trng u c hin th, nu vit tng minh th ch cc trng c lit k trong danh sch mi c hin th. V d: SELE * FROM HSCANBO SELE MSCB,HD,TEN,HSL FROM HSCANBO

Chng 11. Truy vn d liu thng qua SQL


2. Truy vn d liu n gin
2.2. Chn cc bn ghi chn cc bn ghi trong tp CSDL tha mn iu kin no ta thm vo lnh ty chn sau: WHERE <iu kin chn> Gii thch: - Vi tu chn ny c b sung vo lnh th ch c nhng bn ghi tha mn iu kin chn mi c hin ra. - <iu kin chn> c th l mt trong cc dng sau: * Hai biu thc cng loi (S, K t, Ngy) quan h vi nhau bng mt trong cc php ton Logic sau: = bng # khc > ln hn != khc < nh hn <> khc >= ln hn hoc bng !> khng ln hn <= nh hn hoc bng !< khng nh hn

Chng 11. Truy vn d liu thng qua SQL


2. Truy vn d liu n gin
2.2. Chn cc bn ghi * <trng> IN (<bt1>, <bt2>, ...) <Trng> c gi tr l mt trong cc <bti> th tha mn. * <trng kt> LIKE <btC> v tr ca <btC> l du gch di _ c ngha l thay th cho mt k t bt k. v tr ca <btC> l du phn trm % c ngha l thay th cho mt xu k t bt k. * <trng> BETWEEN <bt1> AND <bt2> Gi tr ca <trng> trong on <bt1> v <bt2> * Cc ton t logic NOT, AND v OR Vi cc iu kin chn nh trn ta c th s dng cc ton t logic kt hp vi chng.

Chng 11. Truy vn d liu thng qua SQL


2. Truy vn d liu n gin
2.2. Chn cc bn ghi V d: SELE * FROM HSCANBO WHERE HSL IN (2.97,3.62) SELE * FROM HSCANBO WHERE MSCB LIKE NV__ SELE * FROM HSCANBO WHERE HD LIKE %VAN% SELE * FROM HSCANBO WHERE TDVH BETWEEN 8 AND 10 SELE * FROM HSCANBO WHERE MSCB LIKE NV__ AND HSL>3

Chng 11. Truy vn d liu thng qua SQL


3. Kt xut tp theo th t hoc b bn ghi trng
3.1 Kt xut theo th t: Mun cc bn ghi ca mt tp CSDL xut hin theo mt th t no ta s b sung vo lnh tu chn: ORDER BY <trng1>[ASC|DESC][, <trng2>[ASC|DESC]...] Gii thch: Cc bn ghi s xut hin theo th t u tin trng 1, trng 2, Nu c ty chn ASC th c sp theo th t tng dn cn DESC l gim dn. V d: SELE * FROM HSCANBO ORDER BY TEN, HD SELE * FROM HSCANBO ORDER BY HSL DESC

Chng 11. Truy vn d liu thng qua SQL


3. Kt xut tp theo th t hoc b bn ghi trng
3.2 Ch hin mt bn ghi c mt gi tr trng: Mun cc bn ghi ca mt tp CSDL c cng mt gi tr trng no ch xut hin mt bn ghi ta s b sung vo tn ca n sau lnh SELECT tu chn DISTINCT V d: SELECT DISTINCT HSL FROM HSCANBO

Chng 11. Truy vn d liu thng qua SQL


4. Cc hm SQL
4.1 Hm COUNT() m s lng cc bn ghi Cc mu lnh SELECT COUNT(*) FROM HSCANBO m s lng cc bn ghi trong tp HSCANBO SELECT COUNT(MSCB) FROM HSCANBO m s lng cc bn ghi trong tp HSCANBO c MSCB khng rng. SELECT COUNT(DISTINCT HSL) FROM HSCANBO m s lng cc loi h s lng trong tp HSCANBO SELECT COUNT(MSCB) FROM HSCANBO WHERE HSL=3.62 m s lng cc bn ghi trong tp HSCANBO c HSL=3.62.

Chng 11. Truy vn d liu thng qua SQL


4. Cc hm SQL
4.2 Cc hm AVG(), MIN(), MAX(), SUM() Cc hm ny c s dng tng t nh trn nhng khng s dng DISTINCT i vi MAX v MIN. V d: SELECT AVG(HSL), MAX(HSL), MIN(HSL) FROM HSCANBO

Chng 11. Truy vn d liu thng qua SQL


5. Tnh tng b phn
tnh tng b phn chng ta s s dng hai ty chn GROUP BY v HAVING Mu lnh SELECT KHOA, SUM(TONG) FROM BLUONG GROUP BY KHOA Tnh tng b phn ca tng lng theo tng phng khoa. SELECT KHOA, SUM(HSL*290000) FROM BLUONG GROUP BY KHOA HAVING (HSL*290000)>600000 Tnh tng b phn ca tng lng theo tng phng khoa vi iu kin HSL*290000>600000. Ngoi ra chng ta c th dng kt hp vi ty chn WHERE SELECT KHOA, SUM(HSL*290000) FROM BLUONG WHERE PCTN>0 GROUP BY KHOA HAVING (HSL*290000)>600000

Chng 11. Truy vn d liu thng qua SQL


6. JOIN v UNION: lin kt d liu
6.1 Lin kt d liu lin kt d liu trn nhiu tp CSDL ta s m rng lnh SELECT nh sau: SELECT [*|<bd1>.<trng1>[, <bd2>.<trng2>...]] FROM <tp1> <bd1>[, <tp2> <bd2>... ] WHERE <iu kin> * <bdi> l b danh ca tp i * <iu kin>: y l iu kin kt ni cc tp

Chng 11. Truy vn d liu thng qua SQL


6. JOIN v UNION: lin kt d liu
6.1 Lin kt d liu Mu lnh
SELECT HD.SHHD,HD.MSHH, DM.TENH, HD.SL,DM.DGIA FROM HOADON HD, DMHANG DM WHERE HD.MSHH=DM.MSHH

Lin kt hai tp HOADON.DBF v DMHANG.DBF vi iu kin cc bn ghi bng nhau v MSHH


SELECT HS.SBD,HS.HVT, FA.FACH, DI.DIEM FROM HOSO HS, FACHBT FA, DIEMTHI DI WHERE HS.SBD=FA.SBD AND FA.FACH=DI.FACH

Lin kt ba tp HOSO.DBF, FACHBT.DBF v DIEMTHI.DBF vi iu kin cc bn ghi ca hai tp HOSO.DBF, FACHBT.DBF bng nhau v SBD v hai tp FACHBT.DBF v DIEMTHI.DBF bng nhau v FACH.

Chng 11. Truy vn d liu thng qua SQL


6. JOIN v UNION: lin kt d liu
6.2 B sung bn ghi: Vi cc tp CSDL c cu trc ging nhau ta c th ni lin nhau cc bn ghi ca nhiu tp bng ty chn UNION Mu lnh: SELECT * FROM HOSO UNION SELECT * FROM HS1 UNION SELECT * FROM HS2

Chng 11. Truy vn d liu thng qua SQL


7. Cc cu truy vn d liu lng nhau
Cc cu truy vn c th c mt cu truy vn ph nm trong ty chn WHERE. Nh vy kt qu ca mt cu truy vn s c s dng thc hin mt cu truy vn khc. Mu lnh: SELECT * FROM DMHANG WHERE MSHH = (SELECT MSHH FROM HOADON WHERE SL>=50) Lit k cc mt hng (y cc thuc tnh) m bn trn mi ho n vi s lng ln hn hoc bng 50.

Chng 11. Truy vn d liu thng qua SQL


8. Ghi kt qu vo tp hay in ra my in
* a kt qu vo tp ta a ra tu chn TO FILE <tn tp> * a kt qu ra my in ta a ra tu chn TO PRINT

You might also like