Biến.Biến là đại lượng dùng để lưu trữ dữ liệu trong quá trình tính toán, mỗi biến gồm có tên biến và giá trị của biến, giá trị của biến có thể được thay đổi trong quá trình tính toán..
Trang 1HỆ QUẢN TRỊ DỮ LIỆU VISUAL FOXPRO 6.0
Trang 2CHƯƠNG 0
GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ
DỮ LIỆU VISUAL FOXPRO
1 TỔNG QUAN.
1.1 Giới thiệu:
Foxpro là hệ quản trị cơ sở dữ liệu do hãng FOX sản xuất được dùng để giải quyết các bài toán trong lĩnh vực quản lý Khi các công cụ lập trình và các ứng dụng trên môi trường Windows ngày một nhiều thì hãng đã cho ra phiên bản Foxpro 2.6, chạy được trên hai môi trường DOS và Windows.
VISUAL FOXPRO là sản phẩm của hãng Microsoft, nó được kế
thừa từ Foxpro for Windows là một trong những dụng cụ tiện lợi để giải quyết các bài toán trong lĩnh vực quản lý cho những người chuyên nghiệp và không chuyên nghiệp
Từ khi phát triển đến nay, hãng Microft đã cho ra đời nhiều phiên bản VISUAL FOXPRO 3.0; 4.0; 5.0; 6.0; 7.0; 8.0; 9.0
Trang 3
1.2 Khởi động VISUAL FOXPRO
Sau khi đã cài đặt Visual Foxpro ta có thể khởi động nó bằng cách chạy file vfp.exe theo các cách sau:
+ Nhấn đúp nút chuột trái vào biểu tượng của Visual Foxpro trên Desketop.
+ Nhấn chuột vào menu Start, chọn Program, chọn Microsoft Visual Foxpro và kích nút phải của chuột vào đó.
Trang 41.3 Các chế độ làm việc:
Sau khi khởi động xong ta được màn hình giao diện Visual Foxpro như hình ảnh sau:
Trang 5Visual Foxpro cho phép ta làm việc trên hai chế độ: chế độ tương tác và chế độ chương trình.
a Chế độ tương tác: (ví dụ)
b Chế độ chương trình(ví dụ)
Trang 61.4 Thoát khỏi Visual Foxpro.
+ Từ cửa sổ lệnh ta đưa vào lệnh:QUIT
+ Chọn mục chọn Exit từ menu file
Trang 7MỘT SỐ THAO TÁC TRÊN MÀN HÌNH GIAO DIỆN:
Trang 8* Một số mục chọn thông dụng trên menu hệ thống:
Trang 91.2 CÁC KIỂU DỮ LIỆU CƠ SỞ:
Để quản lý, khai thác dữ liệu Visual Foxpro chia dữ liệu thành nhiều kiểu :
Logic: L: Kiểu logic.
General:G: Tổng quát
Trang 101.2.1: Kiểu Character:
Bao gồm các ký tự từ bảng mã ASCII ( như
a Z, A Z, 0 9, %, $ ).
Độ dài tối đa của một dữ liệu kiểu chuổi là 255
ký tự Visual Foxpro phân biệt chữ thường và chữ hoa đối với kiểu dữ liệu này.
1.2.2 Kiểu Numberic:
Chứa các số gồm có phần nguyên và phần thập phân ( Các ký tự 0 9, ( dấu chấm thập
phân) ).
1.2.3 Kiểu Logic:
Trang 111.2.4 Kiểu Date:
Dữ liệu kiểu Date chiếm 8 Byte, mặc định là
dạng MM/DD/YY dùng để lưu dữ liệu ngày,
tháng, năm.
Thứ tự của ngày, tháng, năm theo dạng
MM/DD/YY hay DD/MM/YY, DD/MM/YYYY, có thể được định dạng theo yêu cầu của người sử dụng.
1.2.5 Kiểu Currency.
Là kiểu tiền tệ, dùng để biểu diễn tiền tệ trong
dữ liệu, nó tương kiểu Numberic nhưng có dấu $
ở trước giá trị.
Trang 121.2.6 Kiểu Memo:
Kiểu này dùng để chứa một đoạn văn bản
có độ dài không nhất định trước như quá trình công tác, khen thưởng
1.2.7 Kiểu General:
Là kiểu tổng quát, dùng để chứa dữ liệu dạng âm thanh, hình ảnh
Trang 13- Hằng kiểu Character: phải được để trong cặp dấu “ “.
Ví dụ:" NGUYỄN VĂN A" hay "Dự án"
Hằng chuổi rỗng: " " hay " " Hằng chuổi rỗng: " " hay " " └┘" hay "└┘" └┘" hay "└┘" └┘" hay "└┘" └┘" hay "└┘"
- Hằng kiểu Date: phải được để trong cặp dấu {}.
Ví dụ: { 12/05/00}, { 6/23/1999}.
Hằng ngày rỗng {}.
- Hằng kiểu logic: T hay F.
Trang 141.3.2 Biến.
Biến là đại lượng dùng để lưu trữ dữ liệu trong quá trình tính toán, mỗi biến gồm có tên biến và giá trị của biến, giá trị của biến có thể được thay đổi trong quá trình tính toán.
+ Tên biến: Bao gồm các chữ cái, chữ số, ký tự gạch dưới Tên biến không được bắt đầu bằng ký
tự số, không dài quá 10 ký tự và không được chứa các ký tự đặc biệt, ký tự rỗng.
Ví dụ: Tện biến hợp lệ; ab, xl, delte ,
Tệp biến không hợp lệ; ngày sinh, ho * ten,
Trang 15Visual Foxpro phân chia ra ba loại biến:
- Biến nhớ: Gọi chung là biến, nó có thể
được tạo ra và hủy bỏ trong quá trình làm việc
- Biến hệ thống: Biến này là do Visual
Foxpro tạo ra, bắt đầu là ký tự gạch dưới
- Biến trường: là tên trường của các bảng
dữ liệu, biến trường được tạo ra khi file dữ liệu mở và ta có thể dùng nó khi file dữ
liệu chứa nó không được mở
Trang 161.4 HÀM:
Hàm là một đoạn chương trình dùng
để giải quyết một vấn đề nào đó, mỗi hàm gồm có tên và danh sách tham số đi kèm được để trong dấu (); khi sử dụng hàm ta gọi hàm thông qua tên hàm
Hàm có hai loại:
-Hàm có sẵn của Visual Foxpro
-Hàm do người sử dụng tạo ra
Trang 171.5 BIỂU THỨC.
- Là tổ hợp các toán hạng và toán tử
1.5.1 Toán hạng:
- Là các biến, hằng, hàm
Trang 19+ Toán tử kiểu chuỗi:
+ : Nối chuỗi
$ : Xâu con
Ví dụ: "Tin học' + 'ung dung' " Tin học → " Tin học
Ví dụ: "Tin học' + 'ung dung' " Tin học → " Tin học
ung dung'
' Hue' $ 'TTHue' True' Hue' $ 'TTHue' True→ " Tin học → " Tin học
Trang 20+Phép gán: Dùng để gán dữ liệu vào một thành phần khác như biến, biến vùng Phép gán dùng lệnh: = hoặc Store
Ví dụ:
Tuoi=5
Ngaysinh={02/05/1972}
Store 15 to a,b,c
Trang 21Phép toán trên kiểu dữ liệu ngày:
<ngày giờ>+số ngày giờ
số+<ngày giờ> ngày giờ
<ngày giờ>-số ngày giờ
<ngày giờ>- <ngày giờ> Số
Trang 22+ Toán tử quan hệ: Gồm có: <, >, =, (!),
<>, <=, >=, = =
+ Toán tử Logic: NOT, ! , AND, OR
Kết quả của các phép tính quan hệ, phép tính NOT, AND, OR đều trả về giá trị kiểu logic
Ví dụ: ( 5>3) and (3>7) False→ " Tin học
Ví dụ: ( 5>3) and (3>7) False→ " Tin học
NOT ((5>3) OR (3>7)) FalseNOT ((5>3) OR (3>7)) False→ " Tin học → " Tin học
Trang 23►Thứ tự ưu tiên các phép toán:
Thứ tự ưu tiên các phép toán được tính theo trật tự sau(trên cùng một hàng thì cùng
Trang 251.6 FILE VÀ KIỂU FILE
1.6.1 File và kiểu file:
a File: Là tập hợp các thông tin có quan hệ với nhau và có cùng một bản chất được tổ chức theo một nguyên tắc nhất định để lưu trữ thông tin trên máy tính
Trang 26b Các kiểu file chính của Visuala Foxpro.
*.dbf: File dữ liệu
*.idx: File chỉ mục
*.prg: File chương tình
*.dbc: File cơ sở dữ liệu
*.dll File thư viện liên kết động
*.pjx: File dự án
*.sex: File Form
Trang 271.6.2 File dữ liệu, cấu trúc, bản ghi, trường.
a File dữ liệu: Là tập hợp dữ liệu phản ánh
về một tập hợp các đối tượng quản lý thông qua các thuộc tính quản lý
Trang 28+ Tên trường: ( Field name): Tên trường dài tối đa
Trang 29+ Kích thước trường ( Field Width): Là khoảng bộ nhớ cần thiết để lưu trữ các giá trị của trường, kích thước của trường phụ thuộc vào kiểu trường.
Kiểu C: Tối đa 254 Byte
Kiểu N: Tối đa 20 Byte kể cả dấu thập phân
Kiểu L: Chiếm 1 Byte
Kiểu D: Chiếm 8 Byte
Kiểu M: Độ dài tùy ý, chiếm 10 Byte khi khai báo Currency: Chiếm 8 byte
+ Cấu trúc file: Mỗi tổ hợp trường sắp xếp theo thứ tự
nhất định gọi là cấu trúc của file dữ liệu, mỗi file dữ liệu chỉ có một cấu trúc cụ thể.
Trang 31+Danh sách biểu thức:
Là các giá trị cần thể hiện của câu lệnh,
có thể là trường, tổ hợp các trường, biến, hàm, hằng
Trang 33CHƯƠNG 2 THAO TÁC VỚI BẢNG DỮ LIỆU
2.1 KHÁI NIỆM:
► Bảng dữ liệu lưu trữ dữ liệu theo dạng
dòng và cột, mỗi dòng tượng trưng cho một record, mỗi cột tượng trưng cho một trường (field) của bảng
► Mỗi bảng dữ liệu được lưu trữ trên đĩa với tên file có phần mở rộng mặc định là DBF, mỗi bảng dữ liệu có 2 phần: cấu trúc và nội dung
Trang 34Ví dụ: bảng nhân viên ( NHANVIEN.DBF)
Trang 35Nội dung của file NHAN VIEN.DBF
Hoten Gioitinh ngsinh Namlvie
c lylich
Lê văn A T 02/04/78 1990 Cán bộ
Trần thị C F 11/12/69 1991 Nhân viên
Trang 362.2 TẠO BẢNG DỮ LIỆU:
Từ cửa sổ lệnh ta thực hiện
CREATE < TÊN BẢNG>
► Ví dụ: CREATE nhan vien
► Lúc này, màn hình sẽ xuất hiện hộp thoại để ta tạo cấu trúc bảng.
Trong đó:
Name: Tên trường
Type: Kiểu trường
Width: Độ rộng của trường
Decimal: Số chữ số lẽ sau phần dấu chấm thập phân, phần này chỉ có cho dữ liệu kiểu số.
Trang 37Chú ý:
- Các tên trường không được trùng nhau, không được trùng với từ khóa.
- Đối với dữ liệu kiểu số nếu có phần thập phân thì
nó phải nhỏ hơn độ rộng của trường ít nhất là 2 đơn vị.
Để kết thúc việc nhập cấu trúc ta ấn đồng thời
phím Ctrl+W lúc này sẽ nhận được hộp thoại.
Lúc này: trả lời <No> thì sẽ quay lại cửa sổ
lệnh, trả lời < Yes> để tiến hành nhập các bản ghi Khi chọn Yes sẽ tiếp tục xuất hiện hộp
thoại.
Trang 38Để kết thúc việc nhập dữ liệu ta nhấn tổ hợp < Ctrl+W> để ghi lại.
Chú ý: Để nhập dữ liệu cho trường
MEMO ta đưa con trỏ đến hộp memo rồi
nhấn tổ hợp phím Ctrl - PgUp lúc đó sẽ xuất hiện cửa sổ nhập dữ liệu cho trường này
sau khi kết thúc việc nhập dữ liệu cho nó ta
ấn tổ hợp Ctrl+W để ghi lại
Trang 392.3 MỞ VÀ ĐÓNG FILE DỮ LIỆU:
► Khi muốn làm việc với file dữ liệu nào thì điều đầu tiên ta phải mở file đó ( nạp vào bộ nhớ của máy tính) Để mở file dữ liệu ta sử dụng lệnh
Trang 40►Tạo file dữ liệu bằng menu lệnh hoặc thanh công cụ chuẩn:
Trang 422.4 ĐỊNH VỊ CON TRỎ BẢN GHI
►Fox tạo ra một cơ chế định vị bản ghi để làm
việc gọi là con trỏ bản ghi
►Khi một file dữ liệu được mở thì con trỏ bản ghi được định vị ngay tại bản ghi đầu tiên
►Bản ghi hiện thời là bản ghi mà con trỏ bản ghi đang ở đó
Trang 432.4.1.Định vị con trỏ đến một bản ghi:
Để định vị con trỏ đến một bản ghi nào đó ta thực hiện lệnh:
GO<n>│[TOP]│[BOTTOM]
Chức năng: Dùng để chuyển con trỏ bản ghi
đến bản ghi có số hiệu <n> được chỉ định
trong câu lệnh
+ GOTOP: Dùng chuyển con trỏ bản ghi đến bản ghi về đầu file dữ liệu
+ GOBOTTOM: Dùng để chuyển con trỏ bản
ghi về cuối file dữ liệu
Trang 442.4.2 Định vị tiến, lùi: Lệnh Skip
► Cú pháp: SKIP[+ -][<n>]Cú pháp: SKIP[+ -][<n>]│-][<n>]│-][<n>]
►Tác dụng: Di chuyển con trỏ bản ghi về
trước ( - ) hay sau (+) so với bản ghi hiện thời n bản ghi
► Chú ý: Khi chỉ gõ lệnh SKIP thì con trỏ bản ghi sẽ được di chuyển về sau bản ghi hiện thời một đơn vị
Trang 45Tác dụng: Hiển thị nội dung của bản ghi trong
<phamvi> được chỉ định và thỏa mãn điều
kiện của các biểu thức logic đi sau FOR hoặc WHILE nếu có.
Trang 492.5.3 Lệnh ? / ?? :
► Cú pháp: ? / ??<danh sách biểu thức>
► Tác dụng: Lệnh này tính toán và cho hiển thị
kết quả của danh sách biểu thức lên màn hình.
► Chú ý: Lệnh ? : Trước khi in dữ liệu thì xuống
Trang 50►Ví dụ: Cho biết họ tên, năm làm việc của người có số hiệu là 2.
Go 2
? ' ho ten:', HOTEN ,'nam lam viec:', NAMLV
Trang 512.6 CHÈN, BỔ SUNG BẢN GHI
2.6.1 Chèn bản ghi:
► Cú pháp: INSERT [BEFORE] /[BLANK]
► Chức năng: Chèn một bản ghi ngay sau bản ghi hiện thời (nếu có [Before]) với nội dung được nhập vào.Nếu có [BLANK]thì chèn một bản ghi trắng
Trang 52►Ví dụ:
Chèn một bản ghi vào sau bản ghi thứ 3
Go 3
Insert
Trang 542.7.1 Sửa chữa bằng tay:
► Cú pháp: BROWSE[FIELD<dsách trường >]
[FREEZE<trường>][NODELETE] [NOEDIT][FOR< Bthức logic>]
► Tác dụng: Hiển thị nội dung của bảng dữ liệu, mỗi bản ghi được thể hiện trong một hàng
( dòng), ta có thể xem và di chuyển hộp sáng từ trường này qua trường khác, bản ghi này sang
bản ghi khác và có thể sửa đổi nội dung của từng mẫu in trong bản ghi.
Trang 55► Ví dụ: USe NHANVIEN
Browse [FIELD<dsách trường>]: Cho
phép các trường trong danh sách này luôn được hiển thị trên màn hình.
[NODELETE]: Không cho phép xóa.
[NOEDIT]: Không cho phép sửa đổi.
► Ví dụ: Hiển thị nội dung của các trường HOTEN, NAMLV để tiến hành sửa đổi:
Browse field HOTEN,NAMLV freeze NAMLV
[FOR<bthức logic>]: Chỉ cho phép những biểu thức thỏa mãn điều kiện của biểu thức logic mới được hiển thị.
[ FREEZE] ch ỉ làm việc v trường được chỉ ra
Trang 56b Lệnh Edit:
►Cú pháp: EDIT[<phạm vi>][FIELD<dsách trường>][NOAPPEND]
►[NODELETE][NOEDIT][FOR<Bthức logic>] [While<Bthức logic>]
►Tác dụng: Tương tự như lệnh BROWSE
nhưng các bản ghi được xuất hiện như ở lệnh APPEND(giao diện có khác)
Trang 572.7.2 Lệnh sửa đổi nội dung (REPLACE):
► Cú pháp: REPLACE [phạm vi>]
<trường1>WITH<Bthức1> [additive]
[<trường 2> WITH<Bthức2> [additive .]
[for<Bthức logic>][White<Bthức logic>]
► Tác dụng : Dùng để thay thế nội dung các
trường được chỉ ra của các bản ghi nằm trong
<phạm vi> và thỏa mãn điều kiện của <biểu
thức logic> đi sau FOR hoặc WHILE bởi các biểu thức tương ứng Phạm vi mặc định là bản ghi
hiện thời.
Trang 58►Chú ý: kiểu dữ liệu của <biểu thức > và của <trường> tương ứng phản tương
đương nhau, nếu không thì Fox sẽ thông báo lỗi kiểu dữ liệu "Data type mismatch"
► Ví dụ: 1 Thay thế họ tên của nhân viên trong file nhanvien bằng chữ in
Replace all HOTEN with upper (HOTEN)
2 Nâng lương của những nhân viên
nữ lên thêm 5000 đồng
Replace LUONG with LUONG + 5000 for !
Trang 60► Ví dụ: Đánh dấu xóa những nhân viên có năm làm việc trước 1950
► delete for NAMLV<1950
► Bước 2 Xóa các bản ghi Các bản ghi sau khi đã được đánh dấu xóa nếu quyết định thật sự muốn xóa nó thì thực hiện lệnh PACK, ngược lại nếu không muốn xóa nó thì thực hiện lệnh RECALL.
► Lệnh xóa bản ghi (PACK)
► Cú pháp: PACK
► Tác dụng: Xóa các bản ghi trong bảng dữ
Trang 61* Lệnh phục hồi các bản ghi đã được đánh dấu xóa ( RECALL)
►Cú pháp: RECALL [<phạm vi>]
[FOR<Bthức logic>][WILE<bthức logic>]
►Tác dụng: Phục hồi lại các bản ghi mà
trước đó đã được đánh dấu xóa bởi lệnh
DELETE Phạm vi mặc định của lệnh này là bản ghi hiện thời
Trang 622.9 LỌC DỮ LIỆU:
Để hạn chế số lượng các bản ghi tham gia vào quá trình xử lý ta có thể lọc các bản ghi trong bảng dữ liệu thỏa mãn điều
kiện cho trước
Cú pháp: SET FILTER TO <Bthức logic> Sau khi thực hiện lệnh lọc thì các lệnh tiếp theo sau lệnh này chỉ có tác dụng đối với các bản ghi thỏa mãn điều kiện lọc
Muốn hủy bỏ việc lọc dữ liệu ta thực hiện
Trang 63Ví dụ:
1 Chỉ hiển thị những nhân viên nữ:
set filter to !GIOITINH
Trang 642.10 THAO TÁC VỚI CẤU TRÚC BẢNG:
2.10.1 Lệnh xem cấu trúc ( Display structure)
►Cú pháp: DIPLAY STRUCTURE
►Tác dụng: Hiển thị cấu trúc của bảng dữ
liệu đang được mở bao gồm tên trường,
kiểu và độ rộng của trường
► Ví dụ: use NHANVIEN
List structure
Trang 652.10.2 Sửa đổi cấu trúc bảng dữ liệu.
► Cú pháp: MODIFY STRUCTURE
►Tác dụng: Hiển thị và cho phép sửa dổi cấu trúc bảng dữ liệu, kết thúc lệnh này nhấn tổ hợp phím Ctrl + W
► Ví dụ: use NHANVIEN
modify structure
Trang 662.10.3 Sao lưu cấu trúc bảng dữ liệu:
trường>] Mặc định của lệnh này là tất cả các
trường có trong bảng dữ liệu đang được mở.
Trang 67►Ví dụ: Sao lưu cấu trúc của nhanvien
thành file có tên là luu.dbf nhưng chỉ gồm các trường: hote, gioitinh, nămlv
► use NHANVIEN
► copy structure to LUU fields HOTEN,
GIOITINH, NAMLV
►Chú ý: Bảng mới được tạo ra chỉ có cấu
trúc, không có nội dung
Trang 682.11 SAO CHÉP BẢNG:
► Cú pháp: COPY TO <tên bảng đích>[<phạm vi>][FIELDS<danh sách trường>][FORR<bthức
Trang 69►Ví dụ: Tạo bảng dữ liệu có tên là nu.dbf
từ file nhan vien.dbf gồm các trường hoten, ngaysinh, namlv
NHANVIEN
copy to NU fields HOTEN, NGAYSINH,
NAMLV for !GIOITINH
use nu && mở để xem kết quả List
Trang 702.12 MỘT SỐ HÀM THÔNG DỤNG:
2.12.1 Các hàm về ngày tháng
► a Hàm DATE(): Cho ngày, tháng, năm hiện tại
của hệ thống Thứ tự ngày, tháng, năm của lệnh này phụ thuộc vào lệnh Set date.
► Ví dụ: Nếu ta thực hiện lệnh: SET DATE FRENCH
rồi thực hiện lệnh DATE () thì ngày hiện hành của hệ thống sẽ được hiện ra theo thứ tự là ngày, tháng, năm.
Trang 71b Hàm YEAR (bthức date>): Cho năm (có 4
chữ số) của < bthức date>
Vis dụ: Year (date ()) cho năm hiện tại của → " Tin học
Vis dụ: Year (date ()) cho năm hiện tại của → " Tin học
ngày hệ thống.
c Hàm MONTH(<bthức date>): Cho tháng hiện tại của biểu thức ngày.
Ví dụ: Month (date ()) cho tháng của ngày hệ → " Tin học
Ví dụ: Month (date ()) cho tháng của ngày hệ → " Tin học