Trường

Giới thiệu

Trong NocoBase, Field (trường) là một thuộc tính nghiệp vụ dùng để mô tả dữ liệu trong Collection (bảng dữ liệu), nhằm mô tả một bản ghi có thể lưu trữ những thông tin nào, cũng như cách nhập, hiển thị, lọc và tham gia vào logic nghiệp vụ của các thông tin đó trên trang.

Định nghĩaMô tả
Lưu trữ dữ liệu gìVí dụ: văn bản, số, ngày tháng, tệp, trạng thái, quan hệ, JSON.
Sử dụng trên trang như thế nàoVí dụ: sử dụng ô nhập liệu, bộ chọn ngày, menu thả xuống, trình tải tệp đính kèm và bộ chọn quan hệ để nhập và hiển thị dữ liệu.
Tham gia vào các khả năng nghiệp vụ như thế nàoTrường được các khối trên trang, bộ lọc, sắp xếp, quyền, workflow, API, các chức năng nhập xuất dữ liệu và những chức năng khác sử dụng.

Trường có thể tương ứng với:

  • cột cơ sở dữ liệu thực trong cơ sở dữ liệu chính
  • cột cơ sở dữ liệu có sẵn trong cơ sở dữ liệu bên ngoài
  • trường trong chế độ xem cơ sở dữ liệu
  • trường trong kết quả truy vấn SQL
  • trường trong phản hồi REST API
  • trường quan hệ, trường hệ thống hoặc trường ảo trong bảng dữ liệu

Có thể hiểu đây là “một thuộc tính của đối tượng nghiệp vụ”. Ví dụ:

Đối tượng nghiệp vụField tương ứng
Khách hàngTên khách hàng, số điện thoại, cấp độ khách hàng, người phụ trách
Đơn hàngMã đơn hàng, số tiền đơn hàng, trạng thái đơn hàng, khách hàng
Hợp đồngTên hợp đồng, ngày ký, tệp đính kèm hợp đồng, trạng thái phê duyệt
Nhiệm vụTiêu đề nhiệm vụ, thời hạn, mức độ ưu tiên, người thực hiện
TệpTên tệp, kích thước, loại MIME, URL

Các trường hợp sử dụng

Dưới đây là các trường hợp sử dụng phổ biến được sắp xếp theo phân loại trường. Phần này trước hết giúp bạn xác định nên chọn loại trường nào; để xem cấu hình cụ thể, ánh xạ kiểu dữ liệu và các lưu ý, hãy tiếp tục xem tài liệu của từng phân loại tương ứng.

Phân loại trườngTrường hợp sử dụng
Trường văn bảnPhù hợp để lưu trữ tên, mã, mô tả, thông tin liên hệ, địa chỉ liên kết và các nội dung khác.
Trường văn bản có định dạngPhù hợp để lưu trữ nội dung chính, tài liệu mô tả, phương án xử lý, đoạn mã và các nội dung phức tạp khác.
Trường sốPhù hợp để lưu trữ số lượng, số tiền, điểm số, tỷ lệ và các giá trị số khác.
Trường ngày và giờPhù hợp để lưu trữ thời điểm, ngày, giờ, dấu thời gian của hệ thống bên ngoài và các nội dung khác.
Trường trạng thái và tùy chọnPhù hợp để lưu trữ các giá trị trong một phạm vi cố định, chẳng hạn như có kích hoạt hay không, trạng thái đơn hàng, cấp độ khách hàng và nhãn khách hàng.
Trường tệp đính kèmPhù hợp để tải tệp lên hoặc lưu địa chỉ tệp bên ngoài.
Trường quan hệPhù hợp để biểu đạt mối liên kết giữa các bảng dữ liệu khác nhau, chẳng hạn như đơn hàng thuộc về khách hàng, khách hàng sở hữu các đơn hàng và người dùng liên kết với vai trò.
Trường định danh và mã hóaPhù hợp để lưu trữ khóa chính nội bộ, ID đồng bộ hóa bên ngoài, định danh truy cập công khai và mã nghiệp vụ.
Trường hình họcPhù hợp để lưu trữ thông tin không gian hoặc địa lý, chẳng hạn như vị trí cửa hàng, tuyến đường giao hàng và phạm vi dịch vụ.
Trường hệ thốngPhù hợp để lưu trữ thông tin hệ thống do NocoBase hoặc cơ sở dữ liệu duy trì, chẳng hạn như ID, thời gian tạo, người tạo và thời gian cập nhật.
Các trường khácPhù hợp để xử lý các nhu cầu về trường không thuộc trực tiếp vào các phân loại khác, chẳng hạn như sắp xếp, công thức và JSON.

Loại Interface của trường

NocoBase phân loại các trường theo góc nhìn Interface như sau:

20240512110352

Kiểu dữ liệu của trường

Mỗi Field Interface đều có một kiểu dữ liệu mặc định. Ví dụ, đối với trường có Interface là số (Number), kiểu dữ liệu mặc định là double, nhưng cũng có thể là float, decimal và các kiểu khác. Hiện tại, các kiểu dữ liệu được hỗ trợ gồm:

20240512103733

Ánh xạ loại trường

Quy trình thêm trường mới vào cơ sở dữ liệu chính:

  1. Chọn loại Interface
  2. Cấu hình kiểu dữ liệu có thể chọn cho Interface hiện tại

20240512172416

Quy trình ánh xạ trường của nguồn dữ liệu bên ngoài:

  1. Tự động ánh xạ kiểu dữ liệu tương ứng (Field type) và kiểu UI (Field Interface) dựa trên kiểu trường của cơ sở dữ liệu bên ngoài.
  2. Thay đổi theo nhu cầu thành kiểu dữ liệu và loại Interface phù hợp hơn

20240512172759