Rmenu基礎知識「Rmenu とは」に加え、基礎知識を学びますRmenu基礎知識
もくじビジュアルツールとは



RACKの詳細

名前空間とは

JSONlintの使い方



オープンLDAPとは



ＥＲ図とは



ＤＢのコピー作成



プロジェクトのコピー作成

プログラムのコピー作成



URLの調べ方（ローカルテスト用）

Rmenu基礎知識

ビジュアルツールとはRmenu のデータの流れを確認するために使用しますビジュアルツールとはもくじ「ビジュアルツールとは」「ログビューア」

「サーバービューア」

「クライアントビューア」

ビジュアルツールとは

プログラムの流れを確認するツール

プログラムの流れを調べるときに、複数のウィンドウを開きデータやプログラムを追いかけますがビジュアルツールは一画面で同時に関係するプログラムを開くことができるのでプログラムの修正箇所確認や学習に便利ですビジュアルツールを使用時はブラウザを2つ用意します1つ目は『Rmenu 』を開き、2つ目は『ビジュアルツール』を開きます
Rmenu の『クライアント側』『サーバー側』『ログの確認』の3種類に分けてデータの流れが確認できます※それぞれどの部分が見れるのか図で確認

ブラウザ➀Rmenuを開く

ブラウザ②ビジュアルツールを開くビジュアルツールとはビジュアルツールを開く手順②ビジュアルツールを➀Webサーバーを③ビジュアルツールへ④ビジュアルツールはログインする

メニュー画面で待機

ファイヤーフォックスで立ち上げる
開く⑤Rmenuをクロームで開き⑥メニュー画面から⑧登録するためにログインする

操作画面まで進む⑨この画面に使われている⑩初期処理時の⑪登録処理時のプログラムを確認するプログラムを確認

プログラムを確認⑦練習用にデータを入力実行をクリックする

待機させていたビジュアル
ツールを操作します（Rmenuでデータ登録をした時のログを追いかける）

ビジュアルツールとはビジュアルツールを開く➀Webサーバーを立ち上げる②URLを開く
http://127.0.0.1:9292/Application/RmenuVisualTools/Html/Apps/Login/index.html③ログインID/PW ［ログイン：guest ＰＷ：guest］
ビジュアルツールを開くブラウザ
はファイヤーフォックスを推奨
クロームで調べるプロジェクトを開きファイヤーフォックスでビジュアルツールを開く④メニュー画面から各ページへ入ります（ビジュアルツール用意完了）※クロームで開くとエラーになる時があります
クロームの設定をポップアップ［許可］にすると改善

ビジュアルツールとはビジュアルツールを開く⑤ビジュアルツールが用意できたら、データの流れ方を追いかける練習用に『Rmenu sales』をブラウザはクロームで開きます※WEBサーバーはビジュアルツールで立ち上げ済URL：http://127.0.0.1:9292/Application/RmenuSales/Html/Apps/MyLogin2/index.html
ID： guest
PW：guest⑥ログインし、メニュー画面から［マスター管理］→［商品入力］→［商品マスター一覧］を開く

ビジュアルツールとはビジュアルツールを開く⑦『商品マスター一覧画面』は商品のデータが表示されています
検索を行い欲しいデータのみ検索して表示ができます
新規登録は登録ボタンへ進みます⑧ビジュアルツールでデータを追う為に操作を実行します『商品マスター入力（新規）登録画面』で実行します

練習用に、新規登録時のデータの流れをビジュアルツールで追いかけます［登録］ボタンへ進み新規登録を行います

次に、この画面を動かす為に、何が使用されているのかを詳細確認をします

赤枠内に仮のデータを入れて［実行］し、準備完了

登録画面へ移動検索する所

登録済データが表示されている（検索されると該当商品だけが表示される）
簡単に流れを見るために単価「12345」がDBへ入り表示するまでの流れを追いますビジュアルツールとはビジュアルツールを開く⑨この画面の情報
プロジェクト名：Rmenusales
プログラム名： ProductItemInput
使用プログラム：⑩初期処理で動くプログラム
開いたばかりの最初の画面（未入力状態）
使用JSON：⑨と⑩は同じ画面ですが操作によって使用するtran.jsonとsql.jsonが変わります⑩登録処理で動くプログラム
新規登録する（入力済実行）
使用JSON：

