天天看點

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

這個教程的前一篇文章,SAP HANA Cloud 學習教程之一: 如何在 SAP BTP 上建立 SAP HANA Cloud 執行個體,我們已經成功在 SAP BTP HANA Cloud Service 上建立了一個資料庫表。

本文介紹如何往這個資料庫表裡插入資料。

在 Business Application Studio 裡,點選 Open HDI Container,打開 SAP HANA Database Explorer for SAP HANA Cockpit:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

有時會遇到 Warning:Invalid Request Error 的警告資訊,此時 retry 即可。

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

注意:SAP Business Technology Platform trial 賬号,其下建立的 HANA Cloud Service 執行個體,每天都會自動被關閉,需要開發者手動重新開啟。

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

手動開啟後,狀态處于 Running:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

重新重新整理 SAP HANA Database Explorer for SAP HANA Cockpit:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

之後一切正常了。

打開 SQL console:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

将下列 JSON 資料插入資料庫表:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

在 Messages 面闆裡看到插入成功的消息:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

帶有 JSON 列的表允許您在同一文檔中存儲與同一記錄相關的所有資訊。 這些文檔不像典型的關系表那樣具有預定義的格式或字段數量。

當文檔之間的關系不太相關并且資料結構需要靈活時,這尤其有用。 例如,可能不會輸入電話号碼等字段并且可能根本不會存儲的使用者帳戶資料。 在相同的場景中,使用者記錄之間不需要外鍵和關系。

這種類型的資料庫也稱為 NoSQL,因為它存儲 Not-only 結構化資料。 SAP HANA 将 SQL 用于 JSON 列中的 CRUD 操作。

使用如下 SQL 語句查詢 Maria 所在的辦公室:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

下面我們再學習如何使用正常的 SQL 操作。

建立一個 DEVS.hdbtable 檔案:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

SAP HANA 預設建立列式表。 column 關鍵字是可選的,但在示例中用于提醒 SAP HANA 中基于列的本地表存儲。

點選 Deploy 按鈕:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

Deploy 成功之後,回到 SAP HANA Database Explorer for SAP HANA Cockpit 之後,能看到剛才建立的 Column table:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

我們使用如下 SQL 語句,将之前 COMMUNITY 資料庫裡的 JSON 内容,解析出來,插入到該 colum table 中去:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

11行插入成功。

使用如下語句,查詢 hint_text 包含字元串 develop 的開發者:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

建立一個 LEARNING_FROM 資料庫表,源代碼如下:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

重新部署後,打開 HANA Database Explorer:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

将 COMMUNITY 和 DEVS 資料表的内容插入 LEARNING_RELATION:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

既然我們已經有了一張表,其中包含社群中的學習關系和專家開發人員,您可以找出這些人之間的關系。 表示人員網絡的一種方法是使用圖形資料庫。

在 SAP HANA 中,圖由頂點(在本例中為開發人員)和邊(它們之間的連接配接,取自字段 LEARNS_FROM)表示。

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

建立一個新的 graph 模型:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

檢視 graph:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

效果如下圖所示:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

找出離 Thomas 最近的開發者:

SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料
SAP HANA Cloud 學習教程之二: 如何往SAP BTP 上 HANA Cloud 執行個體的資料庫表裡插入資料

答案是 Sam.