Khóa chính là một trường hoặc tập hợp trường chứa các giá trị duy nhất xuyên suốt một bảng. Bạn có thể sử dụng các giá trị của khóa để tham chiếu tới toàn bộ các bản ghi, do mỗi bản ghi lại có một giá trị khóa khác nhau. Mỗi bảng chỉ có thể có một khóa chính. Access có thể tự động tạo trường khóa chính cho bạn khi bạn tạo bảng hoặc bạn có thể chỉ định trường mình muốn sử dụng làm khóa chính. Bài viết này sẽ giải thích cách thức và lý do nên sử dụng khóa chính.
Để đặt một khóa chính của bảng, hãy mở bảng đó ở dạng xem Thiết kế. Chọn trường mà bạn muốn dùng rồi trên ruy-băng, bấm Khóa chính.
Lưu ý: Bài viết này chỉ áp dụng cho cơ sở dữ liệu Access trên máy tính. Access tự động quản lý các khóa chính cho các bảng mới trong các ứng dụng Access trên web và cơ sở dữ liệu web. Mặc dù các khóa chính tự động này có thể được thay thế nhưng chúng tôi khuyên bạn không nên làm như vậy.
Trong bài viết này
Tổng quan về các khóa chính trong Access
Access sử dụng các trường khóa chính để nhanh chóng liên kết dữ liệu từ nhiều bảng và kết hợp chúng một cách có ý nghĩa. Bạn có thể thêm các trường khóa chính trong các bảng khác để tham chiếu trở lại bảng là nguồn của khóa chính. Trong các bảng khác đó, các trường được gọi là khóa ngoại. Ví dụ: trường ID Khách hàng trong bảng Khách hàng cũng có thể xuất hiện trong bảng Đơn hàng. Trong bảng Khách hàng, đó là khóa chính. Trong bảng Đơn hàng, trường này được gọi là khóa ngoại. Khóa ngoại, nói một cách dễ hiểu là khóa chính của một bảng khác. Để biết thêm thông tin, hãy xem mục Kiến thức cơ bản về thiết kế cơ sở dữ liệu.
1. Khóa chính
2. Khóa ngoại
Nếu bạn đang chuyển dữ liệu hiện có vào một cơ sở dữ liệu, bạn có thể đã có sẵn một trường mà bạn có thể dùng làm khóa chính. Thông thường, một số nhận dạng duy nhất như số ID hoặc một số sê-ri hoặc mã, sẽ được dùng làm khóa chính trong một bảng. Ví dụ, bạn có thể có bảng Khách hàng trong đó mỗi khách hàng có một số ID khách hàng duy nhất. Trường ID khách hàng là khóa chính.
Access tự động tạo một chỉ mục cho khóa chính nhằm giúp tăng tốc truy vấn và các thao tác khác. Access cũng đảm bảo rằng mọi bản ghi đều có một giá trị trong trường khóa chính và giá trị đó luôn duy nhất.
Khi bạn tạo bảng mới trong dạng xem Biểu dữ liệu, Access sẽ tự động tạo khóa chính cho bạn và gán tên trường của "ID", cũng như loại dữ liệu Số Tự động.
Làm thế nào để có một khóa chính tốt?
Một khóa chính tốt thường có những đặc điểm sau:
-
Nó nhận dạng duy nhất mỗi hàng
-
Nó không bị bỏ trống hoặc có giá trị null — nó luôn chứa một giá trị
-
Các giá trị mà nó chứa hiếm khi (hoặc không bao giờ) thay đổi
Nếu bạn không thể xác định được một khóa tốt, hãy tạo một trường Số Tự động để dùng làm khóa. Trường Số Tự động sẽ tự tạo một giá trị cho mình mỗi khi có bản ghi được lưu lần đầu. Vì vậy, trường Số Tự động sẽ đáp ứng cả ba đặc điểm của một khóa chính tốt. Để biết thêm thông tin về cách thêm trường Số Tự động, hãy xem phần Thêm trường Số Tự động dưới dạng khóa chính.
Một trường Số Tự động sẽ trở thành một khóa chính tốt.
Ví dụ về các khóa chính kém
Bất kỳ trường nào thiếu một trong những đặc điểm của một khóa chính tốt sẽ bị coi là khóa chính kém. Dưới đây là một vài ví dụ về các trường bị xem như là các khóa chính kém đối với bảng Địa chỉ liên hệ kèm theo phần giải thích lý do vì sao.
Khóa chính kém |
Lý do |
---|---|
Tên cá nhân |
Có thể không phải là duy nhất và có thể thay đổi |
Số điện thoại |
Dễ thay đổi. |
Địa chỉ email |
Dễ thay đổi. |
Mã zip |
Nhiều người có thể dùng chung một mã ZIP |
Tổ hợp dữ liệu và con số |
Phần dữ liệu có thể thay đổi, gây khó khăn cho việc quản lý. Có thể gây nhầm lẫn nếu phần dữ liệu được dùng lặp lại làm một trường riêng. Ví dụ, kết hợp thành phố và một chữ số tăng dần (ví dụ, NEWYORK0579) sẽ là một lựa chọn tồi nếu thành phố đó cũng được lưu làm một trường. |
Số An sinh Xã hội (SSN) |
|
Khóa tổ hợp: dùng nhiều trường kết hợp làm khóa chính
Trong một số trường hợp, bạn sẽ muốn sử dụng hai trường trở lên làm khóa chính trong một bảng. Ví dụ: bảng Chi tiết Đơn hàng lưu trữ các mục dòng cho đơn hàng có thể sử dụng hai trường làm khóa chính: ID Đơn hàng và ID Sản phẩm. Một khóa chứa nhiều trường được gọi là khóa tổng hợp.
Đặt khóa chính bằng các trường bạn đã có trong Access
Để một khóa chính hoạt động tốt, trường đó phải nhận dạng duy nhất một hàng, không bao giờ chứa giá trị trống hoặc null và hiếm khi (hoặc không bao giờ) thay đổi. Để đặt một khóa chính:
-
Mở cơ sở dữ liệu mà bạn muốn sửa đổi.
-
Trong Ngăn Dẫn hướng, bấm chuột phải vào bảng mà bạn muốn đặt khóa chính và trên menu lối tắt, hãy bấm Dạng xem Thiết kế.
Mẹo: Nếu bạn không nhìn thấy Ngăn Dẫn hướng, nhấn F11 để hiển thị nó.
-
Chọn những trường mà bạn muốn dùng làm khóa chính.
Để chọn một trường, hãy bấm vào bộ chọn hàng đối với trường mà bạn muốn.
Để chọn nhiều trường nhằm tạo khóa tổng hợp, hãy nhấn xuống CTRL, rồi bấm vào bộ chọn hàng cho từng trường.
-
Trên tab Thiết kế Bảng , trong nhóm Công cụ , bấm Khóa Chính.
Một chỉ báo khóa sẽ được thêm vào bên trái của (những) trường bạn chọn làm khóa chính.
Loại bỏ khóa chính trong Access
Khi bạn loại bỏ khóa chính, các trường trước đó được dùng làm khóa chính sẽ không cung cấp các phương tiện chính để nhận dạng một bản ghi nữa.
Loại bỏ khóa chính không xóa hẳn các trường khỏi bảng của bạn mà chỉ loại bỏ chỉ mục được tạo cho khóa chính đó.
-
Trước khi có thể loại bỏ khóa chính, bạn phải chắc chắn rằng khóa đó không tham gia vào bất kỳ mối quan hệ bảng nào. Nếu bạn cố loại bỏ khóa chính vốn là một phần của một hay nhiều mối quan hệ, Access sẽ cảnh báo rằng trước hết, bạn phải xóa mối quan hệ đó.
Để xóa mối quan hệ bảng, hãy hoàn thành các bước sau:-
Nếu các bảng tham gia vào mối quan hệ bảng đang mở, hãy đóng các bảng đó. Bạn không thể xóa mối quan hệ bảng giữa các bảng đang mở.
-
Trên tab Công cụ Cơ sở dữ liệu, trong nhóm Mối quan hệ, bấm Mối quan hệ.
-
Chọn Thêm Bảng.
-
Bấm vào dòng mối quan hệ bảng dành cho mối quan hệ bảng mà bạn muốn xóa (dòng này sẽ được in đậm khi được chọn) rồi nhấn phím DELETE.
-
Trên tab Thiết kế Mối quan hệ, trong nhóm Mối quan hệ , bấm Đóng.
-
-
Sau khi bạn xóa mối quan hệ, trong Ngăn Dẫn hướng, bấm chuột phải vào bảng mà bạn muốn loại bỏ khóa chính rồi bấm Dạng xem Thiết kế.
Mẹo: Nếu bạn không nhìn thấy Ngăn Dẫn hướng, nhấn F11 để hiển thị nó.
-
Bấm vào bộ chọn hàng dành cho khóa chính hiện tại.
Nếu khóa chính bao gồm một trường đơn lẻ, hãy bấm vào bộ chọn hàng dành cho trường đó.
Nếu khóa chính bao gồm nhiều trường, hãy bấm vào bộ chọn hàng dành cho trường bất kỳ trong khóa chính.
-
Trên tab Thiết kế Bảng , trong nhóm Công cụ , bấm Khóa Chính.
Chỉ báo khóa bị xóa khỏi các trường mà trước đó bạn đã chọn làm khóa chính.
Lưu ý: Khi bạn lưu một bảng mới mà không đặt khóa chính, Access sẽ nhắc bạn tạo một khóa. Nếu bạn chọn Có, Access sẽ tạo một trường ID sử dụng kiểu dữ liệu Số Tự động để cung cấp một giá trị duy nhất cho mỗi bản ghi. Nếu bảng của bạn đã có sẵn một trường Số Tự động rồi, Access sẽ dùng trường đó làm khóa chính.
Thay đổi khóa chính trong Access
Nếu bạn quyết định thay đổi khóa chính của một bảng, bạn có thể thực hiện theo các bước sau:
-
Loại bỏ khóa chính hiện tại theo các hướng dẫn trong phần Loại bỏ khóa chính.
-
Đặt khóa chính theo các hướng dẫn trong mục Đặt khóa chính.
Thông tin bổ sung
Để biết thêm thông tin về thiết kế cơ sở dữ liệu và cách chọn khóa chính phù hợp, hãy xem các bài viết: