1. Trang chủ
  2. » Giáo án - Bài giảng

giao an Fox chuan

13 543 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tạo Lập Cơ Sở Dữ Liệu
Chuyên ngành CSDL Foxpro
Thể loại Bài giảng
Định dạng
Số trang 13
Dung lượng 70,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cú pháp lệnh tạo lập CSDL: Create  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

Trang 1

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)

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 ch a đợ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

Trang 2

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 :

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:

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

Trang 3

List (KiÓm tra l¹i)

Trang 4

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

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

Trang 5

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:

modify structure Trên màn hình xuất hiện một hộp thoại chứa cấu trúc của tệp CSDL

Các thao tác sửa đổi nh trong lệnh Create Khi kết thúc sửa: ấn ESC nếu muốn huỷ các sửa đổi (cấu trúc vẫn nh cũ) hoặc ấn Ctrl+W để ghi lại, sau khi nhấn Ctrl+W xuất hiện hộp thoại

Nếu chọn Yes là đồng ý, chọn No là bỏ qua

Chú ý: Trớc khi sửa cấu trúc cần phải sao tệp CSDL thêm một bản nữa để lu trữ, nếu có trục trặc

gì ta vẫn còn bản cũ

Nếu kiểu dữ liệu của một trờng sau khi sửa đổi phù hợp với dữ liệu của tệp cũ thì dữ liệu tệp cũ chuyển sang tệp mới Nếu không phù hợp thi sẽ bị xoá bỏ

Trang 6

Nếu ta thay đổi tên trờng và kiểu trờng, hoặc thay đổi tên trờng và độ rộng của trờng thì Foxpro coi đây là trờng hoàn toàn mới và huỷ bỏ hết dữ liệu của trờng này Trong trờng hợp này ta cần phải tiến hành hai lần sửa cấu trúc: Lần thứ nhất sửa mọi thay đổi của trờng nhng không sửa tên trờng và sau đó ghi lại, lần thứ hai mới sửa tên trờng

Nếu tệp CSDL có trờng là memo thì tệp cũ lu trờng memo *.FPT sẽ đổi thành *.TBK

Nhìn chung sau khi sửa cấu trúc, ta nên kiểm tra lại dữ liệu của tệp bằng các lệnh List, Display, Browse

VD : use qlhs

Modi stru

BàI 5: sửa nội dung bản ghi – lệnh edit

Để sửa nội dung bản ghi của một tệp CSDL đang mở, dùng lệnh

EDIT < phạm vi> FIELDS <ds trờng> [NOEDIT] [FOR <btL1>] [WHILE<btL2>]

Màn hình hiện bản ghi nh lệnh Append Các thành phần sau Edit đợc giải thích nh trong lệnh List NOEDIT không cho phép sửa đổi các bản ghi đang tồn tại (nhng ta vẫn có thể bổ xung bản ghi hay

đánh dấu xoá)

Nếu chỉ dùng đơn giản Edit thì lệnh này cho phép sửa đổi bản ghi hiện hành Sửa xong ấn Ctrl+W

để ghi lại hoặc ấn ESC để huỷ bỏ

VD:

USE QLHS

GO 2 EDIT (sửa bản ghi thứ 2)

Lệnh Edit còn dùng để xem các bản ghi trên màn hình

Lệnh Change có cú pháp và nhiệm vụ giống hệt lệnh Edit

BàI 6 lệnh xem, sửa, và bổ xung bản ghi

lệnh Browse Lệnh Browse là một lệnh rất mạnh của foxpro Cú pháp của lệnh với các tham số hay dùng:

BROWSE [FIELDS <ds trờng>][FOR<btL1>] [WINDOWN<tên cửa sổ 1>][IN WINDOWN<tên cửa sổ 2>| IN SCREEN ][TITLE<btC1>][WIDTH<btN1>][ PARTITION ][PARTITION<btN2>] [NOLINK][LEDIT][REDIT][LOCK<btN3>][FREEZE<tên trờng>][ NOEDIT | NOMODIFY ] [NOAPPEND ][NODELETE]

Lệnh Browse dùng tiện cả trong chế độ hội thoại lẫn trong chơng trình Hay dùng nhất là lệnh Browse (không tuỳ chọn): Sẽ hiển thị tất cả các bản ghi và tất cả các trờng Ta có thể dễ dàng sửa đổi và

bổ xung các bản ghi Để cửa sổ Browse chiếm toàn màn hình thì ấn Ctrl+F10

