1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng hệ quản trị CSDL foxpro chương 9 CĐSP quảng trị

20 195 0

Đ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

Định dạng
Số trang 20
Dung lượng 22,68 MB

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

Nội dung

Truy nhập trường dữ liệu của tệp hiện thời và tệp đang mở ở vùng làm việc khác.. Các vùng làm việc của FoxPro Từ trước cho đến nay chúng ta chỉ làm việc với một vùng của Foxpro nên khi m

Trang 1

TRƯỜNG CAO ĐẲNG SƯ PHẠM QUẢNG TRỊ

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

1 Định vùng làm việc và gán bí danh

2 Cập nhật từ một tệp CSDL khác

3 Kết nối hai tệp CSDL

4 Thiết lập mối liên kết giữa nhiều tệp CSDL

5 Đóng các tệp CSDL đang mở

Chương 9 Thao tác với nhiều tệp CSDL

Trang 3

1 Định vùng làm việc và gán bí danh

1.1 Các vùng làm việc của FoxPro.

1.2 Mở tệp trên một vùng làm việc bất kỳ và gán bí danh.

1.3 Truy nhập trường dữ liệu của tệp hiện thời và tệp đang mở ở vùng làm việc khác.

Chương 9 Thao tác với nhiều tệp CSDL

Trang 4

1 Định vùng làm việc và gán bí danh

1.1 Các vùng làm việc của FoxPro

Từ trước cho đến nay chúng ta chỉ làm việc với một vùng của Foxpro nên khi mở tệp CSDL cũng đồng nghĩa với việc đóng tệp CSDL đang mở

Thực tế Foxpro có 25 vùng làm việc được đặt tên như sau:

 Dùng số: Từ 1 đến 25

 Dùng ký tự: 10 vùng làm việc đầu tiên có tên bằng số từ 1 đến 10 hoặc

bằng ký tự từ A đến J

Để chọn vùng làm việc ta dùng lệnh

SELECT <Tên vùng>

Ví dụ: SELE C

hoặc

SELE 15

Chương 9 Thao tác với nhiều tệp CSDL

Trang 5

1 Định vùng làm việc và gán bí danh

1.2 Mở tệp trên một vùng làm việc bất kỳ và gán bí danh

a Mở tệp trên vùng làm việc

SELECT <Tên vùng>

USE <tệp CSDL>

b Gán bí danh

SELECT <Tên vùng>

USE <tệp CSDL> ALIAS <bí danh>

<bí danh>: Do người sử dụng tự đặt nhưng phải tuân thủ hai điều sau:

* Theo đúng luật đặt tên trường dữ liệu

* Tên không thể là các ký tự từ A đến J

USE BLUONG ALIAS BL

Chương 9 Thao tác với nhiều tệp CSDL

Trang 6

1 Định vùng làm việc và gán bí danh

1.3 Truy nhập trường dữ liệu của tệp hiện thời và tệp đang mở ở vùng làm việc khác.

* Tệp hiện thời: <trường> như đã dùng từ trước đến nay

* Tệp ở vùng làm việc khác

<Tên vùng>.<trường>

<Bí danh>.<trường>

Chú ý rằng việc di chuyển con trỏ bản ghi chỉ thực hiện được đối với tệp hiện thời chứ không làm đưọc với tệp đang mở trên vùng khác, trừ dùng lệnh SET RELATION

USE HSCB ALIAS HS

SELE 1

? HSL

? HS.HSL (hoặc C.HSL)

Chương 9 Thao tác với nhiều tệp CSDL

Trang 7

2 Cập nhật từ một tệp CSDL khác

2.1 Bổ sung các bản ghi từ một tệp CSDL khác.

2.2 Sửa đổi dữ liệu dựa vào dữ liệu trên một tệp khác.

Chương 9 Thao tác với nhiều tệp CSDL

Trang 8

2 Cập nhật từ một tệp CSDL khác

2.1 Bổ sung các bản ghi từ một tệp CSDL khác

Khi hai tệp CSDL có cùng chung cấu trúc tệp hay có một số trường trùng nhau về cấu trúc ta có thể bổ sung các bản ghi của tệp này sang tệp kia bằng cách sau:

Tệp muốn bổ sung được mở ở vùng hiện thời

Tệp chứa các bản ghi để bổ sung ở trạng thái đóng

Sử dụng lệnh:

APPEND FROM <tệp CSDL> [FOR <btL>][FIELDS <Ds trường>]