ビジュアルツールの練習用データの用意が完了

ログビューア

ログビューアとはログビューアとはLogsフォルダー内のログを同時に確認できますここにはRmenuの操作の履歴が入っています【ログビューアで確認できるもの】

上の図5つのファイルを一画面で開きデータの流れが確認できる為とても便利です
これを順に追う事でデータの流れが確認できますログビューアログビューア操作方法【操作の流れ】ログビューアを開く➀Rack.log②時間検索③Controller.log④Model.log⑤Modeldb.log④Model.log⑥View.log③Controller.log➀Rack.log

ログビューアを開くログビューア

ログビューア操作方法➀Rack.logは操作の履歴が見れます
ラックログでデータの流れを確認したい操作の履歴を探し、時間を確認しますスクロールで1番下へ進むと最新の操作があります※秒刻みで表示を選択できる為秒まで確認する※リクエストの下にレスポンスがありこれで1操作分です②時間選択・検索
ラックログで確認した［開始時刻］［終了時刻］を選択し、［検索］をクリックする 全画面に選択した時間帯のログが表示される

ログビューア

ログビューア操作方法

備考：➀ラックログの詳細（ラックログを見て簡単にわかる事）[時間・リクエスト・レスポンス・mode・データの表示・データの入力・画面に表示するメッセージ] が見れます↓Mode:initは画面の初期処理です

操作した時間リクエスト「このデータをください」
レスポンス「このデータを表示してください」
mode「initのトランJSONとSQLJSONを使う」
データの表示「登録画面を開いた最初に表示する物を用意している（セレクトBOXの項目名等）」

操作した時間↓ Mode:insertはデータの登録処理です

リクエスト「このデータをDBへ入れて」
レスポンス「このmessageを表示してください」
mode「insertのトランJSONとSQLJSONを使う」
データの入力「登録画面で入力した物が表示されています（例：単価12345）」
画面に表示するメッセージ「データ入力され実行され、サーバー側の処理が終わり、最後画面に表示するメッセージがレスポンスで戻った」

ログビューア

ログビューア操作方法③コントローラログ
コントローラは入ってきたデータをDBに入れても良いかチェックを行います
チェック済データをモデルへ送信し、返信のSQLを貰い、これをビューへ送り、返信のレスポンスを貰い、RACKへ送信し1つの処理が完了します
1処理が5つの行に分かれて確認できます
1.受信したリクエスト（RACKからリクエストJSONを受け取る）

2.チェックに使うバリデーション（入力データのバリデーションチェックする）

コントローラログの動き：入ってきたデータをバリデーションJSONでチェックを行う
コントローラは処理を役割分担して各所へデータをパスしながらレスポンスを作成します

3.チェック済リクエストデータ（モデルへパス）4.モデルが作成したsql（ビューへパス）5.ビューが作成したレスポンスデータ（RACKへパス）

1～5の動きがinit処理とInsert処理の二回実行されますログビューア

ログビューア操作方法
備考：③コントローラログの詳細 （insert登録処理を追いかけます）『1.受信したリクエスト』画面で入力されたものが記載されています［商品名：aaaaa］［単位：12345］を追いかけます←リクエストJSON「これをインサートしてください」『2.チェックに使うバリデーション』[バリデーションJSONの役割]
入力されたデータをＤＢに入れて良いかをチェックしている※クライアント側とサーバー側で2回チェックする（ｗｅｂ環境でデータをいじられる恐れもある為）
エラー時→ビューへエラーメッセージ表示し処理を止める
ＯＫ時→モデルへデータを送り通常処理を行う
バリデーションJSONチェック指示
nonrequired

空白OK

required

何か絶対入力integerp

数字だけOK

min1
max10
free

最低1桁は入力
最大10文字までOK
文字入力OK

ログビューア

ログビューア操作方法
備考：③コントローラログの詳細 （insert登録処理を追いかけます）『3.チェック済リクエストデータ』バリデーションチェックが終わり、DBに入れても良いデータをモデルへ送ります

この後④モデルログ⑤モデルDBログへ処理が移り、モデルログから戻ってきたデータが次の「4.」です『4.モデルが作成したsql』モデルから戻ってきたSQLデータを受け取り、つぎはビューへ送る【JSON表示】SQL【JSON表示】input

DBに登録できた内容が返ってきたログビューア

ログビューア操作方法
備考：③コントローラログの詳細 （insert登録処理を追いかけます）『5.ビューが作成したレスポンスデータ』ビューから戻ってきたレスポンスデータをRACKへ返す【JSON表示】

Messageを表示する（validationがOK→sqlもOK→DBにデータが入ったので表示するメッセージが正常に登録OK）

ログビューア

ログビューア操作方法④モデルログ（コントローラから指示を貰い、DBへ指示し、結果を作成し、コントローラへ結果を返す役割）「normal end」前の処理の終わりがわかる「編集前 入力情報」←データなし「編集後 入力情報」←データ入りになる

ｄｏｓｑｌ ｓｔａｒｔ ↘
⑤モデルＤＢへ（次のページ）
ｄｏｓｑｌ ｅｎｄ↙

「モデル処理終了後のＳＱＬデータ」
DB登録完了データが完成↓③コントローラへ返す↓
これはコントローラから⑥ビューへ渡し画面に表示される

ログビューア

ログビューア操作方法⑤モデルDBログ（モデルから指示を貰いSQLを作成し、DBを更新し、結果をモデルへ返す役割）
SQLが確認できる（コピーしてポスグレに張り付けるとテーブルが見れます）④モデルから指示↓
バインド変数 置換前SQL「？を出して」バインド変数 置換後SQL「呼びました」
SQL実行前の出力レコード（空のSQL）
SQL実行後の出力レコード（データの入ったSQL）
この結果を④モデルへ返す↑

上のSQLを使って値を入れる

ログビューア

ログビューア操作方法⑥ビューログ（コントローラからリクエストデータとSQLデータを貰い、レスポンスデータを作成する役割）「リクエストデータ」（↑入力されたデータ）「SQLデータ」（↑DBに入ったデータ入り）「レスポンスデータ」「編集前 レスポンス情報」「編集後 レスポンス情報」「クライアントへ送信するレスポンスデータ」↓①ラックログへレスポンスＪＳＯＮが送られる【ログの流れ】

ラックロ
グ

コン
トロ
ー
ラロ
グ

モデル
ビ
ュ
ー

モデル
DB

サーバービューア


サーバービューアとは【サーバービューアで確認できるもの】
サーバー側（JSON/ruby）が確認できます【手順】
ｻｰﾊﾞｰﾋﾞｭｰｱを開く・検索➀データセットJSON③SQLJSON③-2ruby④レスポンスJSON⑤データセット
JSON②リクエストJSON③-3Ruby（mixin）【データの流れ】
矢印がデータの流れる順をあらわします➀データセットJSON（リクエスト状態）②トランJSON（リクエスト）③-1 SQLJSON③-2 ruby（コントローラ・モデル・ビュー）③-3 ruby（Mixin共通のプログラム）④トランJSON（レスポンス）⑤データセットJSON（レスポンス状態）

サーバービューア


サーバービューア操作方法

サーバービューアを開く
上部で［プロジェクト］［プログラム名］［モード］の検索を行うと各プログラムが表示されます➀データセットJSON（リクエスト状態）②トランJSON（リクエスト）

WebｻｰﾊﾞｰからリクエストJSONを貰う「この処理をして」「このプログラムを使って」と指示が来る「id ＝OOOO」
項目名が同じであれば自動でデータが流れる
動かないときはidが間違っていないか確認する事（Html・JSON・SQL全てidをそろえる）

サーバービューア


