Tải bản đầy đủ (.ppt) (68 trang)

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Microsoft Visual FoxPro

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.92 MB, 68 trang )

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Microsoft Visual FoxPro
TS. ĐỖ QUANG VINH
Email:
Hà Nội - 2008
1


I - TỔNG QUAN VỀ Microsoft Visual FoxPro
1.


MỞ ĐẦU
- VFP 9.0 SP2 phát hành vào năm 2007
YÊU CẦU HỆ THỐNG
Máy tính PC Pentium
Bộ nhớ 64 MB RAM (128 MB or cao hơn)
Dung lượng đĩa cứng dành cho VFP 9.0 165 MB
Màn hình có độ phân giải 800 x 600, 256 màu hoặc High color
16-bit
Ổ đĩa CD-ROM/DVD
Chuột
Hệ điều hành WINDOWS XP và Windows Server 2003
Tốt nhất là cài đầy đủ VFP9.0 SP2 từ đĩa CD
ĐỖ QUANG VINH - HUC

2










2.


KHỞI ĐỘNG Microsoft Visual FoxPro
Cách 1: Start\Program\Microsoft Visual FoxPro 9
Cách 2: Start\Run
Cách 3: nháy vào biểu tượng Microsoft Visual FoxPro 9 trên
màn hình nền Desktop
CÁC CHẾ ĐỘ LÀM VIỆC: 2
a. Chế độ tương tác
b. Chế độ chương trình
THOÁT KHỎI Visual FoxPro: lệnh QUIT
GIAO DIỆN
HỆ THỐNG BẢNG CHỌN
a. Bảng chọn menu
b. Mục chọn
c. Menu PopUp
d. Menu Option
ĐỖ QUANG VINH - HUC

3





3.


CỬA SỔ LỆNH COMMAND
TRỢ GIÚP HELP
CÁC KHÁI NIỆM CƠ BẢN
LỆNH Visual FoxPro
- Lệnh của VFP là một chỉ thị cho VFP thực hiện một
thao tác quản trị dữ liệu cụ thể.
- Cú pháp tổng quát của lệnh VFP:
<Lệnh VFP> [] [trường>] [<danh sách biểu thức>] [FORWHILE thức logic L>]
+ Bao gồm một số từ khoá để chỉ hành động và các
phương thức hoạt động
+ Độ dài mỗi dòng lệnh không quá 254 ký tự
+ Không phân biệt ký tự hoa hay ký tự thường đối với
các từ khoá hay các tên hàm mẫu
+ Cho phép chỉ cần viết 4 ký tự đầu
ĐỖ QUANG VINH - HUC

4




- Phạm vi là miền tác động của lệnh khi thực hiện: 4
+ ALL thao tác với tất cả các bản ghi
+ RECORD <n> thao tác với bản ghi thứ <n>

+ NEXT <n> thao tác với <n> bản ghi tiếp theo kể từ bản ghi
hiện thời
+ REST thao tác với các bản ghi kể từ bản ghi hiện thời đến bản
ghi cuối cùng
CÁC KIỂU DỮ LIỆU
- Kiểu ký tự C (Character)
+ có dạng một xâu ký tự thuộc bảng mã ASCII
+ có độ rộng tối đa là 254 ký tự
+ phân biệt giữa ký tự hoa và ký tự thường
- Kiểu số thập phân N (Numeric)
biểu diễn một giá trị số với tối đa 20 ký số kể cả phần nguyên,
thập phân và dấu chấm thập phân
ĐỖ QUANG VINH - HUC

5


- Kiểu ngày tháng D (Date)
+ ngày dương lịch từ 01/01/0001 đến 31/12/9999
+ dạng mặc định là mm/dd/yy
+ Độ rộng cố định là 8
+ dùng lệnh SET DATE và SET CENTURY ON
- Kiểu Logic L (Logical)
+ chỉ lấy một trong hai giá trị: đúng .T. hoặc sai .F.
+ mặc định giá trị .T. lớn hơn .F.
+ có độ rộng cố định là 1
- Kiểu ký ức M (Memo)
+ văn bản có độ rộng ≤ 4000 ký tự
+ độ rộng khai báo = 4
- Kiểu chung G (General)

+ dùng để lưu trữ các đối tượng OLE
+ Độ rộng khai báo = 4
ĐỖ QUANG VINH - HUC

6


- Kiểu số dấu chấm động F (Float)
- Kiểu số Integer
- Kiểu số Double
- Kiểu tài chính (Currency)

HẰNG
- Là đại lượng có giá trị không thay đổi
- 4 loại hằng:
+ Hằng số
+ Hằng ký tự
+ Hằng logic
+ Hằng ngày tháng