Chương 9 Thao tác với nhiều tệp CSDL

Trang 9

2 Cập nhật từ một tệp CSDL khác

2.1 Bổ sung các bản ghi từ một tệp CSDL khác

Giải thích:

Nếu có tuỳ chọn FOR <btL> thì chỉ những bản ghi thỏa mãn <btL> mới

được bổ sung

Nếu có tuỳ chọn FIELDS <Ds trường> thì các bản ghi được bổ sung vào

tệp hiện thời theo các trường được liệt kê trong danh sách Ngược lại các bản ghi được bổ sung vào tệp hiện thời theo tất cả các trường của nó trùng tên với tệp hiện thời

Ví dụ:USE HSCB

APPEND FROM HS1 FOR HSL>3

APPEND FROM HS1 FIELD MSCB, HD, TEN,HSL

Chương 9 Thao tác với nhiều tệp CSDL

Trang 10

2 Cập nhật từ một tệp CSDL khác

2.2 Sửa đổi dữ liệu dựa vào dữ liệu trên một tệp khác

Thông thường khi sửa đổi dữ liệu nhiều, người ta sẽ chuẩn bị dữ liệu sửa đổi trên một tệp khác Sau đó sẽ dùng tệp đó để sửa trên tệp hiện thời bằng lệnh:

UPDATE ON <khoá> FROM <bí danh> REPLACE <trường 1> WITH

<bt1>[,<trường 2> WITH <bt2> ] [ FOR <btL>]

Giải thích: Tệp chứa dữ liệu sửa đổi được mở trên vùng làm việc khác với <bí danh> và chỉ số theo <khoá> cập nhật Tệp cần sửa đổi được mở ở vùng hiện thời

và cũng được chỉ số theo <khoá> cập nhật Với những bản ghi của hai tệp có cùng

giá trị khoá thì việc cập nhật được tiến hành như mô tả trên REPLACE Nếu có tuỳ chọn FOR <btL> thì chỉ những bản ghi thoả mãn <btL> mới được cập nhật.

Chú ý: Trường <khóa> của cả hai tệp phải trùng nhau về cấu trúc

Chương 9 Thao tác với nhiều tệp CSDL

Trang 11

2 Cập nhật từ một tệp CSDL khác

2.2 Sửa đổi dữ liệu dựa vào dữ liệu trên một tệp khác

Ví dụ:

SELE 3

USE LMOI ALIAS LM INDE ON MSCB TO T1

SELE 1

INDE ON MSCB TO T2

Chương 9 Thao tác với nhiều tệp CSDL

Trang 12

3 Kết nối hai tệp CSDL

Với hai tệp CSDL có mối quan hệ logic với nhau ta có thể kết nối chúng

bằng lệnh sau:

JOIN WITH <bí danh> TO <tệp KQ> FOR <btL> [FIELDS <dstrường>]

Điều kiện: Một tệp được mở trên vùng làm việc khác với <bí danh>, tệp còn

lại được mở trên vùng hiện thời

Giải thích: Lệnh sẽ tiến hành kết nối mỗi bản ghi của tệp hiện thời lần lượt

với từng bản ghi của tệp <bí danh> thỏa mãn <btL> và ghi vào <tệp KQ> Nếu

có tùy chọn FIELDS <ds trường> thì <tệp KQ> bao gồm những trường được liệt kê trong danh sách và theo thứ tự này Nếu không có tùy chọn đó thì <tệp

KQ> bao gồm tất cả các trường của tệp hiện thời và tất cả các trường của tệp

<bí danh> không trùng tên với các trường của tệp hiện thời.

Chương 9 Thao tác với nhiều tệp CSDL

Trang 13

3 Kết nối hai tệp CSDL

Cơ chế:

Trước hết con trỏ của tệp hiện thời đặt ở bản ghi đầu tiên, con trỏ của tệp

<bí danh> cũng được đặt ở bản ghi đầu tiên và lệnh xét <btL> nếu thỏa mãn thì một bản ghi sẽ được kết nối và ghi vào <tệp KQ>, ngược lại thì bỏ qua và con trỏ trên tệp <bí danh> di chuyển đến bản ghi kế tiếp và lại xét <btL> quá trình tiếp tục cho đến khi con trỏ bản ghi của tệp <bí danh> đặt ở cuối tệp thì

con trỏ của tệp hiện thời được di chuyển đến bản ghi kế tiếp và con trỏ bản ghi