サーバービューア操作方法③-1 SQLJSONSQLJSONを開いて確認できる
Before：に記載がある時はrubyのモデル内にSetSql○○○があり、ここへ処理が飛びます
このrubyはsqlの処理不足を補ってデータを生成します③-2 ruby（コントローラ・モデル・ビュー）
上部でどのrubyを開くのか選択できる【SQLJSON】
ファイルの場所
処理内容（どのJSONを使うか）
Yesはプログラムを使う意味

Before：Rubyのモデルを使う時の指示
このRubyを使う③-2へ行きます

SQLJSONで不足部分はRubyを利用してプログラムを作成（このプログラム用の追加ruby）
ログビューアのモデルDBログのdosqlはここの事

Type：は処理の種類を記入select・insert等
freesql：SQL分を書き込む場所
genesql：JSONの書き方自動でsqlを生成パターン③-3 ruby（Mixin共通のプログラム）
上記と同じSQLJSONで不足部分はRubyを利用してプログラムを作成します
複数のプログラムが同じ指示を使う為1か所にまとめて書き、必要な時にそれぞれ呼び出して使います
共通のパターンとしてjsフォルダーにいますサーバービューア


サーバービューア操作方法④トランJSON（レスポンス）⑤データセットJSON（レスポンス状態）

③1
Ｓ
Ｑ
ＬＪＳＯ
Ｎ

④トラン
ＪＳＯＮ（レスポンス）

③
2

③3ＲＵＢ
Ｙ（個別）

ＲＵＢ
Ｙ（共通）

-

レスポンスはValue：へデータが入った状態になる

②トラン
ＪＳ
Ｏ
Ｎ（リクエスト）‐

Value：の中にデータを入れてデータを移送する

➀デー
タセット
（リクエスト）-

Value：の中にデータを入れてデータを移送する【項目名を追いかける順】

⑤
デー
タセット
（レスポンス）クライアン
ト側へクライアントビューア


クライアントビューアとはクライアント側のプログラムを一覧で確認できます

クライアントビューアは大きく分けると3種類のフォルダーを確認でいます➀クライアント側のプログラム②共通のjs③JSON※main.jsは表示なし（jqeryの宣言が入っているだけの為）

JSON

➀Html

②Appspec③コントローラ③コントローラ
Mixin（共通）

データセットJSON
バリデーションJSON

④モデル

④モデル
Mixin（共通）
リクエストJSON

⑤ビュー

⑤ビュー
Mixin（共通）

レスポンスJSONクライアントビューア


データの流れHtmlからスタートしモデルからサーバー側の処理へ移り、クライアント側で処理を実行している、クライアント側の流れがクライアントビューアで確認できます
レスポンス・リクエ
スト両方にチェックをかける➀Html③コントローラ③コントローラ
Mixin（共通）

スタート

バリデーションJSON
データセットJSON②Appspec

行先だけ教える④モデル④モデル
Mixin（共通）

リクエストJSON

レスポンスJSON

画面に表示

⑤ビュー

⑤ビュー
Mixin（共通）

クライアント側の動き

JSONの動きクライアントビューア


クライアントビューア操作方法【手順】

クライアントﾋﾞｭｰｱを➀Html②Appspec③コントローラ

④モデル

⑤ビュー

コントローラmixin

モデルmixin

ビューmixin

開く・検索

➀Html

データセット
JSON

バリデーション

リクエストJSONレスポンス
JSON

ＪＳＯＮ

ログビューアを開く上部で［プロジェクト］［プログラム名］［モード］検索を行うと各プログラムが表示される

クライアントビューア➀Htmlの簡単な内容ここで画面が作成される（画面・ID・ボタン・・・）

1.画面タイトル
2.CSSの読み込み
3.各ライブラリーの読み込み

4.Rmenu共通の読み込み

5.Rmenu共通パターンの読み込み

6.このプログラム用のjsクライアントビューア②Appspec

イベントの設定・JSONファイルの場所の情報だけ入っている

URLインフォ：ファイルの置いている場所を定義（Htmlとサーバー側のJSONをつなぐ）

JSONインフォ：上記の場所から持ってきてほしいJSONがyes

リクエストインフォ：上記の場所から持ってきてほしい（処理内容によって）インサート、リクエストデータ、レスポンスデータ、エンターキーは無効（true）キーの指示
F1きーはon実行
他にもキーボードのキーが押された時の処理が書かれているイベントの設定画面のボタンがクリックされたらどこへ移動するのかを書いている所クライアントビューア③コントローラ
名前空間とは次の資料で説明③コントローラ

Thisはこのコントローラの事
コントローラはAppspec/model/viewを呼出せ
ることがわかる＄R.log（）はログビューアに表示される部分

共通のコントローラを読み込んでいる

共通のコントローラにプログラムを追加したいときだけ
ここから下に記載する（オーバーライドは上書の意味）

Modelへ処理をパスしている
Init処理をします③コントローラ
Mixin（共通）クライアントビューア
④モデル

④モデル

④モデル
Mixin（共通）

Thisはこのモデルの事
モデルはAppspecを呼出せることがわかる（JSONの場所を知るために）共通のコントローラを読み込んでいる

共通のコントローラにプログラムを追加したいときだけここから下に記載する（オーバーライドは上書の意味）

データセットする→webｻｰﾊﾞｰ→DB→レスポンス（データ入りで戻ってくる）→コントローラへ返すクライアントビューア⑤ビュー

Thisはこのビューの事
ビューはAppspecを呼出せることがわかる（JSONの場所を知るために）

⑤ビュー

⑤ビュー

共通のコントローラを読み込んでいる

共通のコントローラにプログラムを追加したいときだけ
ここから下に記載する（オーバーライドは上書の意味）

Val（“”）の中に表示するものが入る（コントローラがモデルからもらったレスポンスデータ）
貰ったデータをテーブルセットしてHtmlへ送りデータを表示する

Mixin（共通）ビジュアルツールとは完了
各プログラムの詳細な読み方はそれぞれの詳細説明で確認します
ここではデータ流れの方を確認して終了しますRmenu基礎知識
RACKの詳細「RACK内のデータの流れを確認します」

RACKの詳細
もくじ

RACKとは

RACKの種類

RACKの流れ（Rmenu起動時）



RACKの流れ（ログイン時）

RACKの詳細
『RACK』とは『RACK』とは：rubyをインストールしたときに一緒に入っているwebサーバーの事です『RACK』の役割：受け取ったJSONを指示されたところへパスするだけ※「Rmenuとは」の「webｻｰﾊﾞｰとは」の続きになります

RACKにはたくさん種類があります

Rmenu 起動時に『NO.0』で立ち上げるのがRACKです

RACKの詳細ではRACK内のデータの流れを確認しますRACKの詳細
RACKの種類
RACKはRmenuを開いて直ぐの場所にあり、7種類に分かれています

No.0実行時に下の7つのラックを立ち上げる

よく使われる所

ファイル名

読みカナ

用途

config.rb

コンフィグ

NO.0で立ち上げる時（他のRACKを起動する指示が入っている）

rmenudocs.rb

ドキュメントrmenudownload.rb

ダウンロードエクセルにDLする時

rmenuhtml.rb

ＨＴＭＬ

画面の表示だけを変える時

rmenulogin.rb

ログイン

ログイン時・ログを残こす時

rmenumain.rb

メインシステムを使う時

rmenutext.rb

テキスト

rmenuupload.rb

アップロードブラウザから写真を送る時

RACKの詳細
RACKの流れ（Rmenu起動時）

Rmenu起動時に『no.0』と『no.1』を開きますが、『No.0』は『webｻｰﾊﾞｰ ＝ RACK』を起動させます
ここでは『No.0』を実行する時のRACKの流れを確認します
RACKの流れ➀「No.0」を立ち上げる②「config.rb」が起動する③各ラックが起動しHtml 表示を実行し（config.rbを起動する指示がある）（各ラックを起動させる指示がある）

準備完了

