2021/05/7

Salesforceにおけるデータベースとは?作成方法や注意点をご紹介

 
  

Salesforceにおけるデータベースとは?

Salesforceでは、データベースを使用できます。SalesforceはOracleやPostgreSQLなどデータベースで使用できるさまざまな言語と接続が可能です。 OracleとSalesforceは競い合う関係ではありますが、SalesforceではOracleのデータベースの機能となる自己保護機能と自己修復機能を使用しています。PostgreSQLなどの他の言語と比べてもOracleを使用することは多いです。 Salesforceのデータベースは、顧客を管理することなどに使用します。SalesforceのデータベースはSalesforceの中でも強みです。Salesforceでデータベースを使用するのであれば、Oracleなどのデータベースの知識が必要です。

Salesforceにおけるデータベースの概要

Salesforceのデータベースについて説明します。設定方法やサンプルコードを用いた説明をする前にOracleなどのデータベースについて説明します。 また、Salesforceのデータベースに関するメソッドは数多くあるので、一部を例としてプログラムコードを含め、説明しましょう。顧客管理には欠かせないデータベースなので、ここで理解していきましょう。

Salesforceのデータベースに関する基本知識

Salesforceは、複雑で巨大なデータベースです。すべてのデータポイントを他のデータポイントと紐づけすることができます。Salesforceには3種類のオブジェクトが存在するのです。 標準オブジェクトというAccount Object、Lead ObjectなどSalesforceを最初に起動した時に作成されているオブジェクト、顧客のニーズに合わせて作成できるカスタムオブジェクト、Salesforceを外部データに対応させた外部オブジェクトがあります。 Salesforceにおいてはカラムをフィールドと呼び、標準オブジェクトの場合はあらかじめフィールドがついています。例として、データ識別子であるIDやレコードの名前、読み取り専用のシステムなどがあります。 また、オブジェクトとフィールドを定義すると、そのオブジェクトのレコードができます。

Salesforceのデータベースのリレーションシップ

Salesforceのデータベースの基本知識について説明します。Salesforceでは、データ同士が関係を持ち、利用し合うことができます。Salesforceのようなデータベースはリレーショナルデータベースといいます。 オブジェクトのリレーションシップによって、オブジェクト同士でデータを共有して、ネットワークを作るのです。例としては、Salesforceのアカウントのオブジェクトとコンタクトを行うオブジェクトがあるとしましょう。 リレーション定義が行われているアカウントには、そのアカウントに紐づけされている複数のコンタクトがあります。Salesforceはカスタムオブジェクトとオブジェクトでリレーションシップを作ることができます。 標準のオブジェクトは作成時からリレーションシップを持っているため、Salesforceのアカウントタブの上の方にコンタクトが自動表示されるのです。

Salesforceのリレーションシップの種類

Salesforceのデータベースにはいくつかリレーションシップがあります。主に使うのは、ルックアップリレーションシップとマスター詳細リレーションシップです。 ルックアップリレーションシップとは、オブジェクトの中から関連するオブジェクトを検索できるSalesforceのリレーションシップとなります。マスター詳細リレーションシップは、紐づいているオブジェクトのひとつがマスターで、もうひとつが詳細オブジェクトです。 マスターオブジェクトが詳細オブジェクトを司ります。例えば、Accountマスターオブジェクトとその連絡先オブジェクトがあるとします。Accountを消すと、連絡先もすべて消えてしまいます。 オブジェクト同士が常に関係しあっている時は、マスター詳細リレーションシップ、オブジェクトがときどき関連するものはルックアップリレーションシップがいいでしょう。

Salesforceのデータベース設定方法

Salesforceでデータベースに接続する方法を説明します。ApexでDMLを作成する方法もありますが、他にもSkyOnDemandを利用する方法もあります。 具体的に説明すると、社内のOracleやPostgreSQLなどのデータベースに対し、SkyOnDemandでデータの読み書きを直接行う方法です。直接データベースからデータを受け取るため、リアルタイムでデータを連携処理することができます。 使用例としては、Salesforceで社内データベースにある在庫情報を確認する、Salesforceで見積書を作る時に基幹システムで採番された見積番号をつける時などがあります。 また、Salesforceでユーザ側が特定のボタンをクリックすると、SkyOnDemandが社内データベースから必要なデータを持ってきて表示する仕組みも作ることが可能です。

データベースのメソッド

Salesforceのデータベースのメソッドについて説明します。Apexを使用し、DMLを使うメソッドもあります。DMLを使用するメソッドや使用する場面の多いメソッドを紹介しましょう。 まず、Salesforceのデータベースで使用する場面の多いメソッドについて説明します。convertLead(leadToConvert, allOrNone)は、リードの取引開始で取引先、取引先責任者、商談を作成するメソッドです。 次にDMLを使用するデータベースを紹介します。update(recordToUpdate, allOrNone)は個別で取引先や取引責任者など組織データの中にあるレコードを更新します。使用例は以下です。 文字列値が長いと、コンパイルしたApexクラスとトリガにランタイムエラーが出ます。実行されたupdateメソッドは、DMLのガバナ制限にカウントされる仕組みです。
Account a = new Account(Name='SFDC');
insert(a);

Account myAcct =
  [SELECT Id, Name, City
   FROM Account WHERE Id = :a.Id];
myAcct.City = 'San Francisco';

Database.SaveResult SR =
  Database.update(myAcct);

Salesforceにおけるデータベースの注意点

Salesforceのデータベースに関する注意点をいくつか説明します。まず、データベースを連携した際の注意点から説明します。SkyOnDemandを社内データベースに接続した際の注意点です。 SalesforceのデータベースをSkyOnDemandに接続する際、インターネットにあるSkyOnDemandを直接社内データベースにつなぐ必要があります。直接インターネット上からつなぐということは、ネットワークのセキュリティに気を付ける必要があります。 SkyOnDemandではVPN接続をオプションがあるので、利用してみるのもいいでしょう。次にSalesforceのデータベースでリレーションシップを行う時の注意点です。 リレーションシップがたくさんある時のレコードの削除、レコードの追加、レコードの修正は、データモデルとデータの広範囲に影響するので、気を付けるようにしましょう。

Salesforceでデータベースを活用しよう

今回は、Salesforceのデータベースについて説明しました。 Salesforceについての基本的知識やSalesforceのデータベースに関する基本的知識、コードを用いた設定方法を紹介しました。Salesforceのデータベースは顧客管理に欠かせない機能です。在庫情報や見積もり作成にも使うことがあります。 使用する場面の多い機能なので、ぜひ活用できるようにしましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】