Link xem tivi trực tuyến nhanh nhất xem tivi trực tuyến nhanh nhất xem phim mới 2023 hay nhất xem phim chiếu rạp mới nhất phim chiếu rạp mới xem phim chiếu rạp xem phim lẻ hay 2022, 2023 xem phim lẻ hay xem phim hay nhất trang xem phim hay xem phim hay nhất phim mới hay xem phim mới link phim mới

Link xem tivi trực tuyến nhanh nhất xem tivi trực tuyến nhanh nhất xem phim mới 2023 hay nhất xem phim chiếu rạp mới nhất phim chiếu rạp mới xem phim chiếu rạp xem phim lẻ hay 2022, 2023 xem phim lẻ hay xem phim hay nhất trang xem phim hay xem phim hay nhất phim mới hay xem phim mới link phim mới

intTypePromotion=1
ADSENSE

Bài giảng Visual FoxPro - Chương 4

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:13

185
lượt xem
81
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

QUERIES VÀ VIEWS I. Thiết lập quan hệ giữa các bảng Trên thực tế, các bảng của CSDL thường có quan hệ nào đó với nhau. Mối quan hệ giữa các bảng có thể thiết lập qua lệnh (Lệnh SET RELATION ) - mối quan hệ tạm thời , hoặc trong quá trình thiết kế cơ sở dữ liệu - mối quan hệ bền vững. Để đặt quan hệ giữa các bảng thì việc đầu tiên cần làm đó là xác định các Index cho bảng. Việc xác định các Index cho bảng có thể thực hiện qua lệnh...

Chủ đề:
Lưu

