Chương V
Hệ quản trị cơ sở dữ liệu Visual Foxpro
I - CÁC KHÁI NIỆM CƠ BẢN
1. Khái niệm về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu
a) Cơ sở dữ liệu
Chắc hẳn ai trong chúng ta cũng đã từng có nhu cầu tìm thông tin, ví dụ tìm thông tin về Đoàn,
nhân cuộc thi tìm hiểu Đoàn thanh niên cộng sản. Khi đó ta đến thư viện, tìm những quyển sách
liên quan tới đề tài, tìm tiếp các thông tin cần quan tâm trong các sách đó… Chắc chắn rằng sẽ
phải tiêu phí rất nhiều thời gian trước khi tìm được các thông tin có ích.
Có rất nhiều vấn đề tương tự trong cuộc sống. Chẳng hạn, thầy giáo cần thông tin về học sinh
trong lớp và quản lí điểm số của các em; phòng bán vé máy bay cần thông tin về các chuyến bay
và chỗ còn trống trên máy bay; thư viện cần thông tin về sách và độc giả, v.v. Ngày nay, nhờ sử
dụng máy tính, người ta có thể giải quyết các vấn đề xử lí thông tin này một cách nhanh chóng
bằng các chương trình chuyên dụng có tên gọi là các hệ quản trị cơ sở dữ liệu.
Trước khi làm quen với một trong những chương trình loại này, chúng ta cần hiểu khái niệm cơ
sở dữ liệu là gì.
Theo nghĩa chung nhất, thuật ngữ cơ sở dữ liệu có thể được áp dụng cho bất kì một tập hợp thông
tin nào đó có liên hệ với nhau, ví dụ như bảng giờ tàu chạy hoặc bảng ghi các đơn đặt hàng và
thời gian thực hiện các đơn đặt hàng đó. Lưu ý rằng chỉ có tập hợp các dữ liệu được tổ chức theo
một cách nào đó mới được coi là cơ sở dữ liệu. Chẳng hạn, một sổ ghi chép những thông tin bất
kì sẽ không được xem là cơ sở dữ liệu.
Mục đích chủ yếu của các hệ cơ sở dữ liệu là đảm bảo việc lưu trữ và tìm kiếm các thông tin chứa
trong chúng. Các cơ sở dữ liệu trên máy tính cho phép tìm kiếm nhanh, sửa đổi dễ dàng và chứa
được khối lượng lớn thông tin. Do vậy chúng có lợi thế hơn hẳn so với các cơ sở dữ liệu xử lí
bằng tay.
Ví dụ về cơ sở dữ liệu
Hãy xét một ví dụ cụ thể là cơ sở dữ liệu về các học sinh trong một lớp.
Các thông tin ta quan tâm là các đặc trưng liên quan tới từng học sinh và có ích cho việc quản lí
các em ở trường, trong số đó có thể kể đến:
Họ và tên học sinh
Giới tính (nam hay nữ)
Ngày sinh
Địa chỉ
Đoàn viên hay chưa
Một số các thông tin khác, tuy cũng quan trọng, nhưng không liên quan trực tiếp đến việc quản lí
học sinh ở trường (diện tích nhà ở, số anh chị em, v.v.) sẽ không được đưa vào sổ sách.
Thông thường giáo viên lập bảng danh sách học sinh có dạng như bảng 5.1.
165
Bảng 5.1. Ví dụ về bảng trong cơ sở dữ liệu
Họ và tên Giới tính Ngày sinh Địa chỉ Đoàn viên
Hoàng Kim Liên Nữ 14/1/1986 16 Hàng Chuối Rồi
Phan Anh Tuấn Nam 30/4/1985 23 Trần Hưng Đạo Chưa
Nguyễn Thị Mai Nữ 9/3/1986 2 Phạm Ngũ Lão Rồi
Ngô Thanh Giang Nữ 11/7/1986 15 Hàng Bài Rồi
Hoàng Xuân Hải Nam 09/12/1986 260 Đội Cấn Chưa
166
Đây là một ví dụ về cơ sở dữ liệu học sinh.
167
Cơ sở dữ liệu là tập hợp các dữ liệu có tổ chức, được lưu trữ trên một vật mang
thông tin nào đó, chẳng hạn giấy, băng từ, đĩa từ…
168
Chú ý rằng đây không phải là tập hợp các dữ liệu rời rạc; chúng liên quan với nhau, sao cho con
người có thể hình dung về một đối tượng, hiện tượng hoặc quá trình nào đó.
Ví dụ: trong cơ sở dữ liệu lưu các công thức nấu ăn, chắc chắn có dữ liệu về các thực phẩm, các
phương pháp nấu, các loại thịt, đơn vị đo thực phẩm… Nhưng hiển nhiên không ai đưa vào đó giá
tiền của các loại tivi! Một ví dụ khác: từ điển máy tính chứa các thuật ngữ về máy tính. Không hi
vọng tìm thấy trong đó giải thích về các thuật ngữ trong các lĩnh vực kinh tế hay y học.
Phần lớn các cơ sở dữ liệu sử dụng các bảng có dạng như ở ví dụ trên để lưu trữ thông tin. Mỗi
bảng bao gồm các cột và các dòng, trong các cơ sở dữ liệu chúng được gọi tương ứng là các
trường và các bản ghi (h. 5.1).
Hình 5.1. Trường và bản ghi
Trường dùng để lưu trữ tập hợp các giá trị của một thuộc tính (tính chất) của bảng. Trong ví dụ ở
trên, trường Họ và tên chứa họ và tên của các học sinh trong lớp, còn trường Ngày sinh lưu ngày
sinh của các học sinh đó.
Trong thực tế mỗi thuộc tính tương ứng với một trường và mỗi trường chứa cùng một loại dữ
liệu. Ví dụ: trường Họ và tên chứa dữ liệu là các chữ, trường Ngày sinh chứa các dữ liệu là ngày
tháng… Nếu có trường Cân nặng lưu trọng lượng học sinh, thì trường đó sẽ chứa các giá trị số:
40, 43, 50…
Với mỗi thuộc tính của đối tượng ta có một trường. Ngoài ra, khi xử lí bằng máy tính cần thiết kế
sao cho thông tin đặt vào trong mỗi trường là đơn vị xử lí nhỏ nhất. Chẳng hạn, trong bảng ở
trên, trường Họ và tên bao gồm cả họ và tên học sinh, nhưng thông thường giáo viên cần danh
sách sắp thứ tự theo tên. Nếu muốn sắp xếp tự động thì trường này cần được chia thành hai
trường nhỏ hơn là Tên và Họ đệm. Cách biểu diễn này sẽ cho phép máy sắp thứ tự theo trường
Tên; trong trường hợp trùng tên thì mới sắp tiếp theo trường Họ đệm.
Tóm lại
Trường là đơn vị nhỏ nhất trong cơ sở dữ liệu, dùng để lưu giá trị một thuộc tính của đối
tượng.
Mỗi trường có một tên gọi.
Mỗi trường chứa một loại (kiểu) dữ liệu đặc trưng cho trường đó.
Muốn cho các trường phản ánh thông tin về cùng một đối tượng, cần có mối liên hệ giữa chúng.
Từ đây ta có khái niệm bản ghi.
Bản ghi chứa các giá trị của tất cả các thuộc tính liên quan đến một đối tượng cụ thể.
169
Trường là đơn vị nhỏ nhất trong cơ sở dữ liệu, dùng để lưu giá trị một thuộc tính của
đối tượng. Bản ghi là tập hợp các trường có liên hệ một cách logic với nhau, phản
ánh thông tin về một đối tượng cụ thể.
170
Trong bảng 5.1, mỗi dòng chứa thông tin về một học sinh cụ thể, gồm 5 thuộc tính, hay 5 trường.
Mỗi dòng như vậy được gọi là một bản ghi.
Như vậy, ta đã có một phương pháp để lưu trữ các thông tin cần quan tâm. Bây giờ xét xem có
thể thực hiện được gì với các thông tin này.
b) Các bài toán quản lí
Nhiệm vụ đầu tiên của người quản lí là phải tạo lập cơ sở dữ liệu. Để làm điều này, cần hình
dung chính xác về đối tượng mà mình quản lí và lập mô hình, hay nói cách khác là tạo cấu trúc
cho cơ sở dữ liệu.
Trong ví dụ trên về quản lí học sinh, ngoài các thông tin có trong bảng, còn có các thông tin khác
cũng cần được quan tâm như điểm, hạnh kiểm, học lực… của học sinh. Mỗi một thuộc tính đó sẽ
là một trường, có thể nằm trong cùng bảng (cùng sổ hồ sơ), có thể đặt trong một sổ hồ sơ khác
(một bảng khác).
Sau khi đã tạo được cấu trúc các bảng, cần đưa các thông tin thực sự vào cơ sở dữ liệu (được gọi
là nạp dữ liệu). Kết thúc giai đoạn đầu tiên này ta có một cơ sở dữ liệu tương đối đầy đủ.
Nhiệm vụ tiếp theo là phải sử dụng cơ sở dữ liệu đó để cung cấp các thông tin cần thiết cho việc
quản lí, hay còn gọi là khai thác cơ sở dữ liệu.
Ta lấy lại ví dụ về hồ sơ học sinh. Khi đã có cơ sở dữ liệu (dưới dạng bảng 5.1) được lưu trữ
trong máy, ta có thể sử dụng máy tính để tự động làm rất nhiều việc nhằm khai thác cơ sở dữ liệu
về hồ sơ học sinh. Chẳng hạn:
Sửa đổi hồ sơ: khi có học sinh mới chuyển về hoặc học sinh cũ chuyển đi nơi khác; hoặc khi
thông tin về học sinh thay đổi.
Tìm kiếm: chọn (hay còn gọi là lọc) ra những học sinh theo những tiêu chuẩn nhất định như là
đoàn viên, là học sinh nữ. . .
Sắp xếp: theo tên, theo ngày sinh…
Thống kê: số lượng học sinh cả lớp, số các em trên 14 tuổi, số đoàn viên trong lớp …
Lập báo cáo: in ra danh sách học sinh hoặc các danh sách khác theo yêu cầu.
Đó chính là nội dung của các bài toán quản lí. Như vậy, để quản lí, dù là thủ công hay với sự trợ
giúp của máy tính, cũng cần làm các việc sau:
(1) Tạo cơ sở dữ liệu, hay hồ sơ lưu trữ;
(2) Khai thác cơ sở dữ liệu.
Đối với các cơ sở dữ liệu lớn, việc quản lí bằng máy tính làm giảm nhẹ rất nhiều công sức cho
người quản lí, vì máy thực hiện rất nhanh và không sai sót như con người.
Hiện nay có rất nhiều các chương trình giúp cho việc tạo lập và khai thác các cơ sở dữ liệu, được
gọi là các hệ quản trị cơ sở dữ liệu. Các hệ quản trị cơ sở dữ liệu đều có các công cụ để tạo lập cơ
sở dữ liệu và khai thác cơ sở dữ liệu đó, cụ thể là cho phép sửa chữa, thêm bớt (còn gọi là cập
nhật), tìm kiếm, sắp xếp, thống kê thông tin, lập báo cáo, v.v. Các nhà thiết kế phần mềm có thể
sử dụng công cụ của các hệ quản trị cơ sở dữ liệu để tạo ra cơ sở dữ liệu theo yêu cầu, hay nói
cách khác, tạo các ứng dụng.
Các phần mềm ứng dụng (gọi tắt là các ứng dụng) xử lí thông tin đều phải có một giao diện tiện
lợi để người sử dụng dễ dàng tạo cơ sở dữ liệu, cập nhật và khai thác thông tin từ cơ sở dữ liệu
đó. Những người sử dụng này có thể không cần biết sâu về tin học, nhưng có nhu cầu sử dụng
máy tính vào công tác quản lí của mình.
171
Các hệ quản trị cơ sở dữ liệu ngày nay đều cho phép tạo ra các phần mềm ứng dụng.
2. Hệ quản trị cơ sở dữ liệu Visual Foxpro
a) Giới thiệu về Visual Foxpro
Các hệ quản trị cơ sở dữ liệu đầu tiên đã được thiết kế từ những năm đầu của thập kỉ 60. Sang đầu
thập kỉ 80 xuất hiện một loạt các hệ quản trị cơ sở dữ liệu mạnh dùng cho các máy tính cá nhân.
Ngày nay có tới hơn 50 hệ quản trị cơ sở dữ liệu dùng cho IBM PC và các máy tính tương thích,
một trong những hệ quản trị cơ sở dữ liệu thông dụng nhất ở Việt Nam là hệ quản trị cơ sở dữ
liệu FoxPro (có biểu tượng con cáo - tiếng Anh là Fox là con cáo). Phiên bản mới của Foxpro
là Visual Foxpro.
Visual Foxpro được thiết kế để chạy trên các hệ điều hành Windows, do vậy giao diện của Visual
Foxpro tuân thủ các quy ước chung của hệ điều hành (cửa sổ, hệ thống bảng chọn, làm việc với
chuột…) tương tự như trong các chương trình ứng dụng Microsoft Word hay Microsoft Excel.
Hơn nữa, có thể trao đổi dữ liệu từ Visual Foxpro với các ứng dụng đó do Visual Foxpro hoàn
toàn tương thích với các ứng dụng khác của Microsoft.
Điều đặc biệt là ngôn ngữ của Visual Foxpro là ngôn ngữ hướng đối tượng và lập trình trực
quan, tạo ra các ứng dụng điều khiển bằng sự kiện, do vậy hoàn toàn đáp ứng các yêu cầu mới
của các công cụ thiết kế hiện đại. Trong Visual Foxpro, thông qua các ví dụ cụ thể, chúng ta sẽ
bước đầu làm quen với những khái niệm mới như khái niệm đối tượng, chương trình điều khiển
bằng sự kiện, v.v. và có cơ sở để tiếp cận các công cụ hiện đại khác.
Visual Foxpro có giao diện đồ họa, dễ làm việc, cho phép nhanh chóng thiết kế các cơ sở dữ liệu
và thực hiện khai thác thông tin từ các cơ sở dữ liệu đó theo nhiều mức độ khác nhau. Bằng các
công cụ của Visual Foxpro, người lập trình nhiều kinh nghiệm tìm thấy các công cụ hiệu quả để
thực hiện các dự án lớn, còn ở mức độ mới bắt đầu cũng có thể học cách thiết kế nhanh một ứng
dụng tương đối hoàn chỉnh.
b) Các thành phần của Visual Foxpro
Visual Foxpro gồm nhiều thành phần hợp thành có chức năng lưu trữ và trình bày thông tin. Các
thành phần đó bao gồm các bảng, biểu mẫu màn hình, mẫu hỏi, báo cáo, chương trình và thư
viện. Chúng được xem là các đối tượng trong Visual Foxpro. Mỗi đối tượng được lưu giữ trong
một tệp riêng biệt có tên do người sử dụng đặt, còn phần mở rộng do Visual Foxpro gán tự động
tùy theo từng đối tượng.
Một số đối tượng quan trọng của Visual Foxpro được liệt kê dưới đây:
Các bảng: chứa thông tin của cơ sở dữ liệu, tương tự như bảng 5.1. Bảng là đối tượng chủ
yếu của mọi cơ sở dữ liệu. Các tệp chứa các bảng được gán đuôi là .DBF.
Các biểu mẫu: dùng để nhập dữ liệu và xem thông tin trong bảng theo biểu mẫu định sẵn.
Các tệp biểu mẫu có đuôi là .SCX.
Các báo cáo: được dùng để trình bày kết quả xử lí thông tin trong cơ sở dữ liệu, chủ yếu
dành cho việc in ra giấy. Các tệp báo cáo có đuôi là .FRX hoặc .FRM.
Các mẫu hỏi: là công cụ để trích thông tin từ cơ sở dữ liệu theo những tiêu chuẩn nào đó.
Các tệp mẫu hỏi có đuôi là .QPR.
172
Chương trình: được viết trên ngôn ngữ Visual Foxpro, có mục đích thực hiện các nhiệm
vụ khác nhau. Các tệp chương trình có đuôi là .PRG.
Chúng ta sẽ hiểu rõ hơn về các đối tượng này khi làm việc với chúng.
3. Bắt đầu và kết thúc chương trình Visual Foxpro
Trước khi có thể sử dụng được Visual Foxpro, cần cài đặt bộ chương trình này trên máy tính. Để
cài Visual Foxpro phiên bản 3.0, cấu hình của máy phải thỏa mãn các yêu cầu tối thiểu sau:
Bộ xử lí 80386SX hoặc cao hơn
Chuột
Bộ nhớ tối thiểu 8M RAM
Hệ điều hành Windows 3.1 hoặc cao hơn (Windows 95, Windows 98, Windows NT)
Ít nhất 6MB còn trống trên đĩa cứng
Trong chương này, chúng ta sẽ tìm hiểu Visual Foxpro chạy trong Windows 98, tuy nhiên hoàn
toàn có thể áp dụng các kiến thức cơ sở được nêu ra ở đây cho các phiên bản Visual Foxpro chạy
trong các môi trường Windows khác.
Khi được cài đặt vào máy, Visual Foxpro đã tự thêm vào bảng chọn Programs (Chương trình)
một kẹp hồ sơ mang tên Microsoft Visual Foxpro, trong đó có lệnh Microsoft Visual Foxpro
với biểu tượng con cáo .
Chỉ cần nháy chuột vào biểu tượng để khởi động chương trình. Môi trường Visual Foxpro sẽ
hiện ra như trong hình 5.2.
Khi kết thúc làm việc với Visual Foxpro, để thoát ra, ta có thể thực hiện một trong những thao tác
sau đây:
Chọn Exit (Thoát) trên bảng chọn File.
Nháy biểu tượng và chọn Close (Đóng) trong bảng chọn File hoặc nháy đúp ở biểu
tượng .
Nháy nút Close của cửa sổ chính.
Gõ lệnh QUIT trong cửa sổ lệnh.
Nếu một trong những cửa sổ đang mở còn chứa các thông tin chưa được lưu, Visual Foxpro sẽ
hỏi có lưu các thông tin đó hay không và cho khả năng ghi nếu muốn.
173
Không nên tắt máy tính trước khi ra khỏi Visual Foxpro. Nếu điều này không được
tuân thủ, có thể bị mất thông tin.
Hình 5.2. Khởi động Visual FoxPro
4. Làm quen với màn hình Visual Foxpro
Hình 5.3 là màn hình của Visual Foxpro khi được mở lần đầu tiên. Màn hình được chia thành
năm vùng cơ bản:
Thanh bảng chọn
Thanh công cụ
Thanh trạng thái
Cửa sổ lệnh
Vùng làm việc.
Dưới đây ta bước đầu làm quen với nội dung của từng vùng.
Hình 5.3. Màn hình của Visual FoxPro
* Thanh bảng chọn
174
Thanh bảng chọn chứa tên các bảng chọn trong cửa sổ hiện thời. Ở dạng chung nhất, trên thanh
bảng chọn có các bảng chọn sau: (Hệ thống), File (Tệp), Edit (Sửa chữa), View (Hiển thị),
Format (Định dạng), Tools (Công cụ), Programs (Chương trình), Windows (Cửa sổ) và Help
(Trợ giúp). Việc chọn các lệnh trong bảng chọn được thực hiện bằng cách nháy chuột hoặc sử
dụng bàn phím. Tuy nhiên sử dụng chuột thuận tiện hơn.
Khi nháy vào một tên bảng chọn bất kì, một bảng chọn trải xuống xuất hiện và ta có thể chọn tiếp
các lệnh trong bảng chọn này. Tên các lệnh có kèm theo cửa sổ hội thoại (để lấy thêm thông tin từ
người sử dụng) được thêm dấu ba chấm, chẳng hạn Options… (Lựa chọn). Nếu lệnh gọi đến
bảng chọn con, thì bên cạnh tên lệnh có kèm theo dấu mũi tên . Ví dụ trên hình 5.3, đó là lệnh
Wizards (Thuật sĩ) của bảng chọn Tools (Công cụ).
Tùy thuộc vào công việc được thực hiện trong FoxPro, ngoài cửa sổ chính nói trên có thể xuất
hiện nhiều cửa sổ khác cung cấp các khả năng giao tiếp khác nhau với chương trình. Vì vậy ta sẽ
gọi màn hình làm việc được minh họa trên hình 5.3 là cửa sổ chính, còn thanh bảng chọn của nó
được gọi là thanh bảng chọn chính.
Thanh bảng chọn chính luôn được hiển thị khi khởi động Visual Foxpro. Trong các chế độ làm
việc khác nhau của Visual Foxpro, trên thanh bảng chọn chính có thể xuất hiện tên các bảng chọn
tạm thời thay thế một hay nhiều bảng chọn hiện có để mở rộng thêm danh sách các lệnh, chẳng
hạn các bảng chọn Database (Cơ sở dữ liệu), Form (Biểu mẫu), Menu (Bảng chọn), Project (Đề
án), Query (Mẫu hỏi), Report (Báo cáo), Table (Bảng), v.v.
* Thanh trạng thái
Thanh trạng thái nằm ở phần dưới của cửa sổ chính. Ở bên trái thanh trạng thái là thông tin mô tả
chức năng của bảng chọn hoặc của nút đang được con trỏ chỉ tới. Thanh trạng thái trên hình 5.3
thể hiện nội dung của các lệnh trên bảng chọn Tools (Công cụ). Khi cơ sở dữ liệu được mở, thông
tin đó là tên của bảng, cũng như số thứ tự của bản ghi hiện thời.
* Thanh công cụ
Trong Visual Foxpro có một tập hợp các thanh công cụ, chúng chứa các nút lệnh và thành phần
các nút lệnh này tùy thuộc vào từng thanh công cụ cụ thể. Phần lớn các nút lệnh dùng để thực
hiện các hành động tương tự như khi chọn một lệnh (hay dãy lệnh) nào đó trong bảng chọn. Một
số nút khác dùng để di chuyển nhanh trong cơ sở dữ liệu.
Thanh công cụ chuẩn được hiển thị trong mọi chế độ làm việc của Visual Foxpro, có dạng như
trên hình 5.4. Các nút tương ứng có những chức năng được liệt kê trên bảng 5.2.
Hình 5.4. Thanh công cụ chuẩn
* Cửa sổ lệnh
Cửa sổ lệnh dùng để gõ lệnh và yêu cầu thực hiện lệnh đó ngay tức thì. Mặc dù nhiều hành động
có thể được thực hiện thông qua các lệnh trong bảng chọn, đôi khi thực hiện chúng từ cửa sổ lệnh
sẽ nhanh và tiện hơn. Như các cửa sổ khác trong hệ Windows, cửa sổ lệnh có các nút Minmize
(Tối tiểu), Maximize (Tối đại) và Close (Đóng). Nếu cửa sổ lệnh bị đóng hoặc bị che bởi
các cửa sổ khác thì có thể hiển thị nó bằng cách nhấn CTRL+F2 hay dùng lệnh View|Command
Window (Cửa sổ lệnh).
* Vùng làm việc
175
Vùng làm việc là nơi hiển thị các cửa sổ làm việc của Visual Foxpro, cũng như các kết quả trung
gian và các kết quả đưa ra màn hình.
Bảng 5.2. Chức năng của các nút lệnh trên thanh công cụ chuẩn
Nút Tên Chức năng
New Tạo tệp mới
Open Mở một tệp đã có
Save Lưu tệp đang mở
Print In nội dung cửa sổ đang tích cực
Print Preview Mở cửa sổ xem kiểm tra trước khi in
Spelling Kiểm tra chính tả
Cut Xóa đối tượng được chọn và đặt vào vùng đệm
Copy Sao vào vùng đệm đối tượng được chọn, không xóa
Paste Sao nội dung vùng đệm
Undo Không thực hiện hành động vừa làm
Redo Khôi phục hành động vừa loại bỏ
Run Thực hiện
Database Danh sách cơ sở dữ liệu đang mở
Command Window Mở cửa sổ lệnh
View Windows Mở cửa sổ trình bày dữ liệu
Form Gọi thuật sĩ biểu mẫu
Report Gọi thuật sĩ báo cáo
AutoForm Wizard Tạo biểu mẫu chuẩn cho bảng hiện thời
AutoReport Wizard Tạo báo cáo chuẩn cho bảng hiện thời
Help Gọi hệ thống trợ giúp
176
5. Khái niệm đề án cho một ứng dụng
Ở trên ta đã biết các thành phần của ứng dụng Visual Foxpro. Các thành phần đó được tập hợp lại
trong một đối tượng được gọi là đề án.
Đề án là công cụ chính để liên kết tất cả các thành phần của một ứng dụng, cụ thể là
ghi nhớ các bảng, các biểu mẫu, chương trình, mẫu hỏi, báo cáo, v.v., giúp làm giảm
nhẹ công việc quản lí ứng dụng.
a) Thuật sĩ (Wizard)
Trong Visual Foxpro một công việc thường có thể thực hiện bằng nhiều cách khác nhau, từ đơn
giản như dùng các mẫu tạo sẵn, gọi là Wizard (Thuật sĩ), tới việc tự thiết kế để tạo các đối tượng.
Dùng các mẫu có sẵn sẽ nhanh hơn nhưng đôi khi kết quả không được đúng ý như khi tự tạo ra
đối tượng.
Ta gọi các mẫu có sẵn thông qua các nút Wizard có trong các cửa sổ hội thoại.
Thuật sĩ là chương trình dẫn dắt người sử dụng theo từng bước để thực hiện một
nhiệm vụ nào đó.
Để làm quen, trong các phần dưới đây ta sẽ kết hợp sử dụng cả Thuật sĩ và các Bộ thiết kế để tạo
đối tượng.
b) Tạo đề án
Muốn tạo các ứng dụng quản lí cơ sở dữ liệu, trước hết phải tạo ra các đề án. Để tạo đề án mới,
hãy thực hiện các bước sau đây:
∂ Chọn File|New (Tệp|Mới) trên thanh bảng chọn hoặc nháy vào nút New trên thanh công
cụ. Trên màn hình xuất hiện hộp thoại New và liệt kê các đối tượng có thể tạo mới trong
Visual Foxpro. Lựa chọn Project (Đề án) được chọn theo ngầm định (h. 5.5a).
a) b)
Hình 5.5. Lưu đề án bằng hộp thoại Create
177
• Tạo đề án là một thủ tục đơn giản, không cần thuật sĩ, hãy nháy nút New File (Đề án mới).
÷ Trong cửa sổ Create (Tạo mới) (h. 5.5b) được mở ra, đặt tên cho đề án sẽ được tạo lập trong
ô Enter project (Nhập tên đề án), lưu ý chọn trong ô Save as type (Lưu theo kiểu) kiểu của
tệp là Project, còn trong vùng Save in (Lưu tại) là kẹp hồ sơ ta muốn lưu đề án mới vào đó.
≠ Nháy nút Save để kết thúc việc tạo đề án. Trên màn hình xuất hiện cửa sổ Project Manager
(Quản lí đề án) (h. 5.6a), cửa sổ này sẽ được gọi một cách ngắn gọn là cửa sổ đề án.
178
Hình 5.6a. Cửa sổ Project Manager Hình 5.6b. Mở đề án
179
Sau bước này, đề án vừa được tạo ra chưa chứa bất kì thông tin hữu ích nào. Một đề án “rỗng”
như thế chỉ gồm hai tệp tin có cùng phần tên với các phần mở rộng là .pjx và .pjt. Sử dụng cửa sổ
Project Manager ta có thể tạo thêm các tệp mới cho đề án, loại bỏ những tệp không cần thiết
khỏi đề án, đưa các tệp có sẵn vào đề án cũng như sửa đổi các đối tượng trong đó.
Một khi đề án đã được tạo, có thể mở để thực hiện các sửa đổi cần thiết. Cùng một lúc có thể mở
nhiều đề án khác nhau. Để mở một đề án đã có, hãy thực hiện các bước sau:
∂ Chọn lệnh Open (Mở) trên bảng chọn File. Cửa sổ Open (h. 5.6b) xuất hiện.
• Định vị kẹp hồ sơ lưu đề án cần mở (lưu ý chọn Project (*.pjx, *.fpc, *.cat) trong ô Files of
type), nháy chọn tên đề án và cuối cùng nháy OK. Cửa sổ Project Manager chứa các đối
tượng của đề án đó xuất hiện như hình 5.6a.
c) Cấu trúc của đề án
Một đề án bao gồm nhiều đối tượng khác nhau. Các đối tượng đó được gộp lại theo từng nhóm
khác nhau. Trong cửa sổ Project Manager các đối tượng này được hiển thị theo cấu trúc hình
cây tương tự như cấu trúc của các tệp và kẹp hồ sơ. Muốn xem cấu trúc này, hãy nháy mở trang
All (Tất cả). Các đối tượng có các thành phần bên trong có kí hiệu ở bên trái. Nháy chuột ở kí
hiệu này có thể hiển thị các chi tiết bên trong đó và kí hiệu trở thành (h. 5.7).
180
Hình 5.7. Cấu trúc của đề án
Hình 5.8a
Hình 5.8b
181
Để chọn một đối tượng trong dự án, chỉ cần nháy chuột ở kí hiệu bên trái nhóm thích hợp để
hiển thị nó và nháy chuột ở đó.
Cột bên phải trong cửa sổ Project Manager có các nút lệnh đặc biệt hữu ích cho việc quản lí đề
án. Các nút lệnh có thể sử dụng được và tính năng của chúng thay đổi tùy theo đối tượng được
chọn. Ví dụ như khi chọn Database (Cơ sở dữ liệu), nháy nút New (Tạo mới) sẽ cho phép tạo cơ
sở dữ liệu mới; còn khi chọn Table (Bảng), tính năng của nút New là tạo bảng mới. Sau đây là
tính năng của một số nút lệnh cơ bản:
New (Tạo mới): Tạo một đối tượng mới như đối tượng được chọn.
Add (Thêm): Thêm đối tượng (tệp) hiện có vào đề án.
Modify (Sửa đổi): Sửa đổi cấu trúc của đối tượng được chọn.
Browse (Duyệt): Xem chi tiết đối tượng được chọn.
Remove (Loại bỏ): Loại bỏ đối tượng được chọn khỏi dự án. Khi nháy nút này, một hộp
cảnh báo xuất hiện (h. 5.8a) cho phép chọn loại bỏ đối tượng được chọn khỏi dự án mà
không xóa hay xóa đối tượng được lưu trên ổ đĩa. Nháy Remove nếu chỉ muốn loại bỏ và
nháy Delete nếu xóa.
Lưu ý rằng ta không thể xóa một đề án khi nó còn nội dung, trừ khi xóa các tệp bằng Windows
Explorer chẳng hạn. Nhưng với những đề án lớn, khó có thể biết chính xác đề án gồm những tệp
nào. Để xóa một đề án, trước hết phải xóa mọi đối tượng của nó. Sau đó thoát khỏi Visual
FoxPro. Một hộp cảnh báo (h. 5.8b) sẽ nhắc đề án không còn chứa nội dung và cho phép xóa hay
giữ lại. Nháy Delete để xóa đề án, còn nếu muốn giữ lại hãy nháy Retain (Giữ lại).
CÂU HỎI
1. Thế nào là cơ sở dữ liệu? Cơ sở dữ liệu dùng để làm gì?
2. Trường là gì? Các đặc trưng của trường? Bản ghi là gì?
3. Hãy lập cơ sở dữ liệu đơn giản quản lí điểm của học sinh. Các đối tượng cần quản lí là:
Tên học sinh
Điểm toán
Điểm lí
Điểm văn
Điểm trung bình
Nêu rõ các trường, kiểu dữ liệu chứa trong mỗi trường và các bản ghi của cơ sở dữ liệu đó.
4. Hãy nêu nội dung của các bài toán quản lí.
5. Hệ quản trị cơ sở dữ liệu là gì? Phần mềm ứng dụng xử lí thông tin có những đặc trưng gì?
6. Visual Foxpro là gì?
7. Để khởi động Visual Foxpro cần làm gì? Có những cách nào thoát khỏi Visual Foxpro?
8. Tại sao cần đóng mọi cửa sổ Visual Foxpro trước khi tắt máy tính?
9. Đề án là gì? Thuật sĩ là gì?
THỰC HÀNH
Bài 1. Khám phá môi trường Visual Foxpro
1. Khởi động Visual Foxpro và quan sát màn hình: thanh bảng chọn, cửa sổ lệnh, thanh công cụ,
thanh trạng thái, vùng làm việc. So sánh với các màn hình của các hệ phần mềm ứng dụng đã
được học (Microsoft Word, Microsoft Excel).
2. Mở và khám phá các bảng chọn trên thanh bảng chọn chính. Tìm hiểu để ghi nhớ chức năng
của các nút trên thanh công cụ chuẩn.
182
3. Nếu cửa sổ lệnh hiện thời đang ở dạng tối tiểu, đang bị đóng hoặc bị các cửa sổ khác che lấp,
hãy nháy CTRL+F2 để kích hoạt nó. Nếu không thì trước hết hãy làm nó thành tối tiểu và thực
hiện như yêu cầu.
4. Gõ lệnh QUIT trong cửa sổ lệnh, nhấn ENTER (↵) và quan sát màn hình.
Bài 2. Tạo đề án mới
Trong bài này ta sẽ tạo một đề án mới với tên là Học sinh và lưu lại trong một kẹp hồ sơ có tên là
De an. Trong các bài tiếp theo ta sẽ xây dựng cơ sở dữ liệu đó.
1. Nếu Visual Foxpro chưa được khởi động thì hãy khởi động nó. Sau đó chọn File|New hoặc
nháy vào nút New trên thanh công cụ. Trên màn hình xuất hiện cửa sổ New.
2. Nháy nút New File (Đề án mới). Trong cửa sổ Create (Tạo), đặt tên cho đề án là Hoc sinh
trong ô Enter project (Nhập tên đề án),. Trong ô Save in (Lưu tại) là kẹp hồ sơ ta muốn đặt
đề án mới vào đó (kẹp hồ sơ De an, nếu kẹp hồ sơ này chưa có thì hãy tạo ra ở vùng được
phép bằng cách sử dụng nút New Folder trên thanh công cụ của cửa sổ Create).
3. Nháy nút Save và ra khỏi Visual Foxpro.
TÓM TẮT
1. Cơ sở dữ liệu là tập hợp các dữ liệu được tổ chức đặc biệt, được lưu trữ trên một vật mang
nào đó.
2. Phần lớn các cơ sở dữ liệu sử dụng các bảng để lưu trữ thông tin. Mỗi bảng bao gồm các cột
và các dòng, trong các cơ sở dữ liệu chúng được gọi tương ứng là các trường và các bản ghi.
3. Các chương trình giúp cho việc tạo lập và khai thác các cơ sở dữ liệu được gọi là các hệ
quản trị cơ sở dữ liệu.
4. Các bài toán quản lí có nội dung tạo lập và khai thác thông tin. Việc khai thác thông tin bao
gồm: tra cứu, sửa đổi, tìm kiếm, sắp xếp, thống kê, báo cáo …
5. Visual Foxpro là phiên bản mới của hệ quản trị cơ sở dữ liệu Foxpro, cho phép lập trình trực
quan và hướng đối tượng để tạo ra các ứng dụng quản trị cơ sở dữ liệu, đáp ứng các yêu cầu
mới nhất của việc thiết kế.
6. Trước khi ra khỏi Visual Foxpro, cần đóng tất cả các cửa sổ làm việc để không bị mất thông
tin.
7. Màn hình Visual Foxpro bao gồm: thanh bảng chọn, thanh công cụ, thanh trạng thái, cửa sổ
lệnh và vùng làm việc.
8. Trong Visual Foxpro, đề án (project) là công cụ chính để liên kết tất cả các thành phần của
cùng một ứng dụng, cụ thể là ghi nhớ các bảng, các biểu mẫu, chương trình, mẫu hỏi, báo
cáo, … giúp làm giảm nhẹ công việc quản lí ứng dụng.
II - TẠO LẬP CƠ SỞ DỮ LIỆU
1. Tạo và sửa đổi cấu trúc cơ sở dữ liệu
Sau khi tạo đề án, ta có thể tạo một cơ sở dữ liệu và tạo trong cơ sở dữ liệu các bảng dữ liệu lưu
trữ thông tin. Một đề án có thể có nhiều cơ sở dữ liệu. Trong những trường hợp đơn giản, cơ sở
dữ liệu chỉ bao gồm một bảng, nhưng trong các cơ sở dữ liệu thực tế có thể có rất nhiều bảng có
quan hệ với nhau. Tuy nhiên các bảng đều cùng tuân thủ một nguyên tắc chung khi tạo lập.
Công việc của người thiết kế là hình dung mỗi bảng gồm những cột (thuộc tính) gì, nói cách khác
là phải tạo cấu trúc cho các bảng. Ngoài ra, còn cần mô tả quan hệ giữa các bảng.
183
Chẳng hạn, bảng chứa các thông tin về học sinh ít nhất phải có các cột sau: họ và đệm, tên, ngày
sinh, nam hay nữ… Còn bảng chứa các thông tin về sách trong thư viện thì nên có các cột: tên
sách, tác giả, nhà xuất bản, năm xuất bản và các thông tin khác.
Sau khi đã hình dung một cách đầy đủ các thuộc tính cần quản lí, ta lập cấu trúc cho mỗi bảng dữ
liệu, bao gồm các trường tương ứng với các thuộc tính đó.
184
Cấu trúc bảng dữ liệu là tập hợp các trường được đặt tên và các mô tả tính chất của
các đối tượng trong bảng.
185
Tạo cấu trúc bảng bao gồm các việc:
Xác định từng thuộc tính của đối tượng, mỗi thuộc tính như vậy sẽ là một trường.
Tạo trường và đặt cho mỗi trường một tên xác định.
Xác định loại (kiểu) dữ liệu sẽ được lưu trữ ở trong mỗi trường.
Những công việc tiếp theo phụ thuộc vào việc cấu trúc cơ sở dữ liệu được hoạch định cẩn thận
đến mức nào. Mặc dù trong quá trình làm việc vẫn có thể thay đổi cấu trúc của cơ sở dữ liệu,
nhưng việc đó sẽ tốn công sức nhiều hơn nếu trong đó đã có thông tin, hơn nữa có thể dẫn đến
những sai sót hay mất thông tin không đáng có.
a) Tạo cơ sở dữ liệu mới
∂ Trong cửa sổ Project Manager (cửa sổ đề án), hãy nháy chọn trang Data (Dữ liệu), chọn
nhóm và nháy nút (Mới). Với thao tác này ta bắt đầu tạo một cơ sở dữ
liệu mới có thể bao gồm một hoặc nhiều bảng.
• Khi hộp thoại Create (Tạo) xuất hiện, đặt tên cho cơ sở dữ liệu, chọn kẹp hồ sơ tương ứng và
nháy OK để lưu. Trên màn hình xuất hiện cửa sổ Database Designer (Thiết kế cơ sở dữ liệu)
(h. 5.9), với cửa sổ này có thể tạo các bảng mới hoặc thay đổi các bảng đã tạo. Bảng chọn
Database xuất hiện trên thanh bảng chọn thay thế bảng chọn Project.
Hình 5.9. Cửa sổ Database Designer
Trong trường hợp muốn mở một cơ sở dữ liệu đã được tạo lập để xem hay sửa đổi các đối tượng
trong đó, hãy thực hiện các bước sau:
∂ Chọn lệnh Open (Mở) trên bảng chọn File. Cửa sổ Open (h. 5.6b) xuất hiện.
• Định vị kẹp hồ sơ lưu cơ sở dữ liệu cần mở (lưu ý chọn Database (*.dbc) trong ô Files of
type), nháy chọn tên cơ sở dữ liệu và cuối cùng nháy OK. Cửa sổ Database Designer chứa
các đối tượng của cơ sở dữ liệu đó xuất hiện.
Để tạo các bảng mới cho cơ sở dữ liệu hoặc thay đổi các bảng đã tạo trong đó, ta có thể sử dụng:
Các lệnh trong bảng chọn Database (h. 5.10a).
Thanh công cụ của Database Designer (Bộ thiết kế cơ sở dữ liệu) (h. 5.10b).
Bảng chọn tắt khi nháy nút chuột phải trên cửa sổ Database Designer (h.5.10c).
186
a) Bảng chọn Database
b) Thanh công cụ Database
a) Bảng chọn tắt
Hình 5.10
Để hiển thị các thanh công cụ liên quan tới các đối tượng tương ứng, chọn View trên
thanh bảng chọn, chọn Toolbars, sau đó trong cửa sổ Toolbars đánh dấu vào thanh
công cụ muốn hiển thị (chẳng hạn thanh công cụ Database).
Nội dung của một số lệnh hay dùng (trên bảng chọn cũng như trên thanh công cụ) được mô tả ở
bảng 5.3.
Sau khi tạo cơ sở dữ liệu ta có thể tạo các bảng dữ liệu trong đó, bắt đầu bằng việc tạo cấu trúc
bảng và sau đó nhập dữ liệu theo cấu trúc đặt ra. Để tạo cấu trúc bảng, cần mô tả các trường của
bảng. Việc mô tả bao gồm đặt tên trường, định nghĩa kiểu, thiết đặt độ rộng và các tính chất khác.
Bảng 5.3. Một số lệnh thường dùng
Nút Tên lệnh Chức năng
New Table Tạo bảng mới
Add Table Thêm bảng vào cơ sở dữ liệu
Remove Tale Loại bỏ bảng khỏi cơ sở dữ liệu
Modify Table Sửa bảng
Browse Table Xem bảng
187
b) Tên trường
Khi đặt tên cho trường cần tuân theo các quy tắc sau:
Tên trường có thể chứa tới 128 kí tự, tuy nhiên không nên lạm dụng đặt tên quá dài. Nên đặt
các tên ngắn gợi lên nội dung của trường. Ví dụ như Hodem cho trường lưu họ và tên đệm,
Ten cho trường lưu tên, v.v.
Tên trường có thể chứa chữ cái, chữ số và dấu gạch dưới, nhưng không được chứa dấu cách.
Hai trường trong cùng một bảng không được trùng tên.
c) Kiểu dữ liệu
Tên trường dùng cho việc tham chiếu tới dữ liệu của bảng. Còn để xác định kiểu cho các dữ liệu
được lưu trữ phải định nghĩa kiểu dữ liệu và độ rộng của trường.
Các kiểu dữ liệu sử dụng trong Visual Foxpro được mô tả trên bảng 5.4.
Bảng 5.4. Các kiểu dữ liệu trong Visual Foxpro
Kiểu Tên Kiểu Tên
Kí tự
Character
Ngày tháng
Date
Số
Integer, Numeric, Float, Double
Ngày tháng và Thời gian
DateTime
Tiền tệ
Currency
Kiểu nhớ (văn bản)
Memo
Logic
Logical
Nhị phân
General
188
Ta xét dưới đây bốn kiểu cơ bản nhất.
* Kiểu kí tự (Character)
Các trường kiểu kí tự có thể chứa các chữ cái, chữ số và các kí tự đặc biệt. Độ rộng lớn nhất cho
các trường kí tự là 254 kí tự. Nếu cho độ rộng là 25 chẳng hạn, điều đó có nghĩa trong trường này
không thể có các giá trị có độ dài lớn hơn 25 kí tự.
Ví dụ. Các giá trị sau đây có kiểu dữ liệu kí tự:
Trung tam tin hoc
84-4-8262012 (CQ)
10 ngay rung chuyen the gioi
Để tạo trường kí tự trong Visual Foxpro, chỉ cần chọn Character trong danh sách các kiểu cho
phép, rồi chọn độ rộng cho trường.
* Kiểu số (Integer, Numeric, Float, Double)
Ta thấy rằng các kí hiệu được phép trong dữ liệu kiểu kí tự có thể là các chữ số. Tuy nhiên, chỉ có
thể thực hiện các phép tính toán trên các trường số. Do vậy cần định nghĩa các dữ liệu kiểu số.
Nếu dữ liệu chỉ bao gồm các số nguyên, có thể định nghĩa kiểu của chúng là Integer (Nguyên).
Trong Visual Foxpro, kiểu Integer chiếm 4 byte và không cần phải cho độ rộng của nó.
Ví dụ. Các trường có giá trị nguyên có thể là năm sinh hay cân nặng (làm tròn số)…
Các trường số kiểu Numeric và Float chứa các dữ liệu số dạng dấu chấm thập phân. Khi xác định
các trường kiểu này cần chỉ rõ số các vị trí sau dấu chấm thập phân ở cột Decimal.
Ví dụ. 12.25: width = 5; decimal = 2, tức độ rộng của số thập phân này là 5 và có hai chữ số sau
dấu phảy;
122.5: width = 5; decimal = 1, tương tự như trên nhưng chỉ có một số sau dấu phảy.
Để tạo trường số, chọn Integer hoặc các kiểu số tương ứng khác trong danh sách kiểu, rồi chọn độ
rộng (Width) và số vị trí sau dấu chấm thập phân (Decimal), nếu cần.
* Kiểu logic (Logical)
Các trường logic chứa các dữ liệu chỉ nhận một trong hai giá trị: True (Đúng) hoặc False (Sai).
Ví dụ. Các trường có giá trị logic: Giới tính (Nam hay Nữ); Đoàn (là Đoàn viên hay không là
Đoàn viên)…
Các giá trị tương ứng với True được đưa vào dưới dạng T hoặc t, còn các giá trị tương ứng với
False được đưa vào dưới dạng F hoặc f. Kích thước của trường logic luôn là 1.
Để tạo trường logic, chọn Logical trong danh sách kiểu.
* Kiểu ngày tháng (Date)
Kiểu ngày tháng được sử dụng để lưu các giá trị ngày tháng, trong đó dữ liệu được biểu diễn dưới
dạng đặc biệt, được kiểm tra khi nhập vào và có thể tìm kiếm hay sắp xếp chúng theo cách hiểu
ngày tháng thông thường.
Để tạo trường ngày tháng, chọn Date trong danh sách kiểu. Các giá trị ngày tháng có thể biểu
diễn ngày tháng bất kì trong khoảng 01/01/100 đến 31/12/9999. Lưu ý quy ước viết theo kiểu
Anh-Mỹ thì ngày 31 tháng 12 năm 9999 được viết là 12/31/9999 (tháng viết trước).
* Kiểu nhớ (Memo)
189