Ta có thể sửa từng trường thông qua bảng chọn View, nhưng có thể thay nội dung nhiều trường cùng một lúc bằng lệnh Replace (Thay thế) trong bảng chọn Table, hơn nữa việc thay thế được thực hiện tự động. Đây là một chức năng rất mạnh có nhiều ứng dụng, nhất là khi phải thay thế một cách có hệ thống trong một bảng lớn có nhiều rất bản ghi.
Ví dụ. Với bảng minh họa trên hình 5.13 đang được mở, ta thực hiện việc thay thế nội dung dữ liệu trong trường gioitinh theo quy ước tiếng Anh nam là M còn nữ là F thông qua các bước sau đây:
Hình 5.18
∂ Chọn Table|Replace Field (Bảng|Thay thế trường). Cửa sổ Replace Field xuất hiện như hình 5.18.
• Chọn tên của trường ta muốn thay thế nội dung trong ô Field, ở đây là trường
gioitinh. Trong vùng With (Thay bằng), gõ
M để thay nội dung trường thành M. Lưu ý rằng tại đây ta chưa chỉ ra các bản ghi nào sẽ được thay thế, bước 4 dưới đây sẽ chỉ rõ điều này.
÷ Nháy nút ở bên phải Scope (Phạm vi). Hộp thoại Scope hiện ra. Chọn All (Tất cả) rồi nháy OK để thay thế tất cả các bản ghi ta yêu cầu (trong bước 4).
≠ Cho điều kiện gioitinh=”Nam” để thay thế. Để thực hiện, nháy vào nút ở bên phải For
(với các bản ghi). Hộp thoại Expression Buider (Xây dựng biểu thức) hiện ra, gõ gioitinh= ”Nam” trong ô trắng ở giữa, nơi có con trỏ nhấp nháy và nháy OK để thay các bản ghi ta yêu cầu.
≡ Cuối cùng nháy nút (Thay thế).
Sau khi thực hiện quá trình tương tự (từ bước 1 đến bước 5) cho các trường gioitinh = “Nữ”, ta nhận thấy toàn bộ trường gioitinh đã được thay thế bằng các chữ cái M và F như yêu cầu.
Hãy thử hình dung nếu như bảng có tới vài nghìn bản ghi (trong thực tế thường có) thì việc thay thế tự động như vậy sẽ đỡ tốn công sức bao nhiêu!
Mặt khác, do có thể dễ dàng truy nhập vào cơ sở dữ liệu, cũng phải đề phòng trường hợp người sử dụng không có kinh nghiệm làm hỏng thông tin trong cơ sở dữ liệu. Đó sẽ là thảm họa thực sự đối với các cơ sở dữ liệu quan trọng. Vì thế, khi xây dựng ứng dụng nên cho người sử dụng những chức năng có hạn thông qua hệ thống bảng chọn.
THỰC HÀNH
Bài 1. Tạo cơ sở dữ liệu
Tạo cơ sở dữ liệu có cùng tên Hoc sinh và tạo bảng Lop10a_Suckhoe chứa thông tin về sức khỏe của học sinh trong lớp. Tạo các trường trong bảng theo các thông tin như bảng 5.7.
Bảng 5.7 Name (Tên trường) Type (Kiểu dữ liệu) Width (Độ rộng) Decimal (Sau dấu chấm) Caption
(trong Field Properties)
ten character 8 Tên
tuoi integer Tuổi
doanvien logical Đoàn viên
hodem character 12 Họ và
chieucao integer Chiều cao
diemtrungbin h
1. Khởi động Visual FoxPro và mở đề án Hoc sinh.
2. Trong cửa sổ đề án nháy chuột để chọn trang Data (Dữ liệu), chọn nhóm Databases và nháy nút (Mới) để tạo cơ sở dữ liệu mới.
3. Đặt cùng tên Hoc sinh cho cơ sở dữ liệu và lưu vào kẹp hồ sơ De an. Trên màn hình xuất hiện cửa sổ Database Designer (Thiết kế cơ sở dữ liệu) với tên cơ sở dữ liệu vừa tạo.
4. Chọn lệnh New Table trong bảng chọn Database. Cửa sổ New Table hiện ra có hai nút
Table Wizard (Thuật sĩ bảng) và Table Designer (Bộ thiết kế bảng). Ta có thể chọn một trong hai nút lệnh này.
5. Nháy nút New Table gọi Bộ thiết kế bảng để xây dựng cấu trúc bảng.
6. Trong cửa sổ Create đặt tên cho bảng mới sẽ tạo là Lop10a_Suckhoe và nháy Save để lưu vào kẹp hồ sơ De an. Sau khi thực hiện các thao tác này, trên màn hình sẽ xuất hiện cửa sổ
Table Designer (Thiết kế bảng) với tên Lop10a_Suckhoe trong ô Table Name (Tên bảng) và trang Table đang được mở. Con trỏ đang trong ô được viền quanh ở cột Name (Tên).
7. Gõ ten từ bàn phím. Ô bên phải có mũi tên xuất hiện với kiểu ngầm định là character. Nháy mũi tên trong ô dưới cột Width để chọn 8. Đặt điểm chèn trong ô Caption (hàng dưới cùng) và gõ Tên. Cuối cùng nháy vào ô viền quanh để kết thúc việc tạo cấu trúc cho trường đầu tiên.
8. Thực hiện tương tự như bước 7 để tạo các trường theo các thông tin trên bảng 5.7. Mỗi trường tương ứng với một dòng trong khung mầu trắng ở phần giữa cửa sổ. Với mỗi trường, cần đặt tên, xác định kiểu dữ liệu và độ rộng cho trường trong các cột Name (Tên), Type
(Kiểu), With (Độ rộng). Chú ý để thấy với các trường tuoi, doanvien, chieucao Foxpro tự động gán độ rộng tương ứng cho trường (4, 1 và 4).
Trong khi tạo trường, sử dụng phím TAB hay các phím mũi tên để di chuyển, nếu sai có thể dùng các phím TAB, DELETE và BACKSPACEđể sửa.
9. Khi đã mô tả hết các trường của bảng, nháy OK để xác nhận.Việc tạo cấu trúc bảng đã hoàn thành. Foxpro sẽ hỏi Input data now? (Có nhập dữ liệu bây giờ không?). Nháy No để không nhập dữ liệu ngay và giữ nguyên trạng thái màn hình (cửa sổ Database Designer đang mở hiển thị bảng vừa tạo với các trường của nó).
10. Nháy nút Close (Đóng) ở góc trên bên phải cửa sổ Database Designer để đóng lại.
11. Nháy tiếp nút Close (Đóng) ở góc trên bên phải cửa sổ Project Manager để đóng lại và thoát khỏi Visual FoxPro.
Bài 2. (Câu hỏi)
Hãy xét xem những trường nào (thuộc tính nào) không cần thiết lắm đối với một hồ sơ sức khỏe? Cần thêm những trường nào quan trọng đối với một hồ sơ liên quan đến sức khỏe?
Bài 3. Mở đề án, cơ sơ dữ liệu và bảng dữ liệu
Trong bài này ta thực hành các thao tác mở đề án, cơ sở dữ liệu và bảng dữ liệu đã được tạo để xem và sửa đổi cấu trúc.
1. Khởi động lại Visual FoxPro.
2. Nháy File|Open. Hộp thoại Open mở ra.
3. Chọn kiểu tệp là Project (*.pjx, *.fpc, *.cat) trong ô Files of type. Trong trường hợp cần thiết, nháy nút để mở kẹp hồ sơ De an và nháy chọn tên đề án Hoc sinh.pjx. 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.
5. Nháy chọn cơ sở dữ liệu Hoc sinh và nháy nút Modify. Cửa sổ Database Designer – Hoc sinh mở ra cho thấy bảng dữ liệu Lop10a_Suckhoe.
6. Nháy chuột phải trên bảng dữ liệu Lop10a_Suckhoe. Khi bảng chọn tắt hiện ra, nháy lệnh
Modify. Cửa sổ Table Designer xuất hiện cho thấy cấu trúc và các trường của bảng. Tạm thời hãy nháy nút ở góc trên bên trái cửa sổ Table Designer và chọn lệnh Close (Đóng) để đóng lại (nháy nút ở góc trên bên phải cửa sổ cũng cho cùng kết quả).
7. Nháy lại chuột phải trên bảng dữ liệu Lop10a_Suckhoe trong cửa sổ Database Designer. Khi bảng chọn tắt hiện ra, nháy lệnh Browse. Cửa sổ Lop10a_Suckhoe xuất hiện cho thấy nội dung của bảng. Ngoài hàng tiêu đề, trong bảng chưa có dữ liệu thực sự nào.
8. Nháy nút ở góc trên bên trái cửa sổ Lop10a_Suckhoe và chọn lệnh Close (Đóng) để đóng lại (có thể nháy nút ở góc trên bên phải cửa sổ).
9. Nháy tiếp biểu tượng ở góc trên bên trái cửa sổ Database Designer và chọn lệnh Close
(Đóng) để đóng cửa sổ này.
Bài 4. Tạo bảng mới
Trong bài này, bên cạnh bảng Lop10a_Suckhoe ta tạo thêm một bảng mới cũng trong cơ sở dữ liệu Hoc sinh với tên là Lop10a_Hocluc.
1. Chú ý rằng trong cửa sổ Project Manager cơ sở dữ liệu Hoc sinh đang được chọn. Nháy nút
New để thấy cửa sổ Open (cho phép mở đề án) xuất hiện. Nháy nút ở góc trên bên phải để đóng cửa sổ Open.
2. Nháy kí hiệu bên trái cơ sở dữ liệu Hoc sinh để mở. Nháy chọn Tables bên trong Hoc sinh.
3. Nháy nút New và thấy rằng lúc này hộp thoại New Table xuất hiện.
4. Thực hiện các thao tác từ bước 5 đến bước 9 trong bài thực hành 1 để tạo một bảng với với tên là Lop10a_Hocluc và thiết lập cấu trúc cho nó theo bảng 5.8.
Bảng 5.8 Name (Tên trường) Type (Kiểu dữ liệu) Width (Độ rộng) Decimal (Sau dấu chấm) Caption
(trong Field Properties)
hodem character 12 Họ và
ten character 8 Tên
tuoi integer Tuổi
toan numeric 5 2 Toán
li numeric 5 2 Lí
van numeric 5 2 Văn
su numeric 5 2 Sử
diemtrungbin h
5. Sau khi tạo xong bảng, đóng hết mọi cửa sổ và thoát khỏi Visual FoxPro.
Bài 5. Tạo cơ sở dữ liệu mới trong cùng đề án và xem cấu trúc của đề án
Trong bài này ta tạo một cơ sở dữ liệu thứ hai trong cùng đề án hoc sinh. 1. Khởi động lại Visual FoxPro và mở đề án hoc sinh.
2. Nháy mở trang Data, mở nhóm Databases trong cửa sổ Project Manager và chọn cơ sở dữ liệu Hoc sinh.
3. Nháy nút New và cửa sổ Create xuất hiện. Quan sát để thấy rằng trong ô Save as type tùy chọn Database xuất hiện theo ngầm định.
4. Cho tên giao viên vào ô Enter database và lưu ý chọn kẹp hồ sơ là De an. Nháy Save để lưu.
5. Cửa sổ Database Designer xuất hiện. Tạm thời ta không tạo bảng trong cơ sở dữ liệu này. Do vậy nháy nút ở góc trên bên phải cửa sổ để đóng lại.
6. Quan sát trong cửa sổ Project Manager để thấy rằng trong đề án hoc sinh đã xuất hiện cơ sở dữ liệu giao vien.
7. Nháy kí hiệu bên trái giao vien và thấy rằng trong cơ sở dữ liệu này chưa có bảng nào. Đóng cửa sổ Project Manager và thoát khỏi Visual FoxPro.
Bài 6. Thay đổi cấu trúc bảng
Ta thấy rằng các trường điemtrungbinh và đoanvien trong bảng Lop10a_Suckhoe của cơ sở dữ liệu hoc sinh không cần thiết cho một hồ sơ sức khỏe. Ngược lại, ít nhất là còn thiếu các trường sau đây: giơitinh chứa giới tính của học sinh, cannang chứa trọng lượng học sinh và thethao cho biết môn thể thao mà học sinh đó tham gia.
Trong bài này ta sẽ thay đổi cấu trúc bảng vừa tạo. Hãy thực hiện các bước sau đây với cửa sổ bảng đang mở trong Database Designer (khi vừa tạo xong bảng).
1. Khởi động lại Visual FoxPro và mở đề án hoc sinh.
2. Nháy mở trang Data, mở nhóm Databases trong cửa sổ Project Manager và nháy kí hiệu bên trái cơ sở dữ liệu Hoc sinh và bên trái Tables để hiển thị bảng Lop10a_Suckhoe. Sau cùng nháy chọn bảng này.
3. Nháy nút chọn Modify (Thay đổi). Cửa sổ Table Designer xuất hiện và trong ô Table Name có tên Lop10a_Suckhoe.
4. Đặt điểm chèn ở tên trường tuoi và thay đổi trường này sao cho nó trở thành: Tên trường: ngaysinh,
Kiểu: Date,
Caption: Ngày sinh.
5. Nháy nút Insert (Chèn) để thêm các trường sau đây vào bảng: cannang (kiểu Integer)
thethao (kiểu Character với Width = 15)
gioitinh. Lưu ý rằng đối với trường gioitinh có thể định nghĩa dùng kiểu cho nó là
Logical vì thực chất chỉ cần đến hai giá trị để mô tả nam hay nữ. Tuy nhiên ở đây ta sẽ dùng kiểu Character với độ rộng 5, mục đích để viết rõ nam hay nữ.
Chú ý điền vào các vùng Caption tương ứng (trong Field Properties).
6. Chọn trường điemtrungình và nháy nút Delete để xóa trường này khỏi bảng. Thực hiện thao tác tương tự để xóa trường đoanvien.
7. Đưa trường hodem lên trên cùng bằng cách nháy vào nút bên trái trường để thấy xuất hiện nút và kéo thả chuột tới vị trí cần thiết.
8. Nháy OK. Hộp thoại cảnh báo xuất hiện với câu hỏi Make structure changes permanent? Yes/No? (Có thay đổi không?). Nháy Yes để ghi nhận thay đổi.
Bài 7. Nạp dữ liệu vào bảng
1. Sau khi đã hoàn chỉnh cấu trúc như ở bài thực hành 6, nháy chuột để chọn bảng
Lop10a_Suckhoe và nháy nút Browse để mở cửa sổ Lop10a_Suckhoe (hoặc chọn lệnh View| Browse “Lop10a_Suckhoe”, tùy theo trạng thái hiện thời của cửa sổ đề án).