Skip to Content
Technical Articles
Author's profile photo Kimikazu Kabata

Free Trialではじめる SAP HANA Cloud: Vol.2 テーブル作成とデータロード

本ブログでは、SAP HANA Cloud (以下、「HANA Cloud」) を初めて使われる方を対象に、Free Trial 環境を使用した操作手順を解説いたします。

SAP Business Application Studio (以下、BAS) が2021年1月からHANA Cloudにも対応しました。BASはブラウザベースのSAP のクラウド環境での新しい標準開発ツールです。

本Blogのシリーズでは、このBASを利用してHANA CloudでDBオブジェクトを作成する方法について解説していきたいと思います。

本内容は「DBエンジニア」向けの内容になります。

 

内容は下記の通りです。

1. SAP Business Application Studioを設定し、プロジェクトを作成する

2. テーブルを作成し、データをロードする

3. Calculation View (HANA View)を作成する

4. DBオブジェクトを一括デプロイする

 

本Blogでは、上記の「2. テーブルを作成し、データをロードする」を解説します。

操作の手順は下記の通りです。

・テーブルの作成

・CSV データのロード

 

サンプルのスクリプトやCSVデータは下記のサイトからダウンロードしてください。

使用するファイルは下記になります。

・CUSTOMERS.hdbtable

・ORDERS.hdbtable

・PRODUCTS.hdbtable

・Customers.csv

・Orders.csv

・Products.csv

 

テーブルを作成する

 

それでは、BASを使ってテーブルを作成します。まずは、今まで多くのDBエンジニアの皆様が作成していた、「xxxxxx.sql」というSQLのスクリプトにあたるファイルを作成します。

ORDER-ENTRYプロジェクト内のdbフォルダ配下のsrc フォルダを選択した後、画面上部メニューの「View」から「Find Command…」を選択します。

検索ボックスで「HANA」と入力し、表示されたリストの中から「SAP HANA Create SAP HANA Database Artifact」を選択します。

 

 

 

この「Artifact (アーティファクト)」は「モノ、オブジェクト」に近いニュアンスの言葉で、要は「テーブルやインデックス、シノニムなど、諸々のDBオブジェクトをこれから作ります」という意味になります。

まず、ファイルを配置するフォルダが「/home/user/projects/order-entry/db/src」になっていることを確認してください。もし、選択されていない場合はフォルダアイコンをクリックして、当該フォルダを選択してください。

今回はテーブルを作成しますが、ファイル名の拡張子が「Artifact」毎に決まっています

リストから「.hdbtable」を選択してください。検索ボックスに「table」と入力するとリスト表示されます。

 

まずはCUSTOMERS (顧客マスター)テーブルを作成しますのでArtifact Nameには 「CUSTOMERS」と入力し、「Create」ボタンをクリックしてファイルを作成します。

 

左のツリーから「CUSTOMERS.hdbtable」を選択し、ダウンロードした「CUSTOMERS.hdbtable」ファイルを開いて内容をコピー & ペーストします。

※ ファイルの内容はAuto Saveされます。

 

 

-- CUSTOMERS テーブルの作成

COLUMN TABLE "CUSTOMERS" (
  "CUSTOMERID" INTEGER
, "CITYID" INTEGER
, "COUNTRYID" INTEGER
, "REGIONID" INTEGER
, "CUSTOMER" NVARCHAR(50)
, "CITYNAME" NVARCHAR(50)
, "COUNTRYNAME" NVARCHAR(50)
, "REGIONNAME" NVARCHAR(50)
, PRIMARY KEY ("CUSTOMERID")
)

 

次にこのCUSTOMERS テーブルを「Deploy」します。「Deploy」という言葉は少し難しいのですが、DBに対してテーブルを作成する操作です。

画面左下にある同名の「CUSTOMERS.hdbtable」を選択し、「Deploy」アイコンをクリックします。

 

「Deploy」が成功したら、テーブルがDBに作成されているか確認しましょう。

Database Connections から、「order-entry-hdidb」を選択し、DBに接続するためのアイコンをクリックします。

別のタブ/ウインドウが開いて、Database Explorer が起動します。

 

ツリーから「Tables」を選択します。CUSTOMERS テーブルが作成されたことが確認できると思います。

スキーマ名には「ORDER_ENTRY_HDI_1」となっていますが、現時点では気にしないでください

 

コピー & ペーストしたテーブルを作成する命令文がSQL文に似ていたものの、「CREATE TABLE」文の「CREATE」がなかったことに違和感を覚えたDBエンジニアの方も多いかと思います。

BASを使ったテーブル作成では、この定義ファイルに列を追加したり、削除したり、データ型の桁数を増やしてから「Deploy」するとテーブルにその変更が反映されます。

要するに「ALTER TABLE」文を発行しなくてもテーブルの属性変更ができます。

これが「HDI」の良いトコロです。

ただし、データ型の変換ができないパターンもあるので、「ALTER TABLE文でできないことは基本的にできない」と憶えておいてください。

 

それでは、同じ手順で「ORDERS (オーダー)」テーブルと「PRODUCTS (製品マスター)」 テーブルも作成しましょう。

新規作成するファイル名、及び定義文のコピー元のファイルは、それぞれ「ORDERS.hdbtable」と「PRODUCTS.hdbtable」になります。

 

-- PRODUCTS テーブルの作成

COLUMN TABLE "PRODUCTS" (
  "PRODUCTID" INTEGER
, "CATEGORYID" INTEGER
, "LINEID" INTEGER
, "PRODUCTNAME" NVARCHAR(50)
, "PRODUCTDESCRIPTION" NVARCHAR(50)
, "CATEGORYNAME" NVARCHAR(50)
, "CATEGORYDESCRIPTION" NVARCHAR(50)
, "LINENAME" NVARCHAR(50)
, "LINEDESCRIPTION" NVARCHAR(50)
, "DISCONTINUED" INTEGER
, PRIMARY KEY ("PRODUCTID")
)
-- ORDERS テーブルの作成

COLUMN TABLE "ORDERS" (
  "ORDERID" INTEGER
, "PRODUCTID" INTEGER
, "CUSTOMERID" INTEGER
, "EMPLOYEEID" INTEGER
, "ORDERPERIODID" INTEGER
, "REQUIREDPERIODID" INTEGER
, "SHIPPEDPERIODID" INTEGER
, "SHIPPERID" INTEGER
, "UNITPRICE" INTEGER
, "QUANTITY" INTEGER
, "DISCOUNT" INTEGER
, "UNITSALES" BIGINT
, "NETSALES" BIGINT
, "UNITCOST" INTEGER
, "COST" INTEGER
, PRIMARY KEY ("ORDERID", "PRODUCTID")
)

 

CSVデータをロードする

 

CSVデータを利用したデータローディングはDatabase Explorer を利用します。

まずは「CUSTOMERS 」テーブルから始めます。

Database Explorerから対象のテーブルを選択します。

テーブルを右クリックしてメニューから「Import Data」を選択します。

 

「自分のPC上にあるファイル」を意味する「Local」を選択し、事前にダウンロードしておいたファイルから、対象CSVファイル(Customers.csv)を選択し、テーブル定義情報などを確認してからデータをロードします。

 

 

 

 

 

データがロードされたか確認してみましょう。

 

 

それでは、同じ手順で「ORDERS (オーダー)」テーブルと「PRODUCTS (製品マスター)」 テーブルに対してもデータをロードしてみましょう。

CSV ファイルは、各々「Orders.csv」と「Products.csv」になります。

 

いかがでしたでしょうか ?

さて、次はいよいよ、モデリングの本題である「HANA View の作成」です。

 

では、次回もお楽しみに !!

 

次回 : Calculation View (HANA View)を作成する

Assigned tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.