APaaS產(chǎn)品設(shè)計之?dāng)?shù)據(jù)模型(表單設(shè)計器)

1 評論 4899 瀏覽 28 收藏 35 分鐘

本文介紹了APaaS產(chǎn)品中的數(shù)據(jù)模型(表單設(shè)計器)的作用和實現(xiàn)方式。通過表單模型和數(shù)據(jù)表格容器,可以實現(xiàn)用戶友好的數(shù)據(jù)輸入和驗證,以及數(shù)據(jù)的存儲和展示功能。

一、為什么要講

做了近四年的SaaS產(chǎn)品經(jīng)理,我想講講為什么需要APaaS,因我們公司做的是面向建筑設(shè)計領(lǐng)域的協(xié)同辦公平臺,我們的核心是圍繞以項目全生命周期為主,提供涵蓋項目經(jīng)營管理系統(tǒng)(項目立項)、項目管理系統(tǒng)、協(xié)同設(shè)計系統(tǒng)(CAD)、電子出圖系統(tǒng)、電子檔案管理系統(tǒng)、出版管理系統(tǒng)。

過程中遇到以下兩個問題:

  • 對企業(yè)自身來講,100家企業(yè)會有100種業(yè)務(wù)場景和流程,所以說無法通過簡單的SaaS系統(tǒng)去進行適配,而企業(yè)一般也不可能因為系統(tǒng)的引進,從而去改變自身的業(yè)務(wù)流程。
  • 這些企業(yè)中有些需求已經(jīng)通過其它廠商解決了,會形成數(shù)據(jù)孤島。比如考勤用釘釘、HR用薪人薪事、審批用泛微、項目管理用我們的、財務(wù)系統(tǒng)用金碟。

1. 實現(xiàn)思路

1)每個企業(yè)都有其獨特的業(yè)務(wù)流程和需求,作為垂類領(lǐng)域SaaS平臺,就需要進行面向企業(yè)場景的定制化改造。

定制化改造的核心是貼合企業(yè)的業(yè)務(wù)流程,即SOP(標準作業(yè)流程)。通過對企業(yè)的業(yè)務(wù)流程進行深入理解和分析,可以通過表單的編排和流程的編排來實現(xiàn)系統(tǒng)的構(gòu)建。

這樣的定制化改造可以滿足企業(yè)對業(yè)務(wù)信息錄入、OA系統(tǒng)、HR系統(tǒng)、工單系統(tǒng)等各種需求。使用APaaS(應(yīng)用平臺即服務(wù)),可以實現(xiàn)面向企業(yè)定制場景的基礎(chǔ)系統(tǒng)的快速搭建APaaS提供了表單的編排和流程的編排功能,使企業(yè)能夠根據(jù)自身的業(yè)務(wù)需求和流程特點,快速構(gòu)建定制化的系統(tǒng)。

此外,APaaS還提供了分析看板和權(quán)限管控等功能,進一步增強了系統(tǒng)的靈活性和可定制性。

2)設(shè)計原則是:各大模塊可獨立存在,也可以組裝在一起使用。

支持API和excel從各大平臺直接接入至平臺。市場角度來說先滲透進企業(yè)內(nèi)部,同時也實現(xiàn)數(shù)據(jù)一致性。

2. APaaS(Application Platform as a Service)開發(fā)的核心價值可以總結(jié)為以下幾點

1)產(chǎn)出可復(fù)用模型,快速開發(fā)并提升部署效率

APaaS開發(fā)平臺提供了一系列的可復(fù)用組件、模塊和功能,開發(fā)人員可以通過拖拽、配置和定制的方式快速構(gòu)建應(yīng)用程序。

這些可復(fù)用的模型和組件可以被多個應(yīng)用程序共享和重復(fù)使用,大大縮短了開發(fā)周期,提高了部署效率。

2)降低使用門檻,敏捷適應(yīng)業(yè)務(wù)需求

傳統(tǒng)的應(yīng)用開發(fā)需要開發(fā)人員具備一定的編程和技術(shù)能力,而APaaS開發(fā)平臺通過提供可視化的界面和簡化的開發(fā)工具,降低了應(yīng)用開發(fā)的技術(shù)門檻。

非專業(yè)開發(fā)人員也能夠通過APaaS平臺進行應(yīng)用開發(fā),快速適應(yīng)和響應(yīng)業(yè)務(wù)需求的變化。

3)打通數(shù)據(jù)孤島

