Chương 7. Kết xuất thông tin trong tệp CSDL

Kết xuất thông tin trong tệp CSDL là từ dữ liệu hiện có trong tệp CSDL đó ta lấy ra những thông tin mang tính thống kê như: Đếm số lượng các bản ghi thoả mãn một điều kiện nào đó; tính tổng hoặc giá trị trung bình của một hoặc nhiều trường kiểu số; tính tổng một hoặc nhiều trường kiểu số của từng nhóm bản ghi theo một trường khoá nào đó.

pdf19 trang | Chia sẻ: lylyngoc | Ngày: 14/03/2015 | Lượt xem: 1173 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Chương 7. Kết xuất thông tin trong tệp CSDL, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG CAO ĐẲNG SƯ PHẠM QUẢNG TRỊ KHOA CÔNG NGHỆ THÔNG TIN Kết xuất thông tin trong tệp CSDL là từ dữ liệu hiện có trong tệp CSDL đó ta lấy ra những thông tin mang tính thống kê như: Đếm số lượng các bản ghi thoả mãn một điều kiện nào đó; tính tổng hoặc giá trị trung bình của một hoặc nhiều trường kiểu số; tính tổng một hoặc nhiều trường kiểu số của từng nhóm bản ghi theo một trường khoá nào đó. Chương 7. Kết xuất thông tin trong tệp CSDL 1. Đếm số lượng bản ghi 2. Tính tổng giá trị các trường kiểu số 3. Tính giá trị trung bình các trường kiểu số 4. Tính tổng bộ phận. 5. Đặt lọc dữ liệu. 6. Giới hạn trường dữ liệu. Chương 7. Kết xuất thông tin trong tệp CSDL 1. Đếm số lượng bản ghi 1.1. Lệnh COUNT 1.2. Hàm RECCOUNT() Chương 7. Kết xuất thông tin trong tệp CSDL 1.Đếm số lượng bản ghi 1.1. Lệnh COUNT Để đếm số lượng bản ghi trong một tệp CSDL thỏa mãn một điều kiện nào đó ta sử dụng lệnh: COUNT [][FOR ][TO ] Giải thích: Phạm vi ngầm định là ALL. Lệnh đếm số lượng các bản ghi trong thỏa mãn . Nếu có tuỳ chọn TO (biến bộ nhớ) thì kết quả được ghi vào , ngược lại kết quả được ghi ra màn hình. Ví dụ: USE HSCB COUNT FOR HSL>=4 COUNT FOR NSINH<=CTOD(‘01/01/1944’) TO CBVH COUNT TO TSCB Chương 7. Kết xuất thông tin trong tệp CSDL 1. Đếm số lượng bản ghi 1.2. Hàm RECCOUNT() Hàm này sẽ cho kết quả là số lượng các bản ghi đang tồn tại trên tệp CSDL đang mở. Chú ý: Lệnh COUNT không có tuỳ chọn và FOR có nghĩa là đếm số lượng các bản ghi đang hiệu lực trên tệp CSDL đang mở, nhưng nói chung là nó không cho cùng kết quả với hàm RECCOUNT() Ví dụ: USE HSCB DELE FOR HSL<3 SET DELE ON COUNT TO TSCB ? TSCB=RECCOUNT() Chương 7. Kết xuất thông tin trong tệp CSDL 2. Tính tổng giá trị các trường kiểu số Để tính tổng giá trị các trường kiểu số của một tệp CSDL đang mở ta sử dụng lệnh: SUM [][][TO ][FOR ] Giải thích:  Phạm vi ngầm định là ALL.  Nếu không có tuỳ chọn thì tất cả các trường kiểu số đều được tính tổng, nếu có thì chỉ tính tổng cho những trường được liệt kê trong danh sách.  Nếu có tuỳ chọn TO (danh sách biến bộ nhớ) thì các kết quả được lưu vào trong danh sách biến bộ nhớ. Chú ý rằng số lượng biến bộ nhớ được sử dụng trong danh sách này phải bằng đúng số lượng các trường kiểu số được tính tổng và chúng tương ứng với nhau theo thứ tự được liệt kê trong cả hai danh sách. Nếu không sử dụng tuỳ chọn này thì kết quả được đưa lên màn hình. Continue Chương 7. Kết xuất thông tin trong tệp CSDL 2. Tính tổng giá trị các trường kiểu số Ví dụ: USE BLUONG SUM SUM LCB,LPC,TONG TO TLCB,TLPC,TTONG SUM FOR KHOA=’CNTT’ Chương 7. Kết xuất thông tin trong tệp CSDL 3. Tính giá trị trung bình các trường kiểu số Để tính giá trị trung bình các trường kiểu số của một tệp CSDL đang mở ta sử dụng lệnh: AVERAGE [][][TO ][FOR ] Giải thích:  Phạm vi ngầm định là ALL.  Nếu không có tuỳ chọn thì tất cả các trường kiểu số đều được tính giá trị trung bình, nếu có thì chỉ tính giá trị trung bình cho những trường được liệt kê trong danh sách.  Nếu có tuỳ chọn TO (danh sách biến bộ nhớ) thì các kết quả được lưu vào danh sách biến bộ nhớ. Chú ý rằng số lượng biến bộ nhớ được sử dụng trong danh sách này phải bằng đúng số lượng các trường kiểu số được tính giá trị trung bình và chúng tương ứng với nhau theo thứ tự được liệt kê trong cả hai danh sách. Nếu không sử dụng tuỳ chọn này thì kết quả được đưa lên màn hình. Chương 7. Kết xuất thông tin trong tệp CSDL 3. Tính giá trị trung bình các trường kiểu số Ví dụ: USE BLUONG AVERAGE AVERAGE LCB,LPC,TONG TO TLCB,TLPC,TTONG AVERAGE FOR KHOA=’CNTT’ Chương 7. Kết xuất thông tin trong tệp CSDL 4. Tính tổng bộ phận. 4.1. Khái niệm 4.2. Lệnh TOTAL 4.3. Cơ chế thực hiện 4.4. Ví dụ Chương 7. Kết xuất thông tin trong tệp CSDL 4. Tính tổng bộ phận 4.1. Khái niệm Tính tổng bộ phận nghĩa là tính tổng các trường kiểu số cho các bản ghi có cùng một giá trị khóa cho trước. Mỗi giá trị khóa lập thành một tổng. Khóa ở đây là một trường của tệp CSDL. Ví dụ: Trên tệp BLUONG.DBF khi ta cần tính lương theo từng phòng, khoa. Điều đó có nghĩa là tính tổng của các bản ghi có cùng một giá trị trên trường KHOA. Chương 7. Kết xuất thông tin trong tệp CSDL 4. Tính tổng bộ phận 4.2. Lệnh TOTAL TOTAL ON TO [FOR ][FIELDS <Ds trường>] Giải thích:  Lệnh tính tổng bộ phận cho các bản ghi có cùng một giá trị nằm liên tiếp nhau lập thành một bản ghi tổng và ghi vào .  Nếu có tuỳ chọn FOR thì chỉ có những bản ghi thỏa mãn mới được tính tổng bộ phận.  Nếu có tuỳ chọn FIELDS thì việc tính tổng bộ phận chỉ tiến hành trên những trường được liệt kê trong danh sách.  có cấu trúc hoàn toàn giống với cấu trúc của tệp đang mở. Chương 7. Kết xuất thông tin trong tệp CSDL 4. Tính tổng bộ phận 4.3. Cơ chế thực hiện Bắt đầu từ bản ghi đầu tiên lệnh thiết lập một giá trị khóa rồi xét những bản ghi kế tiếp nó để lập một bản ghi tổng và ghi vào . Khi gặp bản ghi đầu tiên khác giá trị khóa, lệnh chuyển sang thiết lập giá trị khóa thứ hai, rồi thực hiện như trên, để thiết lập bản ghi tổng khác. Quá trình thực hiện tương tự như trên, cho đến khi kết thúc tệp CSDL. Vì vậy, để kết quả có ý nghĩa. Tệp CSDL phải được sắp xếp hoặc chỉ số theo trường khoá tính tổng bộ phận. 4. Tính tổng bộ phận 4.4. Ví dụ USE BLUONG TOTAL ON KHOA TO THOP1 INDEX ON KHOA TO T1 TOTAL ON KHOA TO THOP2 TOTAL ON KHOA TO THOP3 FOR HSL>=3 5. Đặt lọc dữ liệu Khái niệm: Lọc dữ liệu là chỉ cho phép làm việc với những bản ghi của tệp CSDL thỏa mãn một điều kiện nào đó, như trước đây ta đã dùng tuỳ chọn FOR trong các lệnh. Lệnh đặt lọc: SET FILTER TO Với tệp CSDL đang mở việc xác lập môi trường như thế này chỉ cho phép các lệnh tác động lên những bản ghi thỏa mãn Chương 7. Kết xuất thông tin trong tệp CSDL 5. Đặt lọc dữ liệu Ví dụ: USE HSCB BROW FOR HSL>3 COUNT FOR HSL>3 tương đương với USE HSCB SET FILTER TO HSL>3 BROW COUNT Chương 7. Kết xuất thông tin trong tệp CSDL 6. Giới hạn trường dữ liệu Khái niệm: Giới hạn trường dữ liệu là chỉ cho phép làm việc với những trường dữ liệu mà ta quan tâm. Lệnh giới hạn trường dữ liệu: SET FIELD TO Với tệp CSDL đang mở việc xác lập môi trường như thế này chỉ cho phép các lệnh tác động lên những trường được liệt kê trong danh sách. Chương 7. Kết xuất thông tin trong tệp CSDL 6. Giới hạn trường dữ liệu Ví dụ: USE HSCB BROW FIELD MSCB,HD,TEN tương đương với USE HSCB SET FIEL TO MSCB,HD,TEN BROW Chương 7. Kết xuất thông tin trong tệp CSDL