CSDL Foxpro
BàI 1: Tạo lập cơ sở dữ liệu
1/ Tạo lập một CSDL Lệnh Create
Tất cả các bảng biểu trong thực tế ghi dữ liệu kiểu chữ, kiểu số, kiểu ngày tháng đều có thể chuyển
thành một CSDL của Foxpro, chẳng hạn số điểm của một trờng phổ thông hồ sơ sinh viên của một trờng
đại học. Khi đó mỗi dòng của hàng ứng với một bản ghi (record) của CSDL, mỗi cột của bảng ứng với một
trờng (field), phần tiêu đề các cột của bảng ứng với cấu trúc (structure) của CSDL. Mỗi trờng đợc xác định
bởi tên trờng (ứng với tiêu đề cột của bảng), kiểu trờng(ứng với kiểu dữ liệu) độ rộng (ứng với độ rộng
cột ).
Tệp CSDL có đuôi là DBF, trong các lệnh ta không cần viết phần đuôi DBF mà ch ơng trình Fox tự
gán phần mở rộng này. Một CSDL có hai phần: Phần đầu là cấu trúc tệp dùng khai báo các trờng, phần
chính là nội dung các bản ghi
Việc tạo lập CSDL gồm việc đặt tên và khai báo cấu trúc tệp. Mỗi tệp CSDL chỉ đợc ghi lên đĩa
khi nó đã có cấu trúc.
Cú pháp lệnh tạo lập CSDL:
Create <tên file>
Ví dụ: Để tạo lập CSDL quản lý học sinh (QLHS.DBF) ta dùng lệnh:
Create QLHS
Tiếp theo xuất hiện một khung đối thoại yêu cầu khai báo cấu trúc tệp CSDL:
Ta khai báo mỗi trờng của khung hội thoại bao gồm:
+ Name: tên của trờng, tối đa 10 ký tự bắt đầu bằng chữ
+ Type: kiểu của trờng là character (ngầm định), numeric(N), logical (L), date (D)
+ Width: độ rộng của trờng, độ rộng tối đa của trờng ký tự là 254, độ rộng tối đa của trờng số là
20, độ rộng cố định của trờng logical là 1, độ rộng cố định của trờng date là 8
+ Dec: Chữ số lẻ sau dấu chấm thập phân (chỉ với trờng số)
Foxpro cho phép CSDL có tới một tỷ bản ghi, kích thớc mỗi bản ghi không quá 4000 byte
Khi con trỏ ở vùng Type có thể nhấn phím cách để hiện danh sách các dạng dữ liệu, di vệt sáng
đến dạng cần chọn nhấn Enter, hoặc nhấn chữ cái đầu của dạng cần chọn (ví dụ nhấn N chọn numeric).
Trong quá trình khai báo cấu trúc ta có thể dễ dàng sửa chữa bằng cách di vệt sáng đến chỗ cần
sửa và sửa. Muốn chèn một trờng nào đó vào trớc một trờng có vệt sáng thì chọn Insert (hoăc ấn Alt+T).
Xoá trờng có hộp sáng thì chọn Delete (Alt+T).
Muốn huỷ việc khai báo nhấn ESC
Muốn ghi cấu trúc tệp vào đĩa ấn Ctrl+W xuất hiện hộp thoại mang dòng chữ
Input data record now? (Yes, No)
1
CSDL Foxpro
Nếu trả lời No thì lệnh Create sẽ kết thúc ( sau này muốn nhập dữ liệu thì phải dùng lệnh Append),
nếu trả lời Yes thì xuất hiện màn hình nhập liệu cho bản ghi đầu tiên. Ta nhập dữ liệu lần l ợt cho các tr-
ờng, hết bản ghi này máy tự động chuyển đến bản ghi khác.
Sau khi nhập xong dữ liệu, ấn Ctrl+W để ghi toàn bộ dữ liệu vào đĩa. Lúc này tệp vẫn cha đợc
đóng, nếu bị mất điện dữ liệu vẫn có thể bị mất. Để đóng tệp CSDL ta dùng lệnh
USE
Lệnh Create Table(Tham khảo)
Để tạo cấu trúc tệp ngay tại cửa sổ lệnh hoặc ngay trong chơng trình, ta dùng lệnh:
create table <tên tệp> ( tên-trờng kiểu(độ rộng)..)
VD: Create table QLHS (stt C(3),hoten C(30),ngaysinh D, điểmtoán N(5,2)..)
Đối với các trờng D, L, Memo, không cần khai báo độ rộng .
2. Mở và đóng tệp CSDL - Lệnh USE
Muốn làm việc với một tệp CSDL trớc tiên ta phải mở nó bằng lệnh:
USE <tên tệp>
VD USE QLHS
Foxpro cho phép mở đồng thời 25 tệp CSDL trên 25 vùng khác nhau
Lệnh đóng tệp CSDL trong vùng làm việc hiện hành gõ lệnh
USE
Để đóng các tệp CSDL còn có thể dùng các lệnh
+ CLOSE ALL: đóng tất cả các loại tệp đang mở
+ CLOSE DATABASES: đóng tất cả các tệp CSDL
3.Bổ xung bản ghi Lệnh Append
Để bổ sung các bản ghi vào cuối tệp CSDL đang mở dùng lệnh :
APPEND
Màn hình nhập dữ liệu nh của lệnh Create, các thao tác nhập cũng tơng tự. Nhập xong nhấn
Ctrl+W để ghi lại .
Lệnh bổ xung bản ghi trắng vào cuối tệp (không hiện màn hình nhập dữ liệu):
APPEND BLANK
4. Bổ xung các bản ghi từ một tệp vào một tệp khác lệnh APPEND FROM
Cú pháp:
2
CSDL Foxpro
APPEND FROM < tệp bổ xung > [ for <btL>]
Lệnh này bổ xung các bản ghi của < tệp bổ xung> vào tệp CSDL đang mở. Hai tệp này phải có cấu
trúc giống nhau, < tệp bổ xung > phải ở trang thái đóng. Phần FOR <btL>: hạn chế các bản ghi đợc bổ
xung vào tệp.
VD: Giả sử ta có 3 tệp CSDL: QLHS.DBF, QLHS1.DBF, QLHS2.DBF. Để ghép 2 tệp CSDL
QLHS1.DBF, QLHS2.DBF vào tệp QLHS..DBF ta dùng lệnh:
Use QLHS
Append from QLHS1.DBF
Append from QLHS2.DBF
List (Kiểm tra lại)
3
CSDL Foxpro
BàI 2 con trỏ bản ghi và dịch chuyển con trỏ bản ghi
Lệnh goto và lệnh skip
Để xem điểm của một học sinh trong bảng điểm ta phải đặt một thớc kẻ dài ngang dới tên học sinh
đó. Thớc kẻ này tơng ứng với khái niệm con trỏ bản ghi trong tệp CSDL. Việc dịch chuyển thớc kẻ đến
xem dữ liệu của những học sinh khác nhau tơng ứng với khái niệm dịch chuyển con trỏ bản ghi . Tại một
thời đIểm Foxpro chỉ làm việc với bản ghi mà con trỏ bản ghi đang trỏ vào nó, bản ghi này gọi là bản ghi
hiện hành.
Sau khi mở tệp CSDL bằng lệnh USE bản ghi hiện hành là bản ghi đầu tiên trong CSDL.Để dịch
chuyển con trỏ bản ghi dùng các lệnh sau:
Go <n>: Chuyển tới bản ghi có số hiệu là n
Go top : Chuyển tới bản ghi đầu tiên
Go bottom: Chuyển tới bản ghi cuối cùng
Skip: Dịch chuyển theo chiều tiến 1 bản ghi
Skip <n> : Dịch chuyển theo chiều tiến n bản ghi (n>0) hoặc lùi lại n bản ghi (n<0) so bản ghi
hiện hành
BàI 3: xem cơ sở dữ liệu
1.Phạm vi thc hiện của một lệnh
Nhiều lệnh của Foxpro dùng kèm với <phạm vi >, nh các lệnh List, Display, browse, locate, delete,
. Phạm vi xác định số bản ghi mà lệnh tác động đến. Phạm vi có 4 dạng:
All : Làm việc với tất cả các bản ghi
RECORD <n>: làm việc với bản ghi thứ n
NEXT <n>: làm việc với bản ghi thứ n kể từ bản ghi hiện hành
REST: làm việc với tất cả các bản ghi kể từ bản ghi hiện hành đến bản ghi cuối cùng
2/ Xem cấu trúc lệnh Structure
Có thể xem cấu trúc bằng một trong hai lệnh sau:
LIST Structure [ to Print | to file <tên tệp]
DISPLAY Structure [ to Print | to file <tên tệp>]
Hai lệnh trên sẽ đa cấu trúc tệp CSDL đang mở lên màn hình nếu không có các tham số. Nếu có
To Print thì đa kết quả ra máy in. Nếu có To File thì đa kết quả ra tệp. Lệnh Display cho hiện ra từng trang
màn hình. VD:
Use qlhs
4
CSDL Foxpro
List stru
3. Xem nội dung các bản ghi Lệnh LIST, DISPLAY
Cú pháp lệnh list:
LIST < phạm vi><ds trờng> FOR <btL1> WHILE<btL2> [OFF] [TO PRINT | TO FILE<tên tệp>]
Lệnh trên sẽ liệt kê các bản ghi của tệp CSDL đang mở lên màn hình, mỗi bản ghi là một dòng,
mỗi trờng là một cột (tên cột là tên trờng). Nếu trờng dài hơn chiều rộng màn hình thì bị ngắt xuống dòng
dới. Nếu số dòng nhiều hơn một trang màn hình thì màn hình bị trôi
Các thành phần tuỳ chọn của lệnh :
* < phạm vi>: xác định phạm vi của bản ghi đợc liệt kê
* < ds trờng> : hạn chế chỉ cho hiện các trờng trong danh sách. Tên trờng cách nhau bởi dấu phẩy.
* FOR<btL1> chỉ có những bản ghi thoả mãn <btL1>mới đợc liệt kê
* WHILE<btL2> việc liệt kê sẽ dừng khi lần đầu tiên gặp phải bản ghi không thoả mãn <btL2>
* OFF: không hiện số hiệu bản ghi ở cột khi liệt kê
* TO PRINT : Đa kết quả ra máy in
* TO FILE <tên tệp>: đa kết quả ra máy in
Nếu không dùng tuỳ chọn nào(dùng LIST) thì tất cả các bản ghi và tất cả các trờng đều hiển thị
Để xem nội dung bản ghi ta còn có thể dùng lệnh DISPLAY (cú pháp giống nh lệnh LIST). Song
có một số điểm khác biệt
Nếu dùng lệnh DISPlAY không có tuỳ chọn về hạn chế bản ghi thì chỉ có bản ghi hiện hành đợc
hiển thị
Lệnh Display All. Cho hiện tất cả các bản ghi nh lệnh LIST. Khi hiện đợc một trang màn hình thì
máy dừng lai, để hiện tiếp cần nhấn một phím
Display tiện dùng để xem các CSDL lớn nhằm tránh trôi màn hình nh lệnh List
Vd:
Use QLHS
List
List hoten,ngaysinh,quequan,noisinh,gioitinh for noisinh=an bài
(liệt kê các học sinh co Noisinh tai An Bài)
bàI 4: SửA cấu trúc lệnh modify structure
Muốn sửa cấu trúc của một tệp CSDL trớc tiên ta phải mở nó và sau đó dùng lệnh:
5