3-2.関連付けとデータの導入

P:よし、休憩終わり! 次は何するの?

O:これで3個のEntityが完成したから、それぞれを関連付けるわ。

P:関連付ける?

O:レコードのプライマリキーの話になるのだけど、とても長くなってしまうから簡単に説明するわね。

Webアプリケーションでデータを表示したり収めたりするときに、複数ののEntityが必要なことがあるの。

例えばBOOKのEntityのデータが5項目、CATEGORYが1項目、REVIEWが1項目を一度に表示しようとしたら、そのページには3つのEntityを用意しなければいけないの。

少しのAttributeのために、毎回複数のEntityを引き出すのは効率が悪いわ。

だから、アプリケーションに合わせた関連付けをしてあげることが大切なの。

P:そっか、全部のページにEntityがいっぱい付いてたらアプリの動作も重いよね!

O:(それもあるけど、ホントにわかってるかしら……)まあ、そんなとこかしらね。

P:じゃあ、さっそくやってみるよ。

まずは、BOOK Entityの関連付けからだね!

 

09  BOOK Entityで右クリックをし「Add Entity Attribute」を選択します。

10  「CATEGORY_ID」と入力し、Data Typeが「CATEGORY Identifier」になっていることを確認します。

P:これでBOOK Entityを使用するときに、CATEGORY Entityからデータを引用できるようになったね!

318319029

O:次はREVIEW Entityに関連付けね。

 

11 REVIEW Entityで右クリックをし「Add Entity Attribute」を選択します。

12 「BOOK_ID」と入力し、Data Typeが「BOOK Identifier」になっていることを確認します。

  • これでREVIEW Entityを使用する際にBOOK Entityからデータを引用できるようになります。

320321

 

O:これで関連付けは終了よ。

P:この関連付けって理由があるの?

O:

0-2.操作を始める前に(データモデル) - plugoutblogの日記

で説明した、ERを基にしているわ。

  • BOOKは書籍データになるから、分類分けするためにCATEGORY(カテゴリー)と関連しなきゃいけない(BOOK Entity内にCATEGORY_IDの作成)
  • 同じようにREVIEW(書籍のレビュー)は本のレビューが入るから、BOOKと関連させて、どの本のレビューなのか分かるようにする(REVIEW Entity内にBOOK_IDの作成)

このために前もってデータモデルのER図を決めておく必要があったの。

P:後から関連付けが変わったりしないの?

O:関連付けの変更はなるべく避けてね。ページや機能を追加した後で、関連付けを変更するとエラーが出て、それを解消しても不具合の元になるかもしれないの。

最初の設計に問題があったり、後から追加の機能が必要になったりしたら変更の必要があるかもしれないけれど、それでも、初めに拡張性を考えて作っていれば、避けられる問題だと思うわ。

どうしても、関連付けを変更しなければいけない場合は、一から作り直す覚悟を持ってね。

P:そっか一度決めたら、後戻りが難しいところなんだね。

O:Entityはデリケートだからね。新しいアプリを作るときは、特に慎重にね。

 

さて、次からは、作成したEntityに、

2.Excelデータ作成 - plugoutblogの日記

で作った3つのExcelデータを導入するわ。

 

13 BOOK Entityを右クリックして「Advanced」から「Create Action to Bootstrap Data from Excel...」を選択します。

14 先ほど作成したBook Excelファイルを選択します。

15 Excel Columns」と「’BOOK’ Attributes」のデータ名が一致していることを確認し、【PROCEED】を選択します。

322323

16 同様にREVIEW EntityとCATEGORY Entityに13~15の手順を行ってExcelデータを導入します。

324325

P:これで3個のデータをEntityに格納したの?

O:ええ、問題なくできていれば、それぞれのEntityに反映されているわ。

P:ホント!? 見たい見たい!

O:あわてないで、もう少し先で確認できるから。

そのためにも、次はこれらを用いて実際にWebページの作成をしましょう。

326327328

<<前ページ:3-1. EntityとAttribute - plugoutblogの日記| 次のページ:4. Web Screen >>

3-1. EntityとAttribute

夏休みも残り少しですね、、、

宿題はちゃんと終わりました?

どこかの世界では8月32日があるらしいですけど日本には8月31日までしかありませんから残された時間のご利用は計画的に!

 

P:これから、さっき作った3個のExcelデータをService Studioに使うんだね?

O:そうよ、データを格納するEntityの作成をするの。Entityはデータベースのテーブルのことで、Attributeはフィールドのことよ。

P:テーブルレコードは?

O:テーブルレコードのまま。OSPではテーブルはEntityとフィールドはAttributeと名前が変わっているから、気を付けてね。

P:はーい。

01 Dataレイヤを開き「Entities」フォルダを右クリックして「Add Entity」を選択します。

301

P:「Entities」フォルダのすぐ下に"Entity1"ができたよ!

 

02 Entity名を「BOOK」とします。

O:Entity名は01のすぐ後だったら、そのまま入力できるわ。

P:できないよ、オリヴィア!

O:(どこか触ったわね…)入力できなかったら、画面右下の"Entity1"のProperty(プロパティ)に「Name」の欄があるから、そこを書き直してね。

P:右下……Name……あ、"Entity1"って書いてあるすぐ下だね。うん、入力できたよ。

 

03 作成したBOOK Entityを右クリックし「Add Entity Attribute」を選択します。

302023

P:「Book」Entityのすぐ下に"Attribute1"ができたよ!

あれ? IDがあるよ?

O:そうなの。EntityをAdd(追加)した時点で、IDは自動生成されるの。さっき02で、Entity名を「Book」にした時にBOOK_IDも作ったことになるの。

P:だから、2.Excelデータ作成の時に作らなくてよかったんだね!

 

04 03の手順を繰り返し以下の8個の項目を追加します。

BOOK Entity

BOOK_NAME_MAIN

BOOK_NAME_SUB

AUTHOR

PRICE

ISSUE_DAY

PAGE

ISBN

INTRODUCTION_REPORT

303024

P:03の手順を繰り返しって、「Add Entity Attribute」をあと7回するってこと?

O:そうよ、各Attributeの設定は後でするから、まずは見たとおりに名前を付けてあげて。

 

05 01~04の手順を繰り返し「REVIEW Entity」「CATEGORY Entity」を作成します。

  • 追加するAttributeは以下に示す通りです。BOOK Entityと同様にREVIEW_ID,CATEGORY_IDは自動生成されます。

REVIEW Entity

  • REVIEW_COMMENT
  • REVIEW_POINT
  • COMMENT_DAY

304025

CATEGORY Entity

  • CATEGORY_NAME

305026

 

P:できた!

O:じゃあ、これから作成したAttributeの設定をしましょう。

 

06 BOOK Entityの設定をします。各Attributeの設定は以下の通りです。

P:設定って、さっき名前(Name)を変えた画面右下のプロパティのこと?

O:そうよ。AttributeやEntityだけじゃなく、ServiceStudio内で設置したものは全て、画面右下のプロパティで確認・変更ができるわ。よく使うから覚えててね。

306307308309310311312313

P:これを全部設定するの?

O:そうよ、最初は手間に感じるかもしれないけれど。この設定は絶対に必要なことなの。

Webアプリケーションで、データを正しく収めるための大事な設定の一つよ。

P:うん、わかった。

ところで、赤い枠のData Typeってなぁに?

O:Data Typeはデータ型を設定する項目よ。

LengthはTextの最大文字数。

Is Mandatoryはアプリでデータ入力するときに、必須項目か否かを設定する項目になるわ。

 

 

07 REVIEW Entityの設定をします。各Attributeの設定は以下の通りです。

316314315

 

08 CATEGORY Entityの設定をします。各Attributeの設定は以下の通りです。

317

P:終わったー! なんだか疲れたよ。

O:お疲れさま、これで作成したAttributeの設定は終了よ。

初めての操作は緊張するもんね。少し、休憩してから次に行きましょう。

 

<<前ページ:2.Excelデータ作成 - plugoutblogの日記| 次のページ:3-2.関連付けとデータの導入 - plugoutblogの日記>>

本家サイトのブログはこちら→http://www2.plugout.jp/

2.Excelデータ作成

 

リオ オリンピックのレスリング女子が金メダルラッシュですね。

登坂選手、伊調選手、土性選手と3個の金メダルを獲得です。すごいですね。

オリンピックに負けじと、今週も OSP の説明にいくぞ!

 

Service Studioに導入するExcelデータの作成を行います。

書籍データ(BOOK),レビューデータ(REVIEW),カテゴリデータ(CATEGORY)となる3個のデータを作成します。

009

01 空白のブックを選択し図に示す列名を入力し、好みのデータを一つ入力しておきましょう「Book」という名前でExcelファイルとして保存します。

P:オリヴィア、0-2.操作を始める前に(データリンク)のときに、BOOK_IDとCATEGORY_IDっていうのがあったと思うんだけど、これはいらないの?

O:後でService Studio内で作成するから、BOOK_IDとCATEGORY_IDの列名は作っちゃダメ。後のエラーの原因になるの。

201

010

02 空白のブックを選択し図に示す列名を入力し、好みのデータを一つ入力しておきましょう。

「Review」という名前でExcelファイルとして保存します。 REVIEW_ID,BOOK_IDはService Studio内で作成するためここに入力する必要はありません。

203

011

03 空白のブックを選択し図に示す列名を入力し、好みのデータを一つ入力しておきましょう。

「Category」という名前でExcelファイルとして保存します。CATEGORY_IDはService Studio内で作成するためここに入力する必要はありません。

204

O:これで必要なExcelデータが揃ったわ。

P:このデータをService Studioへ導入するんだね。

205021

 

 

<<前ページ:1.モジュールの作成 |次のページ:3-1. EntityとAttribute(8/25予定)>>

 

本家サイトのブログはこちら→http://www2.plugout.jp/

1.モジュールの作成

■本日限定!
ブログスタンプ限定あなたもスタンプをGETしよう。

また、リオ五輪では、内村選手の金メダルを取るまでの過程が凄すぎるというの話題ですが、腰の方は大丈夫でしょうか?これからの選手生命に影響しなければ良いのですが...。

気を取り直して、先週からの続きです。

 

1.モジュール作成

最初にアプリケーションを作成します。

01 Service StudioApplication in DevelopmentからNew Applicationを選択します。

O:インストール直後の場合は画面左上に図1のアイコンが表示されるわ。

101017

 

 

02 アプリケーション名を「Book_Review_<イニシャル>」を設定し【SAVE】を選択します。

10218

03 MODULESの「London」を選択し、Module Nameに「Book_Review_<イニシャル>」を

入力し【CREATE MODULE】を選択します。

10319

 

P:これでモジュールが作成されたんだね!

O:そうね。正確にはアプリケーション内にモジュールが作成されたってことね。アプリケーション内では複数のモジュールが作成できるから、アプリケーション=モジュールと考えちゃダメよ。

P:うん、わかった! 次は何するの?

O:アプリケーション内のモジュールで使用するデータを管理するために「書籍」,「レビュー」,「カテゴリ」の3個のExcelファイルを作成するわ。

P:じゃあ、Excelを用意しなきゃ。

O:モジュールの保存が完了していないから、Service Studioは開いたままにしててね。

 

104020

<<前ページ:0-3.OSPの終了方法|次のページ:2.Excelデータ作成(8/18予定)>>

本家サイトのブログはこちら→http://www2.plugout.jp/

0-3.OSPの終了方法

 

O:OSPで大事なこと!

P:OSPで大事なこと!

O:終了する時に注意するのは、作業の保存!

P:終了する時に注意するのは、作業の保存!

O:OSPはサーバ内で作業して保存を行い、Webアプリケーションを構築するの。それで……

P:OSPはサーバ内で作業して保存を行……

O:もういいわよ。

それで、オフラインでの保存もできるんだけど、サーバのデータと重複したりするから、なるべくサーバ内で保存をしてほしいの。

P:なんで、サーバ内の保存がいいの?

O:ソフト自体がサーバでの保存を優先してるのと、「ネット環境があれば、どこにいても保存した状態から開発を再開可能」だからよ。オフラインで自分のPCだけにデータを残す意味合いが薄いの。

P:超高速開発ツールってソフトやデータが大きそうなイメージなのに、持ち運ぶ必要が無いんだ!

O:そうね、でも、あくまでファイルを間違って上書きとかを避けたいだけだから強制はしないわ。

P:だから、なるべくなんだね!

O:そういうこと。じゃあ、保存方法を説明するわね。

保存方法は2点あるわ。

013

  • その1

モジュールを開いてるときに、画面の上にある「1」と書かれた緑色のボタン【1Click Publish】を押す。普段はこちらを選んでね。

もし、【1Click Publish】が図の左にあるような「×」が表示されているときは、何かのエラーが発生してるってことなの。解決すればもとの緑色に戻るわ。(代表的なエラーやその解決方法は、後のブログで説明していきます。)

【1Click Publish】を押したあと、データをサーバに上げる処理が行われて、図の一番左のような青色に変わるの。この状態になったら、無事に終了できるわ。必ず青になってから終了してね。