BIẾN
- Là đại lượng có giá trị thay đổi
- 3 loại biến:
ĐỖ QUANG VINH - HUC

7







+ Biến bộ nhớ
+ Biến trường
+ Biến hệ thống
TOÁN TỬ
- Là các phép toán trên các giá trị nhằm sinh ra một giá
trị mới
- 4 loại toán tử:
+ Toán tử số học
+ Toán tử xâu ký tự
+ Toán tử quan hệ/ toán tử so sánh
+ Toán tử logic
HÀM
- Là một loại chương trình con
- Xây dựng một thư viện các hàm mẫu
- Cú pháp: <tên hàm>(danh sách đối số)
ĐỖ QUANG VINH - HUC

8


- Phân loại hàm:
 Hàm mẫu
+ Hàm số học
ABS(x)
cho biết trị tuyệt đối của số x
SQRT(x)
tính căn bậc 2 của x
EXP(x)

tính e mũ x
LOG(x)
tính loga cơ số e của x
INT(x)
lấy phần nguyên của x
ROUND (x,n)
làm tròn số x với n chữ số thập phân
MAX(<biểu thức 1>,<biểu thức 2>) cho giá trị lớn nhất của hai biểu
thức
MIN(<biểu thức 1>,<biểu thức 2>) cho giá trị nhỏ nhất của hai biểu
thức
MOD(<biểu thức 1>,<biểu thức 2>) cho số dư của phép toán thức 1> chia cho <biểu thức 2>
VAL(s)
trả lại giá trị số của xâu s
ĐỖ QUANG VINH - HUC

9


+ Hàm xâu
LEN(s)
cho biết độ dài của xâu s
LEFT(s,n)
trích n ký tự bên trái xâu s
RIGHT(s,n)
trích ký tự bên phải của xâu s
SUBSTR(s,i,n) trích n ký tự của xâu s kể từ ký tự thứ i
REPLICATE(s,n)
tạo một xâu gồm n lần xâu s

SPACE(n)
tạo một xâu gồm n ký tự trắng
LTRIM(s)
cắt các dấu trắng bên trái xâu s
RTRIM(s)
cắt các dấu trắng bên phải xâu s
ALLTRIM(s)
cắt các dấu trắng ở hai bên xâu s
TRIM(s)
UPPER(s)
biến tất cả các chữ cái trong xâu s
thành chữ hoa
LOWER(s)
biến tất cả các chữ cái trong xâu s
thành chữ nhỏ
PROPER(s)
STR(x,n,m)
trả lại giá trị xâu của số x, gồm n ký tự
chữ số lẻ
ASC(s)
cho biết mã ASCII của ký tự đầu tiên
xâu s
ĐỖ QUANG VINH - HUC

với m
trong
10


CHR(n)

cho biết ký tự có mã ASCII là n
AT(t,s)
cho biết vị trí đầu tiên xâu con t xuất hiện
trong
xâu s, nếu không tìm thấy t trong s, hàm trả lại giá trị 0
+ Hàm ngày tháng
CTOD(s)
chuyển đổi xâu s sang kiểu ngày tháng D
DTOC(d)
chuyển đổi ngày D sang kiểu ký tự C
DTOS(d)
‘yyyymmdd’
YEAR(d) cho biết giá trị số của năm trong ngày d
MONTH(d) cho biết giá trị số của tháng trong ngày d
DAY(d)
cho biết giá trị số của ngày trong ngày d
DOW(d)
trả lại ngày trong tuần của ngày d (1 là chủ nhật, 2
là thứ hai , ... ,7 là thứ bảy)
DATE ()
cho biết giá trị của ngày hiện tại
+ Hàm đối với tệp dữ liệu
DBF([<biểu thức số N>]) cho tên đầy đủ của tệp
dữ liệu đang
mở trong vùng làm việc
thứ <biểu thức số N>
ĐỖ QUANG VINH - HUC

11



ALIAS([<biểu thức số N>]) chỉ bí danh của tệp dữ liệu đang mở
trong vùng làm việc thứ <biểu thức số N>
BOF([<biểu thức số N>]) dùng để kiểm tra xem vị trí con trỏ có ở
đầu tệp dữ liệu trong vùng <biểu thức số N> không?
EOF([<biểu thức số N>]) dùng để kiểm tra xem vị trí con trỏ có ở
cuối tệp dữ liệu trong vùng <biểu thức số N> không?
DELETED([<biểu thức số N>]) cho giá trị .T. nếu bản ghi hiện thời
trong vùng làm việc thứ <biểu thức số N> bị đánh dấu xoá
FOUND([<biểu thức số N>]) cho giá trị .T. nếu lệnh tìm kiếm
LOCATE ... CONTINUE, SEEK, FIND trong vùng thức số N> tìm được một bản ghi