企業(yè)中常常存在著各種數(shù)據(jù)孤島,數(shù)據(jù)存儲在不同的系統(tǒng)和應(yīng)用中,互相隔離且難以共享。

APaaS開發(fā)平臺提供了數(shù)據(jù)集成和連接的能力,可以通過簡單的配置和綁定,將不同系統(tǒng)和應(yīng)用中的數(shù)據(jù)進行整合和共享,實現(xiàn)數(shù)據(jù)的打通和流動。

除了以上核心價值,APaaS開發(fā)還具備一定的靈活性和通用性。開發(fā)者可以根據(jù)自身需求自由定義前端界面組件、數(shù)據(jù)源綁定方式、數(shù)據(jù)模型、業(yè)務(wù)邏輯和工作流等,甚至可以進一步修改源碼,定制符合特定業(yè)務(wù)需求的應(yīng)用程序。

這種靈活性和通用性使得APaaS開發(fā)能夠適應(yīng)不同行業(yè)和企業(yè)的需求,提供個性化的解決方案。

總體而言,APaaS開發(fā)的核心價值在于提供快速開發(fā)、部署和適應(yīng)業(yè)務(wù)需求的能力,通過產(chǎn)出可復(fù)用模型和打通數(shù)據(jù)孤島,幫助企業(yè)提高效率、降低成本,并加強業(yè)務(wù)的靈活性和可持續(xù)發(fā)展能力。

二、那我們來講講什么是數(shù)據(jù)模型

前面提到了APaaS平臺通過數(shù)據(jù)模型+角色權(quán)限+視圖+流程可以快速產(chǎn)出可用模型。那么今天就來說說,其核心之一的數(shù)據(jù)模型。

數(shù)據(jù)模型是一種概念性的表示,用于描述現(xiàn)實世界中的數(shù)據(jù)、數(shù)據(jù)之間的關(guān)系以及數(shù)據(jù)的屬性。它是對數(shù)據(jù)的組織、結(jié)構(gòu)和語義的抽象和規(guī)范化。數(shù)據(jù)模型通常用于設(shè)計和構(gòu)建數(shù)據(jù)庫系統(tǒng)、信息系統(tǒng)和軟件應(yīng)用程序。

常見數(shù)據(jù)模型:

  • 關(guān)系型數(shù)據(jù)模型(如關(guān)系數(shù)據(jù)庫):使用表格和關(guān)聯(lián)關(guān)系來組織數(shù)據(jù)。
  • 層次數(shù)據(jù)模型:數(shù)據(jù)以樹狀結(jié)構(gòu)組織,每個節(jié)點可以包含多個子節(jié)點。
  • 面向?qū)ο髷?shù)據(jù)模型:數(shù)據(jù)以對象的形式組織,包括屬性和方法。
  • 文檔數(shù)據(jù)模型:數(shù)據(jù)以文檔(如JSON、XML)的形式組織。

關(guān)系型數(shù)據(jù)模型

關(guān)系型數(shù)據(jù)模型對應(yīng)的數(shù)據(jù)庫自然就是關(guān)系型數(shù)據(jù)庫了,這是目前應(yīng)用最多的數(shù)據(jù)庫。(關(guān)系型數(shù)據(jù)庫如MySQL、Oracle、Microsoft SQL Server)

定義:關(guān)系型數(shù)據(jù)模型是一種基于關(guān)系(表格)的數(shù)據(jù)組織方式,其中數(shù)據(jù)以二維表格的形式存儲。它通過定義表格、行和列之間的關(guān)系來表示數(shù)據(jù)。

每個表格代表一個實體,每行代表一個數(shù)據(jù)記錄,而每列代表一個數(shù)據(jù)字段或?qū)傩浴?/p>

