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
Trang 1Chươ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áchliê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 sinhtrong 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 theomộ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
Bảng 5.1 Ví dụ về bảng trong cơ sở dữ liệu
165
Trang 2Họ và tên Giới tính Ngày sinh Địa chỉ Đoàn viên
Phan Anh Tuấn Nam 30/4/1985 23 Trần Hưng Đạo Chưa
ây l m t ví d v c s d li u h c sinh
Đây là một ví dụ về cơ sở dữ liệu học sinh à một ví dụ về cơ sở dữ liệu học sinh ột ví dụ về cơ sở dữ liệu học sinh ụ về cơ sở dữ liệu học sinh ề cơ sở dữ liệu học sinh ơ sở dữ liệu học sinh ở dữ liệu học sinh ữ liệu học sinh ệu học sinh ọc sinh
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ừ…
Trang 3Chú ý 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 conngườ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ácphươ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 hivọ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ỗibả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 ị của tất cả các thuộc tính liên quan đến một đối tượng cụ thể ủa tất cả các thuộc tính liên quan đến một đối tượng cụ thể ất cả các thuộc tính liên quan đến một đối tượng cụ thể ột ví dụ về cơ sở dữ liệu học sinh đến một đối tượng cụ thể.n m t ột ví dụ về cơ sở dữ liệu học sinh đối tượng cụ thể ượng cụ thể.i t ng c th ụ về cơ sở dữ liệu học sinh ể
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ể.
167
Trang 4Trong 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áccũ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 chongườ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
Trang 5Cá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 đầuthậ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 VisualFoxpro 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ớichuộ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àntoà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áccô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 ứngdụ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ự độngtù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
169
Trang 6 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àntoà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ạytrong 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ácsau đâ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 ến một đối tượng cụ thể ột ví dụ về cơ sở dữ liệu học sinh ữ liệu học sinh ổ đang mở còn chứa các thông tin chưa được lưu, Visual Foxpro đ ở dữ liệu học sinh ư đượng cụ thể ư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 ư đ à một ví dụ về cơ sở dữ liệu học sinh ăng ghi nếu muốn ến một đối tượng cụ thể ối tượng cụ thể
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
Trang 7Hì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ànhnăm vùng cơ bản:
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
171
Trang 8Thanh 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ếpcá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ấthiệ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àmviệ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ọntạ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ựchiệ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
Trang 9Vù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
Print Preview Mở cửa sổ xem kiểm tra trước khi in
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
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ỏ
View Windows Mở cửa sổ trình bày dữ liệu
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
173
Trang 105 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
Trang 11a) 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ừ đơngiả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 ổ đang mở còn chứa các thông tin chưa được lưu, Visual Foxpro ột ví dụ về cơ sở dữ liệu học sinh ạ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 đó
175
Trang 12Để 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 (Đây là một ví dụ về cơ sở dữ liệu học sinh.ề cơ sở dữ liệu học sinh án) đượng cụ thể.c ch n theo ng m nh (h 5.5a).ọc sinh ầm định (h 5.5a) đị của tất cả các thuộc tính liên quan đến một đối tượng cụ thể
Hình 5.5 Lưu đề án bằng hộp thoại Create
Trang 13 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í đề cơ sở dữ liệu học sinh án) (h 5.6a), c a s n y s ổ đang mở còn chứa các thông tin chưa được lưu, Visual Foxpro à một ví dụ về cơ sở dữ liệu học sinh đượng cụ thể.c g i m t cách ng n g n l c a s ọc sinh ột ví dụ về cơ sở dữ liệu học sinh ắn gọn là cửa sổ đề án ọc sinh à một ví dụ về cơ sở dữ liệu học sinh ổ đang mở còn chứa các thông tin chưa được lưu, Visual Foxpro đề cơ sở dữ liệu học sinh án
Hình 5.6a Cửa sổ Project Manager Hình 5.6b Mở đề án
177
Trang 14Sau 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)
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.
Trang 15Lư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 VisualFoxPro 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à:
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ăngcủa các nút trên thanh công cụ chuẩn
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ựchiệ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.
179
Trang 16TÓ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ầumớ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áocá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ưutrữ 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
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àysinh, 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ênsá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 đ ột ví dụ về cơ sở dữ liệu học sinh đầm định (h 5.5a) đủa tất cả các thuộc tính liên quan đến một đối tượng cụ thể.y các thu c tính c n qu n lí, ta l p c u trúc cho m iột ví dụ về cơ sở dữ liệu học sinh ầm định (h 5.5a) ập cấu trúc cho mỗi ất cả các thuộc tính liên quan đến một đối tượng cụ thể ỗi
b ng d li u, bao g m các trữ liệu học sinh ệu học sinh ồm các trường tương ứng với các thuộc tính đó ường tương ứng với các thuộc tính đó.ng tươ sở dữ liệu học sinh.ng ng v i các thu c tính ó.ới các thuộc tính đó ột ví dụ về cơ sở dữ liệu học sinh đ
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.
Trang 17Tạ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 đếnnhữ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ượngtrong đó, 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)
b) Thanh công cụ Database
181
Trang 18a) Bảng chọn 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)
Trang 19Nộ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úcbả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ủabả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
Remove Tale Loại bỏ bảng khỏi cơ sở dữ liệu
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
Số Integer, Numeric, Float, Double Ngày tháng và Thời gian DateTime
183
Trang 20Ta 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 chocá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àykhô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ướidạ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ểungà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ểuAnh-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)
Trang 21Các trường kiểu nhớ cũng có kiểu tương tự như kiểu kí tự, chỉ khác là không bị hạn chế về độ dài
do Visual Foxpro tạo một tệp riêng để lưu các dữ liệu của các trường kiểu nhớ; tệp này có đuôi
là FPT Các trường này thích hợp để ghi các chú thích hoặc các nội dung mà độ dài có thể khônghoạch định được từ trước
Để tạo trường kiểu nhớ, chọn Memo trong danh sách kiểu.
Để tạo bảng mới và định nghĩa cấu trúc của nó, hãy thực hiện các bước sau:
Ngay tại bước đầu tiên ta có thể chọn một trong các cách sau:
Chọn lệnh Database|New Table (Cơ sở dữ liệu|Bảng mới).
Chọn New Table ở bảng chọn ngắn khi nháy nút phải chuột ở cửa sổ Database
Designer.
Nháy nút (New Table) trên thanh công cụ Database Designer.
Không phụ thuộc vào phương pháp được sử dụng, cửa sổ New Table (h 5.11) hiện ra cho phép chọn dùng Table Wizard (Thuật sĩ tạo bảng) hay dùng Table designer (Bộ thiết kế bảng)
Visual Foxpro chứa một loạt các bảng có thể dùng làm mẫu cho các
bảng sẽ tạo Để sử dụng các bảng mẫu làm cơ sở, hãy nháy vào nút
Table Wizard (Thuật sĩ tạo bảng) Sử dụng Thuật sĩ sẽ tiết kiệm
được thời gian, tuy nhiên nếu bảng định tạo không giống lắm với
những bảng mẫu có sẵn thì tốt hơn cả là sử dụng Bộ thiết kế bảng
Các bước dưới đây minh họa cách thứ hai
Nháy New Table để mở cửa sổ Table Designer (Bộ thiết kế
185
Trang 22 Đặt tên cho bảng mới sẽ tạo và lưu vào kẹp hồ sơ tương ứng trong cửa sổ Create Sau khi thực hiện các thao tác này sẽ xuất hiện cửa sổ Table Designer (Thiết kế bảng) (h 5.12).
Mỗi trường sẽ tương ứng với một dòng trong khung ở phần màu trắng 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 (Đây là một ví dụ về cơ sở dữ liệu học sinh.ột ví dụ về cơ sở dữ liệu học sinh ột ví dụ về cơ sở dữ liệu học sinh r ng)
Hình 5.12 Cửa sổ thiết kế bảng Table Designer
Khi định nghĩa các tính chất của mộttrường, để chuyển từ một cột sangcột tiếp theo, hãy sử dụng phím TAB.Khi nhấn phím TAB ở sau cột cuốicùng (NULL), con trỏ chuyển xuốngdòng dưới để chuẩn bị cho việc mô
tả trường tiếp theo
Nếu gõ nhầm trong khi đang mô tảtrường, có thể dùng các phím mũitên, BACKSPACE và DELETE để có thểsửa lại ngay
Khi đã mô tả hết các trường của
bảng, nháy OK để xác nhận.Sau
bước này, việc tạo cấu trúc bảng
đã hoàn thành
Trang 23Sau khi nháy OK ở bước 5, một hộp cảnh báo xuất hiện cho phép lựa chọn để nhập ngay dữ liệu vào bảng vừa được khởi tạo hoặc chỉ lưu cấu trúc của bảng Nháy Yes, cửa sổ để nhập dữ liệu
vào bảng được hiển thị và có thể nhập dữ liệu vào bảng ngay ở bước này Tuy nhiên, vì có thể mởbảng để thay đổi cấu trúc hoặc nhập dữ liệu bất kì lúc nào, trong giai đoạn này hãy tập trung vào
việc xây dựng cấu trúc thay vì nhập các thông tin chi tiết Nháy No để đóng hộp cảnh báo và kết
thúc việc tạo cấu trúc bảng
Thông thường một cơ sở dữ liệu gồm nhiều bảng Ta có thể mở đồng thời nhiều bảng khác nhau
Để mở một bảng đã được tạo từ trước, hãy mở cửa sổ thiết kế bảng Project Managner và nháy
kí hiệu bên trái nhóm Table trong cửa sổ đó để xem danh sách các bảng Nháy chọn bảng cần thiết và nháy tiếp nút Modify sẽ nhận được hộp thoại Table Designer (h 5.12) Với hộp thoại
này có thể xem và thay đổi cấu trúc của bảng
e) Tính chất của trường
Ngoài tên, kiểu và độ rộng, mỗi trường có thêm các tính chất mở rộng được liệt kê ở vùng Field
Properties (Các tính chất của trường) góc trái bên trái cửa sổ Table Designer Bảng 5.5 mô tả
các tính chất của trường
Bảng 5.5 Các tính chất của trường
Validation Rule Điều kiện đảm bảo nhập đúng dữ liệu
Validation Text Thông báo khi dữ liệu nhập sai
Default Value Giá trị ngầm định (khi trường không được nhập giá trị
nào)
Caption Tiêu đề (dùng khi hiển thị)
187
Trang 24Cần lưu ý đến tính chất cuối cùng (Caption) Tên trường phải tuân theo một số hạn chế khi đặt tên, chẳng hạn không được chứa dấu cách Do vậy có thể sử dụng tính chất Caption (tiếng Anh có
nghĩa là đầu đề) để đặt các tiêu đề dễ nhìn cho các cột Các tiêu đề này sẽ xuất hiện trong các biểumẫu hay báo cáo
Ví dụ Trường gioitinh có Caption tương ứng là Giới tính;
Trường cannang có Caption tương ứng là Cân nặng.
2 Sửa cấu trúc bảng
Khi cấu trúc bảng không phù hợp, có thể sửa đổi nó trước khi nạp dữ liệu cũng như sau khi dữliệu đã được nạp Trong trường hợp này các thông tin trong các cột cũng được sửa đổi theo.Visual Foxpro cho phép sửa cấu trúc các bảng bất cứ lúc nào trong quá trình làm việc, trong đó
có các thao tác:
Đổi tên trường và/hoặc kiểu dữ liệu của nó
Chèn thêm hoặc loại bỏ trường
Thay đổi thứ tự các trường
Để thay đổi cấu trúc bảng, trong cửa sổ đề án hãy chọn cơ sở dữ liệu chứa bảng cần sửa và nháynút Cửa sổ Database Designer xuất hiện Chọn bảng cần sửa trong cửa sổ đó và nháy chuột phải, sau đó chọn Modify (Thay đổi) trong bảng chọn tắt Ta cũng có thể sử dụng nút
Modify Table (Sửa bảng) trên thanh công cụ hoặc chọn lệnh Modify trong bảng chọn
Database Kết quả là cửa sổ thiết kế bảng Table Designer hiện ra, chứa cấu trúc hiện thời của
bảng
a) Đổi tên trường và/hoặc kiểu của nó
Giả sử khi đặt tên trường hoặc kiểu có lỗi và lỗi này chỉ được phát hiện sau khi đã mô tả xong
trường Khi cửa sổ thiết kế bảng Table Designer được mở lại, hãy đặt con trỏ vào nơi cần sửa
(tên trường hoặc kiểu) Dùng các phím BACKSPACE hay DELETE để xóa các kí tự sai, sau đó gõ lạitên đúng
Thay đổi kiểu được thực hiện tương tự như khi chọn kiểu mới Nên nhớ rằng khi thay đổi kiểucủa trường trong bảng đã có dữ liệu, các dữ liệu sẽ bị mất
b) Chèn thêm trường hoặc loại bỏ trường
Có thể chèn thêm một trường mới và trước hay sau một trường đã được định nghĩa trong bảng
Để chèn thêm một trường vào bảng, trước tiên chọn trường đứng sau trường sẽ chèn thêm vào và
nháy nút Insert Visual Foxpro đặt một dòng trống vào chỗ cần thiết với tên là New Field và kiểu
ngầm định là Character có độ rộng 10 Tại đây ta có thể cho các mô tả về trường mới.
Nếu cần chèn một trường vào cuối thì chỉ cần đặt con trỏ vào ô trống dưới cùng và định nghĩa
Để xóa đi một trường không cần thiết, đưa con trỏ tới vị trí trường đó và nháy nút Delete.
c) Thay đổi thứ tự các trường
Nếu cần thay đổi thứ tự các trường, ta có thể sử dụng nút nằm bên trái tên các trường Nháychuột tại nút ở bên trái tên trường cần thay đổi vị trí, nút trở nên dạng Đưa con trỏ tới đây,nháy và kéo thả tới chỗ muốn đặt trường Trường sẽ được đưa tới chỗ mong muốn
3 Nhập và khai thác thông tin trong cơ sở dữ liệu
Trang 25Sau khi đã hoàn chỉnh cấu trúc, bước cuối cùng trong việc tổ chức cơ sở dữ liệu là nhập dữ liệuvào các trường trong các bảng Muốn nhập dữ liệu (các bản ghi) vào bảng trước hết cần phải mởbảng
Với mọi đối tượng trong đề án (cơ sở dữ liệu, bảng, biểu mẫu, v.v.) có nhiều cách mở khác nhau
Để mở một bảng, ta có thể thực hiện một trong các cách sau đây:
Trong cửa sổ Project Manager nháy trang Data, mở nhóm Table trong Database để hiển thị và chọn tên bảng cần nhập dữ liệu Sau đó nháy nút Browse (hoặc chọn lệnh
View|Browse tên_bảng, với tên_bảng là tên bảng được chọn).
Nháy trang Data trong cửa sổ Project Manager, nháy chọn tên cơ sở dữ liệu chứa bảng cần mở và nháy nút Modify Sau đó trong cửa sổ Database Designer (Thiết kế cơ sở dữ liệu) nháy chuột phải tại bảng cần mở và nháy Browse trên bảng chọn tắt.
Nháy chọn File|Open, chọn tên bảng trong hộp thoại Open (lưu ý chọn Table (*.dbf) trong ô Files of type) và nháy OK.
Cửa sổ có thanh tiêu đề mang tên bảng (gọi là cửa sổ duyệt) mở ra cho thấy các trường và nội
dung của chúng theo dạng bảng như hình 5.13
Có thể xem và sửa đổi nội dung của bảng dữ liệu trong hai chế độ
hiển thị: chế độ Browse (Duyệt) và chế độ Edit (Soạn thảo) Trong
các chế độ hiển thị này ta có thể sửa đổi nội dung của các bản ghihiện có trong bảng, nhưng không thể nhập thêm các bản ghi mới
189
Trang 26Để có thể nhập thêm các bản ghi, phải chuyển về chế độ hiển thị Append Mode (Thêm bản ghi) Việc chuyển đổi giữa các chế độ hiển thị Browse, Edit và Append Mode được thực hiện bằng cách chọn các tùy chọn tương ứng trên bảng chọn View (h 5.14) Trong cả hai chế độ Browse và
Edit đều có thể chọn tùy chọn Append Mode, tuy nhiên một khi đã chọn chế độ Append Mode
thì chế độ này vẫn được duy trì cho đến khi bảng được đóng lại
Bây giờ ta xét các thao tác nhập và sửa dữ liệu trong bảng Sau khi mở bảng và chuyển sang chế
độ thêm bản ghi, con trỏ trở về trường đầu tiên trong bản ghi cuối cùng Bên trái trường (dòng)xuất hiện ký hiệu đánh dấu bản ghi đang được kích hoạt, còn ô tương ứng được “bôi đen” sẵnsàng để nhận dữ liệu
Khi đã nhập xong dữ liệu trong một ô, hãy nhấn phím TAB để chuyển sang trường tiếp theo Saukhi nhập xong dữ liệu cho ô cuối cùng của bản ghi, nhấn phím TAB sẽ chuyển về ô đầu tiên Khi
đó có thể dùng phím để chuyển sang bản ghi (dòng) tiếp theo (chỉ cần cho thông tin vào mộttrường trong bản ghi cũng có thể chuyển sang bản ghi tiếp theo)
Trong quá trình nhập dữ liệu, nếu có sai sót, hãy nháy chuột ở đó để sửa lại Khi sửa có thể sửdụng các phím mũi tên , , phím DELETE và phím BACKSPACE để di chuyển và xóa phần dữliệu trong một trường
Với các trường kiểu charater (kí tự), khi nhập đủ số kí tự
đã được định nghĩa khi xác định cấu trúc, con trỏ sẽ tự
động nhảy sang trường tiếp theo Khi nhập dữ liệu vào
các trường kiểu date (ngày tháng), ta không cần phải cho
dấu / vì dấu này đã có sẵn và khi nhập xong con trỏ cũng
tự động nhảy sang trường tiếp theo Nếu dữ liệu không
phải là ngày tháng thì hộp cảnh báo xuất hiện ở góc phải
màn hình với nội dung Invalid Date (Ngày tháng không
hợp lệ) Ta phải sửa lại cho đúng, nếu không sẽ không thể
di chuyển sang trường khác trừ khi xóa dữ liệu sai
b) Di chuyển trong cơ sở dữ liệu và khai thác thông tin
Việc di chuyển trong cơ sở dữ liệu và khai thác thông tin
từ cơ sở dữ liệu được thực hiện thông qua bảng chọn
Table (h 5.15) Một số chức năng quan trọng trong bảng
chọn này được liệt kê trong bảng 5.6 Hình 5.15 Các lệnh trên bảng chọn Table
Bảng 5.6 Các lệnh thực hiện trên bảng
Remove Deleted Records Xóa vật lí các bản ghi bị đánh dấu
Trang 27Trong cơ sở dữ liệu ta có thể di chuyển đến các bản ghi trên cùng (Top), dưới cùng (Bottom), tiếp theo (Next), ngay đằng trước (Previous), đến bản ghi có số thứ tự biết trước (Record #…) hoặc tìm bản ghi theo tiêu chuẩn nào đó (Locate…).
Các thao tác sửa đổi có thể thực hiện được là đánh dấu xóa bản ghi, khôi phục các bản ghi đãđánh dấu xóa hoặc loại bỏ vĩnh viễn chúng khỏi cơ sở dữ liệu, thêm bản ghi vào cơ sở dữ liệu…
Ví dụ Gi s trong c s d li u ta có b ng d li u nh minh h a trên hình 5.13 ang m Taơ sở dữ liệu học sinh ở dữ liệu học sinh ữ liệu học sinh ệu học sinh ữ liệu học sinh ệu học sinh ư ọc sinh đ ở dữ liệu học sinh.tìm b n ghi h c sinh ọc sinh đầm định (h 5.5a).u tiên trong danh sách có chi u cao l n h n 160cm qua cácề cơ sở dữ liệu học sinh ới các thuộc tính đó ơ sở dữ liệu học sinh
bưới các thuộc tính đó.c sau:
Hình 5.16
Hình 5.17
191
Trang 28 Chọn Table|Go To Record|Locate (Bảng|Đi tới bản ghi|Định vị)
Đặt điều kiện cho việc tìm kiếm trong cửa sổ Locate Record (Định vị bản ghi) (h 5.16):
Nháy vào Scope (Phạm vi) và chọn All (Tìm trong toàn bộ bảng) Nháy OK.
Nháy vào For (Thỏa mãn) và cho điều kiện tìm kiếm (ví dụ chieucao > 160) vào vùng
trắng ở ô Locate Record For (Tìm bản ghi thỏa mãn) trong cửa sổ Expression Buider (h 5.17) Nháy OK để quay lại cửa sổ Locate Record.
Sau khi đã đưa ra tất cả các điều kiện cần thiết cho việc tìm kiếm, nháy nút Locate để tìm và
thấy con trỏ chỉ vào bản ghi mang họ tên Nguyễn Gia Khánh với chiều cao bằng 162 Đóchính là kết quả của việc tìm kiếm
Cũng có thể tìm tiếp các bản ghi khác thỏa mãn cùng điều kiện này bằng cách đánh dấu vào lựa
chọn Rest (Những bản ghi còn lại) trong Scope (Phạm vi).
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
Trang 29 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ến một đối tượng cụ thể ư ới các thuộc tính đó à một ví dụ về cơ sở dữ liệu học sinh ực tế thường có) thì việc ến một đối tượng cụ thể ường tương ứng với các thuộc tính đó.ng có) thì vi cệu học sinh.thay th t ến một đối tượng cụ thể ực tế thường có) thì việc đột ví dụ về cơ sở dữ liệu học sinh.ng nh v y s ư ập cấu trúc cho mỗi đỡ tốn công sức bao nhiêu! ối tượng cụ thể 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 ứngdụ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
193
Trang 30THỰ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
(trong Field Properties)
Trang 311 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ỗitrườ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.
4 Nháy mở trang Data (Dữ liệu) và nháy kí hiệu bên trái nhóm Databases để mở nhóm này.
Kí hiệu trở thành Cơ sở dữ liệu Hoc sinh được hiển thị.
195
Trang 325 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.
Trang 335 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
197
Trang 347 Đư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).
2 Nháy chọn lệnh View|Append Mode để chuyển về chế độ có thể nhập các bản ghi
3 Nạp các thông tin trong hình 5.13 vào bảng (Trường thethao tạm thời để trống)
4 Sau khi nhập xong thông tin, hãy đóng cửa sổ Lop10a_Suckhoe.
Bài 8 Khai thác cơ sở dữ liệu
Trong bài này ta sẽ thực hiện một số thao tác trực tiếp trong cơ sở dữ liệu Thông thường, nhữngngười không có trách nhiệm bảo trì cơ sở dữ liệu không nên thực hiện các thao tác này vì có thểgây ra các hiệu quả khó lường trước Thay vào đó, những người thiết kế sẽ phải tạo ra giao diện
để người sử dụng tác động vào nội dung cơ sở dữ liệu một cách gián tiếp
1 Nếu chưa ở chế độ hiển thị bảng Lop10a_Suckhoe thì hãy vào chế độ này theo trình tự: Mở
đề án, nháy trang Data, mở nhóm Databases, chọn bảng Lop10a_Suckhoe và chọn lệnh
View|Browse “Lop10a_Suckhoe” Trên thanh bảng chọn chính xuất hiện tên bảng chọn
Table.
2 Dùng lệnh Table|Append New Record (B ng|Thêm b n ghi m i) ới các thuộc tính đó để thêm các b n ghi
m i v o b ng theo các thông tin t sáng tác.ới các thuộc tính đó à một ví dụ về cơ sở dữ liệu học sinh ực tế thường có) thì việc
Hình 5.19 Hộp thoại Delete
3 Đánh dấu xóa một số bản ghi bằng cách
chọn Table|Delete Records (Bảng|Xóa
bản ghi)
4 Khi hộp thoại Delete (h 5.19) hiện ra,
nháy (Xóa) để đánh dấu xóa bản ghi hiện thời (chú ý rằng còn có các cách
lựa chọn những bản ghi khác để xóa khi
nháy vào Scope (Phạm vi).
Trang 35Nhớ rằng các bản ghi này mới được đánh dấu xóa, nhưng chưa bị xóa hẳn Để xóa vĩnh viễn
chúng, có thể dùng Table|Remove Deleted Records (Bảng|Loại bỏ bản ghi) Chọn lệnh này
để xóa vĩnh viễn các bản ghi mới được đưa vào Sau khi chọn lệnh, hộp cảnh báo xuất hiện để
khẳng định lại ý định xóa Nháy Yes để xóa vĩnh viễn bản ghi đã được đánh dấu xóa.
Khi xóa vĩnh viễn một bản ghi nào đó, cửa sổ hiển thị nội dung bảng sẽ đóng lại Hãy nháy
lại nút Browse để mở lại bảng.
5 Đánh dấu xóa một bản ghi khác và ngay sau đó khôi phục lại bằng lệnh Table|Recall
Records (Bảng|Khôi phục bản ghi).
6 Nháy chọn một bản ghi chưa được đánh dấu xóa và nháy lệnh Table|Remove Deleted
Records Khi hộp cảnh báo hiện ra hãy nháy Yes Sau đó nháy lại nút Browse để mở lại
bảng Quan sát để thấy rằng bản ghi không bị xóa Em rút ra kết luận gì?
7 Tìm một học sinh cân nặng là 42kg Để lthực hiện điều này, ta di chuyển tới bản ghi đầu tiên
trong cơ sở dữ liệu có giá trị ở trường cannang là 42 bằng cách thực hiện lần lượt các thao tác
sau:
Mở bảng chọn Table, chọn Go To Record|Locate…
Trong hộp thoại Locate record nháy nút , chọn All, nháy OK Nháy nút , gõ
cannang=42 trong hộp Locate Record For: <expL> và nháy OK.
Nháy nút , ta được kết quả là gì?
Bài 9 Thay thế tự động
1 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
2 Nháy mũi tên trong ô Field để chọn tên trường thethao
3 Trong ô With (Thay bằng), gõ Bóng đá để thay nội dung chưa có của trường thành Bóng đá.
4 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ả) và nháy OK
5 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
6 Cuối cùng nháy nút (Thay thế) Quan sát kết quả nhận được
7 Thực hiện các thao tác trong các bước 1 đến bước 6 để hoàn thành các phép thay thế sau:
Field: gioitinh; With: Nam; Scope: All; For: gioitinh=”M”
Field: gioitinh; With: Nữ; Scope: All; For: gioitinh=”F”.
8 Thực hiện việc thay thế tự động vào trường thethao sao cho tất cả các bạn nữ học môn bóng bàn Quá trình này tương tự như quá trình thay thế tự động được thực hiện trong bài, với các
dữ liệu sau:
Field: thethao; With: bóng bàn; Scope: All; For: gioitinh=”Nữ”.
TÓM TẮT
1 Cấu trúc bảng dữ liệu là tập hợp các trường được đặt tên, mô tả tính chất của các đối tượng
trong bảng Để tạo cấu trúc bảng, có thể sử dụng Table Wizard (Thuật sĩ bảng) hoặc Bộ
thiết kế bảng
2 Các kiểu dữ liệu thường dùng trong Visual Foxpro: kiểu kí tự, kiểu số, kiểu ngày tháng, kiểu
logic
199
Trang 363 Sửa cấu trúc bảng bao gồm các công việc: Đổi tên trường và/hoặc kiểu của nó, chèn thêm
hoặc xóa trường, thay đổi thứ tự các trường Việc sửa đổi cấu trúc được thực hiện trong cửa
sổ thiết kế bảng
4 Sau khi đã nạp thông tin vào các bảng, có thể xem thông tin bằng các lệnh trong bảng chọn View và trực tiếp khai thác thông tin cũng như thực hiện các phép toán trên thông tin trong
bảng bằng các lệnh trong bảng chọn Table.
III - SỬ DỤNG FORM (BIỂU MẪU) ĐỂ NHẬP VÀ SỬA DỮ LIỆU
Sau khi có cơ sở dữ liệu, ta có thể thực hiện nhiều hoạt động trong cơ sở dữ liệu đó, chẳng hạn đểnhập, hiển thị và khai thác thông tin Mục này sẽ trình bày cách thức để người sử dụng thực hiệncác hành động đó một cách tự nhiên và thuận tiện nhất
1 Hiển thị dữ liệu dưới dạng biểu mẫu màn hình
Trong phần trước chúng ta đã làm quen với cách hiển thị thông tin dưới dạng bảng thông qua các
lệnh trong bảng chọn View Cách hiển thị này có trong tất cả các phiên bản Foxpro Bây giờ ta
làm quen với một phương pháp khác hay được dùng hơn, mới có ở phiên bản Visual Foxpro, đó
là biểu diễn thông tin dưới dạng biểu mẫu màn hình.
Hình 5.20 minh họa một biểu mẫu hiển thị nội dung một bản ghi trong bảng Lop10a_Suckhoe Nhận xét rằng biểu mẫu chứa các nút điều khiển, đây là các công cụ trực quan, thuận tiện cho
việc thực hiện các thao tác di chuyển, thêm bớt, cập nhập cũng như tìm kiếm trong cơ sở dữ liệu.Ngoài ra các trường được sắp xếp một cách tự nhiên để thuận tiện cho việc xem cũng như nhập
dữ liệu Biểu mẫu là công cụ tốt nhất trợ giúp cho việc nhập dữ liệu, sử dụng biểu mẫu trongnhững cơ sở dữ liệu lớn sẽ tránh được những sai sót đáng kể
Hình 5.20 Bi u m u ểu mẫu ẫu
Biểu mẫu là một đối tượng cơ sở dữ liệu trên đó ta có thể đặt các nút điều khiển để thực hiện các thao tác hoặc để nạp, hiển thị và sửa dữ liệu trong các trường.
Trang 37Biểu mẫu cho phép hiển thị thông tin dưới dạng dễ dàng cảm nhận và dễ làm việc hơn là xem với
Dùng Form Designer (B thi t k bi u m u), trong ó ngột ví dụ về cơ sở dữ liệu học sinh ến một đối tượng cụ thể ến một đối tượng cụ thể ể ẫu), trong đó người sử dụng tự tạo ra các biểu đ ường tương ứng với các thuộc tính đó.i s d ng t t o ra các bi uụ về cơ sở dữ liệu học sinh ực tế thường có) thì việc ại ể
m u m n hình theo ý mình.ẫu), trong đó người sử dụng tự tạo ra các biểu à một ví dụ về cơ sở dữ liệu học sinh
Sử dụng Thuật sĩ là phương pháp đơn giản nhất để tạo ra các biểu mẫu
201