Visual Basic
Chương 8:
CÁC KHÁI NIỆM CƠ BẢN VỀ CƠ SỞ
DỮ LIỆUMục tiêu:
Chương này giới thiệu về một số khái niệm trong lập trình cơ sở dữ liệu
với VB, những vấn đề cần thiết khi thiết kế các ứng dụng truy cập cơ sở dữ
liệu.
Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau:
- Một số khái niệm khi lập trình cơ sở dữ liệu trong VB.
- Phân biệt DAO, RDO, ADO.
- S
ử dụng môi trường phát triển VB để tương tác với cơ sở dữ liệu.
Kiến thức có liên quan:
- Câu lệnh SQL để truy vấn dữ liệu.
Tài liệu tham khảo:
- Microsoft Visual Basic 6.0 và Lập trình Cơ sở dữ liệu - Chương 18,
trang 447 - Nguyễn Thị Ngọc Mai (chủ biên), Nhà xuất bản Giáo dục –
2000.
Trang 93
Visual Basic
I. Cơ sở dữ liệu
I.1. Khái niệm
Cơ sở dữ liệu là một kho chứa thông tin. Có nhiều loại cơ sở dữ liệu, nhưng
trong khuôn khổ bài giảng này ta chỉ quan tâm đến các ứng dụng lập trình liên quan
đến cơ sở dữ liệu quan hệ.
Một cơ sở dữ liệu quan hệ:
o Chứa dữ liệu trong các bảng, được cấu tạo bởi các dòng còn gọi là các mẩu
trong Visual Basic, các đối tượng recordset có các thuộc tính và phương thức riêng.
II. Truy xuất cơ sở dữ liệu trong Visual Basic 6.0
Visual Basic cung cấp kèm theo nó một bộ máy cơ sở dữ liệu có thể hiểu được
dữ liệu của Microsoft Access gọi là Joint Engine Technology (JET). JET là một bộ
Trang 94
Visual Basic
máy truy cập cơ sở dữ liệu hướng đối tượng và nó là một phần không thể thiếu được
của Visual Basic. Phiên bản của JET đi kèm với VB 6.0 là miễn phí nghĩa là VB có
thể truy xuất trực tiếp cơ sở dữ liệu của Microsoft Access. Giao diện để VB truy xuất
JET có tên là Data Access Objects (DAO).
JET là một bộ máy cơ sở dữ liệu tuyệt vời cho các ứng dụng văn phòng chạy
trên máy đơn, nhưng hiệ
u suất của nó giảm đáng kể khi số lượng người dùng tăng lên
và cơ sở dữ liệu được mở rộng. Vì điều này JET không phải là một giải pháp tối ưu
cho các ứng dụng cơ sở dữ liệu nhiều người dùng. Cho đến nay người ta chưa có một
thống kê chính xác được kích thước dữ liệu tối đa hay số lượng người dùng tối đa của
JET nh
ưng nhìn chung JET bị giới hạn nhiều hơn so với các giải pháp khác trong môi
trường đa người dùng. Tuy vậy, JET là điểm khởi đầu tốt nhất cho người lập trình VB
bởi vì sự đơn giản của nó.
Khi kích thước dữ liệu tăng lên, người lập trình bao giờ cũng muốn xây dựng
một ứng dụng Khách/Chủ (Client/Server) có khả năng bảo mật cao và linh hoạt. Vì lẽ
đó, Microsoft hỗ trợ trong VB để
truy cập các cơ sở dữ liệu quan hệ được thông dịch
bởi chuẩn Open Database Connectivity (ODBC). ODBC là một kỹ thuật cho phép truy
cập các cơ sở dữ liệu quan hệ cao cấp như SQL SERVER hay ORACLE. Tuy nhiên,
ODBC cũng có thể được sử dụng để truy cập các cơ sở dữ liệu nhỏ tổ chức bằng
Microsoft Access hay Foxpro, thậm chí các cơ sở dữ liệu máy chủ như IBM DB2.
Visual Basic sử dụng giao diện
đối tượng Remote Data Objects (RDO) để truy cập
o Chọn mục File -> New -> MicroSoft Access -> Version 7.0 MDB.
o Chọn thư mục ta muốn lưu cơ sở dữ liệu và tên của cơ sở dữ liệu.
Hình VIII.1 Cửa sổ Visual Data
Manager
Tạo bảng
Để tạo mới một bảng, ta chọn Properties trong cửa sổ Databases, nhấp
chuột phải, chọn New Table, đặt tên cho Table tại ô Table Name, ấn Add Field để tạo
mới các trường cho bảng. Hình VIII.3 Cửa sổ tạo khóa
chính và chỉ mục
Tại ô Name, ta sẽ nhập vào tên của chỉ mục, rồi chọn các trường tham gia
vào chỉ mục đó. Nếu ta chọn Primary thì đó chính là các trường cấu thành khóa chính
của bảng. Chọn Unique tức là giá trị của chỉ mục đó sẽ không có sự trùng lặp.
Ấn Close xác nhận rằng ta đã xây dựng xong tập các chỉ mục của bảng.
Sau khi đã hoàn thành tất cả các thao tác trên, để tạo bảng ta ấn Build the
Table.
Tuy rằng đây là một tính năng mới của VB6, tuy nhiên chúng ta cũng sẽ gặp
phải rất nhiều bất tiện khi phải thiết kế một cơ sở dữ liệu hoàn chỉnh cũng như trong
quá trình bảo trì và sử dụng (khó khăn trong việc thay đổi các thuộc tính đã xác lập,
không tạo liên kết giữa các bảng được …). Một phươ
ng cách tốt nhất đó là nên dùng
các hệ quản trị cơ sở dữ liệu chuyên dùng để thực hiện công việc nêu trên.