Sử dụng các điều khiển dữ liệu để tạo giao diện người sử dụng

Cơ sở dữ liệu là phần cốt lõi của nhiều ứng dụng phần mềm kinh doanh. Cơ sở dữ liệu rất phổ biến trong thế giới kinh doanh vì chúng cho phép truy cập tập trung đến các thông tin theo một các nhất quán, hiệu quả và tương đối dễ dàng cho việc phát triển và bảo trì. Chương này tìm hiểu về các khái niệm cơ bản để thiết lập và bảo trì một cơ sở dữ liệu cho một doanh nghiệp, bao gồm cơ sở dữ liệu là gì, tại sao cơ sở dữ liệu hữu dụng và dùng cơ sở dữ liệu như thế nào để tạo ra các giải pháp cho doanh nghiệp.

Bạn đang xem: Trường dữ liệu là gì

Nếu bạn đã từng dùng Visual Basic và từng lập trình với cơ sở dữ liệu. Bạn sẽ thấy chương trình này khá cơ bản, tuy nhiên nó sẽ giúp bạn có được một nền tảng tổt của một hệ quản trị cơ sở dữ liệu nói chung.

Mặc dù các khái niệm cơ sở dữ liệu gần như tương tự giữa các hệ quản trị cơ sở dữ liệu, các nhà cung cập các hệ quản trị cơ sở dữ liệu thường có các tên gọi khác nhau cho các sản phẩm riêng của họ. Ví; dụ, nhiều nhà lập trình Client / Server đề cập đến truy cấn chứa trong cơ sở dữ liệu như là View; trong khi các nhà lập trình Access và Visual Basic lại gọi truy vấn là QueryDef. Cả hai khái niệm này đều là như nhau.

Nếu bạn đã từng dùng phiên bản cũ của VB – nhất là Visual Basic 3, ta cần biết một vài điểm mới trong lập trình cơ sở dữ liệu. Visual Basic chứa phiên bản mới nhất của Bộ máy cơ sở dữ liệu Jet ( Visual Basic chia sẻ với Microsoft Access ). Phiên bản này của Jet đưa ra các bổ sung cho bộ máy cơ sở dữ liệu sẽ được trình bày trong chương này. Ngoài ra, việc bổ sung ADO(Đối tượng dữ liệu ActiveX –ActiveX Data Object ), cũng như các công cụ liên quan trong môi trường phát triền, thể hiện những thay đổi cho các nhà lập trình Visual Basic. Nếu đã quen với phát triển dữ liệu 32 bit trong Visual Basic, Bạn có thể nhảy thẳng đến chương “Đối tượng dữ liệu ActiveX – ADO”.

Cơ sở dữ liệu là gì?

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 ta chỉ đề cập đến cơ sở dữ liệu quan hệ, là kiểu cơ sở dữ liệu phổ biến nhất hiện nay.

Một cơ sở dữ liệu quan hệ:

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 tin, và cột gọi là các trường.

Cho phép lấy về ( hay truy vấn ) các tập hợp dữ liệu con từ các bảng

Bộ máy (Engine) cơ sở dữ liệu là gì?

Chức năng cơ bản của một cơ sở dữ liệu được cung cấp bởi một bộ máy cơ sở dữ liệu, là hệ thống chương trình quản lý cách thức chứa và trả về dữ liệu.

Bộ máy cơ sở dữ liệu trình bày trong tài liệu này là Microsoft Jet, Jet không phải là một thương phẩm, thay vào đó, nó là một hệ thống con được nhiều ứng dụng của

Microsoft sử dụng. Microsoft lần đầu tiên đưa bộ máy này vào sử dụng với Visual Basic 3.0 và Access 1. Sau nhiều lần nâng cấp, phiên bản Jet dùng với quyển sách này là Jet 3.51, đi kèm với Visual Basic và Access.

Chú ý : Ngoài Jet, còn nhiều bộ máy cơ sở dữ liệu khác, như vì Visual Basic hỗ trợ Jet một các nội tại nên quyển sách này ưu tiên nói về Jet. Hơn nữa Jet còn hỗ trợ các bộ máy cơ sở dữ liệu khác. Trong chương “Làm quen với SQL Server “ giới thiệu một bộ máy hoàn toàn khác SQL Server 6.5

Bản và trường

Các cơ sở dữ liệu được cấu tạo từ các bảng dùng thể hiện các phân nhóm dữ liệu.

