コンテンツにスキップ

意味のあるデータモデリング

ほかに 28 言語で読めます

English · Español · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · Svenska · Dansk · Norsk bokmål · Suomi · Español (México) · Français (Canada) · Deutsch (Schweiz)

An open sketchbook on a drafting table at dawn, a building sketched on one page and a data model on the other, with a pencil, an eraser, a cup and a lamp.
AI で生成した画像

Data Architectコース第2章の学習ガイドです。まず6つのモジュールを読んでください。このページでは、何が身についたかを確認できます。

この学習ガイドについて。 このガイドは、このコース自体の内容と、Salesforceが公開している試験ガイドの出題目標の一覧だけをもとに作られています。実際の試験問題をもとにしたことは一度もなく、試験に何が出るかを知っているとも主張しません。すでに受験した方は、どうか試験の問題を私に送らないでください。認定資格の契約で共有が禁じられていますし、そもそも答えを暗記するのはアーキテクトになる方法として間違っています。

この章は、試験のData Modeling and Database Designセクション(試験の4分の1)の土台です。この章が扱うのは考え方で、次の章「Salesforceのデータアーキテクチャ」がプラットフォームでの作り方を扱います。ですから、オブジェクト、項目、リレーションについて問われることの多くには、両方の章が必要です。

この章の中で、試験で最も重要になりそうなポイントです。それぞれが試験目標と結びつき、教えている箇所へのリンクがあります。進めながらチェックしていきましょう。

DM-1:Salesforceのデータモデルを設計する手法の比較

試験は床であって天井ではありません。ここに挙げるのは、問題で問われるかどうかにかかわらず、アーキテクトに必要なこの章の習慣です。

  • Salesforceのことは少し忘れる。 取引先や取引先責任者に対応づける前に、ビジネスをモデリングしましょう。
  • 2つのものを隠している言葉に耳を澄ませる。 Steve Truckingでは、「顧客」は小売パートナーと受取人でした。
  • モデルは会話の一部である。 最初のモデルは正しいためにあるのではなく、どこが間違っているかを教えてくれるためにあります。
  • 線に名前を付ける。 同じ箱を持つ2つのモデルが、違うことを意味している場合があります。
  • すべての関係について**「今か、時間を通じてか?」と問う。**
  • 一意、変わらない、意味を持たない、決して個人情報ではない。
  • 事実をそれが属する場所に置く。 それから意図的に戻し、その理由を書き残す。
  • 非正規化は複雑さを取り除かない。移動させる。 誰が真実を所有しているかを知りましょう。
  • 一つの真実の源、たくさんの形: 画面、レポート、ウェアハウス、そしてAI。
  • 設定画面から設計しない。 新規カスタムオブジェクトをクリックする前に、モデルを描きましょう。
  • 物理的な判断のすべてを、ビジネスが必要とする何かまでさかのぼる。
用語ひとことで
エンティティビジネスが気にかけ、データを持っているもの
候補エンティティ問いを立ててみればエンティティになるかもしれない名詞
属性エンティティを記述する事実
関係2つのエンティティがどうつながっているか。ビジネスの言葉で名前を付ける
カーディナリティ一方のいくつが、もう一方のいくつと関係するか
任意性その関係が必須か、ゼロもあり得るか
カラスの足線の端で「多」を示す記号
連結オブジェクトSalesforceで多対多の関係を作る方法。両方の親の子になる
概念モデルビジネスに何が存在し、どう関係しているか。Salesforceは出てこない
論理モデルデータ:属性、一意のID、関係。まだプラットフォームに縛られない
物理モデルプラットフォームでどう作るか:オブジェクト、項目、リレーションの種類
自然キートラックのVINのように、ビジネスにすでに存在する識別子
代理キーレコードを識別するためだけに作られた識別子
外部識別子同じレコードに対する別のシステムのID。保持して対応づける
正規化(1NF、2NF、3NF)それぞれの事実を属する場所に置くこと:1項目に1つの値、キー全体についての事実、ほかの事実についての事実は置かない
非正規化説明できる理由のために、意図的にデータをコピーしたりフラットにしたりすること
更新時異状同じ事実が多くの場所に保存され、一度の変更で一部のコピーが誤ったまま残ること

コースと同じスタイルの短いシナリオです。開く前に自分の答えを決めましょう。

1. ビジネスから、クルーがトラックを運転すると聞きました。6週間後、ある日にトラック117を使っていたのはどのクルーかと尋ねられます。モデルには何があるべきだったでしょうか?

クルー割り当てです。クルーとトラックの関係を、開始日、終了日、ルートを持つそれ自体のレコードにします。クルーとトラックは時間を通じて多対多であり、ビジネスはその履歴を気にしています。トラックの項目にしていたら上書きされていたでしょう。時間が関係を変えるを読み直しましょう。

2. あるチームが、「一意だから」という理由で、受取人の電話番号を一意のIDに使うことを提案しています。どう答えますか?

テストに不合格です。電話番号は変わり、共有されるので、変わらないものでも確実に一意なものでもありません。そして個人情報であり、そのレコードにつながるすべてのシステムにコピーされてしまいます。意味を持たない生成IDを使い、電話番号は属性として持っておきましょう。そして一意のIDの話をしなければならないを読み直しましょう。

3. 配送に品目1、品目2、品目3の項目があります。品目が4つある配送が届きました。本当の問題は何で、どう直しますか?

モデルが繰り返しの構造を項目の中に隠していました(第1正規形の問題)。直し方は品目4の項目を作ることではなく、配送の子である配送品目エンティティを作り、すべての品目をレコードにすることです。第1正規形を読み直しましょう。

4. すべての配送に物流センターの責任者の名前が保存されています。責任者が替わりました。何が間違っていたのでしょうか?

別のもの(物流センター)についての事実が配送に保存されていました。第3正規形の問題で、今では何百ものレコードにまたがる更新時異状になっています。責任者は物流センターに属し、配送は物流センターを指します。第3正規形を読み直しましょう。

5. 停車地の種類(配送のみ、設置付き、引き取り付き)には所要時間、クルーのスキル、チェックリストが必要です。選択リストとオブジェクトのどちらにしますか?

オブジェクトです。情報の列が2つ以上あり、ビジネスが管理し、独自のスケジュールで変わります。配送のステータスは短く安定したラベルのリストなので、選択リストのままです。参照関係か、選択リストか?を読み直しましょう。

6. パートナーは地域別の時間通り配送のスコアカードを求めていて、地域は物流センターにあります。あなたは地域を各配送にコピーします。何を決めなければなりませんか?

誰が真実を所有するか、コピーをどう同期させるか、そして過去の配送は、配送が行われた時点で正しかった地域を保つのか、物流センターが移ったらそれに従うのか。非正規化は複雑さを移動させただけで、取り除いてはいません。レポートが勝つこともあるを読み直しましょう。

7. 「おすわり」のような芸は、何十万匹ものペットに結びつく可能性があります。ペットの芸から芸へは主従関係と参照関係のどちらにしますか?

参照関係です。Salesforceのガイダンスは一つの親に10,000件までの子で、人気の芸はそれを超えてしまいます。主従関係が合うのはペットの芸からペットへのほうです。ペットの芸は親を付け替えられることがなく、1匹のペットが覚えている芸は少ないからです。それに、主従関係があるからこそ、ペットは覚えた芸の数を積み上げ集計できます。おすわり、まて、モデルを読み直しましょう。