Database trong Appsheet là một tập hợp các dữ liệu được tổ chức theo một cấu trúc nhất định, cho phép người dùng truy cập và quản lý thông tin trên ứng dụng của họ một cách hiệu quả.
Vậy làm thế nào để tạo ra mối quan hệ giữa các bảng khác nhau để Appsheet liên kết và cập nhật dữ liệu? Cùng Gitiho tìm hiểu cách liên kết và cập nhật dữ liệu từ nhiều table trong Appsheet nhé!
Kiểu dữ liệu cho phép tạo ra mối quan hệ giữa các bảng khác nhau trong Google Appsheet đó là “ref”. Bằng cách chỉ định một cột trong bảng này chứa một giá trị tương ứng với một hàng trong bảng khác, bạn có thể dễ dàng tạo ra liên kết giữa các bảng.
Tuy nhiên, để sử dụng kiểu dữ liệu “ref”, bạn cần tạo ra mối liên hệ giữa các bảng cần liên kết trước khi dùng nó trong các bảng khác. Ngoài ra, bạn cũng có thể sử dụng các hàm liên quan đến quan hệ (ví dụ: RELATED) để truy vấn các dữ liệu từ bảng liên quan.
Kiểu liên kết bảng trong Appsheet thường thấy là kiểu 1-n hoặc 1-, có nghĩa là liên kết một - nhiều. Bởi vậy, bạn có thể liên kết một hàng trong bảng này với nhiều hàng trong bảng khác.
Ví dụ: Trong quá trình tạo ứng dụng quản lý đơn hàng, bạn có thể thấy rằng một khách hàng có thể có nhiều đơn hàng. Và bảng “Khách hàng” liên kết với bảng “Đơn hàng” bằng cột “kh_d”.
Đây là một cột ở trong bảng con (Đơn hàng) chứa các giá trị khóa chính trong bảng cha (Khách hàng). Nếu có một khách hàng bị xóa khỏi bảng Khách hàng thì tất cả giá trị đơn hàng của khách hàng đó sẽ bị xóa trong bảng Đơn hàng.
Như vừa đề cập ở phần trên, để liên kết từ bảng này tới bảng khác ta sẽ dùng kiểu dữ liệu “ref”. Các bước làm cụ thể bao gồm:
Vào menu Data trong trình chỉnh sửa ứng dụng của Appsheet, chọn bảng cần liên kết dữ liệu.
Chọn vào biểu tượng Edit của cột muốn liên kết.
Trong phần Type chọn Ref.
Tích chọn “Is a part of?” cho phần liên kết (bạn có thể chọn tùy chọn này hoặc không). Có nghĩa là:
Đây là tùy chọn cho phép người dùng xóa các dòng dữ liệu liên quan hay không. Ví dụ ở bảng Khách hàng ta chọn “Is a part of?”, thì khi xóa một id khách hàng (ví dụ KH02) ở bảng này thì toàn bộ đơn hàng của KH02 ở bảng Đơn hàng sẽ bị xóa theo và không thể khôi phục lại.
Ở trên ta có thể dễ dàng liên kết thông tin giữa Khách hàng và Đơn hàng qua ID. Tuy nhiên, khi cần sử dụng thông tin từ khách hàng đó như địa chỉ giao hàng, người liên hệ, chúng ta cần làm như nào? Để sử dụng thông tin có sẵn từ bảng cha, chúng ta chỉ cần viết hàm như sau:
[key_id].[Thông tin cần lấy từ Khách hàng]
Chẳng hạn, muốn lấy thông tin “ten” ở bảng cha thì ta chỉ cần gõ (kh_id].[ten]
Còn khi cần cập nhật dữ liệu từ nhiều bảng, ta dùng công thức sau:
[bang_1_id].[bang_2_id].[bang_3_id]
Lưu ý: Khi update dữ liệu một dòng ở bảng cha, các dòng ở bảng con sẽ không tự động thay đổi. Bởi vậy, chúng ta cần cài đặt cập nhật thông tin cho bảng con.
Ta có nguyên tắc update trong Appsheet: trong formula nếu một cột thay đổi thì tất cả các cột đều thay đổi.
Do đó, để update một dòng dữ liệu chúng ta chỉ cần tạo thêm một cột là “update” sau đó tạo một action là update và set value cho cột update này bằng =now(). Sau khi cài đặt xong, các dòng dữ liệu ở bảng con sẽ được update khi bảng cha thay đổi.
Để cập nhật dữ liệu từ bảng khác vào bảng Đơn hàng, chúng ta sử dụng một action gọi là "excute an action on a set of rows". Action này sẽ thực hiện một loạt các hành động trên các dòng được chỉ định.
Để cập nhật dữ liệu nhanh chóng, chúng ta có thể gắn action này trực tiếp vào form.
Tuy nhiên, cần lưu ý rằng việc gắn action vào form sẽ không hoạt động khi chúng ta xóa dòng. Do đó, chúng ta cần tạo một tự động hóa automation để cập nhật khi xóa dữ liệu.
Trong bài viết này, chúng tôi hướng dẫn bạn cách liên kết và cập nhật dữ liệu từ nhiều bảng khác nhau trong Appsheet. Hy vọng rằng bạn có thể áp dụng hiệu quả những kiến thức này trong quá trình quản lý và tối ưu hóa dữ liệu cho ứng dụng của bạn.
Để hiểu rõ hơn cách làm việc với dữ liệu trên Appsheet, cũng như tạo và tùy chỉnh một giao diện(view), hành động (action), hay quy trình tự động hóa,... cho ứng dụng, bạn có thể tham khảo khóa học Làm chủ Google Appsheet từ cơ bản tới nâng cao của Gitiho.
Học Appsheet cơ bản
Lê Văn Hoà
Khóa học bao gồm 55 bài giảng và 12 giờ học giúp bạn nhanh chóng nắm vững được các kiến thức để tạo một ứng dụng bằng Appsheet mà không cần biết lập trình. Đăng ký và học ngay cùng Gitiho để được giảm giá 30% bạn nhé!
Gitiho đã cho ra mắt khóa học Google Sheets từ Cơ bản đến Nâng cao, công cụ thay thế Excel giúp bạn hoàn toàn có thể tự tin phân tích và xử lý dữ liệu trên Google Sheet, lập bảng biểu, báo cáo trực quan và hơn thế nữa. Bấm vào để học thử ngay!