關(guān)系型數(shù)據(jù)模型具有以下特性:

  • 表格結(jié)構(gòu):關(guān)系型數(shù)據(jù)模型使用表格作為數(shù)據(jù)存儲的基本單位。每個表格由列和行組成,列定義了數(shù)據(jù)的屬性,而行表示數(shù)據(jù)的具體記錄。
  • 實體關(guān)系:關(guān)系型數(shù)據(jù)模型支持多個表格之間的關(guān)聯(lián)關(guān)系。這些關(guān)聯(lián)關(guān)系通過定義主鍵和外鍵來建立,以實現(xiàn)表格之間的數(shù)據(jù)關(guān)聯(lián)和查詢。
  • 數(shù)據(jù)一致性和完整性:關(guān)系型數(shù)據(jù)模型通過定義約束條件和規(guī)則,確保數(shù)據(jù)的一致性和完整性。主鍵約束保證每行數(shù)據(jù)具有唯一標識,外鍵約束保證表格之間的關(guān)聯(lián)關(guān)系正確。
  • 靈活性和擴展性:關(guān)系型數(shù)據(jù)模型具有良好的靈活性和擴展性。它可以適應(yīng)不同類型和結(jié)構(gòu)的數(shù)據(jù),支持添加、刪除和修改表格、列和記錄等操作。
  • 數(shù)據(jù)獨立性:關(guān)系型數(shù)據(jù)模型具有數(shù)據(jù)獨立性的特性。這意味著數(shù)據(jù)的邏輯表示與物理存儲相分離,可以在不影響應(yīng)用程序的情況下進行物理存儲結(jié)構(gòu)的改變。
  • 查詢語言:關(guān)系型數(shù)據(jù)模型使用結(jié)構(gòu)化查詢語言(SQL)作為數(shù)據(jù)操作和查詢的標準語言。SQL提供了豐富的查詢功能,包括選擇、插入、更新和刪除數(shù)據(jù)的操作。
  • 數(shù)據(jù)安全性:關(guān)系型數(shù)據(jù)庫提供了安全性機制,如用戶身份驗證、訪問控制和數(shù)據(jù)加密,以保護數(shù)據(jù)免受未經(jīng)授權(quán)的訪問和惡意操作。
  • 并發(fā)控制:關(guān)系型數(shù)據(jù)庫支持并發(fā)控制機制,以處理多個并發(fā)的事務(wù)。并發(fā)控制確保在多個用戶同時訪問和修改數(shù)據(jù)時,數(shù)據(jù)的一致性和隔離性得到保證。

這些特性使得關(guān)系型數(shù)據(jù)模型成為企業(yè)內(nèi)部信息化產(chǎn)品中常用的數(shù)據(jù)模型,適用于許多應(yīng)用場景,如數(shù)據(jù)管理系統(tǒng)、企業(yè)資源規(guī)劃(ERP)系統(tǒng)、客戶關(guān)系管理(CRM)系統(tǒng)等。

三、關(guān)系型數(shù)據(jù)模型的實現(xiàn)方式——數(shù)據(jù)表格

關(guān)系型數(shù)據(jù)模型使用數(shù)據(jù)表格來表示實體、屬性和它們之間的關(guān)系。

1. Microsoft Excel≠數(shù)據(jù)表格

Microsoft Excel 不是像 MySQL 或 Oracle 那樣的傳統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDBMS)。

雖然 Excel 確實具有一些類似于關(guān)系數(shù)據(jù)模型的功能,例如將數(shù)據(jù)組織到表中以及定義表之間的關(guān)系的能力,但它并不完全遵守關(guān)系數(shù)據(jù)庫的原則。

Excel 主要是一種電子表格應(yīng)用程序,允許用戶以表格格式存儲和操作數(shù)據(jù)。 它提供數(shù)據(jù)輸入、計算、格式化和可視化的功能。 雖然它可以處理結(jié)構(gòu)化數(shù)據(jù)并執(zhí)行基本數(shù)據(jù)分析,但它缺乏關(guān)系數(shù)據(jù)庫的一些關(guān)鍵特性,例如數(shù)據(jù)完整性約束、數(shù)據(jù)查詢能力(如 SQL)以及對復(fù)雜事務(wù)的支持。

Excel 通常用于個人和小規(guī)模的數(shù)據(jù)管理任務(wù),但它可能不適合處理大量數(shù)據(jù)或復(fù)雜的關(guān)系數(shù)據(jù)模型。 對于更高級的關(guān)系數(shù)據(jù)庫需求,通常會采用專用的 RDBMS 解決方案。

2. 數(shù)據(jù)表格的構(gòu)成要素

