PJX Cơ sở dữ liệu CSDL – Database: Là một hệ thống thông tin được lưu trữ trong các bảng dữ liệu có mối quan hệ nhằm mục đích nào đó, đặt trong tệp tin có phần mở rộng là .DBC 1.3.. M
Trang 1Đại học Kinh doanh và Công nghệ Hà Nội.
Khoa Công nghệ thông tin.
8.2014
BÀI GIẢNG VISUAL FOX
Trang 2NỘI DUNG
Trang 3Chương 1 Tổng quan về Visual Fox
Trang 4 Là hệ QTCSDL và là ngôn ngữ lập trình nhằm giải quyết các bài toán quản lý, bài toán kinh tế có tính chuyên nghiệp như: Quản lý nhân sự, quản lý lương, bán hàng, vật tư…
Nằm trong bộ Visual Studio 6.0 của Microsoft trên môi trường Window.
1.1 Khái niệm hệ QTCSDL Visual Fox.
Trang 5 Khởi động:
Start/ Progam/ Microsoft Studio/ Microsoft Visual Foxpro.
Thoát:
Menu File/ chọn Exit.
Trong cửa sổ Command gõ Quit <-/
1.2 Khởi động và thoát khỏi Visual Fox
Trang 61.2 Giao diện Visual Fox.
Hệ thống Menu
Cửa sổ Project
Cửa sổ Command Các Tab
Trang 7 Dự án (Project):
Là một tập hợp gồm nhiều thành phần : CSDL, chương trình, giao diện (Form), Thực đơn (Menu), báo biểu (Report) … đặt trong tệp tin có phần mở rộng là PJX
Cơ sở dữ liệu (CSDL – Database):
Là một hệ thống thông tin được lưu trữ trong các bảng dữ liệu
có mối quan hệ nhằm mục đích nào đó, đặt trong tệp tin có phần mở rộng là DBC
1.3 Các đối tượng trong Visual Fox.
Trang 81.3 Các đối tượng trong Visual Fox.
Trang 9 Biểu mẫu (Form):
Là tệp tin có phần mở rộng .SCX được thiết kế để đảm nhiệm chức năng giao tiếp giữa chương trình và người sử dụng.
Báo cáo (Report):
Là tệp tin có phần mở rộng là FRX được dùng để tổ chức dữ liệu cho việc in ấn
1.3 Các đối tượng trong Visual Fox.
Trang 111.4.1 Tạo mới một Project.
Sử dụng Menu:
Mở Menu File/ New
Chọn Project/ New File
Xác định thư mục, tên tệp, chọn Save.
Sử dụng cửa sổ lệnh Command:
Gõ Create Project <Tên tệp PJX> <-/
1.4 Làm việc với Project.
Trang 121.4.2 Giới thiệu các Tab trong cửa sổ Project Manager:
Forms (Giao diện).
Reports (Báo biểu)
Lable (Các Nhãn).
1.4 Làm việc với Project.
Trang 131.4.2 Giới thiệu các Tab trong cửa sổ Project Manager:
Tab Classes: Danh sách các lớp dùng trong Project.
Tab Code: Mã chương trình, thủ tục.
Other: Các thực đơn và tệp tin văn bản.
1.4 Làm việc với Project.
Trang 141.4.3 Các nút chức năng trên cửa sổ Project Manager.
1.4 Làm việc với Project.
Modify Sửa cấu trúc của một thành phần trong Project
Browse Xem và sửa dữ liệu của các bảng hay truy vấn
Remove Loại bỏ một thành phần trong Project
Trang 151.4.4 Tạo File mới trong một thành phần của Project Manager:
Chọn một Tab (VD: Tab Data)
Chọn một thành phần trong cửa sổ Project (VD: Free Table).
Nhấp chuột chọn New , chọn thư mục và gõ tên tệp tin.
1.4 Làm việc với Project.
Trang 16 Kiểu số - Numeric (N):
Dùng để biểu diễn các số liệu mang giá trị số học và có nhu cầu tính toán như trong kế toán, quản lý …gồm số nguyên, số thập phân.
Một vài kiểu số xác định: Integer, Float, Double.
Kiểu chuỗi – Character (C):
Là một tổ hợp bao gồm cả ký tự chữ cái và số , độ dài tối đa là
255 ký tự.
1.5 Các kiểu dữ liệu trong Visual Fox.
Trang 17 Kiểu ngày tháng – Date (D):
Dùng cho những số liệu dạng ngày tháng Độ dài cố định là 8 ký tự.
Kiểu logic - Logical (L):
Dùng cho những dữ liệu chỉ có một trong hai trường hợp Đúng (.T.) hoặc Sai (.F.) Độ dài cố định là 1.
1.5 Các kiểu dữ liệu trong Visual Fox.
Trang 18 Kiểu tổng quát - General (G):
Dùng để chứa dữ liệu như bảng tính, âm thanh
Kiểu ghi nhớ - Memo (M):
Là một đoạn văn bản có độ dài lớn hơn 255 ký tự Chúng được lưu trữ trong một tập tin khác có cùng tên nhưng có phần mở rộng là FPT (Foxpro Text) Để gõ kiểu này nhấn phím ( Ctrl + Page Up hoặc Ctrl + Page Down )
1.5 Các kiểu dữ liệu trong Visual Fox.
Trang 191.6.1 Tạo cấu trúc bảng Free Table.
Tại Tab Data chọn Free Table .
Chọn New , chọn thư mục và gõ tên, chọn Save .
Tại Tab Fields :
Name: gõ tên trường.
Type: chọn kiểu dữ liệu.
Width: gõ độ rộng của dữ liệu.
Decimal: chọn số chữ số phần thập phân.
Chọn Ok.
1.6 Tạo một bảng độc lập Free Table.
Trang 201.6.2 Nhập dữ liệu cho bảng Free Table.
Sau khi tạo xong cấu trúc bảng, phần Input data records now , chọn Yes
Nhập dữ liệu cho từng bản ghi.
1.6 Tạo một bảng độc lập Free Table.
Trang 21Chương 2 Tổng quan về Visual Fox
Trang 22 Hằng: Là một đại lượng không thay đổi.
Gồm:
Hằng nguyên: Gồm các số nguyên.
Hằng thực: Gồm các số thực.
Hằng văn bản: Là các chuỗi đặt trong dấu “…”, ‘…’, (…).
Hằng logic: là giá trị True (.T.) và giá trị False (.F.)
Hằng ngày tháng: là giá trị kiểu ngày tháng, đặt trong dấu {…} theo
nguyên tắc: {^yyyy/ mm/ dd}.
2.1 Hằng (Const)
Trang 23 Biến: Là một vùng bộ nhớ lưu trữ dữ liệu tạm thời, có thể thay
đổi trong quá trình tính toán.
Trang 24 Đặt tên biến: là một chuỗi ký tự bắt đầu là chữ cái, không
chứa dấu cách, không trùng với từ khóa của VF, tối đa 255 kí tự.
Gán giá trị cho biến:
Tên biến = biểu thức.
Hoặc Store biểu thức To danh sách biến.
VD: a = 5, d = {^1998/10/26} …
2.2 Biến (Varialbe)
Trang 252.3.1 Phép toán với kiểu chuỗi ký tự:
Phép toán ghép nối (+): dùng để ghép hai chuỗi cạnh nhau.
Trang 262.3.1 Phép toán với kiểu chuỗi ký tự:
Phép toán ghép nối (-): dùng để ghép hai chuỗi cạnh nhau, và
di chuyển dấu cách ở cuối chuỗi thứ nhất (nếu có) ra cuối chuỗi thứ hai.
VD: a = “_ _Trung tâm_ _”
b = “Tin học”
c = a - b => “_ _Trung tâmTin học_ _”.
2.3 Các phép toán.
Trang 272.3.1 Phép toán với kiểu chuỗi ký tự:
Phép thuộc ($): kiểm tra chuỗi bên trái có nằm trong chuỗi bên phải hay không Kết quả trả về có kiểu logic (T, F).
VD: a = “kd”
b = “Đại học Kinh doanh và Công nghệ Hà Nội”
c = “Đại học kd & cn Hà Nội”
d = a $ b => F.
d = a $ c => T.
2.3 Các phép toán.
Trang 292.3.3 Phép toán với kiểu logic:
Phép Not hay !: phép phủ định của toán hạng theo sau:
Trang 312.3.4 Phép toán ngày:
Thiết lập kiểu ngày sử dụng lệnh:
Set Date French (dd/mm/yyyy)
Trang 322.4.1 Hàm về chuỗi kí tự:
Hàm Left(X,n) : Lấy n ký tự trong chuỗi X tính từ bên trái .
VD: Left (“Đại học Kinh doanh & Công nghệ Hà Nội”,7) = “Đại học”
Hàm Right(X,n) : Lấy n ký tự trong chuỗi X tính từ bên phải.
VD:Right(“Đại học Kinh doanh & Công nghệ Hà Nội”,6) = “Hà Nội”
Hàm Substr(X,m,n) : Lấy n ký tự, bắt đầu từ ký tự m trong chuỗi X.
VD:Mid(“Đại học KD & CN Hà Nội”,9,7) = “KD & CN”
2.4 Các hàm thông dụng trong VF.
Trang 332.4.1 Hàm về chuỗi kí tự:
Hàm UPPER(X) : Chuyển chuỗi X thành VIẾT HOA .
VD: UPPER (“This is A table”) = “THIS IS A TABLE”
Hàm lower(X) : Chuyển chuỗi X thành viết thường.
VD: lower (“This is A table”) = “this is a table”
Hàm Proper(X) : Chuyển ký tự đầu của mỗi từ trong chuỗi X thành Hoa .
VD: Proper (“This is A table”) = “This Is A Table”
2.4 Các hàm thông dụng trong VF.
Trang 342.4.1 Hàm về chuỗi kí tự:
Hàm LTrim(X) : Bỏ khoảng trắng bên trái chuỗi X.
VD: LTrim (“_ _This is a table_ _”) = “This is a table_ _”
Hàm RTrim(X) : Bỏ khoảng trắng bên phải chuỗi X.
VD: RTrim (“_ _This is a table_ _”) = “_ _This is a table”
Hàm AllTrim(X) : Bỏ khoảng trắng ở hai đầu chuỗi X.
VD: AllTrim (“_ _This is a table_ _”) = “This is a table”
2.4 Các hàm thông dụng trong VF.
Trang 352.4.1 Hàm về chuỗi kí tự:
Hàm Len(X) : Lấy độ dài chuỗi X.
VD: Len (“This is a table”) = 15.
Trang 362.4.2 Hàm về ngày tháng:
Hàm Date() : Trả về ngày tháng năm hiện tại.
VD: a = Date()
?a => 08/22/14
Hàm Day() : Lấy ngày trong biểu thức Date.
Hàm Month() : Lấy tháng trong biểu thức Date.
Hàm Year() : Lấy năm trong biểu thức Date.
VD: Day(a) = 22.
Month(a) = 8.
Year(a) = 2014.
2.4 Các hàm thông dụng trong VF.
Trang 432.4.4 Hàm IIF():
Sử dụng trong các biểu thức có nhiều giá trị để lựa chọn mà ta chỉ được chọn 1 giá trị thỏa
mãn điều kiện.
Cú pháp: IIF(Biểu thức logic, BT True, BT False)
Biểu thức logic, trả về một trong hai kết quả True hoặc False.
BT True, BT False: có thể là một giá trị, biểu thức tính toán, chuỗi.
Trường hợp có n lựa chọn ta phải sử dụng n – 1 vòng IIF.
IIF(BT Logic1, True1, IIF(BT Logic2, True2 ).
2.4 Các hàm thông dụng trong VF.
Trang 45Chương 3: Database và Table
Trang 46 Khái niệm Database:
Là hệ thống thông tin được lưu trữ trong các bảng dữ liệu có mối quan hệ (các bảng tham chiếu) nhằm mục đích nào đó và các thành phần liên quan như: chỉ mục, hàm cửa sổ được đặt trong tệp tin có phần mở rộng là DBC
3.1 Khái niệm Database và các thành phần
liên quan
Trang 47 Các thành phần trong Database gồm:
-các bảng dữ liệu (table)
-các trường trong bảng và các kiểu dữ liệu
-các bản ghi dữ liệu trong bảng
-các mối quan hệ
- quan hệ 1-1 ( Inner Join)
- quan hệ toàn vẹn (full join)
- quan hệ 1-n ( Left Join)
- quan hệ n-1 (Right Join)
- quan hệ toàn vẹn (Full Join)
- Chỉ mục (index) : dùng để sắp xếp dữ liệu của trường khoá của
bảng thực hiện mối quan hệ với bảng khác trong csdl gồm khoá
Trang 483.2.1 Tạo mới một Database
Cách 1: Thực hiện từ cửa sổ Project
+ Chọn Tab Database chọn nút New chọn New database + Chọn vị trí lưu nhập tên Database chọn Save
Cách 2: Tạo Database từ cửa sổ lệnh
CREATE DATABASE <Tên tệp.DBC>
3.2 Làm việc với Database
Trang 493.2.2 Loại bỏ 1 Database khỏi Pjorect
Cách 1 : Thực hiện từ cửa sổ Project
-> Chọn Database trong trang Data, chọn tên tệp CSDL -> Kích nút Remove, chọn Remove hoặc Delete.
Cách 2 : Thực hiện từ cửa sổ lệnh
DELETE DATABASE <Tên CSDL.DBC>
3.2.3-Thêm một csdl đã có vào Project
-> Chọn Database trong trang Data
-> Kích nút Add
-> Chọn thư mục và tên csdl chọn OK
Trang 503.2.4 Các thao tác trên Database Desinger
- Mở database ở chế độ Modify
- Thực hiện các nút trên thanh công cụ Database Designer
3.2 Làm việc với Database
New table Add table Remove
table
Trang 513.2.5 Các lệnh làm việc với Database trong cửa sổ Command
a Mở một Database
Open database tên database.dbc
a Xem và sửa cấu trúc một Database
Modify database tên Database.dbc
3.2 Làm việc với Database
Trang 523.2.6 Mở một Database đã có:
C1 Tại cửa sổ Project manger
+ Chọn tab Data Database tên Database Modify C2: Tại cửa sổ Command
Gõ lệnh: Modify database tên database.dbc
3.2 Làm việc với Database
Trang 533.3.1 Tạo bảng trong CSDL
Cách 1: Thực hiện từ cửa sổ Database Designer
Bước 1:Tạo cấu trúc tệp DBF
- Mở hoặc tạo 1 CSDL mới
- Kích phải chuột lên cửa sổ Database Designer, chọn new table -> chọn New table -> đặt tên tệp DBF -> OK
3.3 Làm việc với Table và dữ liệu trong Table
Trang 54- Định nghĩa cấu trúc bảng
trong cửa sổ Table Designer
+ Gõ tên trường tại Name
+ Chọn kiểu trường tại TYPE
+ XĐ độ dài trường tại Width
Trang 55- Xác định các tính chất của trường:
- Ấn Ok
Bước 2: Ấn nút Yes Nhập dữ liệu cho bảng
3.3 Làm việc với Table và dữ liệu trong Table
Caption Tên tiêu đề của trường
Input Mask Khuôn dạng nhập liệu
Format Định dạng dữ liệu khi nhập
Rule Đặt quy tắc khi nhập dữ liệu
Message Đưa ra thông báo khi nhập dữ liệu sai quy tắc
Default Value Đặt gía trị mặc định cho trường
Trang 56Cách 2: Thực hiện từ cửa sổ lệnh Command
Bước 1: tạo cấu trúc tệp DBF
-> Mở hoặc tạo mới 1 CSDL
-> Cú pháp : CREATE <Tên bảng.DBF> <-/
-> Định nghĩa cấu trúc bảng trong cửa sổ Table Designer
tương tự cách 1.
-> OK
Bước 2: Chọn Yes, Nhập DL vào tệp DBF
Cách 3: Thực hiện từ Menu File
-> Mở Menu File, chọn new
-> Chọn Table, chọn New file
-> Đặt tên bảng chọn OK
3.3 Làm việc với Table và dữ liệu trong Table
Trang 57Các kiểu dữ liệu của trường
- Character: kiểu văn bản có độ dài tối đa là 256 ký tự.
- Number: kiểu số gồm các kiểu con sau:
- Byte: kiểu số nguyên có giá trị từ 0 đến 255.
- Integer: kiểu nguyên -327666 32767
- LongInteger: kiểu nguyên kép.
- Single: kiểu số thực đơn.
- Double: kiểu số thực kép
3.3 Làm việc với Table và dữ liệu trong Table
Trang 58Một số kí hiệu trong Input Mask
+ X: Cho phép nhập một ký tự bất kỳ
+ 9:Cho phép nhập một dấu (+) hoặc trừ (-) hoặc chữ số
+ #:Cho phép nhập một dấu (+) hoặc trừ (-) hoặc chữ số hoặc dấu cách
+ A: Cho phép nhập một chữ cái
+ N: Cho phép nhập chữ cái hoăc chữ số
+ ! : Khi chữ cái nhập sẽ biến thành chữ 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 kiếu số
3.3 Làm việc với Table và dữ liệu trong Table
Trang 593.3.2 Thêm bảng độc lập vào Database.
Cách 1: Thực hiện từ cửa sổ Database Designer
-> Kích chuột phải lên cửa sổ Database Designer chọn ADD
Table
-> Chọn thư mục và tên bảng cần lấy, kích OK
Cách 2: Thực hiện từ cửa sổ lệnh
-> Cú pháp : ADD TABLE <Tên bảng.DBF> <-/
-> Chọn thư mục và tên bảng cần lấy, kích OK
3.3 Làm việc với Table và dữ liệu trong Table
Trang 603.3.3 Loại bỏ các tệp DBF ra khỏi CSDL.
Cách 1: Thực hiện từ cửa sổ Database Designer
- Chọn tên bảng -> Kích nút Remove -> Chọn Remove hoặc
Delete
Cách 2: Thực hiện từ cửa sổ lệnh
REMOVE TABLE <Tên bảng.DBF> <-/
3.3 Làm việc với Table và dữ liệu trong Table
Trang 613.3.4 Sửa cấu trúc các tệp dbf
Cách 1: Thực hiện từ cửa sổ Project Manager
-> Chọn Tab Data -> chọn Database -> chọn tên CSDL -> chọn tệp DBF -> Kích nút Modify
-> Sửa tên, kiểu, độ dài, Thêm, bớt trường và các tính chất trong cửa sổ Table Designer -> OK
Trang 623.3.5 Tạo và hủy mối liên kết giữa các bảng
a Tạo mối quan hệ
-> Tạo chỉ mục Index cho các trường trung gian của các bảng -> Mở cửa sổ Database Designer chứa các bảng
-> Kích kéo chuột đưa trường trung gian của bảng này thả vào bảng kia.
-> +Ghi lại
b Huỷ bỏ mối quan hệ
-> Mở cửa sổ Database Designer
-> Chọn đường nối giữa 2 bảng
-> ấn phím Delete
3.3 Làm việc với Table và dữ liệu trong Table
Trang 633.3.6 Nhập và sửa dữ liệu giữa các bảng
-Mở bảng: Chọn tab Data -> Database -> Tên CSDL -> Tên bảng
-> ấn nút Browse
-Nhập dữ liệu: Chọn View trên thanh Menu -> Append mode
( hoặc ấn tổ hợp phím Ctrl + Y)
3.3.7 Sửa dữ liệu bảng
- Mở bảng -> sửa trực tiếp dữ liệu trên từng trường
3.3 Làm việc với Table và dữ liệu trong Table
Trang 643.4.1 Lệnh xem và sửa cấu trúc bảng
Use Tên bảng
Modify structure Tên bảng
3.4.2 Nhóm lệnh xem và sửa nội dung các bản ghi
a Lệnh Browse: xem và sửa toàn bộ dữ liệu dưới dạng bảng
+ Cú pháp:
Browse [font <name,size>][fields<dstrường>][freeze<trường>]
[lock<n>][for<đk>]
Trong đó:
- font <name,size>: font chữ và kích thước của trường cần hiện
- [fields<dstrường>]: liệt kê danh sách trường cần hiện
- [freeze<trường>]:chỉ cho phép sửa trường này mà không sửa trường khác
- [lock<n>]: giữ lại n trường bên trái
- [for<dk>]: điều kiện để hiện trường.
3.4 Các lệnh làm việc với bảng trên cửa sổ
Command
Trang 65b Lệnh Edit: xem và sửa dữ liệu với từng bản ghi
+ Cú pháp: EDIT <Phạm vi>[<ds trường>] [FOR <ĐK> ] <-/
+ Ví dụ: Hiển thị Masv, hoten, ngaysinh của các sinh viên sinh năm 1995
Edit field Masv, hoten, ngaysinh for year(ngaysinh) = 1995
c Lệnh List: xem dữ liệu toàn bảng
LIST [<phạm vi>] [FIELDS <ds trường>] [FOR <ĐK>]
3.4 Các lệnh làm việc với bảng trên cửa sổ
Command
Trang 663.4.3 Chèn và bổ sung các bản ghi
a bổ sung các bản ghi mới
+ Nối thêm các bản ghi mới:
APPEND <-/
+ Nối các bản ghi từ một bảng khác
APPEND FORM <Bảng DL nguồn><-/
+ Nối thêm bản ghi trắng vào cuối tệp
APPEND BLANK <-/
3.4 Các lệnh làm việc với bảng trên cửa sổ
Command
Trang 67b Chèn các bản ghi mới
+ Chèn trước hoặc sau một bản ghi thứ n
Cú pháp:
Go n Insert before [after]
3.4 Các lệnh làm việc với bảng trên cửa sổ
Command