013

014

  • その2

さっきとおなじでモジュールを開いているときに、今度は画面右上の「Module」を押すと、メニューが開くの。メニューの下から2番目の「Export」の中にある「Save」を選んで、任意の場所に保存してね。この保存方法だと、ボタンが赤くなってるエラー状態でも保存できるわ。でも、サーバーのデータと重複して、残したいデータが消えちゃうかもしれないから、使うときは注意してね。

その2の保存方法から再開するときはモジュールを選ぶ初期画面で「Environment」→「Open file」→保存したデータを選ぶと、続きを再開できるわ。

014015

 

 

<<前ページ:0-2.操作を始める前に(データモデル)| 次のページ:1.モジュール作成>>

 

本家サイトのブログはこちら→http://www2.plugout.jp/

0-2.操作を始める前に(データモデル)

 操作に入る前に。

O:ここから1章に入るまでは操作はしないから、のんびり聞いてね。

P:はーい。

O:さっそく、ペスカトーレを準備しないで。お菓子ならまだしも、パスタが出てくるっておかしいでしょ。

改めて。

アプリ作成に必要な準備のお話をするわね。「何を何のために、どんな風に作成するのか」ということが分かる、大切なお話よ。
まず、

  • OSPでアプリを作るのに、最初に必要なのは「データモデル」。

P:データモデルって何?

O:データモデルは現実のデータをコンピュータが扱いやすくするために「どのデータをどこに収めて、どのように引き出すか」というルールみたいなものね。ルールを決める作業をデータモデリングと言うの。

P:そのルールが無いとどうなるの?

O:その場その場で決めることになるでしょうから、作業スピードが落ちるわ。
超高速開発プラットフォームのOSPでも、その速さを体感することはできないわね。

P:データモデリングでハッキリとデータモデルを作ることが重要……でいいのかな?

O:そうね、「ハッキリと」ってところが特に重要。よく気づいたわね、フィリップ。

P:ホメられたw じゃあ、これからデータモデルを作るの?

O:そうね。本当は一緒にデータモデルを作りたかったけど、早くOSPに触れてほしいから、今回は私が決めたデータモデルで作成してね。006

  • 機能一覧
  • 画面一覧
  • 概念データモデル
  • 物理データモデル
  • Entityの定義

以上のデータモデルの設定は、これから図で説明するわ。

 

  • 機能一覧

O:書籍レビューを作るのに必要な機能の一覧をまとめてみたわ。

003

今後、OSPの操作を説明しながら、この機能を作っていくの。

P:「CRUD」ってなに?

O:CRUDはアプリケーションの基本機能を構成する4つの頭文字のことよ。

(C)Create(生成)

(R)Read(読み取り)

(U)Update(更新)

(D)Delete(削除)

この基本機能は、必ず実装しなきゃいけない機能だから、覚えててね。

P:うん!

 

  • 画面一覧

O:書籍レビューを作るために必要な画面の一覧よ。こっちもOSPの操作を説明しながら、作っていくわ。でも、OSP自体の機能説明を優先したいから、画面を統合したりポップアップメッセージで表現することもあるから、一覧にある画面は見た目や表現が変わったりすると思うわ。

004

005

006

007

P:こんなに画面作るの?

O:そう思うでしょ? 実はそうでもないの。実際に作るときに説明するわね。

 

  • ER図(Entity Relationship図)

O:OSP内のエンティティ(Entity:実体)のリレーションシップ(Relationship:関連)のイメージよ。

008

P:えんてぃてぃ? りれーしょんしっぷ?

O:Entityは実際にOSPでもよく使う言葉になるわ。データベースのテーブルと同じイメージで大丈夫よ。Relationshipもテーブルどうしの関連性の言葉で、こちらもOSPでよく使われるから大事ね。

P:ソフトを扱う中でこの言葉が出るってこと?

O:そう。実際の画面を見たら、分かると思うけど、その時に改めて説明するね。

この図は”Entity” (テーブル)と”Attribute” (カラム)の構成にも使う大事な図なの。

図みたいにBOOKは書籍データになるから、分類分けするために、CATEGORY(カテゴリー)と関連しなきゃいけないの。

同じようにREVIEW(書籍のレビュー)は本のレビューが入るから、BOOKと関連させて、どの本のレビューなのか分かるようにするの。

分かった?

P:うーん……図を見てたら、右から左に繋がってる先が広がってるけど、これのこと?

008-1007

O:そうね、CATEGORYとBOOKの場合、CATEGORYが参照先でBOOKが参照元になるわ。

P:わかった!

O:(難しく言った方が分かることってあるのね……)

 

 

  • 画面遷移図

O:この図みたいな構造で書籍レビュー作成するわ。

009

 

  • Entityの定義1

O:BOOKのEntity(テーブル)よ。

010009

 

  • Entityの定義2

O:REVIEWのEntity(テーブル)よ。

011010

 

 

  • Entityの定義3

O:CATEGORYのEntity(テーブル)よ。

012011

 

O:以上が作成に必要なデータモデルになるわ。データモデルがないと、OSPはその真価を発揮できないわ。自分で新しいアプリケーションを作成するときは、必ずデータモデルから作成することを心掛けてね。

P:ふぁふぁっは!

O:おとなしく聞いてると思ったら、ペスカトーレ食べてたのね……。

 

<<前ページ:0-1.注意事項 | 次のページ:0-3.OSPの終了方法>>

 

本家サイトのブログはこちら→http://www2.plugout.jp/

0-1.注意事項

リオ五輪直前にポケモンGoがブラジルで配信されたわね。オリンピックパークでは何のポケモンが捕まえられるのかしら。競技場ごとに違ってたらいいわね。でも、競技も見ずにウロウロしてたら、注意されそう。

そんなわけで、これから話すのは『注意事項』よ。

 

 -注意事項-

オリヴィア(以下:O):フィリップ、最初に注意点を説明するわ。大事なところだから、ちゃんと聞いてね。

フィリップ(以下:P):OK、オリヴィア!

O:まず、注意点その1。

  • このブログではボタンを全て隅カッコ【】で表現しています。

例えば、「OKボタンを押す」→「【OK】を押す」になるのよ。003
【】で囲まれた言葉はぜんぶ、ポチッとできるボタンの事よ。

P:わかったよ、オリヴィア。でも、なんで【】で囲むの?

O:これからは、専門的な用語にボタンという言葉がよく一緒になるの。だから、「○○ボタンを押した後に、△△ボタンを押して、□□ボタンのプロパティを…」という冗長的な表現になるわ。なので、

「○○ボタンを押した後に、△△ボタンを押して、□□ボタンのプロパティを…」

↓ ↓ ↓

「【○○】を押した後に、【△△】を押して、【□□】のプロパティを…」

という表現に変えた方がスッキリして分かりやすいでしょ?

P:ホントだ!

O:『【】はボタン』で覚えてね。

P:うん!

O:続いて注意事項その2。

  • 実際に行う作業にのみ番号をつけています。

例えば、「01 InterfaceレイヤからMain Flowを開いてね」みたいな、操作する説明は青色の番号がついてるよ。

P:番号がついてなかったら、操作しなくていいの?

O:番号以外の説明は、操作自体の意味だったり、うまく操作ができなかった時の説明だったり、操作によってOSPが何をしているか、補足する内容になるわ。参考にしてね。

P:そっか。操作だけできればいいんじゃないだね!

O:その通り!

OSPは機能が盛りだくさん! だから、OSPに興味を持ってくれたあなたとフィリップのためにできるだけ、わかりやすくお話しするね! 難しい操作のアドバイスも頑張るわ!

 

 

 

 

 書籍レビューシステムについて

O:これから作る、書籍レビューシステムいついて説明するわね。
まずは、これを見て。

001

 

P:これが書籍レビューシステム? 最後にこういうのができたらいいの?

O:ええ。今のははWebで、次がその構成よ。

002
まずは見た目で「こういうのができればいいんだ」って理解してね。機能や見えないところは、今後説明していくけれど、

これから作るアプリは、あくまで仮のWEBアプリケーションなの。

P:仮のアプリケーション?

O:そう、アプリケーションはお仕事やその内容で変化するわ。

P:本屋さんの運営管理とレストランのそれとは違うみたいな話?

O:そうね。だから、新しく自分で作るため・作れるようになるために、必ず必要になるOSPの操作方法や知識を説明するのが、これから一緒に作る書籍レビューシステムなの。

P:これがすべてじゃないんだからねっ

O:私のセリフを取らないで。

005

 

<<前ページ:0.はじめに | 次のページ:0-2.操作を始める前に(データモデル)>>

 

本家サイトのブログはこちら→http://www2.plugout.jp/