NGÔN NGỮ LẬP TRÌNH VISUAL FOXPRO
I. GIỚI THIỆU VISUAL FOXPRO:
Microsoft Visual Foxpro là một phần mềm Quản lý CSDL, bao gồm một số công rất mạnh
giúp có thể tổng hợp, truy xuất thông tin một cách thuận tiện, có một bộ lệnh dùng trong lập trình
rất phong phú, cho phép tạo được một giao diện thân thiện. Điều đáng lưu ý là các ứng dụng được
thiết kế từ các phiên bản trước của Foxpro vẫn còn hiệu lực trong Visual Foxpro, nghóa là vẫn có
thể chạy được trong Visual Foxpro. Tuy nhiên, nếu đã sửa đổi nguyên bản cũ trong Visual Foxpro
rồi thì không thể thực thi được nữa trong các phiên bản cũ trước đó của nó.
Để có thể dùng được Visual Foxpro, máy vi tính cần phải đạt được tối thiểu các điều kiện sau:
+ Có bộ xử lý từ 80386 trở đi, nên là 486 hoặc mạnh hơn.
+ Có bộ nhơ ù tối thiểu 4MB RAM, nhưng nên là 8MB RAM hoặc hơn.
+ Có đóa cứng càng lớn càng tốt, tối thiểu 200MB RAM
+ Hệ điều hành : Windows 95 hoặc Windows NT.
+ Đã cài hệ điều hành MS DOS, nên dùng DOS 5.0 trở về sau.
+ Đã cài hệ giao diện Windows 3.x hoặc Windows ’95 trở đi.
Sau khi đã được cài đặt, Visual Foxpro có thể được khởi động bằng một trong các cách như sau
:
+ Click chuột vào thực đơn Start trên màn hình chính của Windows 95 / Windows NT; chọn
Programs; chọn Microsoft Visual Foxpro; chọn Visual Foxpro 6.0
+ Thực hiện chức năng Run với tên tập thực hiện C:\Vfp\Vfp.exe
Visual Foxpro cũng có hai chế độ làm việc : hội thoại và chương trình.
Trong chế độ hội thoại, người ta đưa ra một yêu cầu cho Visual Foxpro bằng một lệnh thông
qua cửa sổ lệnh (command window) hoặc thông qua thực đơn hệ thống (system menu) và sẽ nhận
được kết quả ngay. Sau đó, người dùng có thể tiếp tục thực hiện các yêu cầu khác.
Trong chế độ chương trình, các câu lệnh của Visual Foxpro có thể được tập hợp lại thành một tập
tin ghi trên đóa và khi muốn cho thi hành tập tin này, từ cửa sổ lệnh người dùng thực hiện lệnh :
DO <Tên chương trình>. Khi đó các lệnh có trong tập tin chương trình này sẽ lần lượt được thực
hiện.
Một ứng dụng (project) bao gồm nhiều thành phần : CSDL, chương trình, màn hình giao diện,
thực đơn, báo biểu, … Một ứng dụng được lưu trữ trong tập tin có phần mở rộng là PJX và quản lý
bằng công cụ Project Manager.
CSDL trong Visual Foxpro chứa danh sách các bảng (table), hàm cửa sổ (view), thủ tục, … và
được lưu trữ trong một tập tin có phần mở rộng là DBC (trong khi Foxpro 2.6 là DBF).
Visual Foxpro cung cấp cho người dùng các bộ công cụ như : Form Wizard và Form Designer
tiện dụng trong thiết kế các màn hình giao diện.
Visual Foxpro cung cấp các bộ công cụ : Report Wizard và Report Designer tiện dụng trong
thiết kế các báo biểu.
Visual Foxpro cung cấp các bộ công cụ Menu Designer tiện dụng trong việc tạo các thực đơn
nhiều cấp.
Visual Foxpro có sự mở rộng sang phương pháp lập trình hướng đối tượng bên cạnh cách lập
trình theo thủ tục như truyền thống.
Trước khi đi vào tương đối chi tiết một số các vấn đề cần lưu tâm, ta lưu ý thêm một số các vấn
đề về khả năng, giới hạn và một số thuật ngữ thường dùng của Visual Foxpro.
Khả năng và giới hạn của Visual Foxpro có thể được tóm gọn trong bảng sau :
Khả năng Giới hạn
1
1. Tập số liệu và chỉ mục
Số dòng tin tối đa trong 1 table 1 tỷ record
Kích thước tối đa cho 1 table 2 GB
Số ký tự tối đa cho 1 dòng tin (record) 65 500
Số vùng tối đa trên một dòng tin 255
Số table tối đa có thể mở cùng lúc 255
Số ký tự tối đa cho 1 vùng tin 254
Số ký tự tối đa cho một khóa chỉ mục trong tập non-compact
index
100
Số ký tự tối đa cho một khóa chỉ mục trong tập compact index 240
Số tối đa tập tin chỉ mục được mở kèm 1 table Không giới hạn
Số tối đa tập chỉ mục được mở trong tất cả các vùng làm việc Không giới hạn
Số tối đa các mối quan hệ Không giới hạn
Chiều dài tối đa của các biểu thức quan hệ Không giới hạn
2. Vùng tin (Field)
Kích thước tối đa vùng tin kiểu Character 254
Kích thước tối đa vùng tin kiểu Numeric hay Float 20
Số ký tự tối đa dùng để đặt tên cho vùng tin trong 1 Table riêng
lẻ
10
Số ký tự tối đa dùng để đặt tên cho vùng tin trong 1 Table bên
trong một database
128
Trò số nguyên nhỏ nhất -2 147 483 647
Trò nguyên lớn nhất 2 147 483 647
Mức chính xác của trò số khi tính toán 16 cột
3. Biến bộ nhớ và mảng
Số lượng biến bộ nhớ ngầm đònh 1 024
Số lượng tối đa biến bộ nhớ có thể chọn 65 000
Số lượng tối đa các mảng có thể khai báo 65 000
Số lượng tối đa các phần tử trong một mảng 65 000
4. Tập chương trình và thủ tục
Số dòng tối đa trong một tập chương trình Không giới hạn
Kích thước tối đa cho một thủ tục đã được biên dòch 64 KB
Số tối đa các thủ tục trong tập chương trình Không giới hạn
Số lượng tối đa các lệnh DO gọi lồng nhau 128
Số cấp ra lệnh READ lồng trong nhau 5
Số lượng tối đa lệnh lập trình cấu trúc lồng trong nhau 384
Số lượng tối đa các thông số được trao 27
Số lượng tối đa các xử lý phát sinh đồng thời 5
5. Báo biểu
Số tối đa các object trong một báo biểu Không giới hạn
Chiều dài tối đa một báo biểu 20 inches
Tối đa số cấp phân nhóm 128
6. Khả năng khác
Tối đa số cửa sổ mở cùng một lúc Không giới hạn
Tối đa số cửa sổ Browse 255
Số ký tự tối đa trong một chuỗi 2 GB
Số ký tự tối đa trong một dòng lệnh 8 192
2
Số ký tự tối đa cho 1 nhãn Report Label 255
Số ký tự cho 1 dòng thay thế vó mô 8 192
Số lượng tối đa tập tin được mở Giới hạn bởi DOS
Số tối đa phóm bấm trong 1 Keyboard macro 1 024
Số Fields tối đa có thể chọn bởi một lệnh SQL SELECT 255
Các kiểu số liệu :
Kiểu Dùng trong Kích cỡ Phạm vi
Character Văn bản Từ 1 – 254 ký tự Chứa ký tự nào cũng được
Character
(Binary)
Văn bản Không thay đổi khi chuyển
từ mã quốc gia này sang mã
quốc gia khác
Date Ngày tháng 8 bytes 01/01/100 đến 31/12/9999
Date Time Ngày giờ 8 bytes 01/01/100 đến 31/12/999 và
có thêm phần giờ từ
00:00:00 a.m đến 11:59:59
p.m
Logical Trò luận lý 1 byte Đúng (.T.) hoặc Sai (.F.)
Currency Giá trò bằng tiền 8 bytes Từ –
922337203685477.5808 đến
922337203685477.5807
Numeric Số nguyên hay
thập phân
8 bytes bộ nhớ; 1
đến 20 bytes khi
lưu giữ trong table
Từ –0.9999999999E+19
đến +0.9999999999E+20
Double Số chính xác
kép
8 bytes Từ +/-4.94065645841247E-
324 đến +/-
1.79769313486232E+308
Float Số nguyên hay
thập phân
8 bytes bộ nhớ; 1
đến 20 bytes khi
lưu giữ trong table
Từ –0.9999999999E+19
đến +0.9999999999E+20
Integer Số nguyên 4 bytes Từ –2147483647 đến
2147483646
General Đối tượng
nhúng
4 bytes trong table Chỉ bò giới hạn bởi bộ nhớ
Memo Văn bản ghi
nhớ
4 bytes trong table Chỉ bò giới hạn bởi bộ nhớ
Memo
(Binary)
Văn bản ghi
nhớ
Không thay đổi khi chuyển
từ mã quốc gia này sang mã
quốc gia khác
* Các vấn đề khác :
• Ứng dụng (Application) là một tập hợp gồm Programs, Forms, Menus, Labels, Queries, …
được biên dòch thành một chương trình duy nhất. Các ứng dụng được xây dựng bằng chức năng
Project Manager, lưu trên đóa thành tập tin có phần mở rộng là .APP.
• Đồ án (Project) là một tập tin theo dõi các : Programs, Forms, Menus, … Các Project được bảo
trì bởi chức năng Project Manager, lưu trên đóa thành tập tin có phần mở rộng là .PJX.
3
• CSDL (Database) cung cấp một môi trường làm việc trong đó chứa một tập hợp các Tables,
quy đònh mối quan hệ (Relaltionships) giữa các Tables, đề ra các thuộc tính (Propeties) cùng các
quy luật kiểm chính số liệu dùng để điều khiển đồng bộ giữa các Tables với nhau. Có thể sử dụng
độc lập hoặc liên kết chúng vào một project bằng cách thêm chúng vào Project Manager.
• Tables lưu giữ số liệu theo các đơn vò gọi là Records (các mẫu tin) và Fields (các vùng)
• Record là một bộ các vùng tin trong một Table.
• Một Field là tên của một cột quy đònh trong Record để chứa dữ kiện thuộc một kiểu nào đó.
Khi đặt tên trong Visual Foxpro, cần lưu ý :
• Chỉ dùng các ký tự chữ (từ a đến z và từ A đến Z), ký tự số (0 đến 9), dấu gạch dưới.
• Tên chỉ được bắt đầu bằng ký tự chữ hoặc dấu gạch dưới.
• Tên có thể dài từ 1 đến 256 ký tự, ngoại trừ tên Field và tên chỉ mục chỉ dài tối đa 10 ký tự.
• Không nên đặt tên trùng với từ khóa.
• Tên tập tin thì theo nguyên tắc đặt tên của hệ điều hành đang dùng.
Các toán tử :
• toán tử xử lý chuỗi :
+ : ghép chuỗi
– : ghép chuỗi dời khoảng trắng về cuối
$ : thuộc về (So sánh)
• toán tử xử lý ngày giờ :
+ : cộng
– : trừ
Ngày + Số (tính bằng ngày) → Ngày sắp tới
Ngày – Số (tính bằng ngày) → Ngày trước đó
Ngày giờ + Số (tính bằng giây) → Ngày giờ sắp tới
Ngày giờ – Số (tính bằng ngày) → Ngày giờ trước đó
• toán tử luận lý :
( ) : kết nhóm, điều kiện bên trong ngoặc kết nhóm được xét trước
NOT hoặc ! : Logical Negative
AND : Logical AND
OR : Logical OR
(NOT, AND, OR có thể viết theo kiểu cũ : .NOT., .AND., .OR.)
• toán tử so sánh :
< : nhỏ hơn
> : lớn hơn
= : bằng
<>, #, !=: không bằng (không sử dụng >< hoặc =! hoặc ≠)
<=: nhỏ hơn hay bằng (không sử dụng =< hoặc ≤)
>=: lớn hơn hay bằng (không sử dụng => hoặc ≥)
==: chuỗi ký tự bằng chính xác
• toán tử số học :
( ) : kết nhóm
**, ^ : lũy thừa
* : nhân
/ : chia
% : số dư phép chia nguyên
+ : cộng
– : trừ
Biến hệ thống là do Visual Foxpro tạo ra khi khởi động. Tên biến hệ thống thường khởi đầu
bằng dấu gạch dưới.
4
Biến bộ nhớ do người sử dụng tạo ra, có thể thay đổi giá trò, kiểu hoặc xóa dễ dàng khi hết
phiên làm việc của Visual Foxpro.
Hàm cơ hữu là hàm có sẵn trong bộ chương trình Visual Foxpro. Hàm người dùng là hàm do
người dùng tự viết và chỉ có tác dụng trong chương trình hay ứng dụng có đònh nghóa hàm đó.
Môi trường làm việc muốn chạy thật ổn đònh cần quan tâm đến các tham số môi trường sao cho
phù hợp, đôi khi cần phải quy đònh lại các tham số này bằng các lệnh thích hợp.
II. QUẢN LÝ ĐỀ ÁN ( PROJECT MANAGER ) :
Một ứng dụng là một tập hợp gồm các tập tin, dữ liệu, tư liệu và các đối tượng. Tất cả các
thông tin quản lý ứng dụng được lưu trong tập tin chính có phần mở rộng là PJX và tập tin ký ức
có phần mở rộng là PJT.
Cửa sổ quản lý ứng dụng đïc dùng để tổ chức và quản lý các thành phần trong một ứng dụng.
Nó gồm có 6 trang : All, Data, Docs, Classes, Code, Other. Trang All chứa toàn bộ thông tin của 5
trang còn lại. Trang Data gồm 2 thành phần : Database và Query. Trang Docs gồm các thành
phần : Forms, Reports, Labels. Trang Classes gồm danh sách các lớp được sử dụng trong ứng
dụng. Trang Code gồm các tập tin chương trình, thư viện API và các ứng dụng khác. Trang Other
gồm các thực đơn, tập tin kiểu văn bản TXT và các tập tin khác.
Các nút chức năng trong cửa sổ ứng dụng :
• New : để tạo mới các loại thành phần chi tiết.
• Add : đưa tập tin các loại đã có trên đóa vào cửa sổ ứng dụng.
• Modify : cập nhật trên mục được chọn.
• Browse : liệt kê một tập tin DBF dưới dạng bảng.
• Close : đóng các tập tin các loại.
• Open : mở một CSDL.
• Remove : loại bỏ một tập tin hay một đối tượng ra khỏi cửa sổ ứng dụng.
• Build : tạo tập tin thực hiện cho các ứng dụng.
• Preview : xem một báo cáo ở chế độ xem trước trên màn hình.
• Run : dùng để thực hiện một truy vấn, biểu mẫu, chương trình.
* Tạo một tập tin ứng dụng :
Cú pháp : CREATE PROJECT <.PJX> | ?
* Mở một tập tin ứng dụng :
Cú pháp : MODIFY PROJECT <.PJX> | ?
* Dòch một tập tin ứng dụng ra tập tin APP hoặc EXE :
- Chọn nút chức năng Build hoặc chọn Project, Build từ thực đơn hệ thống.
- Chọn cách dòch tập tin ứng dụng :
• Rebuild Project để dòch ra tập tin PJX.
• Build Application để dòch ra tập tin APP
5
• Build Executable để dòch ra tập tin EXE.
III. CƠ SỞ DỮ LIỆU ( Database ):
Bảng trong mô hình dữ liệu quan hệ là một bảng hai chiều gồm các dòng và cột. Mỗi bảng
được đặc trưng bởi tên có phần mở rộng là DBF và danh sách các cột (thuộc tính). Thứ tự các cột
là không quan trọng và hai bảng khác nhau thì phải có tên khác nhau. Có hai loại bảng : bảng
tham chiếu (database table) và bảng tự do (free table) không thuộc danh sách tham chiếu của các
CSDL. Mỗi vùng là một cột trong bảng, phải thuộc một trong các kiểu dữ liệu : Numeric, Float,
Integer, Double, Currency, Character, Date, Date Time, Logical, Memo, General. Mỗi mẫu tin
(record) là một dòng trong bảng. Khi muốn sử dụng một bảng phải tiến hành mở bảng bằng lệnh :
USE <table>.
Ràng buộc toàn vẹn (RBTV) là điều kiện ràng buộc dữ liệu trong các bảng tham chiếu của
CSDL và tất cả các RBTV phải được thỏa mãn ở bất kỳ thời điểm nào. Việc kiểm tra các RBTV
thường được thực hiện sau các thao tác cập nhật dữ liệu như thêm, sửa, đánh dấu xóa và có thể
được tiến hành thông qua các thủ tục kiểm tra do người thiết kế chương trình ứng dụng viết hay
Visual Foxpro tự động kiểm tra các RBTV dựa trên những mô tả chi tiết của người thiết kế về
điều kiện ràng buộc đối với dữ liệu. RBTV có 2 mức : ràng buộc trên vùng (được kiểm tra khi có
sự thay đổi dữ liệu trên vùng) và ràng buộc mẫu tin (được kiểm tra khi có sự thay đổi dữ liệu trên
mẫu tin và được kiểm tra sau ràng buộc trên vùng). Phân loại các RBTV :
• RBTV về giá trò của một vùng : là những điều kiện thu hẹp miền giá trò của các vùng. Các
vùng này thường là vùng kiểu số, kiểu Date, kiểu Character.
• RBTV liên vùng : mô tả mối quan hệ giữa các vùng trong một bảng.
• RBTV giữa các mẫu tin trong một bảng.
• Siêu khóa – Khóa chính
• RBTV về khóa ngoại : còn gọi là ràng buộc về phụ thuộc tồn tại.
• RBTV giữa các mẫu tin của nhiều bảng.
• RBTV giữa các vùng của nhiều bảng.
• RBTV phức tạp trên nhiều bảng.
Tạo CSDL mới : chọn một trong các cách sau :
• Chọn trang Data của cửa sổ ứng dụng, chọn mục Database và nhấp chuột vào chức năng
New và xác đònh tên trong ô nhập Enter.
• Thực hiện thông qua lệnh : CREATE DATABASE <.DBC> | ?
• Thực hiện qua thực đơn hệ thống : chọn File, New, Database và nhấp chuột vào New File.
Thêm CSDL đã có vào danh sách tham chiếu của ứng dụng : chọn mục Database trong trang Data
của cửa sổ ứng dụng và nhấp chuột vào chức năng Add.
Loại một CSDL ra khỏi danh sách tham chiếu : chọn một trang các cách sau :
• Thực hiện qua cửa sổ ứng dụng : chọn tên CSDL cần xóa trong cửa số ứng dụng, chọn nút
chức năng Remove. Trong hộp thoại Remove : chọn Remove để xóa CSDL ra khỏi danh sách
tham chiếu, chọn Delete để xóa CSDL ra khỏi đóa, chọn Cancel để ngưng thao tác.
• Thực hiện qua cửa sổ lệnh : DELETE DATABASE <.DBC> | ? [DELETETABLES]
[RECYCLE].
Tạo một bảng bằng bộ công cụ Database Designer :
6
Chọn biểu tượng đầu tiên bên trái (New Table) của thanh công cụ Databse Designer, chọn nút
ấn New table trong hộp thoại ngay sau đó, xác đònh thư mục và tên table, đònh nghóa cấu trúc
bảng qua cửa sổ Table Designer.
Cửa sổ Table Designer có trang : Fields, Indexes và Table.
Trang Fiels dùng để đònh nghóa các vùng của bảng với các ý nghóa :
• Name : tên của vùng.
• Type : kiểu của vùng.
• Width, Decimal : kích thước của vùng.
• Index : dữ liệu của vùng được sắp xếp tăng dẩn (Ascending) hoặc giảm dần (Descending).
• NULL : chó phép vùng nhận giá trò NULL hay không.
• Format : dạng hiển thò cho dữ liệu vùng.
• Input mask : dạng nhập liệu cho dữ liệu của vùng.
• Caption : tiêu đề của vùng.
• Rule : các ràng buộc toàn vẹn trên vùng.
• Message : thông báo lỗi khi dữ liệu không hợp lệ.
• Default value : giá trò ngầm đònh cho vùng khi nhập liệu.
• Field comment : chú thích thêm cho vùng.
Trang Indexes : dùng để mô tả các chỉ mục của bảng.
• Order : thứ tự sắp xếp.
• Name : tên của chỉ mục.
• Type : kiểu chỉ mục (Primary, Candidate, Unique, Regular).
• Expression : biểu thức khóa của chỉ mục.
• Filter : điều kiện lọc dữ liệu của chỉ mục.
Trang Table :
• Name : tên bảng.
• Database : tập tin CSDL
• Table file : tập tin DBF chứa dữ liệu của bảng.
• Records : số mẫu tin của bảng.
• Fields : số vùng của bảng
• Length : kích thước của mẫu tin + 1.
• Rule : chỉ đònh các điều kiện ràng buộc (biểu thức hay thủ tục)
• Insert trigger : trigger cho thao tác thêm mẫu tin vào bảng.
• Update trigger : trigger cho thao tác sửa đổi dữ liệu của các mẫu tin trong bảng.
• Delete trigger : trigger cho thao tác đánh dấu xóa các mẫu tin trong bảng.
7
Tạo một bảng : Có thể tạo cấu trúc của một bảng bằng lệnh :
CREATE TABLE | DBF <.DBF> [NAME <tên>] [FREE] ;
(<vùng1> <kiểu1> [(<kích thước1> [, <thập phân1>])] ;
[NULL | NOT NULL] ;
[CHECK <btL1> [ERROR <btC1>]] ;
[DEFAULT <bt1>] ;
[PRIMARY KEY | UNIQUE] ;
[REFERENCES <bảng1> [TAG <chỉ mục1>]] ;
[, <vùng2> …] ;
[, PRIMARY KEY <bt2> TAG <chỉ mục2> ;
|, UNIQUE <bt3> TAG <chỉ mục3>] ;
[, FOREIGN KEY <bt4> TAG <chỉ mục4> [NODUP] ;
REFERENCES <bảng2> [TAG <chỉ mục5>]] ;
[, CHECK <btL2> [ERROR <btc2>]])
Trong đó :
• <.DBF> : tên tập tin DBF của bảng sẽ được tạo lập. Bảng sẽ được tự động đưa vào danh sách
tham chiếu của CSDL.
• NAME <tên> : tên đặt thêm cho bảng.
• FREE : bảng được tạo ra không được đưa vào danh sách tham chiếu .
• <vùng1> : tên của vùng thứ nhất của bảng.
• <kiểu1> : kiểu dữ liệu cho vùng thứ nhất của bảng.
• <kích thước1> : kích thước của vùng thứ nhất của bảng.
• <thập phân1> : số chữ số thập phân của vùng thứ nhất.
• NULL | NOT NULL : cho phép / không cho phép vùng lấy giá trò NULL
• CHECK <btL1> : ràng buộc toàn vẹn trên vùng thứ nhất trong bảng. Ngay cả một mẫu tin
trắng đưa vào cũng sẽ được kiểm tra.
• ERROR <btC1> : thông báo lỗi khi ràng buộc toàn vẹn trong thành phần CHECK bò vi phạm.
• DEFAULT <bt1> : giá trò ngầm đònh cho vùng.
• PRIMARY KEY : tạo chỉ mục khóa chính cho vùng, vùng này sẽ là khóa chính của bảng.
• UNIQUE : tạo chỉ mục khóa cho vùng, sẽ trở thành khóa của bảng.
• REFERENCES <bảng1> {TAG <chỉ mục1> : bảng được tạo sẽ liên kết khóa ngoại giữa vùng
thứ nhất với <chỉ mục1> của <bảng1>.
• PRIMARY KEY <bt2> TAG <chỉ mục2> : <bt2> là khóa chính của bảng (có thể gồm nhiều
vùng). Nếu đã dùng thành phần PRIMARY trước đó rồi thì không được dùng thành phần này.
• UNIQUE <bt3> TAG <chỉ mục3> : <bt3> là khóa của bảng (có thể gồm nhiều vùng), không
chứa một vùng đã tham gia vào khóa chính.
• FOREIGN KEY <bt4> TAG <chỉ mục4> [NODUP] REFERENCES <bảng2> [TAG <chỉ
mục5>] : bảng được tạo sẽ liên kết khóa ngoại giữa <bt4> với <chỉ mục5> của <bảng2>. Nếu có
từ khóa NODUP thì chỉ mục tạo ra sẽ là chỉ mục khóa ngoại.
• CHECK <btL2> : mô tả ràng buộc toàn vẹn của bảng.
• ERROR <btC2> : thông báo lỗi khi thành phần CHECK bò vi phạm trong quá trình cập nhật
dữ liệu trong cửa sỗ Browse hay Edit.
Ngoài ra còn các lệnh về sửa đổi cấu trúc bảng, sửa đổi thông tin các vùng, hủy bỏ cột của
bảng, thêm dữ liệu của bảng, cập nhật dữ liệu của bảng, xóa dữ liệu của bảng, truy vấn dữ liệu
của CSDL thông qua các lệnh ALTER, INSERT, UPDATE, DELETE, SELECT.
Trigger của một bảng là một hành động (tương ứng với 1 thủ tục hay chương trình) được đònh
nghóa gắn liền với một thao tác cập nhật dữ liệu (thêm, sửa, xóa) của bảng. Trigger thường được
sử dụng để kiểm tra các RBTV.
8