ĐỖ QUANG VINH - HUC

12


RECCOUNT([<biểu thức số N>]) cho biết số bản ghi có trong tệp
cơ sở dữ liệu đang mở trong vùng <biểu thức số N>
RECNO([<biểu thức số N>]) cho số hiệu của bản ghi hiện thời
trong vùng <biểu thức số N>
SELECT() cho số hiệu của vùng làm việc hiện thời
+ Hàm môi trường làm việc
DISKSPACE()
cho số byte còn trống trên ổ đĩa
hiện thời
OS()
cho biết hệ điều hành đang sử dụng
VERSION()

cho biết ấn bản của VFP
đang sử dụng

ĐỖ QUANG VINH - HUC

13


+ Hàm logic
IIF(<biểu thức logic L>, <biểu thức 1>, <biểu thức 2>)
cho giá trị <biểu thức 1> nếu <biểu thức logic L> là .T.,
ngược lại, hàm cho giá trị <biểu thức 2>
BETWEEN(x, a, b)
cho giá trị .T. nếu x nằm trong khoảng từ a đến b
INLIST(x, a1, a2, ..., an)
cho giá trị .T. nếu x = a1 hoặc x = a2 ... hoặc
x = an
ĐỖ QUANG VINH - HUC

14




Hàm tự xây dựng của người sử dụng UDF
(User Defined Function)
FUNCTION TRICHTEN
parameters s
private t,j
t = rtrim(s)

j = rat(' ',t)
t = substr(t,j)
return padr(t,7)



BIỂU THỨC
- Là một tổ hợp các hằng, biến, hàm và toán tử
- Phân loại biểu thức: biểu thức ký tự C, biểu thức số N, biểu
thức logic L, biểu thức ngày tháng D
ĐỖ QUANG VINH - HUC

15


II - TẠO LẬP BẢNG DỮ LIỆU
1.

KHÁI NIỆM
- Bảng dữ liệu: Là một tập hợp thông tin về một đối
tượng quản lý và được tổ chức theo một nguyên tắc nhất
định
- Trường (Field): Là một thuộc tính của đối tượng quản

- Bản ghi (Record): Là các thông tin phản ánh về từng
đối tượng được quản lý
- Mỗi trường nhận một tên, kiểu dữ liệu và có độ rộng
nhất định. Số lượng trường tối đa trong một bảng dữ liệu
là 255 trường
ĐỖ QUANG VINH - HUC


16


2. TẠO LẬP BẢNG DỮ LIỆU
- 2 bước:
+ Khai báo cấu trúc bảng dữ liệu
+ Nhập bản ghi dữ liệu ban đầu vào bảng dữ liệu
a. Tạo và khai báo cấu trúc bảng dữ liệu: 2 cách

Cách 1: tại khung cửa sổ lệnh:
CREATE <tên bảng dữ liệu>
+ Bước 1: tại khung cửa sổ lệnh, gõ:
CREATE SINHVIEN
+ Bước 2: khai báo từng trường như Tên trường (Name),
Kiểu trường (Type), Độ rộng trường (Width), Phần thập
phân (Decimal) ...

Cách 2: tạo cấu trúc bằng hộp thoại Table Designer
ĐỖ QUANG VINH - HUC

17




Cách 2: tạo cấu trúc bằng hộp thoại Table Designer
Bước 1: từ menu File, chọn New hoặc ấn 2 phím
<Ctrl+N> để xuất hiện hộp thoại New. Chọn mục Table rồi
chọn tiếp New File.

Bước 2: hộp thoại CREATE xuất hiện
Bước 3: Khai báo cấu trúc bảng dữ liệu

b. Nhập bản ghi dữ liệu

Cách 1: BROWSE

Cách 2: APPEND hoặc INSERT
3.

LIỆT KÊ DANH SÁCH BẢNG DỮ LIỆU: 3 cách
- DISPLAY
- LIST
- BROWSE
ĐỖ QUANG VINH - HUC

18


4.

KHAI BÁO SỬ DỤNG BẢNG DỮ LIỆU
2 cách khai báo để sử dụng bảng dữ liệu:

Cách 1:
Tại khung cửa sổ lệnh, gõ:
USE <Tên bảng dữ liệu>

Cách 2:
Chọn lệnh File\Open

5. HIỂN THỊ CẤU TRÚC CỦA BẢNG DỮ LIỆU
DISPLAY STRUCTURE [TO <PRINTER>] [TO FILE
<tên tệp>]
hoặc
LIST STRUCTURE [TO <PRINTER>] [TO FILE tệp>]
ĐỖ QUANG VINH - HUC

