この記事の目次
Salesforceにおけるデータベースとは?

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でデータベースを活用しよう
