Giáo trình Foxpro - Phần lý thuyết

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

pdf25 trang | Chuyên mục: FoxPro | Chia sẻ: dkS00TYs | Lượt xem: 2331 | Lượt tải: 1download
Tóm tắt nội dung Giáo trình Foxpro - Phần lý thuyết, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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 ALL [TO ]
- 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à . Nếu
 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ì thì tất cả các tệp chỉ số đang mở
đều đ-ợc sao chép.
+ Nếu không có TO 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 [OF ] TO 
- Giải thích:
+ Lệnh này sẽ sao chép một đính mục có tên là của tệp chỉ số kết hợp CDX
đang mở là thành tệp chỉ số IDX.
+ Nếu không có OF thì máy sẽ lấy 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 
- Giải thích:
+ 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 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 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 
- Giải thích:
+ Lệnh trên tìm kiếm thông tin trên tệp đã đ-ợc chỉ số hoá.
+ có thể là biến ký tự, biểu thức và chỉ chấp nhận 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 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 , 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 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 
- 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
 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 
- 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 .
+ 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 thì sẽ bổ sung
 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 [] [TO ] [FOR ] [WHILE ]
- Giải thích:
+ Lệnh này đếm số bản ghi thuộc và gán giá trị vào .
+ Nếu không có , lệnh sẽ hoạt động trên toàn tệp.
+ Nếu có FOR thì chỉ đếm các bản ghi thoả mãn điều kiện trong <BtL1.
+ Nếu có WHILE thì công việc đếm số bản ghi chỉ còn thực hiện chừng nào 
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 [] []
[FOR ] [WHILE ] [TO ]
+ Lệnh này tính tổng các bản ghi theo , đâ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 , For, While
giống nh- trong lệnh LIST.
+ Nếu không có thì tất cả các tr-ờng số của CSDL đều đ-ợc lấy
tổng.
+ Nếu dùng TO thì các giá trị tổng này sẽ đ-ợc gửi theo thứ tự ứng vào
.
c. Lệnh tính trung bình cộng AVERAGE:
- Cú pháp:
AVERAGE [] []
[FOR ] [WHILE ] [To ]
+ Lệnh trên sẽ lấy trung bình cộng trên cá bản ghi theo . 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 [] []
[FOR ] [WHILE ] [To ]
+ 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 đó là danh
sách hàm lấy từ các hàm mẫu sau:
CNT(): Đếm số bản ghi.
SUM(): Tính tổng theo .
AVG(): Tính trung bình cộng theo .
MAX(): Tìm giá trị lớn nhất theo .
MIN(): Tìm gí trị nhỏ nhất theo .
3. Lệnh tổng hợp theo nhóm:
- Đối vơi những CSDL đã đ-ợc sắp xếp theo một 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 ON 
[] [FIELDS ]
[FOR ] [WHILE ]
+ 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ệ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 thì tất cả các tr-ờng số của CSDL sẽ đ-ợc lấy tổng.
+ Nếu có thì chỉ lấy tổng các bản ghi nằm trong .
+ 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 
USE 
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

File đính kèm:

  • pdfGiáo trình Foxpro - Phần lý thuyết.pdf
Tài liệu liên quan