Rmenuを利用できる➀「No.0」を立ち上げる（config.rbを起動する指示がある）
Rackを起動する
WEBrickRACKの詳細
RACKの流れ（Rmenu起動時）②「config.rb」が起動する（各ラックを起動させる指示がある）「config.rb」の中に図の様に指示があり、各ラックを起動させています
Require（リクワイア）
このRubyを順番に起動させる指示
メインラックを動かすときの指示
ｍａｐ：ブラウザからメインを使ってくださいと指示がきたらｒｕｎ：メインのファイルを動かします（走らせます）

rmenumain.rbへ移動してプログラムが実行されます
メインはJSONを受け取りコントローラへ次のラックが順に起動しますRACKの詳細
RACKの流れ（Rmenu起動時）③各ラックが起動し準備完了
ラックログを開くと、各ラックが用意される様子がわかります

メインラックから順番にスタート・エンドがセットになってる状態「正常にWEBサーバーが起動しました」

次は、ログイン画面からログインし、メニュー画面を開くまでのRACKの流れを確認しますRACKの詳細
RACKの流れ（ログイン起動時）

ログイン時のRACKの流れを確認します
URLを開くとログイン画面が表示され、ID/PWを入力し、メニュー画面が開くまでを『画面』と『RACK』を一緒に追いかけます

画面とRACKの流れを

RACKの動きを確認

メインラックの確認

Htmlラックの確認

図で確認（ラックログを開く）（rmenumain.rb）（rmenuhtml.rb）

RACKの詳細
RACKの流れ（ログイン起動時）『画面側』と『RACKの動き』を図で確認します
RACKの流れ図

ラック画面②config.rb
RACKを起動する⑦メインラック
モード：checkの処理⑨Htmlラック
画面のHtmlを用意してブラウザへパス

メインラックがブラウザから来たJSONをサーバー側のコントローラへパスし処理を実行します④メインラック
モード：initの処理➀Rmenu起動（no.0/no.1）⑧SQLJSON
ID/PWデータ

Htmlラックがログイン画面のHtmlからメニュー画面のHtmlへ切り替える為に次画面のHtmlを用意してブラウザへ返します③URLを開く

⑤ログイン
画面表示

⑥ID/PW
入力/実行

⑩メニュー
画面表示

RACKはブラウザ側からのリクエストをサーバー側へパスしてブラウザとサーバーをつないでいます ※そのためRACKの起動を忘れるとRmenuは動きませんRACKの詳細
RACKの流れ（Rmenuログイン時）

ラックログでRACKの動きを確認

Rmenu起動時で確認した部分

ここからログイン画面を表示する流れ

リクエストデータがJSONなのでメインラックがパスしている

⑤ログイン
画面表示

⑥ID/PW
入力/実行

ここから次の画面を表示

リクエストデータがHtmlなのでHtmlラックがパスしている（メニュー画面には処理がないのでHtmlで終わり）

⑩メニュー
画面表示

RACKの詳細
RACKの流れ（Rmenuログイン時）

メインラック確認（役割：プログラムを使用するJSONをブラウザ側から受け取りサーバー側のコントローラへパスする）
Require（リクワイア）@rmenu_controller = DRbObject.new_with_uri($Rconfig[“controller_uri”])➀コントローラの場所が書かれている
メインラックはここを見てコントローラへJSONをパスする
def call(env)②（env）へ➀が入るcallで呼び出す
req_data = req.params[“data”]③ブラウザからリクエストJSONを受け取る（リクエストﾃﾞｰﾀが入っているトランＪＳＯＮごと読んでいる）
request_data = JSON.load(req_data)④ＪＳＯＮを変換する連想配列に変換する
response_data = @rmenu_controller.call(request_data)④コントローラへリクエストJSONを渡す
content = JSON.dump(response_data)⑤レスポンスデータが戻ってくる（ＪＳＯＮダンプがテキストに直す）
r[‘Content-Type’] = ‘application/json;charset=utf-8‘
r.write content⑥utf8（日本語を使う）にチャーセットしてブラウザへ送信※メインラックの役割の追加
上記のJSONの受け渡しともう一つ、JSONを連想配列・テキストに変換しwebｻｰﾊﾞｰを通過させています 詳細は「連想配列とは」を参照してくださいRACKの詳細
RACKの流れ（Rmenuログイン時）

