Professional Documents
Culture Documents
DỮ LIỆU FOXPRO
Số tiết: 45 tiết
Giảng viên: Trần Thị Hà
Email: Thuha23tran@gmail.com
Điện thoại: 0985.306.844
12/16/09 1
Chương I : Các khái niệm cơ bản
3/
12/16/09 2
Chương I : Các khái niệm cơ bản
1. Bộ ký tự
a/ Các chữ cái:
- Chữ cài tiếng Anh A, B, …, Z; a, b, …, z
Trong mã ASCII 65,66,…,90;97,98,…122
- Các chữ cái tạo nên các từ khóa, các tên chuẩn, tên tự tạo,
các chuỗi kí tự và kí tự.
- Các chữ cái tạo nên phương tiện, ngôn ngữ giữa người và
Máy
12/16/09 3
Chương I : Các khái niệm cơ bản
b/ Các chữ số: 0…9
48..57
Kiểu số nguyên(Numeric) (N)
Kiểu số thực (Float) (F)
Kiểu ngày tháng (Date) (D)
c/ Các kí hiệu:
& ‘( ) * + ; - . / : < = > \ { }
12/16/09 4
Chương I : Các khái niệm cơ bản
2. Từ khóa
Mỗi ngôn ngữ lập trình đều có một bộ từ khóa riêng, đó là bộ
từ vững giao tiếp giữa người và máy theo ngôn ngữ tự nhiên
.
Foxpro cho phép viết tắt chỉ cần 4 ký tự của một từ khóa dài.
Ví dụ: Modify command -> modi comm
* Các tên chuẩn: Là bộ từ vững của Foxpro dùng để giao tiếp
giữa người và máy trong chế độ trực tiếp hoặc gián tiếp.
Ví dụ: go/ goto; input; list; …
12/16/09 5
Chương I : Các khái niệm cơ bản
+ Tên tự đặt: Dùng để chỉ các hằng, các biến, các hàm, các
thủ tục các tên chương trình, các trường trong các Record.
Tên có thể đặt tùy ý nhưng phải tuân theo nguyên tắc sau:
- Phải bắt đầu bằng một kí tự, tiếp theo sau có thể dùng kí số
và dấu gạch dưới.
- Không được trùng với các từ chuẩn và phải viết liền nhau.
Tối đa là 10 kí tự.
12/16/09 6
Chương I : Các khái niệm cơ bản
3. Kiểu dữ liệu
a/ Kiểu số (Numeric) số nguyên: có thể biểu diễn 20 kí số
gồm phần nguyên, phần thập phân và dấu chấm.
Ví dụ: 12358.368
b/ Kiểu số thực (Float): Sử dụng trong ngành toán học, vật
lý và hóa học.
Ví dụ: 1.2E+3= 1200
1.2E-3=0.0012
12/16/09 7
Chương I : Các khái niệm cơ bản
c/ Kiểu chuỗi (Character): Tập hợp các ký tự trong bảng mã
ASCII có kích thước tối đa là 254 bytes và được đặt trong
cặp dấu nháy ‘ ‘, hoặc dấu nháy kép “ “.
d/ Kiểu ngày (Date): Kích thước cố định 8 bytes
Mặc định ngày của Mỹ: {mm/dd/yy}
Cài đặt kiểu ngày của French: Set date french -> {dd/mm/yy}
Ví dụ: {30/04/99}
12/16/09 8
Chương I : Các khái niệm cơ bản
e/ Kiểu logic (Logical):Kiểu luận lý chỉ có hai giá trị đúng (.T.)
hoặc sai (.F.).
Kí hiệu: Đúng: .T.
Sai: .F.
f/ Kiểu ghi nhớ (Memo): dùng cho những phần văn bản có
kích thước lớn hơn 254 bytes. Dữ liệu kiểu Memo được lưu
trữ trong tập tin cùng tên với tập tin CSDL nhưng có phần
mở rộng .FPT
12/16/09 9
Chương I : Các khái niệm cơ bản
4. Biến bộ nhớ
Foxpro có nhiều loại biến: Biến nhớ, biến trường, biến hệ
thống, biến chung, biến riêng, biến mảng và biến màn hình.
Biến nhớ (gọi tắt là biến) là tên được đặt cho các vùng
nhớ của RAM dành để chứa các giá trị có thể thay đổi mỗi
lúc một khác nhau khi ta sử dụng chúng trong chế độ trực
tiếp hoặc gián tiếp.
12/16/09 10
Chương I : Các khái niệm cơ bản
5. Cơ sở dữ liệu
Muốn có một CSDL thì trước hết phải tạo lập cấu trúc.
Cũng giống như muốn xây nhà thì phải đổ móng và đúc
khung nhà.(sử dụng lệnh Creat). Xem cấu trúc (sử dụng lệnh
List Structure) hoặc sửa (sử dụng lệnh Modify Structure) cấu
trúc mà bạn tạo lập.
12/16/09 11
Chương I : Các khái niệm cơ bản
Sau khi đã có cấu trúc CSDL bạn có thể nhập dữ liệu và tập
tin CSDL cũng giống như sau khi có nền móng và khung
nhà, người ta bắt đầu xây dựng những chi tiết của tòa nhà
(sử dụng lệnh Append).
12/16/09 12
Chương I : Các khái niệm cơ bản
*Định nghĩa về CSDL
Cột: Mỗi cột mô tả một thuộc tính gọi là Fields( trường)
Dòng: Mỗi dòng mô tả đầy đủ một đơn vị của CSDL gọi là
Record (mẫu tin). Như vậy mỗi Record là tập hợp các Fields
để được một đối tượng nào đó.
*Các đặc trưng của Fields (trường)
+ Tên trường (field name)
+ Kiểu của trường (field type)
+ Kích thước của trường (field width)
12/16/09 13
Chương I : Các khái niệm cơ bản
*Các đặc trưng của Record (Mẫu tin):
+ Số thứ tự của Record
+ Kích thước của Record
+ Con trỏ Record
*Cơ chế hoạt động:
+ Chọn vùng làm việc + Mở tập tin
+ Các vị trí trong tập tin + Bắt đầu tập tin BOF
+ Kết thúc tập tin EOF + Record thứ N
12/16/09 14
Chương I : Các khái niệm cơ bản
6. Hằng:
Hằng là loại dữ liệu thuộc một trong các kiểu dữ liệu của
Foxpro có trị không thay đổi trong suốt quá trình thực hiện
chương trình.
+ Hằng số: 0; 1.5; -23.76; 12E+3
+ Hằng chuỗi: “” hoặc ‘’
Ví dụ: ‘ABDFSDT’
“Chào bạn”
+ Hằng ngày tháng: {}
Ví dụ: {30/04/82}
{} hằng rỗng
12/16/09 15
Chương I : Các khái niệm cơ bản
7. Các phép toán số học:
a/ Các phép toán số học
+Toán tử đảo dấu: -
Ví dụ: 10 đảo dấu -10
+ Toán tử lũy thừa: * hoặc ^
Ví dụ: R2= R*R= R^2
+Toán tử lớp nhân: Nhân *, chia /
+Toán tử lớp cộng: + hoặc –
+Toán tử chia lấy dư: %
Ví dụ: 11%3 = 2
12/16/09 16
Chương I : Các khái niệm cơ bản
b/ Các phép toán chuỗi kí tự:
+Phép cộng: +
Ví dụ: A=‘ABC’, B=‘DEF’, A+B= ABCDEF
+ Phép trừ: -
Dùng để nối 2 kí tự, ký tự trống cuối chuỗi thứ nhất sẽ chuyển
về cuối chuỗi thứ hai của chuỗi mới tạo.
Ví dụ: A=‘ABC’, B=‘DEF’, A+B= ABCDEF
12/16/09 17
Chương I : Các khái niệm cơ bản
c/ Các phép toán so sánh:
<
>
=
<>, !=, #: toán hạng trái không bằng toán hạng phải.
<=
>=
==: hoàn toàn bằng
Các toán tử quan hệ tác động lên hai toán hạng cùng kiểu
(Mumeric, character, date, logic) cho kết quả đúng (.T.) hoặc
sai (.F.)
12/16/09 18
Chương I : Các khái niệm cơ bản
d/ Các phép toán logic: Not, And, Or
+ Not kí hiệu: !
+ And giao hay và: .T. , .F.
+ Or hoặc : .T. , .F.
12/16/09 19
Chương I : Các khái niệm cơ bản
8. Biểu thức (Expression)
a/ Biểu thức số (Numeric) là biểu thức có trị là các số.
b/ Biểu thức character( btc) là biểu thức có các toán hạng là
các chuỗi kí tự, kết quả cũng là chuỗi.
Ví dụ:
Holot= ‘Nguyễn Văn’
Ten=‘Nam’
? Holot + ’ ‘ + Ten= ‘Nguyễn Văn Nam’
12/16/09 20
Chương I : Các khái niệm cơ bản
c/ Biểu thức logic (btL) là biểu thức mà các toán hạng kết hợp
với các toán tử logic, kết quả là trị logic (.T. hoặc .F.)
d/ Biểu thức date (btD) là biểu thức có các toán hạng có trị là
ngày, chuỗi ngày và số nguyên kết hợp với các toán hạng
cộng (+) hoặc toán hạng trừ (-)
Ví dụ:
A= {31/05/99}
B= {01/05/99}
? A-B= 30
?B+10=11/05/99
12/16/09 21
Chương I : Các khái niệm cơ bản
9. Mảng (Array)
a/ Định nghĩa: Mảng là một vùng bộ nhớ dùng để ghi nhớ một
tập hợp các dữ liệu. Tên mảng được xác định như tên biến.
12/16/09 22
Chương I : Các khái niệm cơ bản
b/ Cách khai báo mảng:
Cú pháp: Dimension / Declare <tên mảng>[<btn1>[<btn2>]]
Trong đó:
<Tên mảng>: tuân theo quy tắc đặt tên biến nhớ.
<btn1>: độ lớn của mảng 1 chiều hay độ lớn của chiều thứ
nhất (dòng) đối với mảng hai chiều.
<btn2>: độ lớn của chiều thứ 2 (cột) đối với mảng 2 chiều.
Ví dụ: dimension A[5]
dimension B[5,3]
c/ Cách truy nhâp. Tương tự trong Pascal.
12/16/09 23
Chương II : Tạo lập – Hiệu chỉnh CSDL
1.Cấu trúc chung nhiều lệnh.
a/ Định nghĩa: Lệnh là một chỉ thị bắt máy phải thi hành. Khi ra
lệnh cho máy, nếu ở chế độ trực tiếp, bạn gõ lệnh từ cựa sổ
lệnh và ấn phím enter ( ).
Nếu ở chế độ gián tiếp thì phải viết câu lệnh trong văn bản
chương trình và chỉ thị nào bạn chạy chương trình bằng lệnh
DO thì câu lệnh trong chương trình mới có hiệu lực dù gõ
lệnh ở chế độ trực tiếp hay viết lệnh ở chế độ gián tiếp thì
bạn cũng phải viết đúng lệnh.
12/16/09 24
Chương II : Tạo lập – Hiệu chỉnh CSDL
b/ Cấu tạo lệnh:
Dạng tổng quát của một câu lệnh:
Lệnh [phạm vi] [for / while <điều kiện>] [like <mẫu>];
[[field] <danh sách các trường];
[from <tên tập tin> / array <tên mảng>];
[to printer / to file <tên tập tin> / <danh sách biến>]{off}
12/16/09 25
Chương II : Tạo lập – Hiệu chỉnh CSDL
Trong đó:
+ Lệnh: là một từ khóa của Foxpro.
+ Phạm vi:
All tất cả.
Next <btn>: n bản ghi kể từ bản ghi hiện hành.
Record <btn>: chỉ tác động đến bản ghi thứ <btn>.
Rest: từ bản ghi hiện hành cho đến hết tập tin.
12/16/09 26
Chương II : Tạo lập – Hiệu chỉnh CSDL
+For / while <điều kiện>: điều kiện lôgic
+For: tác động lên toàn bộ tập tin.
+While: tác động từ bản ghi hiện hành đến hết tập tin.
+Field <danh sách các trường>: liệt kê danh sách các trường
cần tác động trong câu lệnh.
+From <tên tập tin> / Array <mảng>: Tên của tập tin hay tên
của mảng mà tử đó lệnh này sẽ lấy số hiệu để sử dụng cho
tập tin .DBF đang mở.
12/16/09 27
Chương II : Tạo lập – Hiệu chỉnh CSDL
+Like <mẫu>: chỉ tác động những thành phần giống như mẫu
chỉ định.
+To printer / to file <tên tập tin> / <danh sách biến>: xuất kết
quả ra máy in hoặc tập tin. Tùy chọn này chỉ có vài lệnh sử
dụng được
+Off: Tắt số thứ tự của Record.
12/16/09 28
Chương II : Tạo lập – Hiệu chỉnh CSDL
c/ Phân loại lệnh:
+ Có 2 loại lệnh:
+ Lệnh trực tiếp: - Lệnh gõ trực tiếp từ cựa sổ lệnh.
- Các lệnh thực hiện thông qua hệ thống
Menu.
+ Lệnh gián tiếp: DO < tên chương trình>
12/16/09 29
Chương II : Tạo lập – Hiệu chỉnh CSDL
2.Tạo lập – Xem – Sửa – Ghép cấu trúc CSDL.
a/ Tạo cấu trúc bằng lệnh Creat từ cựa sổ lệnh:
*Cú pháp: Creat [<Tên tập tin CSDL>]
Tạo cấu trúc dữ liệu cho tập tin được chỉ định.
<Tên tập tin CSDL>: Là tên do bạn tự đặt. Foxpro ngầm định
phần mở rộng là .BDF
Sau khi gõ lệnh xong Poxro yêu cầu ta khai báo cấu trúc của
tệp.
12/16/09 30
Chương II : Tạo lập – Hiệu chỉnh CSDL
Cụ thể là:
+ khai báo - tên trường (field name)
- kiểu trường (field type)
- độ rộng của trường (field width)
- chữ số thập phân nếu là kiểu số
Sau khi khai báo xong ta ấn Ctrl+W để lưu cấu trúc này lên
đĩa.
Chọn Yes để nhập dữ liệu không nhập chọn No
12/16/09 31
Chương II : Tạo lập – Hiệu chỉnh CSDL
Ví dụ: Tạo tập dữ liệu TS.DBF để quản lý học sinh thi chuyển
cấp có cấu trúc như sau:
Hoten (c, 30); ngaysinh (d, 8); gioitinh(L,1) .T. là Nam, .F. là
Nu, Sbd (n, 3); truong( c,15) ghi tên trường mà học sinh tốt
nghiệp; diemtoan(n,5,2); diemvan(n,5,2); ưutien(n,5,2);
tongdiem(n,5,2): ghi tổng số
điểm(diemtoan+diemvan+ưutien)
Sau đó nhập dữ liệu vào khoảng 10 mẫu tin rồi lưu lên đĩa.
Bài giải:
Creat ts
Khai báo cấu trúc cho tệp. Khai báo xong chương trình ấn
Ctrl + W để lưu lúc này trên màn hình xuất hiện “In put data
record now ?” để nhập dữ liệu vào chúng ta chọn “Yes” nhập
xong 10 dữ liệu ta ấn Ctrl + W để lưu.
12/16/09 32
Chương II : Tạo lập – Hiệu chỉnh CSDL
b/ Xem cấu trúc bằng lệnh Display structure hay List structure
Cú pháp:
+ Display/List structure [to print] [to file]<tên tập tin> [off]
Trong đó:
- display structure: hiển thị cấu trúc theo từng trang màn hình.
- list structure: hiển thị cấu trúc theo kiểu cuốn màn hình
- to print: In cấu trúc ra giấy.
- to file<tên tập tin>: ghi cấu trúc vào tệp văn bản.
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
uses ts
Display structure
List structure to print
12/16/09 33
Chương II : Tạo lập – Hiệu chỉnh CSDL
c/ Xem cấu trúc bằng lệnh Display structure hay List structure
Cú pháp:
+ Display / List [phạm vi] [danh sách các trường] [for <đk1>];
[while<đk2>] [to print] [off]
Trong đó:
- display : hiển thị nội dung của các record theo từng trang màn
hình.
- list : hiển thị nội dung của các record theo kiểu cuốn màn hình
- to print: In nội dung của các record ra giấy.
- [for <đk1>] và [while<đk2>]: điều kiện để hạn chế hiển thị record
- [off]: khi không muốn hiển thị số thứ tự của các record.
12/16/09 34
Chương II : Tạo lập – Hiệu chỉnh CSDL
Chú ý:
1. Để xem thông tin theo từng trang của màn hình thì dùng
lệnh display, trong trường hợp in ra giấy in thì dùng lệnh list.
2. Đối với lệnh list không ghi phạm vi thì máy ngầm định là
all. Còn đối với lệnh display nếu không ghi phạm vi thì ngầm
định là một mẫu tin hiện hành.
3.Trong trường hợp lệnh quá dài ta có thể ghi chúng trên
nhiều hàng nhưng trước khi xuống hàng ta phải ghi dấu
chấm phẩy (;)
4. Chúng ta có thể dùng phím tắt F5
12/16/09 35
Chương II : Tạo lập – Hiệu chỉnh CSDL
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
uses ts
Display all holten, ngaysinh, gioitinh, diemtoan, diemvan off
use
12/16/09 36
Chương II : Tạo lập – Hiệu chỉnh CSDL
d/ Sửa cấu trúc.
Modify structure
Sau khi gõ lệnh này xong trên màn hình diễn ra cấu trúc của
tệp dữ liệu.
Nếu chỉ xem mà không sửa thì xem xong ấn phím Esc để
thoát ra.
12/16/09 37
Chương II : Tạo lập – Hiệu chỉnh CSDL
Nếu có sửa thì tiến hành:
+ Đưa con trỏ đến cột trước cột cần chèn rồi ấn Ctrl + I để chèn
thêm cột vào.
+ Đưa con trỏ đến cột trước cột cần xóa rồi ấn Ctrl + D để xóa cột.
+ Đưa con trỏ đến cột trước cột cần di chuyển rồi ấn Ctrl + Page Up
hoặc Ctrl + Page Down để di chuyển cột này về phía trước hoặc
phía sau.
+ Sửa trực tiếp về kiểu dữ liệu, độ rộng. Sau khi sửa xong ấn Ctrl +
W để lưu rồi chọn mục Yes.
Chú ý: Muốn xóa màn hình trong Foxpro thì bạn gõ lệnh Clear
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
use ts
modi stru
12/16/09
use 38
Chương II : Tạo lập – Hiệu chỉnh CSDL
e. Sao chép cấu trúc từ tệp csdl đã có.
Cú pháp:
Copy structure to <tên csdl mới>[fields<các trường>]
Trong đó:
- to <tên csdl mới>: sao chép cấu trúc của tập tin .DBF đang mở vào
một tập tin mới. Tập tin này chỉ có cấu trúc, không có dữ liệu.
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
Use ts
Copy stru to tsm1 fiel holot, ten, ngaysinh, gioitinh
use tsm1
disp stru
use
12/16/09 39
Chương II : Tạo lập – Hiệu chỉnh CSDL
f/Tạo tập tin cấu trúc mới từ một tập tin cấu trúc csdl.
Cú pháp:
Creat <tên tập tin mới> From <Tên tập tin cấu trúc CSDL>
Lệnh này cũng tạo ra tập tin cấu trúc giống như thực hiện lệnh
Copy structure nhưng không phải mở tập tin nguồn.
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
creat tsm2 from ts
use tsm2
disp stru
use
12/16/09 40
Chương II : Tạo lập – Hiệu chỉnh CSDL
3.Nhập và sửa dữ liệu.
a/ Lệnh Append bổ sung mẫu tin.
Cú pháp: Append
Sau khi nhập xong dữ liệu thì ấn ctrl +W để lưu.
Ví dụ: use ts
append
use
12/16/09 41
Chương II : Tạo lập – Hiệu chỉnh CSDL
b/ Điều chỉnh dữ liệu bằng lệnh @ … say … get …
Cú pháp:
@ <tọa độ> Say ‘thông báo’ Get <biến nhớ>;
[valid <đk>] [range a[, b]]
Ví dụ: tl= space(1)
@ 20,15 say ‘Ban co lam nua khong (C/K)?’ get tl
read
12/16/09 42
Chương II : Tạo lập – Hiệu chỉnh CSDL
Cú pháp:
@ <tọa độ> Say ‘thông báo’
Ví dụ:
@ 20,15 say ‘Dien tich tam giac:’ + str (s)
12/16/09 43
Chương II : Tạo lập – Hiệu chỉnh CSDL
Chú ý:
1.Các biến nhớ trong câu lệnh này phải được khai báo trước cụ
thể:
Nếu là biến kiểu số thì khai báo: biến = 0
Nếu là biến kiểu chữ thì khai báo: biến = space(m) (m là kí
tự)
Nếu là biến kiểu ngày thì khai báo: biến = {}
Nếu là biến kiểu logic thì khai báo: biến = .T. hoặc .F.
2.Nếu có ghi Valid<đk>: hợp lệ
Invalid: không hợp lệ
12/16/09 44
Chương II : Tạo lập – Hiệu chỉnh CSDL
Ví dụ:
Tl= space(1)
@ 20,15 say ‘Ban co lam nua khong C/K ?’get tl valid tl $ ‘CcKk’
Read
12/16/09 45
Chương II : Tạo lập – Hiệu chỉnh CSDL
*Lệnh nhập xuất dữ liệu cơ bản:
Dang 1: Input ‘Thông báo’ to <biến nhớ>
Ví dụ: Input ‘Ban cho biet ten ? ‘ to t
Input ‘Cho biet ngay sinh của bạn ?’ to ns
Dang 2: Accept ‘Thông báo’ to <biến nhớ> (nhận lấy)
Ví dụ: Accept ‘cho biet ho ten cua ban ?’ to x
Lệnh này chỉ cho phép nhập dữ liệu kiểu character
12/16/09 46
Chương II : Tạo lập – Hiệu chỉnh CSDL
c/Lệnh thay thế dữ liệu các trường trong tệp
Cú pháp:
Replace [phạm vi] <trường i> with <giá trị i> [for <đk1>] ; [while<đk2>]
Trong đó: - [for<đk1>]: Tác động cho toàn bộ tập tin theo điều kiện được
chỉ định.
-[while<đk2>]: Tác động từ record hiện hành cho đến hết tập tin
theo điều kiện được chỉ định.
Ví dụ: ta sử dụng tệp CSDL ts.BDF đã tạo từ ví dụ trước:
tinh tongdiem trong tệp này (tongdiem=diemtoan+diemvan+uutien)
Use ts
repl all tongdiem with (diemtoan+diemvan+uutien)
brow
use
12/16/09 47
Chương II : Tạo lập – Hiệu chỉnh CSDL
d/Lệnh xem và sửa dữ liệu trong tệp dữ liệu.
Cú pháp:
Browse [phạm vi] [fields <d/s các trường>] [for<đk>]
Lệnh browse là lệnh mạnh nhất của foxpro dùng để hiệu
chỉnh dữ liệu bao gồm: Xem, sửa, thêm, tìm kiếm, đánh dấu
xóa một hoặc nhiều record.
Ví dụ: Giả sử cần xem và sửa lại 4 mẫu tin đầu tiên của tệp
ts.DBF.
Use ts
Browse next 4
Use
12/16/09 48
Chương II : Tạo lập – Hiệu chỉnh CSDL
e/Lệnh sửa đổi nội dung của mẫu tin trong tệp dữ liệu
Có 2 dạng:
Cú pháp:
Dạng 1:
Edit [phạm vi] [fields <d/s các trường>] [for/while<đk>]
Dạng 2:
Change [phạm vi] [fields <d/s các trường>] [for/while<đk>]
Ví dụ: Giả sử cần sửa lại điểm môn toán cho thí sinh có SBD 15
trong tệp ts.DBF.
Use ts
Edit all field diemtoan for sbd= ’15’
Sửa lại điểm toan xong ấn Ctrl + W để lưu.
Use
12/16/09 49
Chương II : Tạo lập – Hiệu chỉnh CSDL
f/Một số lệnh cài đặt
i. Lệnh đặt lại kiểu ngày
Cú pháp: Set date <tên kiểu ngày>
Kiểu ngày gồm: American: mm/dd/yy
French: dd/mm/yy
Japan: yy/mm/dd
Ví dụ: set day french
ii. Lệnh cho phép biểu diễn năm 4 chữ số hoặc 2 chữ số.
Set century on 4 chữ số
Set century off 2 chữ số
12/16/09 50
Chương II : Tạo lập – Hiệu chỉnh CSDL
iii. Lệnh cài đặt số chữ số thập phân
Cú pháp: set decimal to <n> (n là số nguyên)
Ví dụ: set decimal to 4
iv. Lệnh cài đặt chính xác trong quá trình so sánh
set exact on chính xác
set exact off không chính xác
Ngầm định là off
v. Lệnh mở tệp dữ liệu (đã có)
Use <tên tệp dữ liệu>
Use có tác dụng đóng tập tin CSDL và các tập tin chỉ mục
liên quan.
Ví dụ: use ts Mở tệp ts
use Đóng tệp ts
12/16/09 51
Chương II : Tạo lập – Hiệu chỉnh CSDL
vi. Lệnh xuất dữ liệu ra màn hình
Dạng 1: ? ‘ thông báo’ , bt1, bt2 (Writeln)
Xuất dữ liệu theo từng dòng.
Ví dụ: ? ‘Dien tich hinh vuong la: ‘, s
Dạng 2: ?? ‘ thông báo’ , bt1, bt2 (Write)
Xuất dữ liệu trên cùng một dòng.
Ví dụ: ?? ‘Dien tich hinh vuong la: ‘, s
12/16/09 52
Chương II : Tạo lập – Hiệu chỉnh CSDL
Hỏi bài cũ
Câu 1. Tạo tập dữ liệu ts.DBF để quản lý học sinh cấp 2 thi
chuyển cấp lên cấp 3 có cấu trúc như sau:
Hoten (c, 30); ngaysinh (d, 8); gioitinh(L,1) .T. là Nam, .F. là
Nu, Sbd (n, 3); truong( c,15): ghi tên trường mà học sinh tốt
nghiệp; diemtoan(n,5,2); diemvan(n,5,2); ưutien(n,5,2): tốt
nghiệp loại gioi +2 điểm, loại khá +1.5 điểm, con liệt sỹ +1điểm;
tongdiem(n,5,2): ghi tổng số điểm (diemtoan + diemvan +
ưutien )
Câu 2. Lưu csdl ts.DBF.
Câu 3. Tính trường tongdiem.
Câu 4. Xem toàn bộ csdl của tập dữ liệu ts
12/16/09 53
Chương II : Tạo lập – Hiệu chỉnh CSDL
Trả lời bài cũ
Câu 1: Creat ts
Câu 2: Ấn Ctrl + W để lưu
Câu 3: Replace all tongdiem with (diemtoan+diemvan+uutien)
Câu 4: Browse
use
12/16/09 54
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 57
Chương III : Các lệnh xử lý trên một CSDL
Ví dụ: Cần chèn vào danh sách ts.DBF một học sinh (giữa mẫu
tin 03 và 04)
Use ts hoặc Use ts
Go 03 Go 04
Insert Insert before nhập dữ liệu cần chèn
ấn Ctrl+W để lưu.
Brow Brow
Use Use
12/16/09 58
Chương III : Các lệnh xử lý trên một CSDL
Bài tập:
Câu 1.Tạo cấu trúc cho tệp tin HSNV.DBF gồm các trường sau:
Holot(c,20); ten(c,10); gioitinh(c,3); ngaysinh(d,8);
bacluong(n,9,2); giadinh(L,1).
Sau đó nhập khoảng 10 mẫu tin.
Câu 2. Di chuyển con trỏ đến mẫu tin thứ 4
Câu 3. Di chuyển con trỏ về đầu tập tin.
Câu 4. Di chuyển con trỏ qua 4 mẫu tin kể từ mẫu tin hiện hành.
Câu 5. Chèn mẫu tin vào sau mẫu tin thứ 7
Câu 6. Chèn mẫu tin vào trước mẫu tin thứ 10
12/16/09 59
Chương III : Các lệnh xử lý trên một CSDL
Giải Bài tập:
Câu 1: Create HSNV
khai báo cấu trúc tệp, xong ấn Ctrl+W lưu cấu trúc,
chọn Yes để nhập dữ liệu, nhập xong ấn Ctrl+W để lưu
Câu 2: Goto 4
brow
Câu 3: Go top
brow
Câu 4: Recno()
skip 4
brow
12/16/09 60
Chương III : Các lệnh xử lý trên một CSDL
Câu 5: go top
go 7
insert nhập dữ liệu cần chèn ấn Ctrl+W để lưu.
brow
Câu 6: go top
go 10
insert befor nhập dữ liệu cần chèn ấn Ctrl+W để lưu
brow
use
12/16/09 61
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 62
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 63
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 64
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 65
Chương III : Các lệnh xử lý trên một CSDL
Bài Tập
Sử dụng tập tin HSNV.DBF bài tập trước thưc hiện một số
công việc sau:
Câu 1: Đánh đấu xóa toàn bộ các mẫu tin có gioitinh= ‘Nam’
Câu 2: Khôi phục lại toàn bộ các mẫu tin có gioitinh=‘Nam’ và
giadinh=.T.
Câu 3: Xóa những mẫu tin đã bị đánh dấu.
12/16/09 66
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 67
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 68
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 69
Chương III : Các lệnh xử lý trên một CSDL
10. Average (tính trung bình cộng các biểu thức số).
Cú pháp:
Average [phạm vi] [d/s các trường] [for/while<đk>] [ to<d/s
các biến nhớ>]
*d/s các biến nhớ: nhằm để lưu kết quả sau khi tính trung bình
công và cho phép sử dụng thuận tiện về sau.
Ví dụ: use ts
average all toan, van, anh to t
?t
use
12/16/09 70
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 71
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 72
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 73
Chương III : Các lệnh xử lý trên một CSDL
Ví dụ: Tìm xem trong danh sách ts.DBF có học sinh nam nào có
điểm toán trên 8 không?
Use ts
Locate all for (gioitinh=‘Nam’) .and. (toan>8)
? Found()
Nếu kết quả hiện ra là .T. => có
Muốn biết rõ về mẫu tin tìm thấy này ta gõ.
Display
Muốn tìm kiếm tiếp tục ta gõ lệnh
?EOF()
continue
?found()
Display
12/16/09 74
Chương III : Các lệnh xử lý trên một CSDL
12/16/09 75