Salesforce App bulider：データモデリング

##データモデリング
Salesforceでは、データベーステーブルはオブジェクト、列は項目、行はレコードとみなされます。

###カスタムオブジェクト作成
「設定」－「オブジェクトマネージャー」から作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b570453a-72d0-bfd7-eb4a-85deb45071e1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/aa267cde-06f2-33f1-4533-dbfce9aff94d.png)
###フィールド
●ID : これには、各レコードの 15 文字の一意のデータ識別子が含まれます。ID フィールドは、Salesforceのキーフィールドです。ここのデータは各データセットに固有のものであり、Salesforce のリレーショナル構造の中核をなすコンポーネントです (これについては後ほど説明します)。
●名前 : これは単にレコードの名前です。数字や名前を指定することができます。
●システム : これらは読み取り専用で、通常はレコードが最後にタッチされた時間を示します。したがって、LastModifiedByIDのようなものになります。
項目追加(textサンプル)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/8ff311bd-ea3d-dcde-4797-cee5f0cb82c8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/ab5ad3e8-1fc5-bea8-e19a-ac49cc08a0cb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/ae5bce87-6f63-9016-0ec7-f5e16cfdf1df.png)
###選択リスト
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/3e0efaa4-491f-c85c-fb1a-a93303c558f5.png)
####グローバル値セット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b123f8ad-6ed3-6310-337f-f054d1bf2088.png)
####カスタム選択リストからグローバル値セットに昇格
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/793a30f8-7658-fd33-891b-eac9ab38a544.png)

###オブジェクトリレーション
　オブジェクトリレーションは、2つのオブジェクトを接続する特殊な項目種別
####参照関係
　基本的に 2つのオブジェクトをリンクして、一方のオブジェクトをもう一方のオブジェクトの関連項目から参照できるようにします。
　　※段階制限：何段階でも可能
　　　子から関係を結べる親の数制限：いくつでも可能
####主従関係
　1つのオブジェクトが主になり、もう 1つのオブジェクトが従になります。
　　※従オブジェクトは権限がありません、主オブジェクトの権限を従っています。
　　　段階制限：3階まで、親-子-孫-曽孫までです。
　　　子から関係を結べる親の数制限：２つまで
####外部参照関係
　外部のデータベース参照したい場合、データソースを設定し、作成したデータソースを利用して、外部データをSalesforceに表示する。
####階層関係
　特別の関係です、ユーザオブジェクトのみ使用できる。自分自身を直接的にも間接的にも参照しない別のユーザと関連付けることができます。
####多対多関係
　連結オブジェクト作成して、連結オブジェクトに多対多対象の2つオブジェクトの主従関係作成する。
　例えば：学生は複数の講座を受講する　、講座は複数の学生が受講する
　「受講」という連結オブジェクト作成、学生との主従関係、講座との主従関係追加。

####参照関係作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/9f0e78f2-82fa-f154-c003-abd5a043162e.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/db3dfaa4-0503-3ee2-dc76-9b9587de6ce9.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/cdb8461d-de74-f555-f4fe-1f94b8e9b3e0.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/d61ce797-6233-d35a-1462-ca1baa0d72cb.png)
####主従関係作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/a1c38040-e945-2e1e-f6cd-148548be70e1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b16fd025-c519-422e-9c00-ebbe21fd534b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/b29993db-39b0-cc42-cb82-b8e00c32af8f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/18bba0fa-f9b0-c93b-d3d0-8e3e05f6b62e.png)
####作成結果確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/27364a45-2d2b-9e90-4cc9-2d860dd9033d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/58a29937-9db1-d7ae-6f3d-454b426bbeb3.png)

####<font color="red">※リレーションの制限</font>
・各カスタムオブジェクトで作成できる主従関係は2つまで、参照関係がいくつでも作成可能
・リードとユーザオブジェクトは他のオブジェクトの親になれません。
・標準オブジェクトはカスタム主従関係の従オブジェクトに設定できない。
・多対多関係の連結オブジェクトの権限は2つ主オブジェクト（同じオブジェクトできない）に従って、両方参照権限だけの場合、参照のみです、両方更新可能になると、更新可能。一方のオブジェクトに権限がない場合、データ抽出できません。

####<font color="red">※リレーションの変換</font>
・主オブジェクトに積み上げ集計項目がない場合は、「主従関係」を「参照関係」に変換できます。
　　変換前従オブジェクトの権限は主オブジェクトを従っている、変換後は「公開/参照・更新可能」に変換される。
・参照関係から主従関係に変換する時、以下条件のいつれが満たす必要
　　①レコードが存在しない。
　　②すべてレコードの参照関係項目に値がある必要。
・リレーションを参照関係から主従関係に変換したり、またその逆の変換を行うと、既存のカスタムレポートが使用できなくなる可能性がある、レポート削除しない。

###スキーマビルダー
データモデルの視覚化と編集ができるツール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/9de1f10a-6410-ff91-374c-b152358155f1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/424429/fce51128-e5ff-ed4f-94e6-dc626ceadb90.png)
####スキーマビルダーからオブジェクトと項目作成
・オブジェクト
　左サイドバーで [要素] タブをクリックし、キャンバスにドラッグして、必要項目入力すれば、作成できる。

・項目
　左サイドバーで [要素] から項目種別を選択し、作成したオブジェクトにドラッグして、必要項目入力すれば、作成できる。
　<font color="Red">※
①リレーション項目、数式項目、および通常の項目を作成できる。
②スキーマビルダーを使用して追加した項目は、ページレイアウトに自動的に追加されません。
項目の表示場所を指定するようにページレイアウトを編集する必要があります。</font>