19


III - CẬP NHẬT DỮ LIỆU
1. ĐẶT VẤN ĐỀ
Cập nhật dữ liệu liên quan đến các trường hợp sau :
- Cập nhật có thể là việc huỷ bỏ một số bản ghi lỗi thời
hoặc nhập sai gây dư thừa hay trùng lặp dữ liệu.
- Cập nhật có thể liên quan đến việc chèn thêm bản ghi
mới, xảy ra sau khi tệp dữ liệu đã được tạo lập, hoặc trong
một chu kỳ xử lý
- Cập nhật có thể là việc thay đổi nội dung của, thay đổi trị
số một trường
- Cập nhật cũng có thể liên quan đến dữ liệu đúng
2. CHÈN THÊM BẢN GHI: 2 cách
+ Chèn thêm vào giữa bảng dữ liệu
INSERT
ĐỖ QUANG VINH - HUC

20



+ Chèn thêm vào cuối bảng dữ liệu
- BROWSE
- APPEND
- APPEND FROM


CHÈN THÊM BẢN GHI VÀO CUỐI BẢNG DỮ LIỆU
APPEND
- Chèn thêm một hoặc nhiều bản ghi mới vào cuối bảng dữ
liệu
- Cú pháp:
APPEND [BLANK] [IN <n>/ <bí danh bảng dữ liệu>]
[NOMENU]



NỐI THÊM BẢN GHI VÀO CUỐI BẢNG DỮ LIỆU
APPEND FROM
ĐỖ QUANG VINH - HUC

21




USE <tệp tin nguồn>
APPEND FROM <tệp tin trung gian> [<điều kiện>]
CHÈN THÊM VÀO GIỮA BẢNG DỮ LIỆU
INSERT
- Cú pháp: INSERT [BLANK] [BEFORE]


3. SỬA ĐỔI DỮ LIỆU: 3
- CHANGE/ EDIT
- BROWSE
- REPLACE
 LỆNH EDIT/CHANGE
- Cho phép hiệu chỉnh dữ liệu của bảng dữ liệu hiện thời
- Cú pháp:
ĐỖ QUANG VINH - HUC

22


EDIT/CHANGE [] [FIELDS <danh sách trường>]
[FOR <biểu thức logic L>] [WHILE <biểu thức logic L>]
[FONT<tên font chữ> [, <cỡ chữ>]]
[STYLE <kiểu chữ>] [FREEZE <tên trường>]
[KEY <biểu thức1> [,<biểu thức 2>]] [LAST/ NOINIT]
[LPARTITION] [NAME <tên đối tượng>]
[NOAPPEND] [NOCLEAR] [NODELETE]
[NOEDIT/ NOMODIFY] [NOLINK] [NOMENU]
[NOOPTIMIZE] [NORMAL] [NOWAIT]
 LỆNH BROWSE
- Là một trong những lệnh mạnh nhất của Visual FoxPro
- Cú pháp:
ĐỖ QUANG VINH - HUC

23



BROWSE [FIELDS <danh sách trường>]
[FOR <biểu thức logic L> [REST]]
[FONT <tên font chữ> [,< cỡ chữ>]] [FORMAT]
[STYLE <kiểu chữ>] [FREEZE <tên trường>]
[KEY <biểu thức 1>] [,<biểu thức 2>]]
[LOCK <n>]
[LPARTITION] [NAME <tên đối tượng>]
[NOAPPEND] [NOCLEAR] [NODELETE]
[NOEDIT/ NOMODIFY] [NOLINK] [NOMENU]
[NOLGRID] [NORGRID]
[NOOPTIMIZE] [NOREFRESH] [NORMAL] [NOWAIT]
[PARTITION <m>] [LEDIT] [REDIT]
ĐỖ QUANG VINH - HUC

24




LỆNH REPLACE
- Trường hợp muốn cập nhật nhiều bản ghi, trường
- Cú pháp:
REPLACE <trường 1> WITH <biểu thức 1> [ADDITIVE]
[,<trường 2> WITH <biểu thức 2> [ADDTIVE]] ...
[ phạm vi] [FOR <biểu thức logic L>]
[WHILE <biểu thức logic L>]
[IN <n>/ <bí danh bảng dữ liệu>] [NOOPTIMIZE]

4. XOÁ DỮ LIỆU: 2 mức
+ Mức 1: đánh dấu bản ghi / xoá logic  bản ghi không

tham gia vào xử lý thông tin, nhưng vẫn tồn tại trong bảng
dữ liệu và có thể phục hồi bằng lệnh RECALL
ĐỖ QUANG VINH - HUC

25


×