Giáo trình Hệ quản trị cơ sở dữ liệu: Phần 1 cung cấp cho người học những kiến thức như: Tổng quan về Visual Foxpro; Thao tác với bảng dữ liệu; Tìm kiếm thông tin; Mẫu biểu; Báo cáo và nhãn; Bảng chọn. Mời các bạn cùng tham khảo!
Trang 1Mục lục
Mục lục 1
Chương 1 TỔNG QUAN VỀ VISUAL FOXPRO 5
1.1 Tổng quan về Visual FoxPro 5
1.1.1 Giới thiệu 5
1.1.2 Khởi động và thoát khỏi Visual Foxpro 6
1.1.3 Các chế độ làm việc 7
1.2 Các khái niệm cơ bản 7
1.2.1 Kiểu dữ liệu 7
1.2.2 Các phép toán 8
1.2.3 Hằng 11
1.2.4 Biến 11
1.2.5 Hàm 12
1.2.6 Biểu thức 14
1.2.7 Từ khoá 14
1.2.8 Lệnh và chương trình 14
1.3 Quản lý đề án ( Project Manager) 15
1.3.1 Giới thiệu Project Manager 15
1.3.2 Tạo một đề án 17
1.3.3 Mở đề án 17
1.3.4 Dịch đề án 17
1.3.5 Chạy đề án 18
1.4 Tạo lập cơ sở dữ liệu: 18
Chương 2 BẢNG DỮ LIỆU (TABLE) 20
2.1 Một số khái niệm 20
2.2 Tạo bảng cơ sở dữ liệu 22
2.3 Đổi tên một bảng trong cơ sở dữ liệu 27
2.4 Xoá bảng khỏi cơ sở dữ liệu 27
2.5 Thêm bảng vào cơ sở dữ liệu 27
2.6 Sửa cấu trúc bảng cơ sở dữ liệu 27
2.7 Làm việc với các bản ghi 27
2.7.1 Xem nội dung của bảng 27
2.7.2 Xem nội dung bảng kết hợp với chỉ mục 28
2.7.3 Xoá bản ghi 29
2.7.4 Khôi phục các bản ghi bị đánh dấu xoá 30
2.7.5 Xoá các bản ghi đã bị đánh dấu xoá khỏi bảng dữ liệu 30
2.7.6 Cập nhật dữ liệu vào bảng 31
2.8 Đặt mối quan hệ giữa các bảng 31
Trang 22.8.1 Chuẩn bị 32
2.8.2 Thiết lập mối quan hệ giữa các bảng 32
2.8.3 Hiệu chỉnh mối quan hệ giữa các bảng 33
2.8.4 Xoá mối quan hệ giữa các bảng: 33
Chương 3 TÌM KIẾM THÔNG TIN (QUERY & VIEW) 38
3.1 Query (truy vấn) 38
3.1.1 Khái niệm Query 38
3.1.2 Tạo Query 38
3.2 View (khung nhìn) 49
3.2.1 Khái niệm View 49
3.2.2 Tạo View 50
Chương 4 MẪU BIỂU (FORM) 55
4.1 Khái niệm Form 55
4.2.Tạo Form bằng công cụ wizard 55
4.2.1 Tạo Form dạng Form Wizard 56
4.2.2 Tạo Form dạng One - to - many Form wizard 60
4.3 Sửa form 64
4.4 Chạy forrm 64
4.5 Tạo form bằng công cụ Form Designer 65
Chương 5 BÁO CÁO VÀ NHÃN (REPORT VÀ LABEL) 69
5.1 Report 69
5.1.1 Khái niệm report 69
5.1.2 Tạo một Report Layout 69
5.1.3 Chỉnh sửa Report Layout 93
5.1.4 Xem và in Report 94
5.2 Label 95
5.2.1 Khái niệm Label 95
5.2.2 Tạo Label Layout 95
5.2.3 Chỉnh sửa Label Layout 100
5.2.4 Xem và in Label 100
5.2.5 Ví dụ về thiết kế Label layout 100
Chương 6 BẢNG CHỌN (MENU) 102
6.1 Khái niệm Menu 102
6.2 Tạo Menu 103
6.3 Sửa Menu 104
6.4 Dịch Menu 104
6.5 Chạy Menu 104
6.6 Gắn các câu lệnh vào Menu 105
6.7 Tạo thủ tục trong menu 105
Trang 36.8 Một số tuỳ biến trong tạo Menu 105
6.8.1 Tạo nhóm các mục trong Menu 105
6.8.2 Tạo SDI menu 105
6.8.3 Gắn menu vào Form 106
6.8.4 Tạo phím tắt (ShortCut) 106
6.8.5 Làm mất hay có tác dụng một mục Menu 107
6.9 Ví dụ 107
Chương 7 LẬP TRÌNH TRONG VISUAL FOXPRO 111
7.1 Giới thiệu về lập trình 111
7.1.1 Các kỹ thuật lập trình trong Visual FoxPro 111
7.1.2 Lưu file chương trình 113
7.1.3 Sửa chương trình 113
7.1.4 Thực hiện chương trình 113
7.1.5 Ghi chú trong chương trình 113
7.2 Chương trình con 114
7.2.1 Hàm tự tạo 114
7.2.2 Thủ tục 115
7.2.3 Cách tổ chức chương trình con 116
7.3 Biến toàn cục, biến cục bộ 118
7.3.1 Biến toàn cục 118
7.3.2 Biến cục bộ 118
7.3.3 Che các biến nhớ 118
7.4 Truyền tham số 120
7.4.1 Truyền theo giá trị (truyền theo tham trị): 120
7.4.2 Truyền theo địa chỉ (truyền theo tham biến): 120
7.5 Một số câu lệnh của Visual FoxPro 123
7.5.1 Các câu lệnh thiết lập môi trường làm việc 123
7.5.2 các câu lệnh vào, ra dữ liệu đơn giản 124
7.5.3 Các lệnh in dữ liệu ra màn hình 125
7.5.4 Lệnh SAY…GET…READ 126
7.6 Các cấu trúc điều khiển chương trình 127
7.6.1 Cấu trúc tuần tự (ngầm định) 127
7.6.2 Cấu trúc rẽ nhánh 127
7.6.3 Cấu trúc lặp 130
7.7 Một số câu lệnh thao tác với bảng dữ liệu 134
7.7.1 Mở và đóng bảng dữ liệu 134
7.7.2 Dịch chuyển con trỏ bản ghi – Lệnh GO và SKIP 134
7.7.3 Lệnh LOCATE 135
7.7.4 Lệnh BROWSE 135
Trang 47.7.5 Bổ sung bản ghi – Lệnh APPEND 136
7.7.6 Xóa bản ghi – Lệnh DELETE, RECALL, PACK, ZAP 136
7.7.7 Các câu lệnh dặt lọc dữ liệu 137
7.7.8 Lệnh REPLACE 138
7.7.9 Cấu trúc SCAN 138
7.8 Một số ví dụ về lập trình cơ sở dữ liệu 139
7.8.1 Chương trình nhập dữ liệu cho một bảng 139
7.8.2 Chương trình tìm kiếm và xử lý bản ghi của một bảng 140
7.8.3 Tìm kiếm trên nhiều bảng 142
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG 144
8.1 Một số khái niệm cơ bản 147
8.1.1 Đối tượng trong Visual FoxPro 147
8.1.2 Class và Object 148
8.1.3 Các Class cơ sở trong Visual FoxPro 149
8.2 Lớp Form 151
8.2.1 Một số thuộc tính thông dụng của lớp form và các control 151
8.2.2 Một số sự kiện thông dụng của form và các control 159
8.2.3 Một số Method (phương thức) thông dụng của form và các control 163
8.2 Bổ sung các đối tượng vào Form 165
8.3.1 Bổ sung một biểu tượng lớp vào thanh công cụ Form Controls 165
8.3.2 Bổ sung một Control vào Form 165
8.3.3 Một số Control thông dụng trên form 165
8.4 Một số ví dụ lập trình điều khiển trên Form 176
8.4.1 Lập trình giải bất phương trình ax + b > 0 176
8.4.2 Lập trình giải bất phương trình bậc 2 179
8.4.3 Lập trình điều khiển dữ liệu trên Form 182
Chương 9 PHÂN PHỐI ỨNG DỤNG VÀ TẠO BỘ ĐĨA CÀI ĐẶT 195
9.1 Phân phối ứng dụng 195
9.2 Tạo bộ đĩa cài đặt cho ứng dụng bằng Setup Wizard 198
BÀI TẬP THỰC HÀNH 205
Tµi liÖu tham kh¶o 261
Trang 5Chương 1 TỔNG QUAN VỀ VISUAL FOXPRO 1.1 Tổng quan về Visual FoxPro
- Một ngôn ngữ lập trình có câu trúc, hướng đối tượng
- Một ngôn ngữ hỏi đáp có cấu trúc (SQL)
- Một bộ công cụ Case
-
a) Cơ sở dữ liệu (cơ sở dữ liệu) là một tập hợp các dữ liệu có quan hệ với nhau, được
tổ chức và lưu trữ trong máy tính theo một qui định nhất định nhằm phục vụ cho một mục đích nào đó
b) Hệ quản trị cơ sở dữ liệu (DBMS) là một hệ thống chương trình nhằm quản lý, khai thác và biến đổi các cơ sở dữ liệu
Visual Foxpro là một hệ quản trị cơ sở dữ liệu quan hệ của hãng Microsoft Nó cho phép:
- Tạo lập, cập nhật các cơ sở dữ liệu, các bảng dữ liệu
- Sắp xếp, tìm kiếm thông tin
- Hỏi đáp, tổng hợp, báo cáo thông tin
c) Ngôn ngữ hỏi đáp có cấu trúc (SQL) là ngôn ngữ hỏi đáp có cấu trúc phi thủ tục giúp truy xuất nhanh thông tin
d) Một bộ các công cụ Case cho phép xây dựng các ứng dụng một cách nhanh chóng, thay vì phải lập trình rất phức tạp ta chỉ cần nêu ra các ý tưởng cần thực hiện, chẳng hạn:
- Công cụ tạo bảng cho phép tạo cấu trúc bảng cơ sở dữ liệu, tạo các qui tắc toàn vẹn dữ liệu cũng như các khoá và chỉ mục,
- Công cụ tạo Query và View cho phép hỏi đáp, tổng hợp thông tin nhanh chóng
Trang 6- Công cụ Form cho phép tạo nhanh các màn hình cập nhập dữ liệu
- Công cụ Report, Label cho phép tạo nhanh các báo cáo và nhãn
- Công cụ Menu cho phép tạo các Menu nhiều cấp nhanh chóng, đơn giản
e) Từ điển dữ liệu: là nơi dùng để lưu các thông tin cần thiết về các cơ sở dữ liệu, cũng như mối quan hệ giữa các bảng cơ sở dữ liệu, …
1.1.2 Khởi động và thoát khỏi Visual Foxpro
1) Khởi động Visual Foxpro
Sau khi đã cài đặt Visual FoxPro, ta có thể khởi động nó bằng cách thực hiện file FoxProw.exe hoặc file vfp.exe đối với Visual Foxpro theo các cách sau:
- Kích chuột vào biểu tượng của Visual Foxpro trên màn hình nền Desktop:
Hình 1.1 Màn hình Visual Foxpro sau khi khởi động
- Chọn menu Start/Program/Microsoft Visual Studio…/ Microsoft Visual Foxpro và kích chuột vào đó
2) Thoát khỏi Visual FoxPro
Để thoát khỏi Visual FoxPro có thể sử dụng một trong các cách sau:
- Tại cửa sổ lệnh nhập vào lệnh QUIT
- Chọn File/Exit
Trang 7- Kích trái chuột vào nút Close
1.1.3 Các chế độ làm việc
Visual FoxPro có 2 chế độ làm việc: chế độ tương tác (interactive) và chế độ chương trình (program)
1) Chế độ tương tác (đối thoại):
Là chế độ người sử dụng đưa vào từng câu lệnh, Visual Foxpro thực hiện ngay câu lệnh đó và trả lại kết quả trên màn hình kết quả Trong chế độ này có 2 hình thức đưa vào câu lệnh:
- Đưa câu lệnh qua menu hệ thống (system menu)
- Đưa câu lệnh từ cửa sổ lệnh (command window)
2) Chế độ chương trình:
Trong chế độ này, các câu lệnh được biên soạn trong một file văn bản chương trình và lưu trên đĩa (gọi là file chương trình nguồn) Khi muốn thực hiện các câu lệnh trong chương trình này, chỉ việc ra lệnh thực hiện chương trình cho Visual Foxpro; Visual Foxpro lần lượt thực hiện các câu lệnh trong văn bản chương trình
1.2 Các khái niệm cơ bản
1.2.1 Kiểu dữ liệu
Để xử lý và khai thác tốt các dữ liệu, Visual Foxpro chia dữ liệu thành nhiều kiểu khác nhau Trong đó có một số kiểu cơ bản là: kiểu số (Numeric), kiểu xâu kí tự (Character), kiểu ngày tháng (Date), kiểu logic (Logical), kiểu bộ nhớ (Memo), kiểu tổng quát (General)
1) Kiểu số - Numeric (N): Dùng để biểu diễn dữ liệu dạng số Mỗi dữ liệu kiểu
số chiếm tối đa 20 chữ số gồm cả phần nguyên, phần thập phân và dấu chấm thập phân
2) Kiểu số - Float (F): Dùng để biểu diễn số thực có dấu chấm động Ví dụ như
số 2.03E+5 (2.03105) và nó thường được sử dụng trong các chương trình thuộc lĩnh vực khoa học kỹ thuật
3) Kiểu xâu ký tự - Charater (C): Chứa các dữ liệu là một dãy các ký tự bất kỳ
trong bảng mã ASCII Ví dụ như họ tên, quê quán, địa chỉ,… hoặc là số nhưng không
có nhu cầu tính toán như số chứng minh thư nhân dân, số điện thoại, số phòng, Mỗi
Trang 8dữ liệu kiểu xâu ký tự có độ dài tối đa 255 ký tự (mỗi ký tự chiếm 1 byte trong bộ nhớ)
4) Kiểu ngày tháng - Date (D): Dùng cho những dữ liệu dạng ngày tháng như
ngày sinh, ngày đến, ngày vào đoàn, Đó là những số nguyên dạng "yyyymmdd" khi hiển thị ra bên ngoài sẽ được chuyển thành dạng ngày tháng bình thường như dd/mm/yy, mm/dd/yy, dd/mm/yyyy, tuỳ theo yêu cầu của người sử dụng Độ dài cố định của dữ liệu kiểu ngày là 8 ký tự
5) Kiểu logic - Logical (L): Dùng cho những dữ liệu chỉ có một trong hai trường
hợp hoặc đúng (.T.) hoặc sai (.F.), có hoặc không như giới tính, đảng viên, mua hay bán, Độ dài cố định của dữ liệu kiểu logic là 1 ký tự
6) Kiểu bộ nhớ - Memo (M): Dữ liệu kiểu memo dùng lưu trữ một đoạn văn bản
có độ dài lớn hơn 255 ký tự Chẳng hạn như các khóa đào tạo đã qua, lý lịch, quá trình công tác, Độ dài khai báo là 10 nhưng nội dung thực sự của kiểu bộ nhớ là tuỳ ý, chúng được lưu trữ trong một tập tin văn bản khác có cùng tên nhưng phần mở rộng là FPT (FoxPro Text)
7) Kiểu tổng quát - General (G): Dùng để chứa dữ liệu như hình ảnh
Dùng để lưu trữ dữ liệu dưới dạng hình ảnh BMP, GIF, PSD, … ví dụ như ảnh cán bộ trong các chương trình "quản lý nhân sự", ảnh phạm nhân trong "quản lý nhận dạng", biểu đồ,
1.2.2 Các phép toán
1) Phép toán số học: Được thực hiện trên các dữ liệu kiểu số, gồm các phép
toán:
Trang 9thông thường
2) Phép toán xâu kí tự: Dùng để xử lý các dữ liệu kiểu xâu kí tự
- Phép toán ghép nối (+): Dùng để ghép 2 xâu kí tự thành một xâu kí tự
Ví dụ: 'Trung tâm' + ' Tin học' 'Trung tâm Tin học'
- Phép toán ghép nối (-): Dùng để ghép 2 xâu ký tự thành một xâu và di chuyển các dấu cách ở cuối xâu thứ nhất (nếu có) ra cuối xâu tạo thành
Ví dụ: 'Trung tâm ' - ' Tin học' 'Trung tâm Tin học '
- Phép toán $: Kiểm tra xâu bên trái có nằm trong xâu bên phải không Kết quả của phép toán có kiểu logic
Ví dụ: 'ab' $ „Abab‟ cho giá trị T nhưng 'ab‟ $ „AaBb‟ cho giá trị F
3) Phép toán ngày: Hai dữ liệu kiểu ngày có thể trừ (-) cho nhau để cho khoảng
cách giữa 2 ngày
Ví dụ:
{01/08/2003} - {05/09/2003} = - 35 {01/08/2003} - {05/07/2003} = 25 Một dữ liệu kiểu ngày có thể cộng (+) hay trừ với (-) một số nguyên để cho kết quả là một dữ liệu kiểu ngày
Ví dụ:
{01/08/2003} + 10 {11/08/2003}
{01/08/2003} - 20 {12/07/2003}
Chú ý:
- Hai dữ liệu kiểu ngày không thể cộng (+) với nhau
- Một số không thể trừ (-) đi một dữ liệu kiểu ngày
- Việc diễn tả thứ tự ngày (D), tháng (M), năm (Y) trong một dữ liệu kiểu ngày còn phụ thuộc vào thời điểm hiện tại đang theo hệ thống ngày tháng nào
+ Lệnh SET DATE FRENCH | AMERICAN : Cho phép thiết lập dữ liệu dạng ngày theo kiểu Pháp (dd/mm/yy) hoặc Mỹ (mm/dd/yy)
Trang 10+ SET CENTURY ON | OFF: Quy ước năm được biểu diễn theo dạng bốn số yyyy hay dạng hai số yy (mặc định) Nếu SET CENTURY ON thì năm được biểu diễn theo dạng bốn con số, nếu SET CENTURY OFF (dạng mặc định) thì năm được biểu diễn theo dạng hai con số và ngầm định là 19yy
4) Phép toán quan hệ: Dùng để so sánh hai giá trị của hai biểu thức cùng kiểu
Phép toán Ý nghĩa Phép toán Ý nghĩa
< nhỏ hơn <>, ! khác
= = bằng chính xác
- Hai dữ liệu kiểu số được so sánh dựa theo biểu diễn của chúng trên trục số
- Hai dữ liệu kiểu ngày được so sánh dựa theo biểu diễn của chúng theo chiều của thời gian
- Trong kiểu logic, Visual FoxPro quy ước: F.<.T
- Hai xâu có độ dài bằng nhau được so sánh dựa theo nguyên tắc sau: đầu tiên
so sánh 2 mã ASCII của 2 ký tự đầu của hai xâu, nếu bằng nhau thì so sánh các ký tự tương ứng tiếp theo
Ví dụ: 'ABCD' < 'ABCE' T ; 'a' < 'A' F
Trường hợp hai xâu có độ dài khác nhau, thì việc so sánh dựa vào việc thiết lập môi trường SET EXACT ON | OFF, nghĩa là:
Nếu SET EXACT ON thì 'ABCD' < > 'AB' cho kết quả F
Nếu SET EXACT OFF thì 'ABCD' = 'AB' cho kết quả T nhưng 'AB' <> 'ABCD'
5) Phép toán logic: Visual FoxPro có 3 phép toán logic: NOT, AND, OR
NOT hay ! : Phủ định của toán hạng theo sau
AND: Cho giá trị T nếu cả hai toán hạng đều T
Trang 11OR: Cho giá trị F nếu cả hai toán hạng đều F
Chú ý:
Trong một biểu thức Visual Foxpro, các phép toán số học được ưu tiên trước Sau đó đến phép toán xâu kí tự Rồi đến các phép quan hệ Và cuối cùng là các phép toán logic
kỳ các chữ cái, chữ số hoặc dấu _ Tên biến không được đặt trùng với các từ khoá của Visual FoxPro, tên biến không phân việt chữ in hoa hay chữ thường Visual FoxPro hiểu kiểu của biến là kiểu của giá trị mà nó đang mang Số lượng tối đa của biến được phép sử dụng là 2048 biến Visual FoxPro chia biến làm 3 loại:
1) Biến bộ nhớ: Gọi chung là biến, do người sử dụng tạo ra trong bộ nhớ, khi
không sử dụng nữa có thể giải phóng để tiết kiệm bộ nhớ
Ví dụ: Hsl = 3.12
Ngaysinh = {01/01/88}
Trang 122) Biến hệ thống: Được tạo ra ngay từ khi khởi động Visual FoxPro; Có tên bắt đầu
bằng dấu gạch nối ( _ ) và thường được sử dụng trong vấn đề in ấn Người sử dụng không thể giải phóng được biến loại này
3) Biến trường: Là tên các trường trong bảng cơ sở dữ liệu, nó chỉ có ý nghĩa khi
tập tin chứa nó được mở ra để sử dụng Mỗi biến trường phải thuộc một kiểu dữ liệu nào đó
Nếu có một biến nhớ đặt trùng với một biến trường thì biến trường được ưu tiên thực hiện trước
Nếu tồn tại hai biến trường hoặc biến trường và biến nhớ trùng tên nhau, để truy nhập đến chúng mà không sợ nhầm lẫn, phải sử dụng quy cách sau:
<tên bảng>.<tên trường>
1.2.5 Hàm
Hàm là những chương trình được viết ra nhằm trả lại cho tên hàm một giá trị thuộc một kiểu dữ liệu nào đó Về hình thức hàm được đặc trưng bởi tên hàm và theo sau là cặp dấu ( ) dùng để bao các đối số, các đối số này đặt cách nhau bởi dấu phảy (nếu hàm có nhiều đối số) Nếu một hàm không có đối số nào cả vẫn phải có ( ) theo sau tên hàm
Ví dụ: Date ( ) - cho biết ngày tháng năm hệ thống
ABS(x) Trả lại giá trị tuyệt đối của số x
Trang 13INT(x) Trả lại phần nguyên của x
ROUND(x, n) Làm tròn x với n chữ số lẻ
2) Nhóm hàm về xâu
LEN(s) Trả về độ dài của xâu s
LEFT(s, n) Trích n ký tự bên trái của xâu s
RIGHT(s, n) Trích n 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 từ vị trí thứ i
REPLICATE(s, n) Tạo ra 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
ALLTRIM(s) Cắt bỏ các kí tự trắng bên trái, bên phải xâu s
LTRIM(s) Cắt bỏ các kí tự trắng bên trái xâu s
RTRIM(s) Cắt bỏ các kí tự trắng bên phải xâu s
LOWER(s) Đổi xâu s thành toàn kí tự thường
UPPER(s) Đổi xâu s thành toàn kí tự hoa
PROPER(s) Đổi các chữ cái đầu mỗi từ của xâu s thành kí tự hoa VAL(s) Đổi xâu s thành một số
STR(x, n, m) Đổi số x thành một xâu gồm n kí tự với m chữ số sau
dấu chấm thập phân ASC(s) Trả về mã ASCII của kí tự đầu tiên trong xâu s
CHR(n) Trả về kí tự có mã ASCII là n
AT(t, s) Trả về 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 3) Nhóm hàm về ngày:
CTOD(s) Trả lại giá trị ngày cho xâu s biểu diễn
DTOC(d) Trả lại giá trị xâu biểu diễn ngày d
Trang 14DTOS(d) Đổi ngày thành xâu dạng „YYYYMM DD‟
YEAR(d) Trả lại giá trị số của năm trong ngày d (đủ 4 số)
MONTH(d) Trả lại giá trị số của tháng trong ngày d (từ 1 12)
DAY(d) Trả lại giá trị số của ngày trong ngày d (từ 1 31)
DOW(d) Trả lại thứ ngày trong tuần của ngày d (1 là chủ nhật, 2 là
thứ 2,…., 7 là thứ bảy) DATE() Trả lại giá trị ngày của ngày hiện tại theo đồng hồ hệ
thống
1.2.6 Biểu thức
Biểu thức là tập hợp của một hay nhiều thành phần như hằng, hàm, biến, phép toán, cặp dấu ngoặc tròn Sau khi tính toán biểu thức sẽ cho một giá trị duy nhất thuộc một kiểu dữ liệu nào đó Kiểu giá trị của biểu thức gọi là kiểu của biểu thức
1.2.7 Từ khoá
Từ khoá là những từ được Visual FoxPro định nghĩa sẵn và mang ý nghĩa xác định Từ khoá thường được dùng trong các câu lệnh để chỉ ra cho máy phải làm gì và làm như thế nào Người sử dụng không được đặt tên trùng với các từ khoá Nếu từ khoá có nhiều hơn 4 ký tự thì khi sử dụng chỉ cần ghi 4 ký tự đầu Trong từ khoá không phân biệt chữ hoa chữ thường
Ví dụ: Câu lệnh MODIFY COMMAND LUONG.PRG có 2 từ khoá là
MODIFY và COMMAND có thể viết gọn là: MODI COMM LUONG.PRG
1.2.8 Lệnh và chương trình
Lệnh là những chỉ thị yêu cầu máy thực hiện một hành động nào đó Lệnh trong Visual FoxPro thường là một động từ, cũng có trường hợp là một kí hiệu như: !, ?, và không phân biệt chữ hoa, chữ thường
Tập hợp các lệnh được viết theo một trình tự nhất định nhằm thực hiện một nhiệm vụ đề ra gọi là chương trình Các lệnh của chương trình được đặt trong một tệp chương trình có đuôi là PRG
Trong Visual FoxPro có 3 cách để ban hành lệnh:
Trang 151) Dùng cửa sổ lệnh:
Lệnh được đưa vào cửa sổ lệnh, sau khi ấn Enter lệnh được thi hành ngay và trả lại kết quả câu lệnh trên màn hình Thi hành xong một lệnh thì lệnh cũ được lưu lại trên cửa sổ lệnh có thể sử dụng cho lần sau
2) Dùng menu:
Lệnh được ban hành bằng cách kích hoạt menu tương ứng, sau khi thi hành xong câu lệnh cũng được lưu lại trên cửa sổ lệnh Cách này chỉ hạn chế trong một số lệnh thông dụng
3) Dùng chương trình:
Soạn thảo trước một văn bản chương trình gồm nhiều lệnh thích hợp Sau đó thực hiện chương trình này bằng cách ban hành câu lệnh thực hiện chương trình Ví dụ tại cửa sổ lệnh nhập vào câu lệnh DO <tên file chương trình.PRG> Sau khi ấn Enter chương trình được nạp vào bộ nhớ và từng lệnh được thực hiện theo đúng thứ tự như chương trình đã đề ra
1.3 Quản lý đề án ( Project Manager)
1.3.1 Giới thiệu Project Manager
Đề án (Project) là tên gọi để chỉ đến ứng dụng mà ta đang xây dựng Mỗi dự án được lưu dưới dạng một file có phần mở rộng là PJX Thông thường các thành phần của một đề án bao gồm:
- Các file cơ sở dữ liệu (Database)
- Các file khác như Menu, âm thanh, hình ảnh,
Project Manager là công cụ tổ chức cơ bản, trung tâm điều khiển để làm việc
Trang 16với dữ liệu và các đối tƣợng của Visual Foxpro trong quá trình phát triển một ứng dụng (Project).
Ngay sau khi khởi động Visual Foxpro và mở đề án ta đi vào cửa sổ Project Manager:
Hình 1.2 Cửa số Project manager-Trang All
- Trang Data:
Bao gồm:
+ DataBases: Chứa các cơ sở dữ liệu
+ Tables: Các bảng dữ liệu có liên kết với nhau
+ Free Tables: Chứa các bảng tự do
+ Queries: Là cấu trúc để lấy thông tin từ các bảng
+ Local Views: Là các Query chuyên dụng dùng truy xuất và cập nhật các nguồn dữ liệu cục bộ
+ Remote Views: Là các Query chuyên dụng truy xuất và cập nhật các nguồn dữ liệu từ xa
Trang 17- Trang Documents: Chứa các tài liệu sử dụng cho đề án; bao gồm các Form và Report, Label
- Trang Class: Liệt kê các thư viện lớp được sử dụng
- Trang Code: Chứa các đoạn mã lệnh
- Trang Other: Chứa các file khác như file Menu, văn bản
- Trang All: Bao gồm tất cả các trang trên
1.3.2 Tạo một đề án
- Để tạo một đề án mới, sử dụng một trong các cách sau:
+ Cách 1: Nhập vào cửa sổ lệnh CREATE PROJECT <tên đề án>
+ Cách 2: Chọn File/New/Project/New File Trong hộp thoại Create, nhập tên cho Project sẽ tạo rồi chọn nút Save
- Để chỉnh sửa bất kỳ một thành phần nào trong đề án, ta chọn tên đề án rồi chọn nút Modify
- Để thêm bất kỳ một file nào cho đề án, ta mở đề án rồi kích nút Add (nếu chọn file đã có) hoặc nút New (nếu tạo mới)
- Để loại bỏ bất kỳ một thành phần nào của đề án đang mở, ta chọn thành phần
đó rồi chọn nút Remove
1.3.3 Mở đề án
Để mở một đề án đã có, ta có thể sử dụng một trong các cách sau:
- Cách 1: Nhập vào cửa sổ lệnh: MODIFY PROJECT <tên đề án>
- Cách 2: Chọn File/Open Trong hộp thoại Open, chọn file đề án, rồi chọn nút Open
1.3.4 Dịch đề án
- Dịch sang APP:
+ Dịch đề án sang file có phần mở rộng là APP
Dùng lệnh BUILD <tên đề án>
+ Để chạy đề án này phải có một bản sao của Visual Foxpro
- Dịch sang file có phần mở rộng là EXE: Khi này, người dùng không cần có Visual Foxpro nhưng phải cung cấp hai file: vfp6r.dll và vfp6renu.dll được cài đặt trong đường dẫn hoặc trong cùng thư mục với ứng dụng
Dùng lệnh: BUILD EXE <tên đề án>
Trang 181.3.5 Chạy đề án
Sau khi đã dịch, ta có thể chạy đề án thông qua lệnh: DO <tên ứng dụng>
1.4 Tạo lập cơ sở dữ liệu:
Một đề án có thể liên quan đến một hoặc nhiều cơ sở dữ liệu Trong Visual Foxpro các cơ sở dữ liệu là các File có phần mở rộng là DBC, chứa trong nó là các bảng cơ sở dữ liệu có phần mở rộng là DBF, các mối liên kết giữa các bảng, các View cục bộ, …
- Để tạo một cơ sở dữ liệu mới cho một đề án ta thực hiện các thao tác sau:
+ Mở đề án
Hình 1.3 Cửa số Project manager-Trang Data
+ Trong Project Manager, chọn trang All (hoặc Data), chọn mục Databases, rồi chọn nút New, xuất hiện hộp thoại New Database:
Hình 1.4 Hộp thoại New Database
+ Chọn New Database, xuất hiện hộp thoại Create:
Trang 19Hình 1.5 Hộp thoại Create
+ Tại hộp thoại Create, nhập vào tên cơ sở dữ liệu mới vào mục Enter DataBase
+ Chọn Save Xuất hiện hộp thoại Database Designer cho phép ta thiết
kế cơ sở dữ liệu Nếu không thì kích nút Close
Hình 1.6 Hộp thoại Database Designer
- Để mở một cơ sở dữ liệu trong một đề án, ta thực hiện:
+ Mở đề án
+ Trong trang All (hoặc Data) chọn mục Database:
o Chọn tên cơ sở dữ liệu Sau đó chọn nút Modify
o Hoặc kích dấu cộng bên cạnh tên cơ sở dữ liệu
Trang 20Chương 2 BẢNG DỮ LIỆU (TABLE) 2.1 Một số khái niệm
Bảng dữ liệu chứa dữ liệu theo dạng dòng và cột, mỗi dòng được gọi là một bản ghi (record), mỗi cột được gọi là một trường (field) Mỗi bảng được đặt bởi một tên có phần mở rộng là DBF, mỗi trường cũng được đặt bởi một tên theo nguyên tắc đặt tên biến Trong bảng cơ sở dữ liệu không cho phép có hai dòng trùng nhau
Trong Visual FoxPro có hai loại bảng:
- Database Table (bảng cơ sở dữ liệu): Là bảng dữ liệu nằm trong một cơ sở
dữ liệu
- Free Table (bảng tự do): Là bảng dữ liệu không nằm trong bất kỳ một cơ sở
dữ liệu nào
Mỗi bảng dữ liệu được lưu trữ trên đĩa với tên file có phần mở rộng mặc định
là DBF, mỗi bảng dữ liệu có hai phần: cấu trúc (Lược đồ) và nội dung của bảng (Các thể hiện)
Thiết kế cơ sở dữ liệu bao gồm tạo các bảng cơ sở dữ liệu trong đó cần phải xác định:
- Tên các trường cần thiết trong bảng và kiểu dữ liệu của nó
- Các mối quan hệ cần thiết giữa các bảng với nhau
Ngoài ra, ta còn phải làm một số công việc chi tiết như: Tạo tiêu đề diễn giải, xác định giá trị ngầm định, xác định các qui tắc về an toàn dữ liệu cho các trường, bảng cũng như chọn khoá, tạo chỉ mục cho các bảng
Field – Level Rule: Là đoạn chương trình đặt ở mức trường dùng để kiểm tra tính đúng đắn của dữ liệu khi dữ liệu được nhập vào trường đó Chúng được thực hiện một cách tự động ngay sau khi nhập xong dữ liệu cho trường đó
Record -Level Rule: Là đoạn chương trình đặt ở mức bản ghi dùng để kiểm tra tính đúng đắn của dữ liệu khi dữ liệu được nhập vào bản ghi đó Chúng được thực hiện
Trang 21một cách tự động ngay sau khi nhập xong dữ liệu cho bản ghi đó
Trigger: Là đoạn chương trình đặt ở mức bảng dùng để kiểm tra tính đúng đắn của dữ liệu khi dữ liệu được nhập vào bảng cơ sở dữ liệu Chúng được thực hiện một cách tự động ngay sau khi có một thao tác làm thay đổi dữ liệu của bảng (chèn, sửa, xoá dữ liệu trên bảng)
Từ điển dữ liệu: Là một bảng chứa tất cả các thông tin của các bảng như tên các bảng, tên các trường, các luật về an toàn dữ liệu, các mối liên hệ giữa các bảng cơ sở
dữ liệu
Ví dụ 1: Trong cơ sở dữ liệu quản lý mua bán hàng
Bảng KHHang.dbf có cấu trúc sau:
Bảng MHang.dbf có cấu trúc sau:
Bảng MuaBan.dbf có cấu trúc sau:
Trang 22NgayMB Date 8
2.2 Tạo bảng cơ sở dữ liệu
Để tạo bảng cơ sở dữ liệu ta dùng cách sau:
- Mở đề án, xuất hiện hộp thoại Project Manager
- Chọn trang Data/ chọn cơ sở dữ liệu/ chọn mục Table/ chọn New/ chọn New table/ nhập tên bảng tại cửa sổ Create Khi đó xuất hiện hộp thoại Table Designer
Hình 2.1 Hộp thoại Table Designer
1) Trang Fields:
Cho phép ta khai báo cấu trúc của bảng
Trong đó:
- Name: Dùng để khai báo tên trường
- Type: Dùng để khai báo kiểu trường
- Width: Dùng để khai báo độ rộng của trường
Trang 23- Decimal: Số chữ số lẻ sau phần dấu chấm thập phân, phần này chỉ sử dụng cho
- Rule: Cho phép thiết kế các quy tắc mức trường
- Message: Cho phép nhập nội dung câu thông báo khi quy tắc mức trường sai
- Field Comment: Cho phép nhập lời chú giải cho từng trường
- Default value: Cho phép thiết lập giá trị mặc định
- Format: Định dạng dữ liệu hiện thị trong cửa sổ Brower hoặc Report
- Input mask: Dùng để định dạng khuôn dạng dữ liệu khi nhập
Khuôn dạng dữ liệu là một xâu ký tự Tùy theo các ký ký tự trong khuôn dạng mà việc định dạng được thực hiện theo một cách nào đấy Mỗi ký tự trong khuôn dạng sẽ định dạng một ký tự của dữ liệu khi nhập Một vài ký tự dùng trong khuôn dạng hay gặp:
- X : Cho phép một ký tự bất kỳ
- A : Cho phép một chữ cái
- N : Cho phép một chữ cái hoặc chữ số
- 9 : Cho phép một dấu cộng (+) hoặc trừ (-) hoặc chữ số
- # : Cho phép một dấu cộng (+) hoặc trừ (-) hoặc chữ số hoặc dấu cách
- ! : Nhận chữ cái khi nhập vào sẽ biến thành chữ in hoa
- Dấu chấm: Xác định vị trí dấu chấm thập phân trong dữ liệu kiểu số
- Dấu phẩy: Xác định vị trí phân nhóm trong dữ liệu số
Ví dụ: Input Mask của trường
Hệ số lương là: 9.99 Điện thoại là: 9999999999 Biển số xe máy là: 99A-9999
Trang 24- Name: Dùng để xác định tên chỉ mục cần tạo
- Type: Dùng để xác định loại chỉ mục, có 4 loại chỉ mục:
+ Primary: Là khoá chính, chỉ tồn tại khi bảng dữ liệu nằm trong một cơ
sở dữ liệu Loại chỉ mục này tạo trên một biểu thức sắp xếp không có giá trị trùng nhau trên các bản ghi Mỗi bảng dữ liệu chỉ cho phép tạo một chỉ mục loại này
+ Candidate: Có thể trở thành khoá chính, có thể tạo nhiều chỉ mục loại này trong một bảng dữ liệu
+ Regular: Là loại chỉ mục dùng để sắp xếp bảng dữ liệu theo một biểu thức, cho phép chứa giá trị trùng nhau trên các bản ghi, có thể tạo nhiều chỉ mục loại này trong một bảng dữ liệu
+ Unique: Là loại chỉ mục dùng để sắp xếp bảng dữ liệu theo một biểu
Trang 25thức, cho phép chứa giá trị trùng nhau trên các bản ghi, kết quả chỉ xuất hiện một bản ghi đầu tiên
- Expression: Dùng để xác định biểu thức sắp xếp
- Filter: Dùng để lọc các bản ghi thoả mãn một điều kiện nào đó trước khi tạo chỉ mục Chú ý:
Chỉ mục sắp xếp thực chất chỉ là bảng chỉ dẫn sắp xếp Bảng này gồm 2 trường: Trường thứ nhất chứa giá trị của biểu thức cần sắp xếp, trường thứ hai chứa con trỏ trỏ đến bản ghi cần sắp xếp trên bảng dữ liệu Các bảng này nằm trong file có tên là tên bảng dữ liệu, có phần mở rộng là CDX
Trang 26+ Rule: Dùng để thiết kế quy tắc kiểm tra dữ liệu ở mức Record
+ Massege: Cho phép nhập câu thông báo nếu quy tắc kiểm tra dữ liệu sai
Chú ý:
- Các tên trường không được trùng nhau, không được trùng với từ khoá
- Đối với dữ liệu kiểu số nếu có phần thập phân thì độ rộng của phần thập phân phải nhỏ hơn độ rộng của trường ít nhất là 2 đơn vị
- Trong khi đang tạo cấu trúc bảng cơ sở dữ liệu, muốn xoá một trường ta chọn trường đó và chọn Delete Muốn chèn vào trường mới ta chọn vị trí cần chèn rồi chọn Insert
Để kết thúc việc tạo cấu trúc bảng cơ sở dữ liệu, không ghi cấu trúc bảng vừa tạo lên đĩa chọn Cancel hoặc ấn ESC
Để kết thúc việc tạo cấu trúc bảng cơ sở dữ liệu, và ghi cấu trúc bảng vừa tạo lên đĩa ta chọn OK hoặc ấn đồng thời hai phím Ctrl+W lúc này sẽ xuất hiện được hộp thoại:
Hình 2.4 Hộp thoại nhắc nhập bản ghi
- Nếu chọn <No> thì sẽ quay lại cửa sổ Project Manager
- Nếu chọn <Yes> sẽ xuất hiện cửa sổ để nhập các bản ghi cho bảng cơ sở dữ liệu
Để kết thúc việc nhập dữ liệu và ghi dữ liệu lên đĩa, nhấn tổ hợp hai phím
<Ctrl+W> hoặc kích nút Close, không ghi dữ liệu lên đĩa ấn phím ESC Mỗi bảng dữ liệu sẽ được lưu dưới dạng <tên bảng>.DBF
Chú ý:
Trang 27Để nhập dữ liệu cho trường MEMO, ta đưa con trỏ đến trường MEMO rồi nhấn
tổ hợp phím Ctrl_PgUp, lúc đó sẽ xuất hiện cửa sổ nhập dữ liệu cho trường này Sau khi kết thúc việc nhập dữ liệu cho nó, ta ấn tổ hợp Ctrl+W để ghi lại, nếu không ghi ấn phím ESC
2.3 Đổi tên một bảng trong cơ sở dữ liệu
- Trong cửa sổ Project Manager, chọn tên bảng cần đổi tên
- Kích chuột phải, chọn Rename
- Nhập tên mới vào hộp thoại Rename File Rồi chọn OK
2.4 Xoá bảng khỏi cơ sở dữ liệu
- Trong cửa sổ Project Manager, chọn tên bảng cần xoá
- Chọn nút Remove, xuất hiện hộp thoại có 3 nút:
+ Remove: Tạm thời xoá khỏi cơ sở dữ liệu nhưng vẫn còn trên ổ đĩa
+ Delete: Xoá bảng cơ sở dữ liệu ra khỏi đĩa
+ Cancel: Không xoá bảng cơ sở dữ liệu
2.5 Thêm bảng vào cơ sở dữ liệu
Trong Visual FoxPro, tồn tại 2 dạng bảng:
Free Table: Là dạng bảng dữ liệu không nằm trong bất kỳ một cơ sở dữ liệu nào
Database Table: Là dạng bảng dữ liệu nằm trong một cơ sở dữ liệu nào đó Những bảng loại này có những đặc tính mà Free Table không có: các quy tắc kiểm tra dữ liệu ở các mức Field, Record, Trigger và các mối quan hệ bền vững giữa các bảng, không hỗ trợ tên dài, Caption, Comment, Default value, …
Thêm bảng tự do vào một cơ sở dữ liệu:
- Trong mục Project Manager chọn Data, sau đó chọn mục Table
- Chọn nút Add sẽ xuất hiện hộp thoại Open, chọn bảng cần thêm
- Chọn OK
2.6 Sửa cấu trúc bảng cơ sở dữ liệu
- Trong cửa sổ Project Manager, chọn trang Data
- Chọn cơ sở dữ liệu chứa bảng dữ liệu, chọn mục Table
- Chọn bảng cần sửa cấu trúc, rồi chọn nút Modify
2.7 Làm việc với các bản ghi
2.7.1 Xem nội dung của bảng
Trang 28Hình 2.5 Cửa sổ Browse
- Trong cửa sổ Project Manager, chọn trang Data/ chọn mục Table Sau đó, chọn tên bảng cần xem nội dung, rồi chọn nút Browse
- Muốn xem dữ liệu theo dạng bảng chọn menu View / Browse
- Muốn xem dữ liệu theo dạng mỗi trường trên một dòng thì chọn menu View / Edit (hoặc Append mode)
Chú ý:
Khi mục chọn Append mode hoặc Edit được đánh dấu thì cho phép xem, sửa
và thêm các bản ghi vào cuối bảng
2.7.2 Xem nội dung bảng kết hợp với chỉ mục
Hình 2.6 Hộp thoại Work Area Properties
Có thể tạo nhiều chỉ mục trên mỗi bảng, mỗi chỉ mục biểu diễn cho một trật tự sắp xếp khác nhau Để xem dữ liệu trong bảng theo một tiêu chuẩn sắp xếp nào đó, ta
Trang 29làm nhƣ sau:
- Trong cửa sổ Project Manager, chọn bảng dữ liệu đã tạo chỉ mục theo tiêu chuẩn sắp xếp cần xem
- Chọn nút Browse
- Chọn menu Table / Properties
- Trong hộp Index chọn tên chỉ mục cần dung
Trang 30 All: tất cả các bản ghi bị đánh dấu xóa
Record: để xác vị trí bản ghi cần đánh dấu xoá
Next n: Xác định n bản ghi liên tiếp kể từ bản ghi hiện tại về phía cuối tệp
Rest: tất cả các bản ghi từ bản ghi hiện thời về cuối tệp
+ Nhập điều kiện các bản ghi cần đánh dấu xoá tại mục For + Chọn nút Delete: Các bản ghi bị đánh dấu xóa có ký hiện ở đầu mỗi bản ghi
2.7.4 Khôi phục các bản ghi bị đánh dấu xoá
- Chọn Menu Table / Recall Records, xuất hiện hộp thoại Recall
Hình 2.8 Hộp thoại Recall
- Chọn phạm vi các bản ghi cần khôi phục tại mục Scope
- Nhập điều kiện các bản ghi cần đánh dấu xoá tại mục For
- Chọn nút Recall
2.7.5 Xoá các bản ghi đã bị đánh dấu xoá khỏi bảng dữ liệu
- Chọn Table/ Remove Deleted Records
Trang 31+ Scope: Xác định phạm vi các bản ghi cần thay thế
+For: Xác định điều kiện các bản ghi cần cập nhật
- Nhập các thông số cần thiết, chọn Replace
2.8 Đặt mối quan hệ giữa các bảng
Mối quan hệ giữa các bảng cho phép ta xác định sự tương ứng mỗi bản ghi của bảng này với các bản ghi của một bảng khác trong mối quan hệ đó (cho phép xác định kết nối) Bảng đặt quan hệ gọi là bảng cha, bảng được quan hệ gọi là bảng con Giữa hai bảng cơ sở dữ liệu có các kiểu quan hệ sau:
1) Kiểu quan hệ một - nhiều: Hai bảng A và B gọi là có mối quan hệ Một -
Nhiều nếu mỗi bản ghi trong bảng A tương ứng với 0, 1, nhiều bản ghi trong bảng B, mỗi bản ghi trong bảng B chỉ tương ứng với không quá một bản ghi của bảng A trong mối quan hệ đó
2) Kiểu quan hệ một - một: Hai bảng A và B gọi là có mối quan hệ Một - Một
nếu mỗi bản ghi trong bảng A tương ứng với không quá một bản ghi trong bảng B và
Trang 32mỗi bản ghi trong bảng B tương ứng với không quá một bản ghi của bảng A trong mối quan hệ đó
3) Kiểu quan hệ nhiều - nhiều: Hai bảng A và B gọi là có mối quan hệ Nhiều -
Nhiều nếu mỗi bản ghi trong bảng A tương ứng với 0, 1, nhiều bản ghi trong bảng B,
và mỗi bản ghi trong bảng B tương ứng với 0, 1, nhiều bản ghi của bảng A trong mối quan hệ đó Visual Fox không hỗ trợ mối quan hệ Nhiều - Nhiều Khi thiết lập mối quan hệ giữa hai bảng ta chọn bảng bên một là bảng cha, bảng còn lại là bảng con
2.8.1 Chuẩn bị
Phải xác định khoá chính (Primary Key) và khoá ngoại (Foreign Key) Khoá chính phải nằm trong bảng đặt quan hệ (bảng cha) và khoá ngoại nằm trong bảng được quan hệ (bảng con)
Foreign Key: Là một chỉ mục của bảng cơ sở dữ liệu này có kiểu Primary Key, nhưng lại là chỉ mục của một bảng cơ sở dữ liệu khác
2.8.2 Thiết lập mối quan hệ giữa các bảng
- Mở dự án, chọn cơ sở dữ liệu chứa các bảng cần tạo mối quan hệ Sau đó, chọn nút Modify
- Nháy phải chuột vào nền của cửa sổ Database Designer, chọn Add Table, chọn tên bảng cần thiết lập mối quan hệ rồi chọn OK
- Kéo chỉ mục Primary Key của bảng cha và thả vào Foreign Key của bảng con
Hình 2.10 Mối quan hệ giữa các bảng (kết nối)
Trang 332.8.3 Hiệu chỉnh mối quan hệ giữa các bảng
- Trong Database Designer, kích đúp vào đường nối giữa hai bảng cần hiệu chỉnh mối quan hệ, xuất hiện hộp thoại Edit Relationship Trong đó, bảng dữ liệu cha được chỉ ra trong hộp Table, bảng dữ liệu con và khóa quan hệ được chỉ ra trong hộp Related table loại quan hệ được chỉ ra trong mục Relationship type
- Tiến hành hiệu chỉnh
- Chọn nút OK
2.8.4 Xoá mối quan hệ giữa các bảng:
- Trong Database Designer, chọn đường quan hệ giữa hai bảng dữ liệu
- Chọn nút Delete
Ví dụ: Để quản lý việc mua bán hàng một cửa hàng, cửa hàng tạo một dự án có tên
là quanlybanhang, trong đó có cơ sở dữ liệu là QLBH gồm các bảng dữ liệu có cấu trúc như sau
- Bảng KHHang.dbf có cấu trúc sau:
- Bảng MHang.dbf có cấu trúc sau:
- Bảng MuaBan.dbf có cấu trúc sau:
Trang 341 Tạo dự án quanlybanhang, tạo cơ sở dữ liệu QLBH
2 Tạo các bảng KHHang.dbf, MHang.dbf, MuaBan.dbf
3 Nhập dữ liệu cho các bảng
4 Sắp xếp bảng KHHang.dbf theo chiều tăng dần của makh
5 Sắp xếp bảng MuaBan.dbf theo chiều giảm dần của số lƣợng
6 Sắp xếp bảng MuaBan.dbf theo chiều giảm dần của đơn giá
7 Xem nội dung các bảng theo các chế độ Browse, Edit
8 Thêm vào bảng KHHang một số bản ghi
9 Xem nội dung các bảng MuaBan.dbf theo chiều giảm dần của số lƣợng
10 Xem nội dung các bảng MuaBan.dbf theo chiều giảm dần của đơn giá
11 Tạo mối quan hệ giữa các bảng
Giải:
1 Chọn menu File / New / Project / NewFile
- Tạo project Quanlybanhang
+ Trong hộp thoại Create, nhập quanlybanhang vào hộp textbox Enter Project
+ Chọn nút Save
- Tạo cơ sở dữ liệu QLBH
+ Trong cửa sổ Project Manager, trong Data chọn mục Databases
Trang 35- Chọn New/New Table
- Trong hộp thoại Create, nhập KHHang vào hộp textbox Enter Table
- Chọn nút Save
- Trong hộp thoại Table Designer tiến hành khai báo từng trường
Hình 2.11 Màn hình khai báo cấu trúc bảng cơ sở dữ liệu
- Chọn OK để kết thúc khai báo cấu trúc, ghi cấu trúc lên đĩa
- Khai báo trường dienthoai có
+ Caption: Điện thoại
Trang 36Tương tự đối với bảng MHang.dbf, MuaBan.dbf
3 Nhập dữ liệu cho bảng KHHang.dbf
- Trong cửa sổ Project Manager chọn bảng Khhang cần nhập dữ liệu, chọn nút Browse
- Chọn menu View / Append Mode
- Nhập dữ liệu cho các bản ghi
- Ấn CTRL + W để kết thúc nhập và ghi dữ liệu lên đĩa
Tương tự đối với các bảng Mhang, Muaban
4 Chọn bảng KHHang trong cửa sổ Project Manager
- Chọn nút Modify
- Chọn trang Indexes
- Nhập vào tên chỉ mục makhang ở cột Name
- Chọn kiểu chỉ mục Primary ở cột Type
- Nhập biểu thức chỉ mục Makh ở cột Expression
- Chọn Menu View/Browse để xem trong chế độ Browse
- Chọn Menu View/Edit để xem trong chế độ Edit
Tương tự đối với các bảng Mhang, Muaban
8 Thêm vào bảng KHHang một số bản ghi
- Trong cửa sổ Project Manager, chọn bảng KHHang
- Chọn nút Browse
- Chọn Menu View / Append Mode
- Thêm vào một số bản ghi
- Ấn Ctrl + W để kết thúc nhập và lưu dữ liệu
9 Xem nội dung các bảng MuaBan.dbf theo chiều giảm dần của số lượng
- Trong cửa sổ Project Manager, chọn bảng MuaBan
Trang 37- Chọn nút Browse
- Chọn Menu Menu Table / Properties
- Trong hộp thoại Index chọn soluong
10 Xem nội dung các bảng MuaBan.dbf theo chiều giảm dần của đơn giá
- Trong cửa sổ Project Manager, chọn bảng MuaBan
- Chọn nút Browse
- Chọn Menu Menu Table / Properties
- Trong hộp thoại Index chọn dongia
11 Trong cửa sổ Project Manager chon trang Data
- Chọn cơ sở dữ liệu Qlbh
- Chọn Modify
- Nháy chuột phải vào bảng KHHang, chọn Modify
- Trong cửa sổ Table Designer, chọn trang Index
- Tạo chỉ mục kiểu Primary Key có tên là Makh, có biểu thức sắp xếp là Makh
- Trong cửa sổ DataBase Designer kéo chỉ mục Makh của bảng KHHang thả vào chỉ mục Makh của bảng MuaBan, chỉ mục Mamh của bảng MHang thả vào chỉ mục Mamh của bảng MuaBan
Trang 38Chương 3 TÌM KIẾM THÔNG TIN (QUERY & VIEW) 3.1 Query (truy vấn)
3.1.1 Khái niệm Query
Query là cấu trúc dùng để tìm kiếm nhanh thông tin từ các bảng cơ sở dữ liệu Thực chất Query là một khối lệnh Select…From…Where…được lưu trữ dưới dạng một File có phần mở rộng là QPR
Để thiết kế một Query ta thực hiện các bước sau:
- Chọn các bảng hoặc View chứa thông tin nguồn cần tìm kiếm
- Xác định các trường cần cần đưa ra kết quả, cũng như biểu thức sắp xếp, chiều sắp xếp các bản ghi cần tìm kiếm
- Xác định các trường dùng để gộp (nhóm) các bản ghi nếu cần
- Chọn kiểu kết xuất của Query như: Browse, Table, Report…
- Chạy thử và kiểm tra Query
3.1.2 Tạo Query
1) Query lấy dữ liệu từ một bảng cơ sở dữ liệu
- Trong Project Manager chọn trang Data/ Queries/ New/ New Query, xuất hiện hộp thoại Add Table or View
Hình 3.1 Hộp thoại Add Table or View
- Chọn cơ sở dữ liệu chứa bảng dữ liệu nguồn trong Combo Box Database
- Tại mục Select, chọn Table sẽ xuất hiện danh sách các bảng của cơ sở dữ liệu (Nếu dữ liệu nguồn là một View thì chọn mục Views)
Trang 39- Chọn bảng dữ liệu nguồn chứa thông tin cần tìm kiếm
- Chọn nút Add, xuất hiện cửa sổ Query Designer
Trong cửa sổ này có các trang sau:
+ Trang Field: Xác định các trường, các biểu thức cần đưa ra thông tin
Hình 3.2 Trang Fields
+ Trang Join: Cho phép xác định các mối quan hệ giữa các bảng, các View (chỉ
sử dụng khi dữ liệu nguồn nằm trong nhiều bảng, View)
Hình 3.3 Trang Join
Trang 40+ Trang Filter: Dùng để xác định điều kiện lọc cho kết quả Query, chỉ có các bản ghi thoả mãn điều kiện lọc mới đƣợc đƣa ra Trong đó: