Trong phần này sẽ tìm hiểu chi tiết hơn về các bảng dữ liệu MS Access, các kiểu dữ liệu và sự liên kết giữa các bảng.

Một số khái niệm liên quan đến bảng (table) trong Access

Bảng (Table) là nơi lưu trữ thông tin dữ liệu các đối tượng quản lý. Bảng có cấu trúc hai chiều gồm các dòng (Record - bản ghi - hàng) và các cột (Field - trường dữ liệu)

Ví dụ, bảng HOCSINH lưu trữ thông tin về đối tượng học sinh gồm các trường dữ liệu (field): HOCSINHID, Ho, Ten, Ngaysinh, Dantoc, Noisinh, Diachi

Mỗi đối tượng học sinh được biểu diễn trong một bản ghi (Record, dòng) dữ liệu. Bảng có thể có nhiều, một hoặc không có record nào.

Trong một CSDL thường có nhiều bảng, mỗi bảng lưu trữ dữ liệu của một đối tượng nào đó, các đối tường này có thể có quan hệ với nhau.

Ví dụ, bảng LOP và bảng HOCSINH có liên hệ một - nhiều. Mỗi lớp có nhiều học sinh, mỗi học sinh thuộc về một lớp

Khóa chính - Primary Key

Khóa chính (primary key) là trường dữ liệu (cột) có giá trị duy nhất giữa các hàng (record). Khóa chính để xác định chính xác Record nào đó trong bảng, nên khi ứng dụng hãy chọn một loại dữ liệu chuyên biệt nào đó làm khóa chính, ví dụ như bảng về sản phẩm thì chọn mã sản phẩm, bảng về nhân viên thì là mã nhân viên (hoặc số CMT) ... Ví dụ bảng HOCSINH có một cột - trường dữ liệu là HOCSINHID làm khóa chính, nó thiết kế là một con số duy nhất - dành cho mỗi học sinh - biết khóa chính sau này sẽ nhanh chóng tìm đến Record chứa khóa chính đó. Trong sơ đồ quan hệ ở trên, trường có ký hiệu chìa khóa là khóa chính của bảng. Cách thiết lập khóa chính cho bảng ở phần sau.

Khóa ngoại - Foreign key

Khóa ngoại là trường (cột) dữ liệu chứa các giá trị tham chiếu (trỏ đến) một khóa chính của bảng khác. Việc tạo ra các cột (trường) là khóa ngoại sẽ hình thành nên mối quan hệ giữa các bảng.

Như sơ đồ trên, bảng DIEM có trường HOCSINHID là khóa ngoại, nó tham chiếu đến khóa chính HOCSINHID của bảng HOCSINH, từ đó mỗi điểm xác định được của học sinh nào, tương tự có trường MONHOCID là khóa ngoại tham chiếu đến bảng MONHOC

Tạo bảng trong Access

Khi đã định hướng được cần tạo một bảng, bảng gồm các trường dữ liệu gì thì bắt đầu tạo bảng bằng cách chọn mục Create trên Menu Ribbon.

Bạn có thể chọn Table - để tạo bảng và vào ngày chế độ Datasheet View để thiết kế bảng, ở chế độ này bạng đang quan sát bảng dạng như bảng tính - từ đó thêm các cột

Chọn menu Table Design để tạo bảng mới và vào ngay chế độ Design View - Ta sẽ sử dụng chế độ tổng quát này khi tạo, thiết kế bảng

Thiết kế bảng ta phải định nghĩa các thành phần:

  • Field Name - Định nghĩa cột (trường dữ liệu trong bảng)
  • Data Type - Chọn kiểu dữ liệu của trường (xem các kiểu dữ liệu ở dưới)
  • Description - Mô tả thông tin thêm về trường, chứa các thông tin để đọc lại biết được mục đích dữ liệu
  • Fiel Properties - Thiết lập các thuộc tính cho trường dữ liệu, nó gồm có hai nhóm
    • General - thông tin chung, tùy thuộc vào kiểu dữ liệu của trường mà thông tin chung có các mục khác nhau như định dạng hiện thị dữ liệu, kích thước dữ liệu, giá trị mặc định ...
    • Lookup - xác định các nguồn dữ liệu và định dạng hiện thị nếu cần thiết

Các kiểu dữ liệu

Khi tạo các trường cho bảng, chọn kiểu dữ liệu phù hợp rất quan trọng, nó đảm bảo CSDL vận hành hiểu quả:

Kiểu dữ liệu Mô tả Kích cỡ
Short Text Nó còn là Text ở bản 2007 - 2010, biểu diễn dữ liệu dạng chữ (tên người, tên sản phẩm, tiêu đề ...) Tối đa 255 ký tự.
Long Text Còn là kiểu Memo (2007 - 2010). Để biểu diễn cả câu văn, đoạn văn dài. Đến 1GB
Number Các dữ liệu dạng số 1, 2, 4, 8, or 16 byte
Date/Time Biểu diễn ngày và tháng 8 bytes.
Currency Dữ liệu số, dạng tiền tệ, biểu diễn số chính xác 4 số sau dấu chấm. 8 bytes.
AutoNumber Dạng số duy nhất, tự động sinh ra bởi Access 4 bytes.
Yes/No Kiểu logic Boolean (true/false); Access lưu nó dưới dạng số, 0 là false và -1 là true 1 byte.
Attachment Lưu các loại dữ liệu file như các file hình ảnh, tài liệu, bảng tính ...

Tới 2 GB.

Thực hành tạo các bảng dữ liệu

Phần này tiến hành tạo ra các bảng cho một ứng dụng quản lý học sinh đơn giản. Trước tiên nó gồm các bảng có mối quan hệ với sơ đồ ở phần trên.

Bảng NIENKHOA

Cấu trúc bảng

Tên cột (Field Name) Kiểu dữ liệu (Data Type) Ghi chú
KHOAID AutoNumber Khóa chính, số tự động tăng. Để thiết bật/tắt là khóa chính, chọn dòng có tên trường rồi bấm chọn Primary Key hoặc phải chuột vào tên trường và chọn Primary Key
NamNH Date/Time Năm nhập học, kiểu ngày - giờ. Định dạng trường này hiện thị năm học (không hiện thị ngày, thánh).

Định dạng hiện thị ngày tháng điền các dòng định dạng phù hợp vào mục Format, các ký hiệu có thể kết hợp gồm:

  • dd hiện thị ngày; mm hiện thị tháng (số); yyyy hiện thị năm
  • dd/mm/yyyy là kết hợp để hiện thị dạng ngày 22/12/2000
  • mm-yyyy là kết hợp để hiện thị dạng ngày 12-2000

Ở trường này chỉ muốn hiện thị năm, nên nhập vào Format là yyyy

TenKhoa Short Text Kiểu Text, chọn kích thước 10 ký tự (Field Size), có đánh chỉ mục, không được trùng giá trị, dòng chữ có chiều dài khác 0

Chọn kiểu dữ liệu là Text (Short Text), sau đó ở mục thuộc tính, nhóm General chọn: Field Size là 10 - để thiết lập dài tối đa 10 ký tự, mục Allow Zezo length chọn là No để không cho phép bỏ trống dữ liệu này. Tại mục Indexed chọn Yes (No Duplicates) cho biết dữ liệu này được chỉ mục, không cho phép trùng dữ liệu.

Sau khi tạo bảng, lưu lại với tên NIENKHOA tiến hành nhập dữ liệu trực tiếp mẫu


Bảng NGANH

Bảng trình bày về các ngành học: tên ngành học, mã ngành, số năm học. Cấu trúc tạo bảng như hình dưới

Đối với trường nào cần thiết lập giá trị mặc định thì điền giá trị mặc định ở mục Default Value của thuộc tính trường

Sau khi tạo bảng nhập dữ liệu mẫu sau:


Bảng LOP

Bảng này quản lý danh sách các lớp học, mỗi lớp có tên lớp, và có khóa ngoại tham chiếu đến bảng NIENKHOANGANH, phần này vẫn chưa thiết lập các liên kết bảng nên sẽ tạo bảng này với cấu trúc như sau:

Thiết lập Lookup cho trường NGANHID

Một trường dữ liệu có thể thiết lập thuộc tính Lookup cho nó, thuộc tính này giúp tham chiếu đến một nguồn dữ liệu khác trong quá trình nhập liệu (có thể thiết lập một ComboBox, ListBox để nhập liệu). Ví dụ cột NGANHID sẽ tham chiếu đến bảng NGANH và trường NGANHID của bảng đó để hiện thị một danh sách các giá trị, chọn được khi soạn thảo. Từng bước thiết lập như sau:

  • Chọn Display ControlCombo Box : loại này hiện thị một hộp danh sách đổ xuống để chọn
  • Chọn Row Source TypeTable/Query - có nghĩa là nguồn dữ liệu từ bảng, hoặc các Query
  • Row Source là các truy vấn lấy ra dữ liệu - cách viết các truy vấn sẽ trình bày sau. Ở đây muốn tham chiếu đến bảng nào, hãy điền tên bảng đó vào. Điền là NGANH, nó sẽ tham khảo các dòng dữ liệu của bảng ngành
  • Bound Column là thứ tự cột cần liên kết dữ liệu, ở đây cột NGANHID của bảng NGANH là giá trị tham chiếu, cột này có vị trí số 1 - nên điền 1
  • Column Count là số cột - tính từ cột 1 cần lấy dữ liệu đưa vào Combo Box. Cần lấy cột 1 và 2 (tức cột NGANHID và TENGANH)

Làm tương tự cho cột NIENKHOAID tham chiếu đến bảng NIENKHOA

Lúc này khi soạn thảo dữ liệu bảng, nó xuất hiện Combo Box có thể chọn giá trị, những giá trị này tham chiếu từ dữ liệu bảng khác.

Để ý, nếu muốn ẩn đi cột thứ nhất chỉ hiện thị cột thứ hai (tên ngành) để nhìn dữ liệu trực quan hơn. Thì có thể thiết lập độ rộng cột cần ẩn là 0cm vào thuộc tính Colunm Widths. Ví dụ 0cm;2cm có nghĩa cột 1 0cm, cột 2 rộng 2cm (nhớ là cột trong Combo Box). Kết quả sẽ là:

Dữ liệu mẫu

Bảng HOCSINH

Bảng này quản lý danh sách học sinh các lớp, nó có các trường dữ liệu như sau:

LookUp nguồn Value List

Trong trường giới tính GT nhận giá trị logic YES/NO, ấn định nếu là YES thì là NAM, và NO là Nữ. Mặc định thì dữ liệu là checkbox (hộp kiểm để lựa chọn). Nếu muốn thay hộp kiểm này bằng Combo Box để có một danh sách đổ xuống chọn NAM/NỮ thì dùng Lookup với thiết lập như sau:

  • Display Control chọn Combo Box
  • Row Source Type chọn Value List
  • Row Source liệt kê các giá trị của bảng nguồn, mỗi giá trị cách nhau bởi dấu ;, chuỗi thì đặt trong dấu "" như bảng
    -1  NAM
     0  NỮ
    thì điền vào -1;"Nam";0;"Nữ"
  • Bound Column chọn là 1, nghĩa là cột 1 là nguồn gán giá trị
  • Colunm Widths chọn là 0cm;2cm; để ẩn -1, 0 giữ hiện thị Nam, Nữ

Dữ liệu mẫu:

Bảng MONHOC

Bảng này để quản lý các môn học, cấu trúc như sau

Dữ liệu mẫu:

Bảng DIEM

Bảng này lưu trữ điểm của các môn học, cấu trúc như sau:

Nạp dữ liệu vào MS Access từ file Excel

Có thể nạp dữ liệu từ một Worksheet vào một bảng của MS Access. Ví dụ file Excel, có worksheet tên HOCSINH như sau: có có dòng đầu tiên giống tên các cột của bảng HOCSINH trong Access.

Ví dụ, để nạp dữ liệu vào bảng HOCSINH, nhấn phải chuột vào đối tượng bảng, chọn import từ excel như hình dưới:

Trong cửa số hiện ra, chọn file excel đúng cấu trúc, và thiết lập như hình để nạp:

File dữ liệu mẫu Excel cho bảng HOCSINH: Download


Trên đây là tạo một số bảng mẫu, bài tiếp theo sẽ tiếp tục thiết lập các quan hệ và một số thao tác nâng cao trên các bảng này.


Đăng ký nhận bài viết mới