Applies ToAccess cho Microsoft 365 Access 2024 Access 2021 Access 2019

Các mục sau đây hiển thị cách thiết kế mối quan hệ bảng cơ sở dữ liệu. Tên đối tượng được cung cấp để bạn có thể dễ dàng kiểm tra chúng trong cơ sở dữ liệu Northwind 2.0 Starter Edition.

Để mở Sơ đồ Quan hệ hiển thị sáu bảng và mối quan hệ giữa chúng, hãy chọn Công cụ Cơ sở dữ > Quan hệ.

Sơ đồ quan hệ cơ sở dữ liệu

Sơ đồ này hiển thị tất cả sáu bảng. Trong sơ đồ, các đường giữa các bảng sẽ xác định mối quan hệ giữa chúng. Biểu tượng 1 và ký hiệu vô cực () ở cuối các đường biểu thị cho mối quan hệ một phía (ví dụ: một khách hàng) và phía nhiều của mối quan hệ. Ví dụ: một khách hàng gửi nhiều đơn hàng. Để biết thêm thông tin, hãy xem mục Hướng dẫn về mối quan hệ bảng.

Các nguyên tắc sau áp dụng cho các bảng trong Northwind 2.0 Starter Edition cũng như bảng nói chung.

Khóa chính      Xác định duy nhất từng bản ghi trong một bảng. Tất cả các bảng đều có khóa chính. Trong sơ đồ mối quan hệ, các ký hiệu Phím sẽ xác định các khóa chính đó. Các quy ước đặt tên khóa chính được đặt tên theo bảng chứa chúng, ví dụ: "TableNameID". 

Hiệu quả    Để có hiệu suất tốt hơn và lưu trữ hiệu quả hơn, khóa chính phải là khóa số. Ngoài ra, sẽ thuận tiện hơn nếu Access tự động tạo giá trị mới, duy nhất cho khóa chính của mỗi bản ghi mới. Kiểu dữ liệu Số Tự động có cả hai đặc điểm. Số Tự động là các số không có ý nghĩa và không phục vụ mục đích nào khác. Để biết thêm thông tin, hãy xem mục Thêm trường Số Tự động làm khóa chính.

Khóa ngoại       Bảng cũng có thể có một hoặc nhiều khóa ngoại, tùy thuộc vào việc bảng đó có liên quan đến các bảng khác trong cơ sở dữ liệu hay không. Khóa ngoại chứa các giá trị tương ứng với các giá trị trong khóa chính của bảng có liên quan. 

Chỉ mục duy nhất      Các trường khác trong bảng cũng có thể có chỉ mục duy nhất của riêng chúng, ví dụ: OrderStatus.StatusCode. Thật vô lý khi có hai Trạng thái Đơn hàng trong bảng OrderStatus với cùng một mã, mặc dù Bản thân StatusCode không phải là khóa chính. Chỉ mục duy nhất yêu cầu Access ngăn các giá trị trùng lặp trong trường đó.

Chỉ mục Không duy nhất      Bảng cũng có thể có chỉ mục để tăng tốc độ tìm kiếm và sắp xếp trên các trường đó, ví dụ: Orders.OrderDate. Có thể đặt nhiều đơn hàng vào cùng một ngày và bạn thường muốn tìm kiếm và sắp xếp vào Ngày Đặt hàng. Có một chỉ mục không duy nhất trên trường đó để tăng tốc tìm kiếm và sắp xếp.