của tệp <bí danh> lại trở về bản ghi đầu tiên Quá trình xét bản ghi này của tệp

hiện thời với các bản ghi của tệp bí danh lại diễn ra như trên Đến khi con trỏ của tệp hiện thời đặt ở cuối tệp thì lệnh kết thúc

Chương 9 Thao tác với nhiều tệp CSDL

Trang 14

3 Kết nối hai tệp CSDL

Ví dụ 1:

CLOS ALL

SELE 2

SELE 1

MSHH, DM.DGIA, SL, TIEN

BROW

Chương 9 Thao tác với nhiều tệp CSDL

Trang 15

3 Kết nối hai tệp CSDL

Ví dụ 2:

CLOSE ALL SELE 3

USE DIEMTHI ALIA DT

SELE 2

USE FACHBTALIA FA

SELE 1

JOIN WITH FATO TGIAN FOR SBD=FA.SBD

USE TGIAN

USE KQTHI

BROW

Chương 9 Thao tác với nhiều tệp CSDL

Trang 16

4 Thiết lập mối liên kết giữa nhiều tệp CSDL

Lệnh JOIN có một số nhược điểm sau:

Phải tạo ra tệp CSDL để chứa kết quả (tốn không gian nhớ)

Việc kết nối chỉ thể hiện một lúc hai tệp

Kết quả bị cứng hoá nên sau khi kết nối nếu có sự thay đổi trên các tệp nguồn thì tệp kết quả cũng không thể hiện được

Để khắc phục chúng ta sẽ tiến hành liên kết bằng lệnh:

SET RELATION TO <khóa> INTO <bí danh> [ADDITIVE]

Điều kiện:

Trong các tệp tham gia liên kết ta phải chọn một tệp có khả năng liên kết với các tệp khác để mở ở vùng hiện thời và gọi nó là tệp chủ

Các tệp còn lại gọi là tệp kết được mở trên các vùng làm việc khác với bí danh và được chỉ số theo trường khóa liên kết

Chương 9 Thao tác với nhiều tệp CSDL

Trang 17

4 Thiết lập mối liên kết giữa nhiều tệp CSDL

Giải thích: Lệnh thiết lập mối liên kết giữa tệp chủ và tệp <bí danh> theo

phép so sánh bằng giữa trường <khóa> của tệp chủ và trường lập chỉ số của tệp <bí danh> Nếu có tuỳ chọn ADDITIVE thì liên kết này sẽ bổ sung vào các liên kết đã có trước đó của tệp chủ Nếu không đây là liên kết đầu tiên của tệp chủ

Cơ chế: Với các tệp kết đang thiết lập liên kết với tệp chủ, khi con trỏ của

tệp chủ đứng ở một bản ghi nào đó thì con trỏ của các tệp kết sẽ tự động dịch chuyển đến các bản ghi tương ứng

Ví dụ: Trong 2 tệp HOADON.DBF và DMHANG.DBF thì HOADON.DBF

là tệp chủ

Trong 3 tệp HOSO.DBF, FACHBT.DBF và DIEMTHI.DBF thì FACHBT.DBF là tệp chủ

Chương 9 Thao tác với nhiều tệp CSDL

Trang 18

4 Thiết lập mối liên kết giữa nhiều tệp CSDL

Ví dụ 1:

CLOS ALL SELE 2

SELE 1

BROW FIEL SHHD, MSHH, SL, DM.DGIA, TIEN

Chương 9 Thao tác với nhiều tệp CSDL

Trang 19

4 Thiết lập mối liên kết giữa nhiều tệp CSDL

Ví dụ 2:

CLOSE ALL SELE 3

USE DIEMTHI ALIA DT

INDE ON FACH TO T1

SELE 2

USE HOSO ALIA HS

INDE ON SBD TO T2

SELE 1

USE FACHBT

SET RELA TO SBD INTO HS

SET RELA TO FACH INTO DT ADDITIVE BROW FIEL SBD, HS.HVT, DT.DIEM

Chương 9 Thao tác với nhiều tệp CSDL

Trang 20

5 Đóng các tệp CSDL đang mở

CLOSE DATABASE: Đóng tất cả các tệp CSDL và các tệp chỉ số

CLOSE ALL: Đóng tất cả các loại tệp

QUIT: Đóng tất cả các loại tệp và thoát khỏi Foxpro

Chương 9 Thao tác với nhiều tệp CSDL

Ngày đăng: 03/12/2015, 01:31

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm