Hoppa till innehåll

Převeďte model do Salesforce

Det här innehållet är inte tillgängligt på ditt språk än.

K dispozici také v 29 jazycích

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)

A white card model rising from the plan it was drawn on, built from repeated standard window pieces with one curved wooden wall, the rest of the plan still bare.
Obrázek vytvořený pomocí AI

Modul 6 z 6 kapitoly Modelování dat podle významu, kapitoly 2 kurzu Data Architect. Každý modul stojí sám o sobě. Předchozí: Navrhujte do třetí normální formy, pak couvněte · Další: studijní průvodce kapitolou, pak další kapitola: Datová architektura Salesforce

Otázka, na kterou tento modul odpovídá: Jak se z logického datového modelu stane fyzický datový model Salesforce?

Konečně budeme mluvit o Salesforce. Pokud jste odolávali nutkání udělat z každé krabice objekt, teď můžete. Všimněte si ale, v jakém pořadí jsme sem došli: porozuměli jsme byznysu, popsali data, dali každý fakt tam, kam patří, a rozhodli, kde to záměrně ohneme. Teprve teď se ptám, jak by to měl Salesforce implementovat. To je postup, který si chci, abyste zapamatovali: konceptuální → logický → fyzický. Konceptuální model popisuje byznys. Logický model popisuje data. Fyzický model popisuje, jak to skutečně postavíme.

Fyzický krok je nejlépe vidět na něčem malém, takže zvířata jdou první.

Kdo jsou firmy a lidé? Chovatel je firma, takže se z něj stane účet (Account) s typem záznamu Chovatel. Majitel je také účet, nebo osobní účet, s typem záznamu Majitel. Dva druhy téhož standardního objektu, vedle sebe v horní části diagramu, přesně tam, kde jsou od modulu 1.

Co nemá standardní domov? Zvíře, Plemeno, Trik, Trik zvířete a Hodnocení triku se stanou vlastními objekty. A vzpomínáte na druh, který jsme v modulu 5 zkopírovali na zvíře? Tady dostane svou práci: stane se typem záznamu Zvířete, Pes, nebo Kočka. Jeden objekt se dvěma typy záznamu, každý s vlastním rozvržením stránky a hodnotami výběrových seznamů, místo objektu Pes a objektu Kočka.

Které vztahy jsou master-detail? Master-detail používám jen tam, kde podřízený záznam nikdy nedostane jiného rodiče. Trik zvířete patří svému zvířeti na celý život a každé Hodnocení triku patří ke svému Triku zvířete, takže obojí je master-detail. To se vyplatí hned: právě master-detail umožňuje, aby zvíře mělo souhrnné pole (roll-up summary) svých Triků zvířete, takže počet Zvládnuté triky z modulu 5 zůstává v souladu sám. Zvířata ale mění domovy, takže Majitel je lookup.

Které jsou lookupy? Salesforce nedoporučuje víc než 10 000 podřízených záznamů u jednoho nadřazeného. Populární trik jako Sedni, běžné plemeno nebo velký chovatel by to snadno překročili, takže Trik zvířete ukazuje na svůj Trik lookupem a zvíře ukazuje stejně na své Plemeno a Chovatele. A kde můžete, vyhněte se polymorfním vztahům, tedy takovým, kde jedno pole může ukazovat na několik typů objektů. První den jsou pohodlné a později ztěžují život všemu, co je musí číst: sestavám, integracím a teď i agentům.

Co zůstane mimo platformu? Pokud zvíře nosí obojek s GPS, který hlásí, kde je, tu polohu vůbec není potřeba kopírovat dovnitř. Může to být externí objekt, čtený živě ze sledovacího systému obojku.

Model zvířat v Salesforce Model zvířat jako objekty Salesforce. Nahoře dva Accounts: jeden s typem záznamu Owner, jeden s typem záznamu Breeder. Pet__c pod nimi má typy záznamů Dog a Cat, číslo mikročipu jako external ID, lookupy na majitele, chovatele a Breed__c a Tricks_Known__c jako souhrnné pole (roll-up). Pet_Trick__c je ve vztahu master-detail s Pet__c a má lookup na Trick__c, s úrovní dovednosti a datem naučení. Trick_Assessment__c je ve vztahu master-detail s Pet_Trick__c. Breed__c má svůj druh, název a velikost; Trick__c svůj název a obtížnost. lookup lookup lookup master detail lookup master detail Account (Majitel) Id ID ZÁZNAMU Typ záznamu: Owner Jméno Telefon Account (Chovatel) Id ID ZÁZNAMU Typ záznamu: Breeder Jméno Pet__c Id ID ZÁZNAMU Typy záznamů: Dog, Cat Microchip_Number__c EXTERNAL ID Owner__c LOOKUP Breeder__c LOOKUP Breed__c LOOKUP Jméno Birth_Date__c Tricks_Known__c SOUHRN Breed__c Id ID ZÁZNAMU Species__c Název Size__c Pet_Trick__c Id ID ZÁZNAMU Pet__c MASTER-DETAIL Trick__c LOOKUP Skill_Level__c Date_Learned__c Trick__c Id ID ZÁZNAMU Název Difficulty__c Trick_Assessment__c Id ID ZÁZNAMU Pet_Trick__c MASTER-DETAIL Date__c Skill_Level__c Assessed_By__c právě jeden nula nebo jeden jeden nebo mnoho nula nebo mnoho © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Každé rozhodnutí na tom diagramu vede zpět k něčemu, co jsme rozhodli dřív, a o to jde. Teď stejný krok pro Steve Trucking.

Náš logický model Steve Trucking teď obsahuje maloobchodního partnera, distribuční centrum, manifest, doručení, položku doručení, příjemce, trasu, zastávku, posádku, kamion a přiřazení posádky. To jsou obchodní pojmy a teď je můžu začít mapovat na Salesforce.

Maloobchodní partner by mohl být účet. Doručení by se mohlo mapovat na něco, co Salesforce už má pro plánovanou práci v terénu, nebo by se mohlo stát vlastním objektem. Pro manifest nic standardního nesedí, takže se nejspíš stane vlastním. A příjemce je opravdu těžká otázka: osobní účet, kontakt, nebo prostě informace na doručení? Na tu pořádně odpovíme v další kapitole.

Důležité slovo je pořád mohl by. Nepředpokládejte implementaci jen proto, že obchodní pojem zní jako objekt Salesforce. Proto jsme nejdřív postavili logický model: dává nám něco, proti čemu můžeme návrh v Salesforce otestovat.

Obchodní entita automaticky neznamená vlastní objekt

Section titled “Obchodní entita automaticky neznamená vlastní objekt ”

Tady je past, které se chci, aby se administrátoři vyhnuli: „Našli jsme jedenáct entit, takže potřebujeme jedenáct vlastních objektů.“ Ne. Logická entita nám říká, že na obchodním pojmu záleží. Nediktuje, jak ho Salesforce musí ukládat. Z pojmu se může stát standardní objekt, vlastní objekt, vztah mezi objekty, pole nebo několik polí, hodnota spravovaná v konfiguraci, nebo data, která žijí úplně mimo Salesforce (fotky doručení ve Steve Trucking jsou pro to dobrý kandidát). Tyto volby se dělají ve fyzickém modelu, a právě proto jsme je nedělali na prvním hovoru.

Stejný přechod se děje i s atributy. Náš logický kamion má číslo vozidla ve flotile, VIN, značku, model, modelový rok, SPZ a stav. Teď rozhodneme, jak budou fyzicky existovat: který objekt je vlastní, jaké typy polí použijí, která jsou povinná, která musí být jedinečná, která jsou externí identifikátory, která potřebují ověření, která se odvozují, místo aby se ukládala, a která jsou citlivá. Na logické úrovni jsme se ptali, co kamion znamená. Na fyzické úrovni se ptáme, jak bude Salesforce kamion reprezentovat. Různé otázky.

Kamion: od logické entity k objektu Salesforce Dvě karty, řádek po řádku. Logický, Kamion, co znamená Kamion: ID kamionu, číslo vozidla, VIN, značka, model, modelový rok, SPZ, stav. Fyzický, Truck__c, jak ho Salesforce bude reprezentovat: Id, ID záznamu Salesforce; Name, text s číslem vozidla; VIN__c, text o 17 znacích, jedinečný a external ID; Make__c, výběrový seznam; Model__c, text o 40 znacích; Model_Year__c, čtyřmístné číslo; License_Plate__c, text o 10 znacích; Status__c, výběrový seznam, povinný. Poznámka pod tím: logický model se ptá, co znamená Kamion; fyzický se ptá, jak ho Salesforce bude reprezentovat. Logický: Kamion co znamená Kamion ID kamionu Číslo vozidla VIN Značka Model Modelový rok SPZ Stav Fyzický: Truck__c jak ho Salesforce bude reprezentovat Id: ID záznamu Salesforce Name: text, číslo vozidla VIN__c: text(17), jedinečné, external ID Make__c: výběrový seznam Model__c: text(40) Model_Year__c: číslo(4) License_Plate__c: text(10) Status__c: výběrový seznam, povinné Logický model se ptá, co znamená Kamion. Fyzický se ptá, jak ho Salesforce bude reprezentovat. © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Ze vztahů se stávají rozhodnutí o platformě

Section titled “Ze vztahů se stávají rozhodnutí o platformě ”

Veškerý čas, který jsme strávili u vztahů, se tady vyplatí. Už víme, jestli je každý z nich jedna k jedné, jedna k mnoha, nebo mnoho k mnoha, povinný, nebo volitelný, a jestli záleží na jeho historii. Teď rozhodneme, jak ho Salesforce implementuje: lookup, master-detail, nebo spojovací objekt Salesforce, a možná spojení s vlastními atributy, protože, jak jsme zjistili, sám vztah může mít obchodní význam.

Vzpomeňte si na přiřazení posádky. Mohli jsme tuto kapitolu začít slovy: „Vytvořme spojovací objekt Salesforce mezi posádkou a kamionem.“ Podívejte se, co bychom přeskočili: proč vztah existuje, jestli potřebuje datum a trasu, jestli má stav a jestli reklamace škody za několik týdnů potřebuje jeho historii. Tyto obchodní otázky nám říkají, co přiřazení posádky je. Teprve pak bychom měli rozhodnout, jak ho Salesforce postaví, a jestli Salesforce už něco, co tu práci dělá, nemá.

Diagram se zase změní. Konceptuální model ukazoval obchodní pojmy a jednoduché čáry. Logický model přidal atributy, klíče, kardinalitu a entity skryté ve vztazích. Teď začíná fyzický model vypadat jako Salesforce: standardní objekty, vlastní objekty, pole, typy vztahů a to, co žije mimo platformu.

Stejný byznys na třech úrovních Tři panely, stejný výsek na třech úrovních. Konceptuální, co existuje: maloobchodní partner, obchodník, pro kterého doručujeme, posílá doručení a každé doručení, jedna objednávka jednomu příjemci, obsahuje položky doručení, produkt na doručení. Logický, jak jsou data strukturovaná: tytéž tři s ID záznamů a několika poli; doručení je také známé pod číslem objednávky partnera; položka doručení nese ID produktu a množství. Fyzický, jak to Salesforce postaví: maloobchodní partner je standardní Account s typem záznamu Retail Partner; doručení je vlastní objekt Delivery__c s číslem objednávky partnera jako external ID a s lookupem na Account; položka doručení je vlastní objekt Delivery_Item__c ve vztahu master-detail ke svému doručení, s množstvím. Poznámka pod tím: byznys, konceptuální, logický, fyzický; ukažte na cokoli vpravo a dohledejte to zpět doleva. KONCEPTUÁLNÍ: CO EXISTUJE? LOGICKÝ: JAK JSOU DATA STRUKTUROVANÁ? FYZICKÝ: JAK TO SALESFORCE POSTAVÍ? posílá obsahuje posílá obsahuje lookup master detail Maloobchodní partner obchodník, pro kterého doručujeme Doručení jedna objednávka jednomu příjemci Položka doručení produkt na doručení Maloobchodní partner ID maloobchodního partnera ID ZÁZNAMU Název Stav Doručení ID doručení ID ZÁZNAMU Číslo objednávky partnera TAKÉ ZNÁMO JAKO Datum doručení Stav Položka doručení ID položky doručení ID ZÁZNAMU ID produktu Množství Account (standardní) Id ID ZÁZNAMU Typ záznamu: Retail Partner Název Delivery__c Id ID ZÁZNAMU Partner_Order_Number__c EXTERNAL ID Retail_Partner__c LOOKUP Delivery_Item__c Id ID ZÁZNAMU Delivery__c MASTER-DETAIL Quantity__c Byznys → konceptuální → logický → fyzický: ukažte na cokoli vpravo a dohledejte to zpět doleva. © 2026 Twinshark LLC · stevetecharc.com
Kliknutím zvětšíte

Chci, abyste dokázali ty tři diagramy položit vedle sebe a vidět postup: ne tři nesouvisející diagramy, ale stejný byznys na třech úrovních.

Slovo k tomu, jak je kreslím, protože rozvržení je součástí sdělení. Hlavní objekt dávám doprostřed, trochu níž. Pokud má nadřazené objekty, dám je trochu nad něj, takže model čtete shora dolů a zleva doprava, tak jak o něm přemýšlí byznys. Referenční data jdou stranou. I barva něco znamená: Salesforce dělám vždycky modře a pro vlastní systémy firmy volím barvu, obvykle zelenou, protože zelená je pěkná přátelská barva. Červenou nepoužívám a žluté jsou trochu ostré. Když je model takhle rozvržený, zpívá mi. Spousta diagramů, které najdete, je ve skutečnosti správa prostoru: jak zaparkovat všechna auta v přeplněné garáži? Já raději namaluji logický obraz, který mysl dokáže uchopit.

Fyzický model musí respektovat platformu

Section titled “Fyzický model musí respektovat platformu ”

Salesforce není obecná relační databáze. Má své názory na vztahy, vlastnictví, zabezpečení a sestavy. Má limity, chování dotazů a automatizaci a architekturu, která ovlivňuje, jak se model chová ve velkém měřítku. Logický model, který na tabuli vypadá dokonale, se tedy může muset změnit, když se stane fyzickým. To není Salesforce, který překáží. Znamená to, že platforma má tvar, a dobří architekti tomu tvaru rozumějí. Přesně o tom je další kapitola.

Někdy se také fyzický model bude od čistého logického modelu záměrně lišit kvůli rozhodnutím o denormalizaci, která jsme udělali v modulu 5. To je v pořádku, pokud umíme vysvětlit proč.

Je tu návyk, který chci, abyste se odnaučili, pokud ho máte: začínat datovou architekturu v Setup → Object Manager → New Custom Object a vymýšlet model za pochodu. Salesforce neuvěřitelně usnadňuje vytváření věcí; je to jedna z jeho silných stránek a jeden z důvodů, proč slabé datové modely vznikají tak rychle. Pár kliknutí a máte objekt, pár dalších a máte pole a vztah. Pak přijdou data, postaví se flow, vytvoří se sestavy, závisí na tom integrace a objekt, který jste vytvořili za pět minut, je velmi drahé změnit. To je test vratnosti z kapitoly 1. Než tedy kliknete na New Custom Object, nakreslete model.

Je ještě jeden důvod, proč držím tři modely odděleně: technologie se mění. Dnes část dat Steve Trucking žije na core Salesforce. Zítra může jejich část žít v Data 360, v datovém skladu nebo v systému, který jsme ještě nevybrali, a asistent AI potřebuje vlastní reprezentaci. Fyzická architektura se může měnit, zatímco obchodní pojmy zůstávají pozoruhodně stabilní: maloobchodní partneři, doručení a příjemci pořád existují. Právě proto má logický model hodnotu. Je to trvalý popis byznysu, který není svázaný s dnešní implementací.

Když převádím logický model na fyzický model Salesforce, rozhoduji:

  • Které obchodní entity se mapují na standardní schopnosti Salesforce a které potřebují vlastní objekty nebo jinou reprezentaci.
  • Jak se z logických atributů stanou fyzická pole a jak se vztahy na platformě implementují.
  • Kam ve fyzickém návrhu patří záměrná denormalizace.
  • Která data patří do Salesforce a která jinam.
  • Které vlastnosti platformy vyžadují, aby se fyzický model lišil od logického.

A hlavně chci umět každé rozhodnutí vystopovat zpět. Pokud ukážete na něco v mém fyzickém modelu a zeptáte se: „Proč je tohle tady?“, měl bych vás umět provést zpět logickým a konceptuálním modelem k něčemu, co byznys skutečně potřebuje: byznys → konceptuální → logický → fyzický.

Nad rámec zkoušky: co mění AI. AI dnes dokáže vzít dokument s požadavky a jedním skokem dojít až k objektům a polím Salesforce. Tím je pořadí důležitější, ne méně důležité: pokud přeskočí od požadavků ke konfiguraci, požádejte ji, ať ukáže, co se stalo mezi tím: co považovala za entitu, jaké klíče zvolila, jaké vztahy předpokládala a kde denormalizovala. To jsou architektonická rozhodnutí a architekt je pořád potřebuje vidět.

Tuto kapitolu jsme začali na prvním hovoru nasloucháním podstatným jménům a končíme ji fyzickým modelem, který dokážeme vystopovat zpět k byznysu. Teď, když jsme se rozhodli stavět na Salesforce, jde další otázka hlouběji: na jakém druhu datové platformy vlastně stavíme?