Cơ sở dữ liệu bên ngoài

Giới thiệu

Cơ sở dữ liệu bên ngoài được dùng để kết nối các cơ sở dữ liệu nghiệp vụ hiện có vào NocoBase, đọc các bảng dữ liệu, trường và chế độ xem trong cơ sở dữ liệu bên ngoài, để những bảng dữ liệu này có thể được sử dụng trong các khối trên trang, quyền hạn, quy trình công việc và API.

Khác với cơ sở dữ liệu chính, cấu trúc bảng của cơ sở dữ liệu bên ngoài do hệ thống gốc hoặc ứng dụng khách cơ sở dữ liệu quản lý. NocoBase chịu trách nhiệm đọc cấu trúc bảng và chế độ xem, không sửa đổi cấu trúc bảng thực tế của cơ sở dữ liệu bên ngoài.

Các phiên bản cơ sở dữ liệu và phiên bản thương mại được cơ sở dữ liệu bên ngoài hỗ trợ như sau:

Cơ sở dữ liệuPhiên bản được hỗ trợBản cộng đồngBản tiêu chuẩnBản chuyên nghiệpBản doanh nghiệp
MySQL>= 5.7
PostgreSQL>= 9.5
MariaDB>= 10.3
MSSQL2014-2019
KingbaseES>=V9
OceanBase>=4.3
Oracle>= 11g
ClickHouseTheo mô tả của plugin tương ứng
DorisTheo mô tả của plugin tương ứng
Gợi ý

KingbaseES chỉ hỗ trợ chế độ tương thích PostgreSQL; OceanBase, ClickHouse và Doris chỉ hỗ trợ chế độ tương thích MySQL.

Các trường hợp phù hợp với cơ sở dữ liệu bên ngoài:

  • Kết nối cơ sở dữ liệu của các hệ thống nghiệp vụ hiện có (chẳng hạn ERP, MES, WMS cũ), tận dụng khả năng của NocoBase để nhanh chóng xây dựng giao diện quản lý, kiểm soát quyền hạn, quy trình công việc và báo cáo mà không cần thay đổi cấu trúc bảng của cơ sở dữ liệu gốc.
  • Bổ sung khả năng ứng dụng nhẹ cho các hệ thống hiện có, chẳng hạn như phê duyệt, hiệu chỉnh dữ liệu, xử lý bất thường và bảng điều khiển vận hành, mà không cần thay thế hệ thống gốc.
  • Thực hiện truy vấn chỉ đọc, phân tích thống kê hoặc hiển thị BI trên cơ sở dữ liệu hiện có, giảm sự phụ thuộc vào các trang của hệ thống nghiệp vụ gốc.
  • Di chuyển hệ thống cũ theo từng giai đoạn: trước tiên kết nối cơ sở dữ liệu cũ vào NocoBase để tiếp tục sử dụng, sau đó từng bước lưu trữ dữ liệu nghiệp vụ mới trong cơ sở dữ liệu chính.
  • Cấu trúc cơ sở dữ liệu vẫn do DBA, tập lệnh di chuyển hoặc hệ thống nghiệp vụ gốc quản lý; NocoBase chỉ chịu trách nhiệm đọc cấu trúc, cấu hình giao diện và sử dụng dữ liệu.
Lưu ý

Cơ sở dữ liệu bên ngoài không phải là cơ sở dữ liệu hệ thống của NocoBase. NocoBase không tiếp quản việc sao lưu, khôi phục, di chuyển và cấu trúc bảng của cơ sở dữ liệu bên ngoài; những việc này vẫn cần được thực hiện trong cơ sở dữ liệu bên ngoài.

Cài đặt plugin

Cơ sở dữ liệu bên ngoài được cung cấp bởi plugin nguồn dữ liệu tương ứng. Sau khi cài đặt và bật plugin, bạn mới có thể chọn loại cơ sở dữ liệu tương ứng trong menu 「Add new」 của 「Quản lý nguồn dữ liệu」.

Cơ sở dữ liệuPlugin tương ứngCách cài đặt
MySQL@nocobase/plugin-data-source-external-mysqlCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
PostgreSQL@nocobase/plugin-data-source-external-postgresCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
MariaDB@nocobase/plugin-data-source-external-mariadbCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
KingbaseES@nocobase/plugin-data-source-kingbaseCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
OceanBase@nocobase/plugin-data-source-oceanbaseCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
MSSQL@nocobase/plugin-data-source-external-mssqlCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
Oracle@nocobase/plugin-data-source-external-oracleCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
ClickHouse@nocobase/plugin-data-source-external-clickhouseCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.
Doris@nocobase/plugin-data-source-external-dorisCần giấy phép thương mại; cài đặt và bật plugin để sử dụng.

add_new_database

Nếu menu 「Add new」 không có loại cơ sở dữ liệu mục tiêu, thường cần kiểm tra trước:

  • Plugin tương ứng đã được cài đặt hay chưa
  • Plugin đã được bật hay chưa
  • Giấy phép thương mại hiện tại có bao gồm plugin này hay không
  • Người dùng hiện tại có quyền quản lý nguồn dữ liệu hay không

Hướng dẫn sử dụng

Thêm cơ sở dữ liệu bên ngoài