Trong màn hình của lệnh Browse ta có thể di chuyển lên xuống từng dòng bằng các phím mũi tên hay từng trang màn hình bằng phím Page Up hoặc Page Down, di chuyển giữa các tr ờng bằng phím Tab hoặc Shift+Tab

Trang 7

Muốn thoát khỏi lệnh mà không ghi các sửa đổi thì ấn ESC, ghi các sửa đổi và thoát thì ấn Ctrl+W Lệnh Browse chỉ có hiệu lực khi CSDL có ít nhất 1 bản ghi

Vd:

USE QLHS BROWSE Lệnh Browse còn dùng để bổ xung các bản ghi vào cuối tệp Khi nhấn Ctrl+N, một bản ghi trắng xuất hiện ở cuối tệp con trỏ ở đầu dòng đợi ta nhập bản ghi mới Muốn bổ xung nhiều bản ghi thì ấn Ctrl+N nhiều lần

Chú ý: Các tham số in nghiêng sau lệnh Brow học sinh tự tìm sách tham khảo

BàI 7 Chèn một bản ghi – lệnh Insert

Cú pháp: INSERT [BLANK] [ BEORE]

Giải thích

Lệnh Insert : Chèn một bản ghi vào sau bản ghi hiện hành, các bản ghi phía sau bị đẩy lùi xuống, màn hình nhập liệu xuất hiện

Lệnh Insert Before: chèn một bản ghi vào trớc bản ghi hiện hành, xuất hiện màn hình nhập dữ liệu Lệnh Insert Blank: Chèn một bản ghi trắng vào sau bản ghi hiện hành, không hiện màn hình nhập liệu

Goto 5 Insert Goto 10 Insert blank List

Chú ý: Đối với lệnh Insert và lệnh Append mà trớc đó đã dùng lệnh Set carry on thì nội dung của bản ghi trớc sẽ tự động chuyển sang bản ghi mới

BàI 8: Xoá bản ghi – các lệnh Delete, Recall, Pack - Zap 1.Xoá một số bản ghi

Muốn xoá một số bản ghi cần phải qua hai giai đoạn: đánh dấu xoá ( để an toàn dữ liệu ), thực sự xoá

a/ Lệnh đánh dấu xoá

Cú pháp:

DELETE < phạm vi> [FOR btL1 ] [WHILE btl2]

Trang 8

Nếu không dùng các tuỳ chọn, lệnh này đánh dấu xoá bản ghi hiện hành Muốn đánh dấu xoá nhiều bản ghi thoả mãn btL thì dùng FOR, While hoặc <phạm vi> Khi dùng lệnh List, các bản ghi bị

đánh dấu xoá có dấu đằng trớc

Vd: Đánh dấu xoá những ngời có đểm toán = 0

Use qlhs

Delete for diemtoan=0

List

Có thể tiến hành đánh dấu xoá các bản ghi khi đang thực hiện Edit hoặc Browse bằng cách gõ Ctrl+ T tại bản ghi tơng ứng Các bản ghi này đợc thể hiện bởi những dấu chấm sao (*) bên trái Cũng có thể đánh dấu xoá các bản ghi qua bảng chọn : F10, record, Delete

Hàm delete(): dùng để kiểm tra bản ghi hiện hành có bị đánh dấu xoá hay không Hàm cho T nếu

bị đánh dấu xoá

Theo ngầm định, Foxpro vẫn xử lý các bản ghi bị đánh dấu xoá nh bình thờng Để che các bản ghi

bị đánh dấu xoá ( coi nh không có bản ghi này), dùng lệnh:

SET DELETE ON

Để huỷ việc che các bản ghi bị đánh dấu xoá dùnglệnh

SET DELETE OFF

b/ Khôi phục bản ghi

Cú pháp:

RECALL[<phạm vi>] [FOR btL1] [WHILE btL2]

Lệnh này khôi phục lại các bản ghi bị đánh dấu xoá bởi Delete ý nghĩa các tuỳ chọn nh trong lệnh Delete

Có thể khôi phục các bản ghi đã bị đánh dấu xoá khi đang thực hiện Edit hoặc Browse bằng cách

gõ Ctrl+ T tại bản ghi tơng ứng Nếu dùng bảng chọn thì ấn F10, hoặc chọn record, Delete

c/ Xoá hẳn các bản ghi đã bị đánh dấu xoá bằng lệnh

PACK 

Khi thực hiện lệnh này máy sẽ chép lại các bản ghi không bị đánh dấu sang một tệp trung gian, xoá tệp gốc, đổi tên tệp trung gian thành tên tệp ban đầu