Htmlラック確認

Require（リクワイア）

url = $Rconfig["base_application"] + "/" + req_data + "/index.html“➀どこを読み込むか書いている

content = readHtml(url)②Htmlを読み込む

r.write content③ブラウザ側へ送る

RACKの詳細
完了

RACKの詳細はRmenuがどんな感じで動いているのか
なんとなくイメージができればOK作成時に特に使うことはありませんラックログは見方を覚えると作業が早いですプログラム作成時のデバックに必要ですRmenu基礎知識
名前空間とは「名前空間」「ブラウザメモリー」「セッションストレージ」

名前空間とはRmenuではセッションストレージに使う

JSONlintの使い方


RmenuのプログラミングとはJSONを作成することです
JSONを作成できたら必ずJSONLintを行い、文法の誤りがないかチェックを行います※JSONのプログラムを作成したときは必ず実行すること➀JSONリントを開く
URL https://zaa.ch/jsonlint/②点線の空欄へ作成したJSONをALLコピーし貼り付ける③赤枠のボタンをクリックする④結果が表示されるので、OKが出るまで修正をして正しい文法でJSONを作成すること

OKNG

オープンLDAPとは


LDAPとはＬＤＡＰ=ディレクトリーＤＢへアクセスするためのプロトコルのこと

RmenuではプロジェクトのログインにLDAPを使用することがあります

ＬＤＡＰはＲｍｅｎｕで利用しながら、同時に他のシステムでも利用でき1つのＩＤ/ＰＷで複数のシステムにログインすることが可能ですLDAPとはID/ＰＷのみが入っているＤＢのことで大きなプロジェクトで使うことが多い。
（ＰＷが暗号化されるので安全なため）➀ID/PW

LDAP

②ＯＫ

DB
ログイン

WEBサーバー

④メニュー
画面表示

③ログイン
ＯＫ

ＥＲ図とは


ＥＲ図とはデータベース設計で使う設計方法（データモデリング）

エンティティ リレーション
ＥＲ図 『Ｅｎｔｉｔｙ Ｒｅｌｇｔｉｎａｌ』＝『テーブル 関係』
Ｒｍｅｎｕでは主に4パターンある ＥＲ図を見ると画面のパターンも決まる

abc

abc

abc

111
222
333

111
222
333

111
222
333
枝分かれした書き方
をＩＥ記法というテーブル

レコード/属性つなぐ線つなぎ目

エンティティ

アトリビュート

リレーション/関連

カーディナリティ【ＩＥ記法】
abc id111（FK）□ref 222
333【アトリビュートの見方】
id

主キー

（FK）

外部キー

□ref

他のテーブルから持ってくる（マスターから）

○ゼロ|

1
多/以上

ＥＲ図とは


ＥＲ図とはデータベース設計で使う設計方法（データモデリング）

依存リレーションシップ

非依存リレーションシップabc

abc

111
222333111
222333

親エンティティ子エンティティ

非依存

非依存

カーディナリティの見分け方
日本語対
英語など
1対1の物
1対1以上

1対1
仕入れマスター対
商品マスターなど
増減がある物
1対多（あいまい増加あり）

1対0以上（0の時もある）

ＥＲ図とは


ＥＲ図と画面のパターン

パターン➀一覧画面/選択画面

パターン②登録画面/入力画面

パターン③スクロールタイプ

パターン④1件と一覧を同時表示

ＤＢのコピー作成

プロジェクトのコピー作成

プログラムのコピー作成

URLの調べ方
備考：URLが不明の時の調べ方➀開きたいプロジェクトのHtmlを開き、［ログインプログラムのHtml］を開く②Html上部からURL を作成するために、ファイルの場所をコピーします（青部分の［Appli～プログラム名/］まで）③ブラウザを開きURLを作成します
ローカル環境で接続する為前に［ローカル］を足す［コピー］を貼り付け、後ろへ［index.htlml］を足し検索で完了