Foxpro can ban

Chia sẻ bởi Nguyễn Đình Danh | Ngày 19/03/2024 | 14

Chia sẻ tài liệu: foxpro can ban thuộc Công nghệ thông tin

Nội dung tài liệu:

HỆ QUẢN TRỊ CƠ SỞ
DỮ LIỆU FOXPRO
Số tiết: 45 tiết
Giảng viên: Trần Thị Hà
Email: [email protected]
Điện thoại: 0985.306.844
Chương I : Các khái niệm cơ bản
Tài liệu tham khảo:
1/Giáo trình Lý thuyết và bài tập Foxpro
Tác giả: Nguyễn Đình Tê, Hoàng Đức Hải
2/

3/


Chương I : Các khái niệm cơ bản
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
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:
& ‘ ( ) * + ; - . / : < = > { }
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; …
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ự.
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

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}
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
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.
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.

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).

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)
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
+ Xử lý nội dung tập tin + Đóng tập tin CSDL
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
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
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
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.)
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.

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’
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
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.
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 [[]]
Trong đó:
: tuân theo quy tắc đặt tên biến nhớ.
: độ 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.
: độ 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.
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.
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 ];
[[field] [from / array ];
[to printer / to file / ]{off}
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 : n bản ghi kể từ bản ghi hiện hành.
Record : chỉ tác động đến bản ghi thứ .
Rest: từ bản ghi hiện hành cho đến hết tập tin.
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 : liệt kê danh sách các trường cần tác động trong câu lệnh.
+From / Array : 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ở.
Chương II : Tạo lập – Hiệu chỉnh CSDL
+Like : chỉ tác động những thành phần giống như mẫu chỉ định.
+To printer / to file / : 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.

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>

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ạo cấu trúc dữ liệu cho tập tin được chỉ định.
: 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.
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
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.
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] [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: 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

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.
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
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 
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.
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 
use 
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 [fields] 
Trong đó:
- to : 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 
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 From
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 
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 
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:
@ Say ‘thông báo’ Get ;
[valid <đk>] [range a[, b]] 
Ví dụ: tl= space(1)
@ 20,15 say ‘Ban co lam nua khong (C/K)?’ get tl
read
Chương II : Tạo lập – Hiệu chỉnh CSDL
Cú pháp:
@ Say ‘thông báo’ 
Ví dụ:
@ 20,15 say ‘Dien tich tam giac:’ + str (s)
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ệ
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
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
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  (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
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] with [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 
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 ] [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 

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 ] [for/while<đk>] 
Dạng 2:
Change [phạm vi] [fields ] [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 

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
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ố
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 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
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
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
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


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 

Chương III : Các lệnh xử lý trên một CSDL
1.Go/ Goto (Dịch chuyển con trỏ tệp).
Cú pháp: (định vị tuyệt đối)
Go
Goto
Đưa con trỏ tới mẫu tin thứ n trong tệp (n>=1 và n<=số thư tự của record cuối cùng).
Chú ý: Go top  đưa con trỏ về mẫu tin đầu tiên.
Go bottom  đưa con trỏ về mẫu tin cuối cùng.
Xác định số record hiện hành dùng hàm Recno()
Ví dụ:
Use ts  Use ts 
go 4  goto 4 
brow  brow 
use  use 
Chương III : Các lệnh xử lý trên một CSDL
2.Skip (Dịch chuyển con trỏ tệp).
Cú pháp: (định vị tương đối)
Skip
Đưa con trỏ qua n mẫu tin kể từ mẫu tin hiện hành.
Trong đó: n>0 con trỏ dời về phía cuối tập tin.
n<0 con trỏ dời về phía đầu tập tin
nếu không có n thì mặc định là dời xuống dưới 1 record
nếu di chuyển con trỏ quá vị trí BOF hoặc EOF thì sẽ xuất hiện thông bão lỗi.
Chú ý: Trong lập trình ta thường sử dụng lệnh Skip tức là dịch chuyển xuống 1 mẫu tin kế tiếp.
Ví dụ: use ts 
skip 4 
Brow
use 
Chương III : Các lệnh xử lý trên một CSDL
3.Insert (chèn thêm mẫu tin).
Lệnh Insert cho phép chèn thêm record trống vào bất kỳ vị trí nào trong tập tin CSDL đang mở.
Cú pháp:
Insert [before][blank] 
Chú ý: -Nếu có ghi before: tức là chèn về phía trước mẫu tin hiện hành.
-Nếu không ghi before: tức là chèn về phía sau mẫu tin hiện hành.
- Nếu ghi blank tức là chèn thêm một mẫu tin trống nhưng khồng hiện lên màn hình. Muốn nhập dữ liệu cho mẫu tin này ta dùng lệnh Replace, Change, Edit, Browse hoặc bằng chương trình.

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 
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

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
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 
Chương III : Các lệnh xử lý trên một CSDL
4. Delete (đánh dấu xóa các mẫu tin).
Cú pháp:
Delete [phạm vi] [for/while<đk> ]
Chú ý:1.Sau khi thực hiện lệnh xong những mẫu tin đánh đấu để xóa sẽ có kí hiệu * ở đầu mỗi mẫu tin (Display/list) kí hiệu bôi đen ở đầu mỗi mẫu tin(Browse).
2. Delete: Đánh dấu xóa record hiện hành.
Ví dụ: use ts 
delete all for diemtoan<5 
brow
use 
Chương III : Các lệnh xử lý trên một CSDL
5.Recall (Khôi phục các mẫu tin đã bị đánh dấu).
Cú pháp:
Recall [phạm vi] [for/while <đk> ]
Chú ý: Sau khi thực hiện lệnh xong những mẫu tin bị đánh đấu để xóa sẽ được khôi phục lại.
Ví dụ: use ts 
Recall all for diemtoan<5 
brow
use 
Chương III : Các lệnh xử lý trên một CSDL
6.Pack (xóa các mẫu tin đã bị đánh dấu).
Cú pháp:
Pack [memo] [dbf]
Pack: xóa các record đã bị đánh dấu xóa từ vị trí con trỏ đến hết tập tin.
Pack memo: chỉ xóa các khoảng trống không được sử dụng trong trường memo của tập tin .FPT, không xóa các record đã đánh đấu xóa trong tập tin CSDL
Pack DBF: Xóa các record đã bị đánh dấu xóa trong tập tin CSDL.
Chương III : Các lệnh xử lý trên một CSDL
7. Zap (xóa tất cả mẫu tin trong CSDL).
Cú pháp:
Zap 
Lệnh Zap tương đương cặp lệnh
delete all
pack
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.
Chương III : Các lệnh xử lý trên một CSDL
Giải Bài Tập:
Câu 1: use HSNV 
dele all for gioitinh=`Nam` 
brow
Câu 2: recal all for gioitinh=‘Nam’ .and. Giadinh=.T. 
brow
Câu 3: pack
brow
use 

Chương III : Các lệnh xử lý trên một CSDL
8.Count (đếm số mẫu tin).
Cú pháp:
Count [phạm vi] [for/while <đk>] [ to] 
Trong đó: [ to] : Đếm số record và lưu kết quả vào một biến, nếu không có mệnh đề này thì kết quả hiển thị ra màn hình.
Ví dụ: use ts 
count all for gioitinh=‘Nam’ to m 
? m 
use 
Chương III : Các lệnh xử lý trên một CSDL
9. Sum (tính tổng giá trị các biểu thức số).
Cú pháp:
Sum [phạm vi] [d/s các trường] [for/while<đk>] [to] 
*d/s các biến nhớ: nhằm để lưu kết quả sau khi tính tổng và cho phép sử dụng thuận tiện về sau.
Ví dụ: use ts 
sum all toan, van, anh to t, v, a 
? t 
? v 
? a 
use 
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ớ: 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 
Chương III : Các lệnh xử lý trên một CSDL
11. Sort (Sắp xếp mẫu tin).
Cú pháp:
Sort [phạm vi] on [for/while<đk>];
[ to] 
Trong đó: [ to]: Là tập tin dữ liệu (.DBF) lưu kết quả sắp xếp của lệnh sort.
Ví dụ: Giả sử cần sắp xếp lại danh sách học sinh theo hoten theo thứ tự từ điển.
use ts 
Sort all on hoten / AC to Kq  ta được tập tin Kq.DBF
use kq 
Display all 
Chương III : Các lệnh xử lý trên một CSDL
Chú ý: Chỉ tiêu sắp xếp gồm có:
- Ascending : Sắp xếp tăng dần (chỉ cần gõ /A).
- Descending: Sắp xếp giảm dần (chỉ cần gõ /A).
- Character: Không phân biệt chữ hoa hay chữ thường.


Chương III : Các lệnh xử lý trên một CSDL
12. Locate (Tìm kiếm mẫu tin).
Cú pháp:
Locate [phạm vi] [for/while<đk>] 
Chú ý:
1.Sau khi gõ lệnh này xong, để biết kết quả ta dùng lệnh sau đây:
? Found() 
Nếu xuất hiện: .T. (tìm thấy) .F. (không tim thấy)
Mẫu tin được tìm thấy sẽ là mẫu tin đầu tiên trong tệp dữ liệu.
2.Nếu muốn biết thêm trong tệp này có còn mẫu tin nào khác mà thỏa mãn điều kiện tìm kiếm thì ta dùng lệnh.
? EOF() 
Nếu xuất hiện: .T. (hết tệp);.F. (chưa hết tệp)
gõ lệnh Continue tiếp tục tìm kiếm.

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 
Chương III : Các lệnh xử lý trên một CSDL
Bài tập cuối chương:

* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Đình Danh
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)