OutSystemsエンジニアの猛勉強ブログ

初心者OutSystemsエンジニアのブログです(ぺこり)。

注文伝票アプリを作る(基礎コース1.2)前編

OutSystemsトレーニング基礎コース1.2
開始!やるぞ!

 

1.2

f:id:neomatsudaira:20160204165334p:plain

基礎コース1.2のトレーニング内容は

  ”一対多リレーションシップの作成。
 及び外部キーを用いての一対多リレーションシップの作成”

です。

だけど、これはあまり一対多間のリレーションシップ(連結)について深く考える必要はないです。ただ単に注文伝票アプリをOutSystemsで作るということです。

データベースをどこでリレーションシップ(連結)させているのか?についても考えるのではなく、たくさんアプリを作ることで体で覚えていけるはずです。

実際に手を動かしていく楽しさがあるトレーニングだと思います。

では、やってみましょう。

f:id:neomatsudaira:20160204170156p:plain

f:id:neomatsudaira:20160204170220p:plain

うむ。分からん。
まるで念仏のような字幕です。

 

続けようか、YOU!!

注文伝票アプリを作るので、まずはOrder(注文)データベースを前回のトレーニングと同じように右クリックで生成させます。

f:id:neomatsudaira:20160204170547p:plain

うむ。
マッハで作れた。

 

で、Order(注文)データベースを作ったら、いきなりDiagram(ダイヤグラム)の設計に入ります。
Diagramとは、データベースのリレーションシップ(連結)を視覚的に行うための空間です。

f:id:neomatsudaira:20160204170917p:plain

 

ウィーーン!!

f:id:neomatsudaira:20160204170936p:plain

(私の開発画面です)

ダイアグラムに載せた3つのデータベースは

 

 ・Client(お客様)データベース

 ・Product(製品)データベース

 ・Order(注文)データベース

 

です。
で、今回は注文伝票を作るので、注文というものはお客様から受けるものだから(当たり前ですね)、そのため、お客様データベースと注文データベースをリレーションシップ(連結)させます。

具体的には注文を受けたときに、誰からの注文を受けたのかを知りたいのです。よって、注文データベースにお客様Noを配賦することになる訳なのです。

 

・このように

f:id:neomatsudaira:20160204172343p:plain

(私の開発画面です。)

OytSystemsがClientId(お客様No)を勝手に外部キーとして認識し、リレーションシップ(連結)してくれている図です。高度だけど、結構面白いです。連結させたアトリビュート、ClientIdは一意である必要があるため、これが「主キー」です。

 

主キーの性質は重複してはいけないということ。
そして、お客様Noは通常絶対に重複しないから、これが主キーだということが分かります。

 

次は日付関数を入力したい訳ではないのだが、入力します

f:id:neomatsudaira:20160204172821p:plain

CurrDate()だそうな。意味は説明してくれません。

実は、字が小さくて見えないからこの部分の設計は結構大変だった。
意味はよく分からないけど、同じようにコードを書いてた。

作り終わってみて分かることは、SubmitDate列があるのは注文データベース内なので、ここにCurrDate()という関数を入力するということは、注文日が自動的に刻印されるということです。

 

自分、弱視で眼が悪すぎるから、こうやって確認してるんですよ。いや、マジで。

f:id:neomatsudaira:20160204173639p:plain

CurrDate()で当たってるっぽいね。
こう、ね。朝から、もう夜になっちゃったけど、朝から始めたのに、もう夜で、窓の外は真っ暗闇なのです。私は悲しい。1日10時間も15時間もアプリ作っていると、小林は何のために生きているのだろう?
と思っちゃうわけです。思っちゃいけないのにね。

とりあえず、内部のデータベース設計はこれでお終いです。
だけどまだ画面の設計と内部プログラムのアルゴリズムを作っていません。
データベースの設計だけで2本もエントリーを書いてしまったのです。

今日中に終わるのだろうか?
小林の今日の労働時間は18時間くらいになりそうですwwwwwww
なんか上司のM氏あたりが大喜びしてそうで悔しいです。

 

(次のトレーニングに続きます。)