これは何?
この記事は「24日後に立派なSalesforceエンジニアになるWEBエンジニア Advent Calendar 2022」の1日目の記事です。
24日後に立派なSalesforceエンジニアになるために今日はSalesforceの基礎知識(主にデータ周り)を学びます。
オブジェクトとは
- データベースでいうテーブルのこと。
- オブジェクトには項目が存在する。
- 項目はデータベースでいうカラムのこと。
- オブジェクトには種類がある。
- 標準オブジェクト
- カスタムオブジェクト
- BigObjects
- 外部オブジェクト
標準オブジェクト
Salesforceが最初から用意してくれているオブジェクトのこと。
取引先とか商談とか商品とか、一般的なビジネスにおいて使われるものが用意されている。
よく使われるものだと例えば以下のようなものがある。
オブジェクト名 | 用途 |
---|---|
リード | 見込み顧客(問い合わせをしてきた顧客や、キャンペーンに参加した顧客) |
取引先 | ビジネスの相手となる会社 |
取引先責任者 | 取引先の担当者 |
商談 | 商談の内容(誰にいつ何をいくらで提案していて、確度どれくらいでいつ契約が決まりそうかなどの情報) |
キャンペーン | イベントや展示会などのマーケティング活動 |
ケース | お客様からの問い合わせ内容とその対応情報 |
活動 | 行動(会議などの予定)とToDo(期日のあるタスク)の総称 |
それぞれどんなデータが格納できるのか、どういうリレーションが張られているのか詳しくは明日以降で。
カスタムオブジェクト
標準で用意されているオブジェクト以外で自分たちのビジネスに合わせて作るオブジェクト。カスタムオブジェクトを作るとオブジェクト名の最後に「__c」がつく。MyCustomObject__c みたいな感じ。
BigObject
大量(10億件以上でも安定したパフォーマンスが出るらしい)のデータを保存して管理するためのオブジェクト。BigObjectにも標準とカスタムがある。使い道としては
- 顧客に関する全てのデータの参照用
- 監査を目的とした利用状況の追跡
- アーカイブ情報の管理
などが考えられる。
BigObjectの制限・制約
- 1組織あたり作成できる外部オブジェクトは100個まで
- 項目の制限は組織のライセンス種類による
- インデックスを使用できる項目は5つまで
- 作成後にインデックスの編集や削除はできない
- インデックスを変更するには新たなBigObjectを作成するしかない
- トリガーやフロー、プロセスビルダーなどの自動化プロセスは作成できない
- LightningコンポーネントとVisualforceコンポーネントのみサポートされており、詳細ページやリストビュー、レポートといった標準UIは使用できない
- ストレージの制限はバイト数ではなくレコード件数でカウント
外部オブジェクト
カスタムオブジェクトと同じように動作するが、外部オブジェクトは外部システムをSalesforceで持っているデータソースの定義に関連づけるための機能。この機能を使って外部データの検索と操作ができるようになる。外部オブジェクトは、Salesforce ConnectとFiles Connectで利用することができる。
外部オブジェクトの制限・制約
- 1組織あたり作成できる外部オブジェクトは200個まで
- 1時間につき最大10万件のデータを取得または作成することができる
- 外部のデータソースを反映するためには再同期が必要
リレーション
オブジェクト同士を関連づけるもの。
よく出てくるものに「参照関係」と「主従関係」があり、簡単にいうと参照関係の方が繋がりがゆるくて、主従関係の方が密接。
参照関係 | 主従関係 | |
---|---|---|
値の入力 | 任意 | 必須(=親なしでは子だけの存在はできない) |
参照レコードの削除 | 親が削除されると子だけ残る | 親が削除されると子も消える |
積み上げ集計項目 | 使えない | 使える |
共有設定 | 親に連動しない | 親に連動(=親レコードにアクセス権がないと子にもアクセスできない) |
レコードタイプ
各オブジェクトには「レコードタイプ」を定義することができる。レコードタイプはそのオブジェクトのデータを分類するためのもので、例えば商品というオブジェクトに「サービスAの商品」「サービスBの商品」といったレコードタイプを作ることができる。そんなの「対象サービス」みたいなカスタム項目作ればいいんじゃないの?と思ったけど、レコードタイプを分けることで以下のようなことができるようになる。
- レコードタイプごとにページレイアウトを割り当てることができる
- サービスAの商品とサービスBの商品で、それぞれ表示する(使わせる)項目を変えることができる
- レコードタイプごとに選択リストで表示する内容を定義することができる
- 例えばサービスAの商品の販売国は「日本、台湾、中国」から選ぶことができサービスBの商品は「イギリス、フランス、スペイン」から選ぶことができるようにするなど、異なる選択肢を用意することができる
- レコードタイプごとに進捗パターンを定義することができる
まとめ
Salesforceを触るに当たってまず最低限知っておかなければならない知識をまとめました。
明日はよく登場するオブジェクトについて少し深掘りしながら見ていこうと思います。