Tên bảng và trường    Bạn có thể đặt tên cho mọi thứ theo bất kỳ cách nào bạn muốn, nhưng sự nhất quán là quan trọng. Chúng tôi khuyên bạn nên đặt tên bảng và trường là một hoặc nhiều từ không có khoảng trắng ở giữa và không nên dùng các ký tự đặc biệt như dấu sổ chéo (/), dấu thăng (#) hoặc phần trăm (%). Ví dụ: sử dụng Ngày_Đặt_hàng nhưng không sử dụng Ngày Đặt hàng; sử dụng OrderNumber hoặc OrderNo, nhưng không sử dụng Order#. 

Lạc đà    Viết hoa các từ để tô sáng các phần riêng lẻ của tên, ví dụ: Ngày_Đặt_hàng nhưng không phải Ngày_đặt_hàng hoặc Ngày_đặt_hàng.

Giá trị bắt buộc    Nguyên tắc này đưa ra tầm quan trọng của các quy tắc kinh doanh cho một ứng dụng. Một số trường hợp yêu cầu giá trị hoặc thậm chí là các giá trị cụ thể trong một số trường. Ví dụ: Một Đơn hàng có lợi gì mà không biết Khách hàng đã đặt đơn hàng đó? Điều đó có nghĩa CustomerID là một trường bắt buộc cho bảng Đơn hàng. 

Trường được tính toán      Access hỗ trợ các trường được tính toán trong bảng, ví dụ: trường Employees.FullName. Bạn có thể muốn tạo các trường được tính toán trong một truy vấn hơn là trong một bảng.

Trường đính kèm      Access hỗ trợ các trường đính kèm, ví dụ: Nhân viên.Ảnh, chứa ảnh của nhân viên. Tệp đính kèm có thể lưu trữ hình ảnh, tài liệu, email và các thông tin nhị phân khác. Phần đính kèm chiếm nhiều dung lượng trong cơ sở dữ liệu. việc lưu trữ tệp đính kèm trên máy chủ tệp hiệu quả hơn.

Trường đa giá trị    Như ngụ ý trong tên, các trường đa giá trị lưu trữ một hoặc nhiều giá trị trong một trường duy nhất, ví dụ: Employees.Title. Chúng tôi khuyên bạn nên sử dụng chúng một cách thận trọng, đặc biệt là khi bạn muốn tăng kích thước cơ sở dữ liệu của mình. Hầu hết các hệ thống cơ sở dữ liệu khác đều không có chúng, do đó sẽ đòi hỏi phải tái hoạt động. 

Để biết thêm thông tin về các kiểu dữ liệu, hãy xem mục Giới thiệu về kiểu dữ liệu và thuộc tính trường.

Mục này đề cập đến các tính năng quan trọng nhất của từng bảng. Để xem lại thiết kế của bảng, hãy chọn bảng đó trong Ngăn Dẫn hướng, bấm chuột phải vào đó, chọn Dạng xem Thiết kế hoặc chọn Công cụ Cơ sở dữ liệu > Quanhệ, rồi bấm chuột phải vào một đối tượng bảng. Để biết thêm thông tin, xem mục Giới thiệu về bảng.

Quan trọng: Tránh sử dụng các từ dành riêng có thể gây ra xung đột đặt tên. Để biết thêm thông tin, hãy xem mục Tìm hiểu về các từ và ký hiệu dành riêng của Access.

Bảng Nhân viên

Bảng này lưu trữ thông tin về nhân viên của Northwind. 

Lĩnh vực

Mô tả

Tên, Họ

Cả hai tên đều bắt buộc và trong Northwind, chúng phải là một sự kết hợp duy nhất. Trong thiết kế bảng, khi bạn mở hộp thoại Chỉ mục, bạn có thể thấy rằng Tên + Họ có một chỉ mục duy nhất. Vì Tên và Họ được lập chỉ mục duy nhất nên bảng Northwind không thể lưu trữ hai nhân viên có cùng tên. Trong các trường hợp khác, bạn có thể sử dụng một quy tắc kinh doanh khác.

FullNameFNLN, FullNameLNFN

Xem thuộc tính biểu thức của các trường được tính toán để biết Access kết hợp các giá trị trong trường được tính toán như thế nào. Để bao gồm chữ viết tắt ở giữa, hãy thêm nó vào biểu thức hiện có với khoảng cách thích hợp giữa các cấu phần.

Trường điện thoại

Quy tắc kinh doanh cho điện thoại là tùy chọn của nhân viên có liên quan hơn loại dịch vụ. Do đó, số điện thoại chính và phụ được sử dụng thay vì số điện thoại di động, văn phòng, nhà riêng, v.v.

Salutation

Lời chào là một trường Văn bản Ngắn. Để minh họa tính năng trường đa giá trị trong Access, đây là hộp tổ hợp với danh sách có thể chỉnh sửa các giá trị được xác định trước. Danh sách tĩnh ngắn, như thế này thường là đề xuất cho các trường đa giá trị vì chúng sẽ không thay đổi nhiều, nếu có.

Tiêu đề công việc

JobTitle là một trường bắt buộc khác.

Bảng Khách hàng

Bảng này lưu trữ thông tin về khách hàng của Northwind. 

Lĩnh vực

Mô tả

Tên Khách hàng

Khách hàng của Northwind là các doanh nghiệp và bắt buộc phải có tên khách hàng. Tuy nhiên, không giống như tên nhân viên, nó không được lập chỉ mục duy nhất, cho phép hai hoặc nhiều khách hàng có cùng tên.

PrimaryContactFirstName, PrimaryContactLastName, PrimaryContactJobTitle

Không bắt buộc phải có họ và tên của liên hệ chính vì khách hàng có thể không có một cá nhân nào làm liên hệ chính của họ. Các liên hệ có thể không giao chức vụ cho đơn hàng.

BusinessPhone

Northwind chỉ yêu cầu một số điện thoại cho mỗi khách hàng, mặc dù điều này giúp loại bỏ khả năng chụp nhiều số điện thoại cho khách hàng hoặc cho các liên hệ từ khách hàng. Trong các tình huống thực tế, các quy tắc kinh doanh phức tạp hơn thường áp dụng cho thông tin liên hệ.

Địa chỉ, Thành phố Tiểu bang, ZIP

Northwind cần có địa chỉ để gửi đơn hàng cho khách hàng. Chỉ có một địa chỉ chung cho khách hàng. Trong trường hợp thực tế, khách hàng thường có thanh toán, giao hàng riêng hoặc các địa chỉ khác. Một quy tắc kinh doanh khác cho tổ chức của bạn sẽ yêu cầu các trường bổ sung.

Lưu ý

Trường Ghi chú là kiểu dữ liệu Văn bản Dài lưu trữ tối đa 1 GB văn bản. Điều đó cho phép bạn nhập chú thích chi tiết về khách hàng để sử dụng trong các tình huống đặt hàng tiếp theo.

Bảng Đơn hàng

Bảng này lưu trữ thông tin về đơn đặt hàng của Northwind. 

Lĩnh vực

Mô tả

Ngày_đặt_hàng, Ngày_vận_chuyển, Ngày_trả_trả_phí

Đơn hàng yêu cầu ba ngày. Chúng đều là kiểu dữ liệu Ngày/Giờ, nhưng có hai định dạng. Ngày_Đặt_hàng có cả ngày và thời gian vì bạn có thể quan tâm đến việc phân tích khối lượng đơn hàng cho các phần khác nhau trong ngày. Đối với hai ngày còn lại, chỉ có ngày là bắt buộc. Quy tắc xác thực bảng cho Ngày_Vận_chuyển và Ngày_Trả_trả đảm bảo các ngày đó không phải trước Ngày_Đặt_hàng.

OrderStatusID

Trạng thái đơn hàng cho biết vị trí của đơn hàng trong dòng công việc Northwind. Đơn hàng di chuyển qua bốn giai đoạn: Mới> hóa đơn —> giao hàng —đã > hàng Đã đóng.Khóa ngoại cho OrderStatus hiện tại sử dụng OrderStatusID từ bảng tra cứu của OrderStatus. Việc sử dụng bảng Tra cứu trạng thái đảm bảo rằng chỉ có thể gán bốn trạng thái được xác định trước cho một đơn hàng.

Bảng chi tiết đơn hàng

Bảng này lưu trữ thông tin về chi tiết đơn hàng của Northwind. 

Lĩnh vực

Mô tả

ORDERID

Mỗi mục hàng trong bảng Chi tiết Đơn hàng phải thuộc về một Đơn hàng trong bảng Đơn hàng. ORDERID là khóa ngoại xác định đơn hàng đó. Như đã lưu ý ở trên, một đơn hàng chứa một hoặc nhiều mục dòng sẽ minh họa mối quan hệ một đối nhiều.

ID_Sản_phẩm

Mỗi bản ghi trong bảng Chi_tiết_đơn_hàng bao gồm ID_Sản_phẩm cho sản_phẩm đã đặt hàng. ProductID là khóa ngoại trong bảng Chi_tiết_đơn_hàng, xác định Sản phẩm theo đơn hàng đó. Đây cũng là mối quan hệ một đối nhiều.

ID_Đơn_hàng+ ID_Sản_phẩm

Như bạn thấy trong bảng Nhân viên, nhiều trường có thể có một chỉ mục duy nhất. Chỉ mục duy nhất trên OrderID+ProductID trong bảng OrderDetails đảm bảo mỗi đơn hàng chỉ chứa một sản phẩm một lần. Khi bạn mở bảng thuộc tính Chỉ mục từ dải băng, bạn có thể thấy chỉ mục duy nhất này.

Bảng Sản phẩm

Bảng này lưu trữ thông tin về các sản phẩm của Northwind. 

Lĩnh vực

Mô tả

Mã Sản phẩm

Ngoài khóa chính, các sản phẩm ProductID, Northwind còn có mã sản phẩm thân thiện với con người, được lập chỉ mục duy nhất. Nhân viên thường tham chiếu đến mã sản phẩm không phải là giá trị khóa chính. Mã sản phẩm là một giá trị tổng hợp bao gồm một chỉ định Thể loại và một số, ví dụ, B-1 cho "Đồ uống", sản phẩm 1.

Tên Sản phẩm, Mô tả Sản phẩm

Ngoài tên sản phẩm dạng văn bản ngắn, mô tả văn bản dài cũng áp dụng cho các sản phẩm. Giá trị này có thể được sử dụng trong mô tả danh mục hoặc để trả lời các câu hỏi của khách hàng.

Đơn_Giá

Tất cả các sản phẩm được bán với một đơn giá cho mỗi mặt hàng mà đơn giản hóa cơ sở dữ liệu như là một trưng bày các tính năng. Trong hầu hết các tình huống thực tế, giá cả thường phức tạp hơn đáng kể.

Xem thêm

Northwind 2.0 Starter Edition

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.