LoginSignup
1
1

More than 1 year has passed since last update.

Salesforce Platform Developer I:データベースと.NET の基本

Last updated at Posted at 2022-05-09

データベースと.NET の基本

SQLからSOQLへの移行

Force.com オブジェクトの理解

SQL:データがテーブルと行に保存。
SOQL:オブジェクトのレコードに保存。

オブジェクトは通常のテーブルにある機能をすべて備えているほか、機能性や汎用性を高める拡張機能が追加されています。
オブジェクトは標準オブジェクトとカスタムオブジェクト

似ているが同じではない

処理内容差異

SQL:SELECT、INSERT、UPDATE、DELETEなど。
SOQL:SELECT、FIND。
Salesforce DML:INSERT、UPDATE、DELETEなど。

SQLのSELECTとSOQL文法差異

SQLのSELECT:SELECT *、JOINなどが使える。
SOQL:「*」が利用できない(サーバー負荷削減ため)、JOIN無い:一つSOQL内、親子また子親の項目だけ抽出可能、関連がないオブジェクトが抽出不可。

CHALLENGE

SOSL クエリの作成

下記のQiita参照

CHALLENGE

効率的なクエリの作成

・インデックス付き項目

インデックス付き項目 説明
Id システムによって生成された一意の 18 文字の項目。これはオブジェクトの主キーです。
名前 テキストベースの項目。
OwnerId オブジェクトの所有者への参照。
CreatedDate レコードが作成された日時。
SystemModStamp レコードの最終更新日を含む参照のみの項目。この項目にはインデックスが付けられますが、類似の LastModifiedDate には付けられないため、クエリ内ではこの項目を使用することを検討します。
RecordType RecordType の ID。RecordType は、特定のユーザーに対して異なる UI 結果を提供するために使用されます。
主従項目 主従関係を示すために使用される外部キー項目。
参照項目 参照関係を示すために使用される外部キー項目。
一意の項目 カスタム項目を作成時に一意であるとマークすることができます。それによって、自動的にインデックスが付けられます。
外部 ID 項目 一意の項目と同様に、これらのカスタム項目を外部 ID としてマークできます。これらは主にインテグレーションのために使用されます。

インデックスを使用してもセレクティブでなくなる例外
・null 行に対するクエリ           (=null)
・否定的な絞り込み演算子          (!= ‘New’)
・先頭のワイルドカード           (like ‘%smi%’)
・比較演算子を使用したテキスト項目     (Order_Number__c > 10)

クエリ実行プランツール

有効化

[開発者コンソール] > [Help (ヘルプ)] > [Preferences (設定)] > [Enable Query Plan (クエリプランを有効化)]

パフォーマンス確認

下部ペインの [Query Editor (クエリエディター)] タブ > SOQLまたSOSL作成 > [Query Plan (クエリプラン)] クリック

CHALLENGE

DMLを使用したレコードの変更

開発者コンソールでデータを管理する

下部ペインの [Query Editor (クエリエディター)] タブ > SOQL検索 > [実行]
・[Insert Row (行を挿入)] > 項目値入力 > [Save Rows (行を保存)]
・行選択 > [Delete Row]
・[Refresh Grid (グリッドを更新)] > 最新化

DML

下記のQiita参照

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1