Ví; dụ, nếu ta tạo một cơ sở dữ liệu để quản lý tài khoản trong công việc kinh doanh ta phải tạo một bảng cho khách hàng, một bảng cho Hoá đơn và một bảng cho nhân viên. Bảng có cấu trúc định nghĩa sẵn và chứa dữ liệu phù hợp với cấu trúc này.

Bảng: Chứa các mẩu tin là các mẩu riêng rẽ bên trong phân nhóm dữ liệu.

Mẩu tin: Chứa các môi trường. Mỗi trưởng thể hiện một bộ phận dữ liệu trong một mẩu tin. Ví; dụ như mỗi mẩu tin thể hiện một mục trong danh bạ địa chỉ chứa trong trường Tên và họ, địa chỉ, thành phố, tiểu bang, mã ZIP và số điện thoại.

Ta có thể dùng chương trình Visual Basic để tham chiếu và thao tác với cơ sở dữ liệu, bảng, mẩu tin và trường.

Thiết kế cơ sở dữ liệu

Để tạo một cơ sở dữ liệu, trước hết ta phải xác định thông tin gì cần theo dõi. Sau đó, ta thiết kế cơ sở dữ liệu, tạo bảng chứa các trường định nghĩa kiểu dữ liệu sẽ có. Sau khi tạo ra cấu trúc cơ sở dữ liệu, tạo bảng chứa các trường định nghĩa kiểu dữ liệu sẽ có. Sau khi tạo ra cấu trúc cơ sở dữ liệu, cơ sở dữ liệu có thể chứa dữ liệu dưới dạng mẩu tin. Ta không thể đưa dữ liệu vào mà không có bảng hay định nghĩa trường vì dữ liệu sẽ không có chỗ để chứa.Do đó, thiết kế cơ sở dữ liệu cực kỳ quan trọng, nhất là rất khó thay đổi thiết kế một khi ta đã tạo xong nó.

Ví; dụ ta tạo một bảng sau :

Company

Address

City

State

Zip

Phone

Fax

Email

Bảng khách hàngBảng tblRegion
tblCustomerTblRegion
IDState
FirstNameRegionName
LastName

Có quan hệ giữa 2 bảng thông qua trường State (Trạng thái ). Đây là mối quan hệ một – nhiều, đối với một mẩu tin trong tblRegion, có thể không có, hoặc có nhiều mẩu tin tương ứng trong bảng tblCustomer.

Cụm từ “tbl” thể hiện tên bảng, tên trường hiển thị đầy đủ, không chứa khoảng trắng hay những ký tự đặc biệt khác như dấu gạch dưới.

Bảng hoá đơn :

TblOrder
ID
CustomerID
OrderDate
ItemID
Amount

Recordset là gì ?

Một khi ta có khả năng tạo bảng, ta cần phải biết cách thao tác chúng.

Thao tác trên các bảng liên quan đến việc nhập và lấy về dữ liệu từ các bảng khác cũng như việc kiểm tra và sửa đổi cấu trúc bảng. Để thao tác với cấu trúc bảng, ta dùng các câu lệnh đinh nghĩa dữ liệu hoặc một đối tượng TableDef(được giới thiệu trong chương “ Các đối tượng truy cập dữ liệu” ). Để thao tác dữ liệu, trong một bảng, ta dùng Recordset.

Một Recordset là một cấu trúc dữ liệu thể hiện một tập hợp con các mẩu tin lấy về từ cơ sở dữ liệu. Về khái niệm, nó tương tự một bảng, nhưng có thêm một vài thuộc tí;nh riêng biệt quan trọng. Các RecordSet được thể hiện như là các đối tượng, về khái niệm tương tự như là các đối tượng giao diện người sử dụng ( như là các nút lệnh và hộp văn bản ) mà ta đã làm quen với Visual Basic trong các chương trước. Cũng như các kiểu đối tượng khác trong Visual Basic, các đối tượng Recordset có các thuộc tí;nh và phương thức riêng. Lưu ý : Ta có thể lập trình để tạo và sử dụng các recordset theo một trong ba thư viện truy cập dữ liệu – Các đối tượng truy cập dữliệu ( DAO ), các đối tượng truy cập dữ liệu từ xa ( RDO ) và các đối tượng dữ liệu ActiveX ( ADO ).

Các kiểu cơ sở dữ liệu

Cơ sở dữ liệu nội tại của Visual Basic, Jet, cung cấp 21 kiểu dữ liệu khác nhau.

Không có sự tương đương một-một giữa kiểu dữ liệu Visual Basic và kiểu dữ liệu trường cơ sở dữ liệu. Ví; dụ, ta không thể quy định một trường cơ sở dữ liệu là kiểu định nghĩa bởi người dùng hay biến Object của Visual Basic. Hơn nữa nếu ta dùng Microsoft Access để tạo cơ sở dữ liệu sử dụng trong các ứng dụng Visual Basic, lưu ý rằng một số kiểu dữ liệu hữu dụng trong ứng dụng Visual Basic không xuất hiện trong thiết kê bảng của Microsoft Access. Bởi vì Visual Basic hỗ trợ lập trình cơ sở dữ liệu khác với những gì tạo bằng Microsoft Access.

Tạo lược đồ cơ sở dữ liệu

Mặc dù việc tạo danh sách các bảng và trương là cách tốt nhất để xác định cấu trúc cơ sở dữ liệu, ta còn có một cách để xem các bảng và tường dưới dạng đồ hoạ.

Sau đó, không chỉ xem được các bảng và trường hiện có mà còn thấy được mối quan hệ giữa chúng. Để làm được điều này, ta tạo lược đồ.

Lược đồ là sơ đồ các con đường trong cơ sở dữ liệu. Lược đồ thể hiện các bảng, trường và mối quan hệ trong cơ sở dữ liệu. Có lược đồ cơ sở dữ liệu là phần quan trọng trong thết kế phần mềm bởi vì nó cho ta một cách nhìn nhanh về những gì trong cơ sở dữ liệu.

Các lược đồ vẫn có vị trí; quan trọng lâu dài sau khi quá trình thiết kế cơ sở dữ liệu hoàn tất. Ta sẽ cần đến lược đồ để thi hành các câu truy vấn trên nhiều bảng. Một lược đồ tốt sẽ trả lời được các câu hỏi như là, “ Những bảng nào cần nối với nhau để đưa ra danh sách các hoá đơn trên $50.00 từ các khách hàng ở Minnesota trong 24 giờ qua ?” Không có phương pháp chí;nh thức để tạo lược đồ, mặc dù cũng có nhiều công cụ để thực hiện. Công cụ vẽ Visio rất uyển chuyển, nhanh và dễ dùng. Hơn nữa nó tí;ch hợp với các ứng dụng Windows khác, nhất là Microsoft Office.

Phần này xem visio như một công cụ vẽ để ghi chếp về cơ sở dữ liệu. Nhung ta còn có thể dùng Visio như một công cụ phát triển. Với Visio Professional, ta có thể thiết kế cơ sở dữ liệu bằng đồ hoạ. Sản phẩm có khả năng lấy thiết kế đồ hoạ và tạo ra cơ sở dữ liệu thực sự. Tham khảo thông tin về Visio tại địa chỉ http://WWW.Visio.Com

Dùng Visual Basic để tạo một cơ sở dữ liệu

Sau khi tạo xong lược đồ và chỉnh sửa thiết kế, đã đến lúc ta phải tạo cơ sở dữ liệu thực sự. Đạo cơ Basic, ta có thể dùng tiện í;ch gọi là Visual Data Manager. Tiện í;ch này trong ấn sở dữ liệu Jet dùng Visual bản Visual Basic Professional và Enterprise cho phép ta tạo các cơ sở dữ liệu tương thí;ch với MicrosoftAccess.

Do Visual Basic và Access 97 chia sẻ cùng bộ máy cơ sở dữ liệu ta có thể hoặc là dùng Visual Basic hoặc là dùng Access để tạo một cơ sở dữ liệu. Cơ sở dữ liệu cuối cùng đều như nhau.

Xem thêm: Uk Là Gì – Và Uk Là Những Nước Nào, ở đâu

Để chạy Visual Data Manager, ta theo các bước sau :

Từ menu của Visual Basic chọn mục Add-ins, VisualDataManager, cửa sổ VisualData Managersẽ xuất hiện. Từ menu của Visual Data Manager, chọn File, New. Từ menu con, chọn Microsoft Access, Version 7.0 MDB. Một hộp thoại tập tin xuất hiện : “ Version 2.0 MDB “ là phiên bản của Jet tương thí;ch với phiên bản 16 –bit của Access và Visual Basic Chọn thư mục ta muốn lưu cơ sở dữ liệu cơ sở dữ liệu mới rồi gõ tên. ( Vì mục đí;ch minh hoạ cho cuốn sách này, bạn có thể chọn tên cơ sở dữ liệu là novelty.mdb) Nhấn chuột vào nút Save. Cơ sở dữ liệu mới được tạo và Visual Data Manager sẽ hiển thị một vài cửa sổ cho phép ta làm việc với cơ sở dữ liệu được hiển thị như hình dưới đây.

*

Cửa sổ Visual Data Manager

Sử dụng cửa sổ cơ sở dữ liệu

Cửa sổ DataBase của Visual Data Manager chứa tất cả các thành phần của cơ sở dữ liệu. Trong cửa sổ này ta có thể xem các thuộc tí;nh, kiểm tra các bảng và các phần tử khác và thêm các thành phần mới vào cơ sở dữ liệu.

Để xem các thuộc tí;nh ta vừa tạo, nhấn chuột vào dấu cộng ở bên trái của mục Properties. Mục này sẽ mở ra như hình dưới đây.

*

Xem các thuộc tí;nh của cơ sở dữ liệu mới.

Tạo bảng

Một đặc tí;nh của Visual Data Manager là nó không thể cho ta cách rõ ràng để tạo bảng mới trong cơ sở dữ liệu mà ta vừa tạo. Bởi vì các phần từ xuất hiện trong cửa sổ Database của Visual Data Manager rất nhạy với việc nhấn chuột phải. Nhưng một khi ta dùng nút chuột phải việc tạo một bảng mới thật là đơn giản. Ví; dụ : Để tạo một bảng mới ta theo các bước sau:

1. Trong cửa sổ Database của Visual Data Manager, nhấn chuột phải vào Properties. Menu ngữ cảnh của cửa sổ sẽ xuất hiện.

2. Chọn New Table. Hộp thoại Table Structure sẽ xuất hiện như hình dưới đây.

*

Hộp thoại Table Structure.

Trong hộp thoại Table Structure, ta có thể tạo cấu trúc bảng, chỉ định các trường, kiểu dữ liệu và chỉ mục. Ví; dụ, ta sẽ tạo cấu trúc bảng để chứa khách hàng.

Để làm được điều này, theo các bước sau:

1. Gõ tblCustomer trong ô Table Name.

2. Nhấn chuột vào nút Add Field. Hộp thoại Add Field sẽ xuất hiện, được hiển thị như hình dưới đây.

*

Hộp thoại Add Field.

Hộp thoại Add field cho phép ta thêm một trường vào một bảng tạo bởi hộp thoại Table structure của Visual Data Manager.

3. Trong ô Name gõ First Name. Đây sẽ là tên của trường mà ta tạo trong bảng khách hàng.

4. Trong ô size gõ 25. Điều này chỉ ra rằng tên có thể lên đến 25 ký tự, nhưng không thể dài hơn. Điều này có nghĩa là cơ sở dữ liệu sẽ chứa các tên hiệu quả hơn.

5. Chọn Fixed Field để chỉ ra rằng đâu không phải là trường có chiều dài biến đổi, rổi nhấn nút OK. ( Lưu ý rằng rất khó sửa đổi một trường một khi ta đã tạo xong nó.Vì vậy, phải chắc chắn rằng mọi thứ ta quy định là chí;nh xác.) Trường được thêm vào cấu trúc cơ sở dữ liệu. Các hộp văn bản trong hộp thoại Add Field sẽ được xoá. Cho phép ta thêm vào một trường khác ngay lập tức.

6. Bây giờ ta có thể thêm các trường khác vào cấu trúc bảng. Sử dụng Add Field, thêm các trường vào tblCustomer các trường sau đây :

Tên trườngKiểu dữ liệuKí;ch cỡ dữ liệuFixed
First NameText25Yes
IDLong, AutoInerField=trueN/AN/A
LastNameText45Yes
CompanyText100Yes
AddressText100Yes
CityText100Yes
StateText2Yes
ZipText9Yes
PhoneText25Yes
FaxText25Yes
EmailText255Yes

7. Cần kiểm tra hộp AutoInerField khi tạo trường ID để đảm bảo rằng mọi khách

hàng ta tạo đều có số hiệu duy nhất. Bởi vì bộ máy cơ sở dữ liệu tăng số trong trường một cách tự động, ứng dụng cơ sở dữ liệu sẽ không phải tự sinh ra số hiệu duy nhất.

8. Khi ta hoàn tất việc nhập trường, nhấn nút bấm Close.

Chỉ định chỉ mục và khoá chí;nh

Đến đây ta vừa tạo xong một bảng cơ bản, phần còn lại là ta cần chỉ ra các chỉ mục. Một chỉ mục là một thuộc tí;nh ta có thể gán cho một trường để tạo sự dễ dàng cho bộ máy cơ sở dữ liệu khi lấy về thông tin chứa trong trường đó. Ví; dụ, trong cơ sở dữ liệu theo dõi khách hàng, ứng dụng có thể tìm kiếm các khách hàng theo họ, mã Zip và các số hiệu ID cá nhân. Do đó, cần thiết phải tạo các chỉ mục trên những trường này để giúp cho quy trình lấy mẩu tin dựa trên các trường này nhanh hơn.

Một khi ta đã nhận ra lợi í;ch của các chỉ mục trong việc thiết kế cơ sở dữ liệu, ta có thể tự đặt ra các câu hỏi như : Nếu các chỉ mục giúp việc tìm kiếm nhanh hơn, tại sao ta không đặt một chỉ mục trong tất cả các trường của mọi bảng ? Câu trả lời là các chỉ mục làm cho cơ sở dữ liệu của ta phình to hơn về mặt vật lý, vì vậy, nếu ta có quá nhiều chỉ mục, sẽ lãng phí; bộ nhớ và làm cho máy tí;nh của ta chạy chậm hơn. Điều này hiển nhiên làm mất đi các lợi thế ban đầu. Không có quy định về việc nên tạo bao nhiêu chỉ mục cho mỗi bảng, nhưng nói chung, ta nên tạo một chỉ mục dựa trên các trường mà ta nghĩ là dùng thường xuyên trong các câu truy vấn.

Mỗi bảng mà ta thiết kế phải có í;t nhất một khoá chí;nh, và nó phải được đánh số chỉ mục trên những trường mà ta mong đợi sẽ được truy vấn nhiều nhất. Trong trường hợp của bảng tblCustomer, cũng như với nhiều bảng cơ sở dữ liệu, khoá chí;nh sẽ là trường ID. Các chỉ mục phụ là trường LastName và FirstName

Để tạo các chỉ mục và các khoá chí;nh, theo các bước sau :

1. Trong hộp thoại Table Structure, nhấn chuột vào nut Add Index. Hộp thoại

Add Index xuất hiện

*

Hộp thoại Add Index. Trước hết ta sẽ tạo khoá chí;nh cho bảng.

2. Gõ Primary Key trong hộp văn bản Name

3. Nhấn đúp chuột vào trường ID trong danh sách các trường có sẵn. ID được thêm vào danh sách các trường có chỉ mục. Hộp đánh dấu Primary và Unique phải được chọn theo mặc định.

4. Nhấn OK, Hộp văn bản bị xoá và khoá chí;nh được thêm vào thiết kế bảng.

Lưu ý rằng chỉ mục có tên như tên trường ( mặc dù đã quen với Microsoft Access m ta có thể không biết điều này, bởi vì Access che tên chỉ mục trên giao diện người sử dụng ). Truy cập đến tên của một trường chỉ mục thì thật thuận tiện cho một mục đí;nh nào đó.

Giờ đây ta có thể tạo thêm hai chỉ mục cho các trường FirstName và LastName. Để làm được điều này ta làm theo các bước sau :

1. Gõ tên chỉ mục FirstNameIndex trong hộp văn bản Name

2. Nhấn đúp chuột trên trường FirstName trong danh sách các trường hiện có, FirstName được thêm vào trong danh sách các trường có chỉ mục.

3. Bỏ chọn các hộp đánh dấu Primary và Unique, sau đó nhấn nut OK.

Nếu ta để hộp đánh dấu Unique được chọn, ta sẽ không thể thêm hai người có cùng tên vào cơ sở dữ liệu.

4. Lặp lại quy trình này với truờng LastName, tạo một chỉ mục là LastIndex.

Xem thêm: Ams Là Phí Gì – Local Charges Là Gì

5. Nhấn nút chuột Close. Ta sẽ gặp lại hộp hội thoại Table Structure.

6. Để tạo bảng, nhấn nút Build the Table. Bảng sẽ được tạo và thêm vào cửa sổ

Chuyên mục: Hỏi Đáp