Có thể thực hiện lệnh qua bảng chọn : F10, database, Pack

2/ Xoá tất cấc bản ghi- lệnh ZAP

Cú pháp lệnh

ZAP 

Khi gọi lệnh này, Foxpro hỏi lại ngời dùng một lần nữa: ZAP<DBF>? Nếu trả lời Yes thì thc hiện lệnh, trả lời No thì huỷ lệnh

Lệnh ZAP tơng đơng với lệnh

Delete all 

Pack 

Trang 9

BàI 9 sao chép tệp cơ sở dữ liệu 1/ Sao chép cấu trúc tệp CSDL – Lệnh Copy Stru

Cú pháp:

COPY STRUCTURE TO <tên tệp.DBF> [FIEDLS<ds trờng>]

Lệnh này sao chép cấu trúc tệp CSDL đang mở sang một tệp mới Tệp mới chỉ có cấu trúc, cha có nội dung Từ khoá Fields dùng để hạn chế số trờng chép sang tệp mới

Vd : use qlhs

Copy stru to qlhs 2 fiel hoten, diemtoan, … ) Use qlhs2

Disp stru List 2/ Sao lu cấu trúc

Cú pháp

COPY STRUCTURE EXTENDED TO < tệp2.DBF> [FIEDLS<ds trờng của tệp 1.dbf>]

Lệnh trên sẽ chép cấu trúc của tệp CSDL đang mở( tệp 1) thành các bản ghi của CSDL ( tệp 2), CSDL này có 4 trờng cố định

Field_name C(10) : ghi tên các trờng của CSDL tệp 1

Field_type C(1): ghi kiểu trờng, C- ký tự, N- số, F- số thự với dấu phẩy động, D - ngày tháng, L-logic, G- general, P- picture

Field_len N(3) chiều rộng của trờng

Field_Dec N(3) số chữ số thập phân đối với trờng số

Từ khoá Fields dùng để hạn chế các trờng của <tệp 1.dbf> chuyển thành các bản ghi của <tệp 2.dbf>

Sau khi sửa đổi <tệp 2.dbf> ta có thể tạo một tệp CSDL mới tệp3.dbf có các trờng ứng với các bản ghi của tệp 2.dbf bằng cách dùng lệnh:

CREATE <tệp3.dbf> from<tệp2.dbf>

Sau lệnh này <tệp3.dbf>trở thành CSDL hiện hành

Lệnh trên tiện dùng để sửa cấu trúc tệp CSDLtrong chế độ chơng trình

Ví dụ 1: Giả sử ta có tệp XuatTh1.dbf chứ các phiếu xuất hàng của tháng 1 Ta sao lu cấu trúc của tệp này sang XuatLCT.dbf Từ tệp XuấtCL.dbf ta tạo lập các tệp để chứa các phiếu xuất hàng cho tháng 2, tháng 3

Use XuatTh1

Copy stru exte to XuatLCT

Use

Cea XuatTh2 from XuatLCT

Trang 10

Cea XuatTh3 from XuatLCT

Cea XuatTh4 from XuatLCT

Cea XuatTh5 from XuatLCT

Ví dụ 2

Một ngời bán hàng ghi các mặt hàng bán ra trong một ngày vào tệp BanHang.dbf gồm những tr -ờng: Tenhang C(20) ghi các mặt hàng bán ra, Donvi C(10) ghi đơn vị tính Gia N(8,2) ghi giá tiền theo

đơn vị ngàn đồng, Soluong N(5,2) Dùng kỹ thuật sao lu cấu trúc để thêm một trờng ThanhTien N (10,2) vào tệp banHang.dbf và tính giá trị của trờng này (tệp mới có tên là tệp3.dbf)

Set talk off

Clear

Close all

Set safe off

Use banhang

? ’cau truc cua tep BanHang.dbf’

displ stru

wait ‘Am phim’ wind

copy stru exte to tep2

use tep2

? ‘cau truc cua tep2.dbf:’

list stru

wait ’An phim’ wind

appe blan

repl field_name with ‘thanhtien’

repl field_type with ‘N’

repl field_len with 10

repl field_dec with 2

? ‘cac ban ghi cua tep tep2.dbf sau khi bo xung truong ’

list

wait ‘ An phim’ wind

use

creat tep3 from tep2

appe from banhang

? ‘ noi dung tep3 truoc khi tinh: ’

Ngày đăng: 26/06/2013, 01:27

Xem thêm

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w