Sau khi kích hoạt plugin, bạn mới có thể chọn và thêm cơ sở dữ liệu trong menu thả xuống Add new của phần quản lý nguồn dữ liệu.

20240507204316

Nhập thông tin cơ sở dữ liệu cần kết nối

20240507204820

Đồng bộ bảng dữ liệu

Sau khi thiết lập kết nối với cơ sở dữ liệu bên ngoài, hệ thống sẽ đọc trực tiếp tất cả các bảng dữ liệu trong nguồn dữ liệu. Cơ sở dữ liệu bên ngoài không hỗ trợ thêm bảng dữ liệu hoặc sửa đổi cấu trúc bảng trực tiếp. Nếu cần sửa đổi, bạn có thể thao tác thông qua ứng dụng khách cơ sở dữ liệu, sau đó nhấp vào nút 「Làm mới」 trên giao diện để đồng bộ.

20240507204725

Cấu hình trường

Cơ sở dữ liệu bên ngoài sẽ tự động đọc các trường của bảng dữ liệu hiện có và hiển thị chúng. Bạn có thể nhanh chóng xem và cấu hình tiêu đề, kiểu dữ liệu (Field type) và kiểu giao diện người dùng (Field interface) của trường, hoặc nhấp vào nút 「Chỉnh sửa」 để sửa đổi thêm các cấu hình khác.

20240507210537

Vì cơ sở dữ liệu bên ngoài không hỗ trợ sửa đổi cấu trúc bảng nên khi thêm trường, chỉ có thể chọn kiểu trường quan hệ. Trường quan hệ không phải là trường thực tế mà được dùng để thiết lập kết nối giữa các bảng.

20240507220140

Xem thêm nội dung trong chương Trường bảng dữ liệu / Tổng quan.

Ánh xạ kiểu trường

NocoBase sẽ tự động ánh xạ kiểu trường của cơ sở dữ liệu bên ngoài sang kiểu dữ liệu tương ứng (Field type) và kiểu giao diện người dùng (Field Interface).

  • Kiểu dữ liệu (Field type): dùng để định nghĩa loại, định dạng và cấu trúc dữ liệu mà trường có thể lưu trữ;
  • Kiểu giao diện người dùng (Field interface): là kiểu điều khiển được dùng để hiển thị và nhập giá trị trường trong giao diện người dùng.
PostgreSQLMySQL/MariaDBNocoBase Data TypeNocoBase Interface Type
BOOLEANBOOLEAN
TINYINT(1)
booleancheckbox
switch
SMALLINT
INTEGER
SERIAL
SMALLSERIAL
TINYINT
SMALLINT
MEDIUMINT
INTEGER
integer
boolean
sort
integer
sort
checkbox
switch
select
radioGroup
BIGINT
BIGSERIAL
BIGINTbigInt
sort
integer
sort
checkbox
switch
select
radioGroup
unixTimestamp
createdAt
updatedAt
REALFLOATfloatnumber
percent
DOUBLE PRECISIONDOUBLE PRECISIONdoublenumber
percent
DECIMAL
NUMERIC
DECIMALdecimalnumber
percent
currency
VARCHAR
CHAR
VARCHAR
CHAR
string
password
uuid
nanoid
input
email
phone
password
color
icon
select
radioGroup
uuid
nanoid
TEXTTEXT
TINYTEXT
MEDIUMTEXT
LONGTEXT
text
json
textarea
markdown
vditor
richText
url
json
UUID-uuiduuid
JSON
JSONB
JSONjsonjson
TIMESTAMPDATETIME
TIMESTAMP
datedate
time
createdAt
updatedAt
DATEDATEdateOnlydatetime
TIMETIMEtimetime
-YEARdatetime
CIRCELcirclejson
circle
PATH
GEOMETRY(LINESTRING)
LINESTRINGlineStringJson
lineString
POINT
GEOMETRY(POINT)
POINTpointjson
point
POLYGON
GEOMETRY(POLYGON)
POLYGONpolygonjson
polygon
GEOMETRYGEOMETRY--
BLOBBLOBblob-
ARRAY-arraymultipleSelect
checkboxGroup
BITBIT--
SETSETsetmultipleSelect
checkboxGroup
RANGE---

Kiểu trường không được hỗ trợ

Các kiểu trường không được hỗ trợ sẽ được hiển thị riêng. Những trường này chỉ có thể được sử dụng sau khi phát triển phần thích ứng.

20240507221854

Định danh duy nhất của bản ghi

Bảng dữ liệu được dùng để hiển thị trong khối cần có 「định danh duy nhất của bản ghi」 (Record unique key). Định danh duy nhất của bản ghi được dùng để xác định một bản ghi trong khối trên trang, thường là khóa chính hoặc trường duy nhất.

Đối với chế độ xem, bảng không có khóa chính hoặc bảng có khóa chính kết hợp, cần thiết lập thủ công 「Record unique key」 trong cấu hình bảng dữ liệu. Khi không có định danh duy nhất khả dụng, khối trên trang có thể không tạo khối, xem hoặc chỉnh sửa bản ghi chính xác. Để biết thêm thông tin, hãy tham khảo Bảng thông thường / Chỉnh sửa cấu hình.

edit_collection

edit_collection_configure