Nội dung Text: Bài giảng Visual FoxPro - Chương 4

  1. Bài giảng Visual FoxPro CHƯƠNG IV: QUERIES VÀ VIEWS I. Thiết lập quan hệ giữa các bảng Trên thực tế, các bảng của CSDL thường có quan hệ nào đó với nhau. Mối quan hệ giữa các bảng có thể thiết lập qua lệnh (Lệnh SET RELATION ) - mối quan hệ tạm thời , hoặc trong quá trình thiết kế cơ sở dữ liệu - mối quan hệ bền vững. Để đặt quan hệ giữa các bảng thì việc đầu tiên cần làm đó là xác định các Index cho bảng. Việc xác định các Index cho bảng có thể thực hiện qua lệnh (lệnh INDEX) hoặc có thể xác định khi thiết kế bảng trong giao diện Table Designer. • Tạo index trong Table Designe. • Thiết lập quan hệ bền vững giữa các bảng trong CSDL. Mối quan hệ bền vững được tạo trong quá trình thiết kế CSDL, và được lưu lại trong file csdl (DBC) và có những đặc điểm sau: • Được tự động sử dụng như các kết nối mặc nhiên (khi tạo Queries và Views) • Được thể hiện bằng các đường nối trong Database Designer. • Được thể hiện trong Data Environment. • Dùng để lưu thông tin về mối quan hệ toàn vẹn. Không giống như các mối quan hệ tạm thời được tạo bằng lệnh SET RELATION, mối quan hệ bền vững không không cần phải tạo lại mỗi khi sử dụng đến các bảng dữ liệu. Tuy nhiên bởi mối quan hệ bền vững không điều khiển các con trỏ bản ghi giữa các bảng dữ liệu nên mối quan hệ tạm thời vẫn rất cần thiết khi phát triển ứng dụng. Các bước thiết lập quan hệ bền vững • Mở Project / Chọn Tab Data • Chọn mục Database và mở rộng (expand). Chọn Database cần làm việc. • Chọn mục Modify, khi đó giao diện Database Designer xuất hiện. Lần lượt thêm các tables vào. • Trong giao diện Database Designer để tạo quan hệ giữa 2 bảng chỉ cần kéo-thả trường Index (Primary) từ bảng cha đến trường Index (Regular) của bảng con. Chú ý: Tạo Index cho các trường trước khi thiết lập quan hệ giữa các bảng. Sau khi thiết lập xong quan hệ giữa các bảng ta có giao diện Database Designer có dạng như hình 6.1. Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 48
  2. Bài giảng Visual FoxPro Hình 6.1 Quan hệ giữa các bảng trong CSDL Đường nối thể hiện quan hệ giữa các bảng. • Thiết lập quan hệ toàn vẹn giữa các bảng Thực chất là xác định các qui tắc ứng xử giữa các bảng có quan hệ với nhau. Các qui tắc đó sẽ kiểm soát các việc như thay đổi (Update), Thêm (Insert), Xoá (Delete) sao cho vẫn đảm bảo mối quan hệ giữa các bảng này không bị vi phạm. Để thiết lập quan hệ toàn vẹn giữa các bảng, D_Click vào đường liên kết bất kỳ giữa 2 bảng, tiếp đến chọn lệnh Referential Integrity như hình 6.2. có thể hiệu chỉnh mối quan hệ giữa các tables ở bước này. Hình 6.2 Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 49
  3. Bài giảng Visual FoxPro Khi chọn Referential Integrity giao diện này xuất hiện như hình 6.3 Hình 6.3 Giao diện Referential Integrity, Rules For Updating Trong đó: • Dòng (trong grid phía dưới): Thể hiện các quan hệ hiện có của CSDL, các thông tin của một quan hệ gồm có: Bảng cha (Parent Table), Bảng con (Child Table), Trường/Biểu thức quan hệ trên bảng cha (Parent Tag), Trường/Biểu thức quan hệ trên bảng con (Child Tag). • Tab Rules for Updating: cho phép thiết lập qui tắc ứng xử giữa 2 bảng cha/con của một quan hệ nào đó (phía dưới) khi sửa đổi. Các qui tắc ứng xử ở đây là: o Ignore: Cho phép sửa các bản ghi liên quan trên bảng con một cách độc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. o Restrict: Không cho phép sửa đổi các bản ghi trong bảng cha nếu tồn tại những bản ghi liên quan trong bảng con. o Cascade: Sửa tất cả những bản ghi có quan hệ trong bảng con với giá trị khoá mới tương ứng của bảng cha. • Tab Rules for Deleting: cho phép thiết lập qui tắc ứng xử giữa 2 bảng cha/con của một quan hệ nào đó (phía dưới) khi xoá. Các qui tắc ứng xử ở đây là: o Ignore: Cho phép xoá các bản ghi liên quan trên bảng con một cách độc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. o Restrict: Không cho phép xoá các bản ghi trong bảng cha nếu tồn tại những bản ghi liên quan trong bảng con. o Cascade: Xoá tất cả những bản ghi có quan hệ trong bảng con tương ứng với bản ghi bị xoá của bảng cha. Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 50
  4. Bài giảng Visual FoxPro Hình 6.4 Rules For Deleting • Tab Rules for Inserting: cho phép thiết lập qui tắc ứng xử giữa 2 bảng cha/con của một quan hệ nào đó (phía dưới) khi thêm mới. Các qui tắc ứng xử ở đây là: Hình 6.4 Rules For Inserting o Ignore: Cho phép thêm các bản ghi vào bảng con một cách độc lập (không phụ thuộc vào bảng cha), đây là giá trị mặc định. Ví dụ o Restrict: Không cho phép thêm các bản ghi vào bảng con nếu không tồn tại một bản ghi tương ứng trong bảng cha. Ví dụ Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 51
  5. Bài giảng Visual FoxPro II. Tạo các queries Query: Công cụ truy vấn dữ liệu. • Có thể tạo ra query đáp ứng các tiêu chuẩn nhằm: để tổ chức thông tin cho Report, biểu đồ, để trả lời nhanh một câu hỏi ....Sắp xếp và nhóm các record khi cần thiết. • Ví dụ, với bảng DIEM; khi biết mã sinh viên và cần xem sinh viên đó có tên là gì? Bảng điểm của một môn học nào đó. .. • Quá trình thiết kế Query: o Bắt đầu tạo Query với một Wizard Query hoặc Query Designer. o Chọn Table hoặc View chứa thông tin. o Xác định kết quả Query bằng cách chọn các field cần thiết, kiểu sắp xếp, điều kiện của các record muốn hiển thị. o Tôt chức các kết quả bằng cách nhóm và sắp xếp. o Chọn kiểu kết xuất: Table, Report, Browse,… o Chạy và kiểm tra Query. 1. Tạo mới một Query sử dụng Wizard 1. Trong Project Manager chọn Tab Data 2. Chọn Queries/Chọn New/Chọn Query Wizard 3. Chọn kiểu Query Wizard cần tạo, có các kiểu là Cross-Tab, Graph và Query. Ví dụ 1: Tạo một Cross Tab Query Giả sử cần xác định xem số lượng thí sinh thi trượt lần 1 các môn học theo lớp có số lượng là như thế nào? Số liệu cần đưa ra dạng sau: Lớp /môn MH1 MH2 ... ... ... MHn 3A-04 4 7 ... ... ... ... 3B-04 3 5 ... ... ... ... ... ... ... ... ... ... ... Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 52
  6. Bài giảng Visual FoxPro Khi đó cần sử dụng một Cross-Tab. 1. Chọn Cross-Tab Wizard, chọn OK. 2. Step 1 - Select Fields: Chọn Database, Tables và Fields (Sử dụng lệnh >, >> để chọn các trường cần thiết). Khi đã chọn xong các trường, chọn Next để qua bước 3. 3. Step 2 - Define Layout: Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 53
  7. Bài giảng Visual FoxPro Bước này cần định nghĩa 3 đối tượng cho Cross-Tab đó là: Row (trong ví dụ này là Malop), Column (Mamon) và Data (Diem1) bàng cách nhấp-thả (Drag) các trường vào các ô (Row, Column, Data) tương ứng. Chọn Next để tiếp tục 4. Step 3 - Add summary Information: Chọn các hàm thống kê đối với đối tượng Data, các hàm này có thể là: Sum, Countm Average, Max, Min, trong ví dụ này thì Summary chọn là Count. Tuỳ chọn Subtotal cho phép thêm vào cột cuối để tính subtotal cho mỗi dòng. Tiếp đến chọn Finish và nhập vào tên file Query để hoàn tất công việc (hoặc chọn Next sẽ chuyển đến bước 4 Step 4 - Finish). Trong cửa sổ Project Manager chọn Query vừa tạo rồi chọn lệnh Run - > Được kết quả thể hiển của Query. Ví dụ 2: Tạo một Graph Form bằng Graph Wizard Giả sử cần thể hiện số lượng sản phẩm của các mặt hàng hiện có trong kho dạng biểu đồ. Khi đó sử dụng Graph Wizard như sau: 1. Chọn Graph Wizard, chọn OK. 2. Step 1 - Select Fields: Như ví dụ trên 3. Step 2 - Define Layout: Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 54
  8. Bài giảng Visual FoxPro Bước này cần định nghĩa 2 đối tượng cho là: Data series - Trường số (trong ví dụ này là Soluong) và Axis - Trong ví dụ này là Ma. Chọn Next để tiếp tục (lưu ý là Next và Finish chỉ cho phép khi đã chọn đủ Data series và Axis). 4. Step 3 - Select Graph Style Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 55
  9. Bài giảng Visual FoxPro Bước này cho phép chọn kiểu biểu đồ, trong ví dụ này chọn biểu đồ cột (thứ 6). Chọn Next để tiếp tục 5. Step 4 - Finish: Chọn Finish rồi nhập vào tên form cần lưu (Kết quả của Wizard này là một Form). Trong cửa sổ Project Manager chọn Form vừa tạo rồi chọn lệnh Run - > Được kết quả thể hiển của Query. Với ví dụ 2 ta có form DMHANG dạng biểu đồ như hình sau: 2. Tạo mới một Query sử dụng Queries Designer Giả sử cần xem bảng điểm một môn học của một lớp nào đó, bảng điểm bao gồm Masv, Hoten, Ngaysinh và điểm. Với yêu cầu này có thể sủ dụng Query để lấy thông tin theo các bước sau: 1. Trong Project Manager chọn Tab Data 2. Chọn Queries 3. Chọn New 4. Chọn New Query 5. Chọn Table hoặc View làm nguồn cho Query như hình sau. Trong ví dụ này chọn Table Diem (rồi Add) và Hososv (rồi Add). Chọn Close để đóng cửa sổ Add Table or View Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 56
  10. Bài giảng Visual FoxPro 6. Tiếp đến giao diện Query xuất hiện như hình 6.6 • Phía trên: Thể hiện các bảng (hoặc View) sử dụng trong Query. o Run Query: Thực hiện (chạy) query này o View SQL: Xem query ở dạng SQL o Remove Table: Loại bỏ bảng đã chọn khỏi Query (khi chọn vào bảng) o Add Table: Show giao diện Add Table or View o Output Setting: Tuỳ chọn đầu ra cho query (xem sau). Hình 6.6 - Query Designer Đường nối thể hiện quan hệ giữa các bảng. Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 57
  11. Bài giảng Visual FoxPro • Phía dưới: Các tuỳ chọn cho thiết kế Query Tab Fields: Chọn các trường cho query. Available Fields: Các filed có thể chọn cho query. Selected Fields: Các trường đã chọn. Lệnh Add: Thêm trường đã chọn từ Available Fields vào Selected Fields. Lệnh Add All: Thêm tất cả các trường từ Available Fields vào Selected Fields. Lệnh Remove: Loại bỏ 1 trường đã chọn trong Selected Fields. Lệnh Remove All: Loại bỏ tất cả các trường đã chọn trong Selected Fields. Mục Functions and Expressions: Khai báo 1 biểu thức và có thể thêm (Add) biểu thức này vào Selected fields (và nó có vai trò như 1 trường, dùng khai báo AS để đặt tên cho biểu thức này). Tab Joint: Thiết lập các thuộc tính về kết nối giữa 2 bảng. Các bảng dùng cho 1 query thường có quan hệ với nhau. Khi truy xuất dữ liệu, kiểu liên kết (Joint Type) có vai trò quan trọng trong việc ứng xử giữa các bảng. Ví dụ có 2 bảng Dmhang và Hoadon được dùng trong 1 query và có số liệu như hình sau: Bảng Dmhang có chứa các bản ghi H4, H5, các bản ghi này không có trong Hoađon, và ngược lại trong Hoadon có mặt hàng H10 là loại hàng chưa có trong Dmhang. Như vậy khi ghép 2 bảng này mặt hang H4, H5 có số hóa đơn là bao nhiêu? Hóa đơn 7 mặt hàng H10 thì tên hàng là gì, đơn giá là bao nhiêu? Để giái quyết vấn đề này chúng ta sẽ xét các Joint sau đây. Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 58
  12. Bài giảng Visual FoxPro • Left Table: Bảng phía trái (bảng cha) • Right Table: Bảng phía phải (bảng con) • Joint Type: Có thể 1 trong các loại sau: • Inner joint: Chỉ trả về các bản ghi có thể so khớp được với nhau trên 2 bảng (khi đó các bản ghi H4, H5 và H7 trong cả 2 bảng sẽ không được trả về) • Left Outer Joint: là mối kết nối giữa hai tables mà các record nằm trong table bên trái sẽ xuất hiện trong kết quả của Query cho dù nó có so khớp với bảng kia hay không. • Right Outer joint: tương tự Left Outer Joint nhưng tất cả các record nằm trong table bên phải sẽ xuất hiện trong kết quả • Full Joint: là loại kết nối giữa Left Outer Joint và Right Outer Joint. 3. Xác định các kết quả. • Chọn các field cần xuất: tại available fields chọn tên field -> Click nút Add. • Loại bỏ field: tại selected field chọn field cần bỏ -> click nút Remove. • Hiển thị tên riêng cho 1 field: trong hộp Functions and expression gõ: AS . • Sắp xếp thứ tự các field kết xuất: trong phần selected fields, kéo ô vuông tương ứng với field và thả vào vị trí thích hợp. • Chọn các record cho kết quả: thông thường các kết quả trả về phải thỏa mãn một tiêu chuẩn nào đó. Vì vậy, cần đặt điều kiện lọc dữ liệu cho kết quả Query trong tab Filter. o Chọn một field làm chuẩn để chọn các record. o Từ danh sách Criteria, chọn biểu thức so sánh. o Nhập tiêu chuẩn so sánh trong hộp Example. o Case: không phân biệt chữ hoa hay chữ thường. • Có thể giới hạn kết quả tìm kiếm bằng cách kết hợp với các toán tử ở mục logical. • Sắp xếp các kết quả Query. Trong tab Order By: o Đặt tiêu chuẩn sắp xếp: tại Selected Fields, chọn tên field -> Add. o Loại bỏ tiêu chuẩn sắp xếp: chọn field muốn loại bỏ -> Remove. o Thứ tự các field trong Ordering criteria xác định tầm quan trọng của kết quả sắp xếp. 4. Nhóm kết quả của Query Là tập hợp những record cùng loại. Có thể thực hiện việc tính toán trên nhóm các records. • Thẻ Group By: chọn field hoặc biểu thức làm tiêu chuẩn nhóm. • Xây dựng biểu thức tính toán kết quả nhóm: o Trong thẻ Field, hộp Functions and expressions: gõ biểu thức tính toán. o Chọn nút Add để đặt biểu thức này vào hộp Selected Fields. • Có thể giới hạn kết quả hiển thị: Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 59
  13. Bài giảng Visual FoxPro o Trong Group By, chọn Having. o Hộp thoại Having: Field name: chọn tên field hoặc biểu thức tính toán. Chọn biểu thức so sánh. Example: Nhập giá trị tiêu chuẩn. 5. Hướng kết xuất của Query. Có thể gửi kết quả của Query đến các nơi khác nhau. Mặc định, kết quả của Query sẽ được hiển thị trong cửa sổ Browse. • Từ thanh công cụ Query Design, chọn Query Destination. • Trong hộp thoại Query Destination, chọn nơi kết xuất: Nút lệnh Nơi kết xuất Browse Hiển thị kết quả trong cửa sổ Browse Cursor Lưu kết quả của Query trong table để đọc tạm Table Lưu kết quả Query như một Table. Graph Kết quả Query có thể sử dụng với Microsoft Graph - ứng dụng độc lập với Visual FoxPro. Screen Hiển thị kết quả Query trong cửa sổ Visual FoxPro chính, hoặc trong cửa sổ tích cực hiện hành. Report Gửi kết xuất vào file Report (.frx) Label Gửi đầu xuất vào file Label (.lbx) Bộ môn Tin học – ĐHTN http://www.ebook.edu.vn 60
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2