數(shù)據(jù)表格通常由以下要素構(gòu)成:

  • 表名(Table Name):數(shù)據(jù)表格在數(shù)據(jù)庫中有一個唯一的名稱,用于標識和引用該表格。
  • 列(Column):數(shù)據(jù)表格由多個列組成,每一列代表一個屬性或字段。列定義了數(shù)據(jù)的類型、長度以及其他約束條件。
  • 行(Row):數(shù)據(jù)表格中的每一行表示一個數(shù)據(jù)記錄或?qū)嶓w,也稱為元組(Tuple)。行包含了與列相對應(yīng)的實際數(shù)據(jù)值。
  • 主鍵(Primary Key):主鍵是用于唯一標識每一行的一列或一組列。主鍵的值必須是唯一的且不為空,用于保證每一行的唯一性和檢索的準確性。
  • 外鍵(Foreign Key):外鍵是用于建立表格之間關(guān)系的列,它引用了其他表格的主鍵。外鍵用于確保數(shù)據(jù)表格之間的引用完整性和一致性。
  • 約束條件(Constraints):約束條件定義了數(shù)據(jù)的完整性規(guī)則,用于限制數(shù)據(jù)的取值范圍和關(guān)聯(lián)關(guān)系。常見的約束條件包括唯一約束、非空約束、默認值約束等。
  • 索引(Index):索引是一種數(shù)據(jù)結(jié)構(gòu),用于加快數(shù)據(jù)表格的檢索速度。索引可以基于一個或多個列,通過預(yù)先排序和組織數(shù)據(jù),提供更高效的數(shù)據(jù)訪問。
  • 其他屬性和選項:數(shù)據(jù)表格還可以具有其他屬性和選項,如表格注釋、觸發(fā)器、視圖等,用于進一步管理和操作數(shù)據(jù)。

這些構(gòu)成要素共同定義了數(shù)據(jù)表格的結(jié)構(gòu)、數(shù)據(jù)類型、約束條件以及與其他表格之間的關(guān)系,使得數(shù)據(jù)能夠被有效地存儲、查詢和操作。

3. 典型的數(shù)據(jù)表格例子之Mysql

傳統(tǒng)開發(fā)模式下,開發(fā)人員會根據(jù)業(yè)務(wù)需求建表。

1)創(chuàng)建數(shù)據(jù)模型

Contract表格表示合同信息,包含ContractID作為主鍵,表示合同的唯一標識,以及其他屬性如ContractName、StartDate和EndDate。

Party表格表示相關(guān)方信息,包含PartyID作為主鍵,表示相關(guān)方的唯一標識,以及其他屬性如PartyName、Address和ContactNumber。

ContractParty表格用于建立Contract表格和Party表格之間的關(guān)系,它包含了ContractID和PartyID作為外鍵,分別與Contract表格和Party表格的主鍵關(guān)聯(lián),以及Role屬性表示相關(guān)方在合同中的角色。

2)設(shè)計表

3)預(yù)覽表

四、APaaS平臺怎么通過可視化界面把表單設(shè)計與數(shù)據(jù)庫建表工作結(jié)合起來

1. 通過容器的方式實現(xiàn)數(shù)據(jù)表格其在可視化界面的渲染

APaaS平臺通常通過以下方式來實現(xiàn)數(shù)據(jù)表格容器:

  1. 可視化表格設(shè)計器:提供可視化的表格設(shè)計器,允許用戶以圖形化的方式創(chuàng)建和設(shè)計數(shù)據(jù)表格。用戶可以通過拖放和設(shè)置屬性來定義表格的列和屬性。
  2. 數(shù)據(jù)模型定義:允許用戶定義數(shù)據(jù)模型,包括表格和列的結(jié)構(gòu)。用戶可以定義列的數(shù)據(jù)類型、長度、約束條件等。
  3. 表格操作和行為:提供一系列操作和行為選項,用于對數(shù)據(jù)表格進行操作和處理。例如,用戶可以定義增加、刪除、修改表格記錄的操作,以及表格之間的關(guān)聯(lián)關(guān)系和查詢操作。
  4. 數(shù)據(jù)綁定:支持將數(shù)據(jù)表格與其他組件或數(shù)據(jù)源進行綁定。這意味著表格可以顯示和編輯與其他組件或數(shù)據(jù)源相關(guān)聯(lián)的數(shù)據(jù)。用戶可以指定數(shù)據(jù)源,如數(shù)據(jù)庫表、API接口或其他數(shù)據(jù)服務(wù)。
  5. 用戶界面定制:允許用戶自定義表格的外觀和行為。用戶可以調(diào)整表格的樣式、布局和交互方式,以滿足特定的需求。
  6. 數(shù)據(jù)驗證和約束:提供數(shù)據(jù)驗證和約束機制,以確保數(shù)據(jù)的完整性和一致性。用戶可以定義列級別和表級別的約束條件,如唯一性約束、非空約束等。
  7. 數(shù)據(jù)過濾和排序:支持對表格數(shù)據(jù)進行過濾和排序。用戶可以定義過濾條件,以便只顯示滿足條件的數(shù)據(jù)。同時,用戶可以指定排序規(guī)則,對表格數(shù)據(jù)進行排序。
  8. 數(shù)據(jù)導(dǎo)入和導(dǎo)出:提供數(shù)據(jù)導(dǎo)入和導(dǎo)出功能,以便將表格數(shù)據(jù)從外部源導(dǎo)入到表格中,或?qū)⒈砀駭?shù)據(jù)導(dǎo)出到外部文件或數(shù)據(jù)存儲中。

1)騰訊微搭

① 功能展示

在頁面設(shè)計組件中,提供數(shù)據(jù)容器:

數(shù)據(jù)容器組件介紹:

  • 數(shù)據(jù)列表:適用于從數(shù)據(jù)源中查詢多條數(shù)據(jù),并將返回列表循環(huán)展示的場景,如查詢用戶列表。
  • 數(shù)據(jù)詳情:適用于從數(shù)據(jù)源中查詢一條數(shù)據(jù),并將返回數(shù)據(jù)展示的場景,如查詢訪客預(yù)約詳情。
  • 表單容器:快捷實現(xiàn)表單數(shù)據(jù)的提交與展示場景。綁定數(shù)據(jù)源后,可根據(jù)字段類型自動生成單行輸入、下拉選擇、提交按鈕等組件。
  • 數(shù)據(jù)表格:以表格形式展示多行數(shù)據(jù),支持對數(shù)據(jù)進行排序、搜索、分頁、自定義顯示內(nèi)容和操作。

數(shù)據(jù)列表顯示效果如下圖所示:

數(shù)據(jù)詳情顯示效果如下圖所示:

表單容器顯示效果如下圖所示:

數(shù)據(jù)表格顯示效果如下圖所示:

目前微搭已經(jīng)實現(xiàn)根據(jù)選擇的數(shù)據(jù)表,可以直接生成選擇表對應(yīng)的列表、創(chuàng)建、更新、詳情頁面。用戶體驗絕佳!

② 操作演示

創(chuàng)建模型應(yīng)用:選擇數(shù)據(jù)源(創(chuàng)建數(shù)據(jù)表、表字段、表關(guān)系),數(shù)據(jù)源支持跨應(yīng)用共享選擇。必須選擇一個數(shù)據(jù)源才能走下一步。

選擇完成之后,會自動生成如所下圖所示幾個頁面,列表、創(chuàng)建、更新、詳情。這個地方特別符合用戶心智模型,點贊?。?!

對于組件的解釋,跟隨詳情跳轉(zhuǎn)鏈接,這個細節(jié)特別好,點贊!

③ 技術(shù)實現(xiàn)

騰訊微搭使用 Kubernetes 作為其應(yīng)用程序容器的管理和編排平臺,通過利用 Kubernetes 的自動化和彈性能力,提供高效、可靠的微信小程序開發(fā)和部署環(huán)境。

2)Microsoft Power Apps

① 功能展示

  • “編輯”窗體:則用戶可以編輯相應(yīng)字段、創(chuàng)建記錄,以及將所做的更改保存到數(shù)據(jù)源。
  • “顯示”窗體:則用戶可以顯示某個記錄的所有字段,或者只顯示您指定的字段。

② 操作演示

選擇“編輯”窗體:

關(guān)聯(lián)了數(shù)據(jù)源的表單,不支持刪除:

這個細節(jié)特別好,值得點贊!??!

③ 技術(shù)實現(xiàn)

在 Microsoft Power Apps 中,應(yīng)用程序的運行和托管是在 Microsoft Azure 云平臺上進行的。Azure 提供了一系列的托管服務(wù)和平臺功能,用于運行和擴展 Power Apps 應(yīng)用程序。

Microsoft Azure 平臺本身支持容器化應(yīng)用程序的部署和管理,并提供了 Azure Kubernetes Service(AKS)作為托管 Kubernetes 服務(wù)。這使得開發(fā)人員可以在 Azure 上部署和管理基于Kubernetes 的應(yīng)用程序。

但這與 Microsoft Power Apps 平臺本身的功能和架構(gòu)是分開的,Power Apps 并不直接使用 Kubernetes 作為其容器管理解決方案。

2. 怎么做

有兩種開發(fā)方式:

  • 表單驅(qū)動。在表單驅(qū)動的開發(fā)方式中,應(yīng)用的核心是表單。開發(fā)者通過定義和配置表單來構(gòu)建應(yīng)用的用戶界面和交互邏輯。表單中包含了輸入字段、驗證規(guī)則、布局等信息,用于收集用戶輸入的數(shù)據(jù)并進行處理。表單驅(qū)動的開發(fā)方式更加關(guān)注用戶界面和交互邏輯的設(shè)計,開發(fā)者需要根據(jù)具體的業(yè)務(wù)需求來創(chuàng)建和配置表單,定義數(shù)據(jù)的輸入、展示和驗證方式。
  • 模型驅(qū)動。在模型驅(qū)動的開發(fā)方式中,應(yīng)用的核心是數(shù)據(jù)模型。開發(fā)者通過定義和配置數(shù)據(jù)模型,包括實體、屬性、關(guān)聯(lián)關(guān)系等,來構(gòu)建應(yīng)用的數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)邏輯。應(yīng)用的用戶界面和功能是基于數(shù)據(jù)模型自動生成的,開發(fā)者可以通過配置數(shù)據(jù)模型的屬性、視圖、操作等來定義用戶界面和交互邏輯。模型驅(qū)動的開發(fā)方式強調(diào)數(shù)據(jù)驅(qū)動的應(yīng)用開發(fā),開發(fā)者主要關(guān)注數(shù)據(jù)模型的設(shè)計和配置,而較少關(guān)注具體的界面設(shè)計和編碼。

騰訊微搭和Microsoft Power Apps都是都采用了表單驅(qū)動和模型驅(qū)動相結(jié)合的開發(fā)模式來實現(xiàn)表單設(shè)計器

騰訊微搭,它結(jié)合了表單驅(qū)動和模型驅(qū)動的特點。在微搭中,可以通過簡單的表單配置來創(chuàng)建用戶界面和交互邏輯,快速構(gòu)建數(shù)據(jù)錄入和展示界面。

同時,微搭也支持通過數(shù)據(jù)模型的定義和配置來實現(xiàn)更復(fù)雜的業(yè)務(wù)邏輯和數(shù)據(jù)關(guān)聯(lián)。開發(fā)者可以根據(jù)具體的需求選擇合適的方式進行開發(fā),靈活地使用表單驅(qū)動和模型驅(qū)動。

Microsoft Power Apps,它同樣采用了表單驅(qū)動和模型驅(qū)動的混合模式。在Power Apps中,可以通過拖拽和配置表單控件來創(chuàng)建用戶界面,并通過設(shè)置控件的屬性和事件來定義交互邏輯。

此外,Power Apps還提供了數(shù)據(jù)模型的支持,開發(fā)者可以定義實體、屬性和關(guān)聯(lián)關(guān)系,并使用公式和規(guī)則來實現(xiàn)數(shù)據(jù)的處理和業(yè)務(wù)邏輯。通過表單驅(qū)動和模型驅(qū)動的結(jié)合,Power Apps提供了更靈活、細粒度的開發(fā)方式。

核心設(shè)計思路:

  • 數(shù)據(jù)源綁定。將數(shù)據(jù)源綁定邏輯從表格組件中分離出來。這可以通過創(chuàng)建一個數(shù)據(jù)服務(wù)或數(shù)據(jù)層的模塊來實現(xiàn)。該模塊負責(zé)與數(shù)據(jù)源進行通信,獲取數(shù)據(jù),并將數(shù)據(jù)傳遞給表格組件進行顯示。這樣,表格組件只需要專注于展示數(shù)據(jù)和用戶交互,而不需要處理數(shù)據(jù)獲取的細節(jié)。
  • 容器和內(nèi)容分離。將表格組件放置在一個獨立的容器組件中。容器組件負責(zé)管理表格的布局和樣式,并提供必要的交互功能,如排序、篩選等。表格組件則負責(zé)渲染和展示數(shù)據(jù),并處理用戶交互事件。通過將容器和內(nèi)容分離,可以實現(xiàn)更好的模塊化和組件重用性。

1)數(shù)據(jù)表格搭建

實現(xiàn)思路:

  1. 準備數(shù)據(jù):首先,準備需要展示的數(shù)據(jù)。數(shù)據(jù)可以來自數(shù)據(jù)庫、API接口、本地文件或其他數(shù)據(jù)源。確保數(shù)據(jù)的結(jié)構(gòu)和格式與表格組件所期望的一致。
  2. 選擇表格組件:根據(jù)需求和技術(shù)棧,選擇適合的表格組件或庫來渲染數(shù)據(jù)表格。
  3. 綁定數(shù)據(jù):將準備好的數(shù)據(jù)綁定到表格組件中。
  4. 設(shè)置表格屬性:根據(jù)需要,配置表格的屬性和樣式??梢栽O(shè)置列的名稱、數(shù)據(jù)類型、排序方式、篩選選項、分頁設(shè)置等。此外,你還可以自定義表格的樣式、顏色和布局。
  5. 處理交互和事件:根據(jù)需要處理表格的交互和事件。例如,你可以添加點擊表頭排序、選中行、編輯數(shù)據(jù)、刪除數(shù)據(jù)等功能。通過監(jiān)聽表格組件的事件或使用相應(yīng)的API方法,來實現(xiàn)這些交互和操作。
  6. 渲染表格:在可視化頁面中使用相應(yīng)的代碼將表格組件渲染出來。這通常涉及在HTML文件中插入表格組件的標記,并在適當(dāng)?shù)奈恢檬褂肑avaScript代碼將其實例化和渲染。

① 騰訊微搭

功能展示

數(shù)據(jù)源:騰訊云微搭低代碼的數(shù)據(jù)源提供了數(shù)據(jù)集合本身的存儲以及操縱數(shù)據(jù)的各種方法,本質(zhì)上是一系列操作數(shù)據(jù)的方法集合。低碼平臺提供了數(shù)據(jù)源管理功能,可以創(chuàng)建、管理多個數(shù)據(jù)源。

數(shù)據(jù)源類型及功能概覽:

操作演示

新建數(shù)據(jù)模型(創(chuàng)建表):

設(shè)計表字段屬性:

通用選項集(合同狀態(tài)、合同類型),通用選項集管理就是枚舉值的管理:

表與表是怎么關(guān)聯(lián)的,例如下圖所示:為合同相關(guān)字段,提供數(shù)據(jù)類型:關(guān)聯(lián)關(guān)系,關(guān)聯(lián)模型選擇對應(yīng)的表“相關(guān)方”,關(guān)聯(lián)類型選擇:“1:1”,“N:1”的關(guān)系。

以及刪除“相關(guān)方”時,對應(yīng)的“合同”數(shù)據(jù)不刪除就是當(dāng)“合同”與“相關(guān)方”有關(guān)聯(lián)數(shù)據(jù)時,“相關(guān)方”不允許被兩個選項。這一點微搭考慮很到位。

數(shù)據(jù)源管理

在對應(yīng)數(shù)據(jù)模型后面,提供了對該數(shù)據(jù)的管理入口。

② Microsoft Power Apps

功能展示

數(shù)據(jù)源的類型:數(shù)據(jù)源可連接到云服務(wù),或者,可以位于應(yīng)用本地。

連接的數(shù)據(jù)源:最常見的數(shù)據(jù)源是可用于檢索和存儲信息的表。 可以利用到數(shù)據(jù)源的連接,采用 Microsoft Excel 工作簿、使用 Microsoft Lists 創(chuàng)建的列表、SharePoint 庫、SQL 表和許多其他格式來讀取和寫入數(shù)據(jù),并將這些數(shù)據(jù)存儲在 OneDrive for Business、DropBox 和 SQL Server 等云服務(wù)中。

除表以外的其他數(shù)據(jù)源包括電子郵件、日歷、Twitter 和通知,但本文并不介紹其他這些類型的數(shù)據(jù)源。

操作演示

創(chuàng)建應(yīng)用,創(chuàng)建表,設(shè)計表:

使用“顯示”窗體容器,關(guān)聯(lián)對應(yīng)數(shù)據(jù)源:

數(shù)據(jù)管理,可以添加修改數(shù)據(jù):

2)表單模型搭建

表單模型是指在應(yīng)用程序或系統(tǒng)中用于收集和處理用戶輸入數(shù)據(jù)的結(jié)構(gòu)化數(shù)據(jù)模型。它定義了表單中的字段、驗證規(guī)則、默認值和其他相關(guān)屬性。

表單模型的構(gòu)成要素,表單模型的構(gòu)成要素包括以下幾個方面:

  1. 表單字段(Form Fields):表單字段是表單模型的核心要素,用于收集用戶輸入的數(shù)據(jù)。每個表單字段代表一個特定的數(shù)據(jù)項,例如文本輸入框、下拉列表、單選按鈕、復(fù)選框等。每個字段具有唯一的標識符和相關(guān)的屬性,如字段類型、驗證規(guī)則、默認值等。
  2. 標簽(Labels):標簽用于描述表單字段的用途或含義,提供給用戶一個可見的文本標識,幫助他們理解字段的目的。標簽通常顯示在字段前面或上方。
  3. 輸入控件(Input Controls):輸入控件是用戶與表單字段進行交互的界面元素。根據(jù)字段的類型,輸入控件可以是文本輸入框、下拉列表、單選按鈕組、復(fù)選框等。輸入控件允許用戶輸入、選擇或修改數(shù)據(jù)。
  4. 默認值(Default Values):某些字段可以設(shè)置默認值,作為初始值或推薦值。默認值可以預(yù)先填充字段,減少用戶的輸入工作量,同時提供了一些合理的選項。
  5. 驗證規(guī)則(Validation Rules):驗證規(guī)則定義了對用戶輸入數(shù)據(jù)進行驗證的規(guī)則和條件。驗證規(guī)則用于確保輸入數(shù)據(jù)的合法性和完整性,可以包括必填字段、數(shù)據(jù)格式、范圍限制、唯一性檢查等。驗證規(guī)則可以提供及時的錯誤提示,幫助用戶糾正錯誤并提供有效的數(shù)據(jù)。
  6. 提交按鈕(Submit Button):提交按鈕用于觸發(fā)用戶完成表單輸入并提交數(shù)據(jù)的操作。當(dāng)用戶點擊提交按鈕時,表單數(shù)據(jù)將被發(fā)送到后端進行處理或存儲。
  7. 取消按鈕(Cancel Button):取消按鈕允許用戶放棄當(dāng)前的表單輸入操作,返回上一步或退出表單頁面。

這些要素共同構(gòu)成了表單模型,提供了一種結(jié)構(gòu)化和用戶友好的方式來收集和處理用戶輸入的數(shù)據(jù)。通過合理設(shè)計表單字段、標簽、輸入控件、驗證規(guī)則等要素,可以提升用戶體驗、確保數(shù)據(jù)的準確性和完整性,以及滿足特定應(yīng)用場景的需求。

① 騰訊微搭

組件列表詳見:https://cloud.tencent.com/document/product/1301/59110

② Microsoft Power Apps

組件列表詳見:https://learn.microsoft.com/zh-cn/power-apps/maker/canvas-apps/add-configure-controls

五、結(jié)論

本文詳細描述了APaaS產(chǎn)品中數(shù)據(jù)模型(表單設(shè)計器),本質(zhì)來看:表單模型是一種用于收集和驗證用戶輸入數(shù)據(jù)的模型。它定義了數(shù)據(jù)輸入的結(jié)構(gòu)、字段和驗證規(guī)則。表單模型提供用戶界面,用于展示字段和接收用戶的數(shù)據(jù)輸入。

通過表單模型,可以收集用戶提交的數(shù)據(jù),并進行驗證以確保數(shù)據(jù)的合法性和完整性。而數(shù)據(jù)模型負責(zé)數(shù)據(jù)的結(jié)構(gòu)化存儲和查詢,使用數(shù)據(jù)表格容器是數(shù)據(jù)模型在可視化界面的實現(xiàn)方式,另外還提供數(shù)據(jù)源的管理。

扮演的角色

數(shù)據(jù)表格容器用于數(shù)據(jù)的存儲和展示,而表單模型用于數(shù)據(jù)的輸入和驗證。

數(shù)據(jù)表格容器提供了數(shù)據(jù)的結(jié)構(gòu)化存儲和查詢功能,而表單模型提供了一種用戶友好的方式來收集和驗證用戶輸入的數(shù)據(jù)。

  • 數(shù)據(jù)輸入:表單模型提供用戶界面,用戶可以填寫表單字段并提交數(shù)據(jù)。
  • 數(shù)據(jù)驗證:表單模型可以驗證用戶輸入的數(shù)據(jù),確保數(shù)據(jù)的合法性和完整性。
  • 數(shù)據(jù)存儲:通過數(shù)據(jù)表格容器,將表單中的數(shù)據(jù)存儲到適當(dāng)?shù)谋砀裰?,以便后續(xù)的數(shù)據(jù)處理和查詢。
  • 數(shù)據(jù)展示:數(shù)據(jù)表格容器可以用于展示存儲的數(shù)據(jù),將數(shù)據(jù)以表格的形式呈現(xiàn)給用戶或其他系統(tǒng)進行查看和分析。

本文由@高姿態(tài) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于CC0協(xié)議。

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 太牛了,講清了數(shù)據(jù)模型的來龍去脈,小白都能看懂,給作者一鍵三連~

    來自廣東 回復(fù)