Om je omgeving en je processen goed te begrijpen, zal het je veel helpen als je het datamodel goed begrijpt. Met het datamodel bedoel ik welke objecten er gebruikt worden, waar ze voor dienen en hoe ze met elkaar in relatie staan. Het helpt je veel om dit datamodel voor jezelf uit te tekenen.
Database structuur in het kort
In je Salesforce omgeving zit veel data. Die data zit in objecten. De objecten hebben velden en die velden kunnen waarden hebben.
Je kunt de database vergelijken met spreadsheet.
- Een object is een tabel in die spreadsheet
- De velden van dat object zijn de kolommen in de tabel
- Elke record is een regel in de tabel
Relaties
Relaties tussen records zijn er in verschillende vormen. De relatie kan tussen records van hetzelfde object zijn of tussen records van verschillende objecten. Contactpersonen hebben bijvoorbeeld een relatie met het Account van de organisatie waar ze voor werken.
Een relatie heeft altijd aan één kant het Child record en aan de andere kant het Parent record.
Op het record aan de Child kant staat een link naar de Parent. En op het object dat aan de Child kant maak je zo’n relatie ook aan.
Op de recordpagina van het Child record zie je de lookup naar het Parent record als een hyperlink die de naam van het Parent record toont en bij je klikken naar de recordpagina van het Parentrecord leidt.
Aan de andere kant van de relatie, op de recordpagina van het Parent record kun je een Gerelateerde Lijst vinden met onderliggende records. Meerdere Child records kunnen een gemeenschappelijke Parent hebben. De medewerkers (Contactpersonen) van een bedrijf (Account) bijvoorbeeld.
Hoewel je zo’n relatie aan de Child kant definieert, noem je een dergelijke relatie ‘One to many’, één op veel, waarmee je dus vanuit de Parent redeneert: Eén ouder, meerdere kinderen.
Typen relaties
Een One to many relatie bestaat in twee smaken:
- Opzoekrelatie (Lookup)
- Hoofd-Detail relatie (Master-Detail)
Een op een
Een apart type One to one relatie bestaat niet echt al kun je zoiets toch op meerdere manieren wel voor elkaar krijgen. Dat is echter een heel ander onderwerp en daar zal ik hier dus niet op in gaan.
Veel op veel
Een many to many relatie bestaat wel. Ook hierbij maak je gebruik van de al eerder benoemde Opzoek- en/of Hoofd-Detail relaties. De verbinding zit in een extra object dat de twee objecten waar het echt om gaat met elkaar verbindt. Dat verbindende object heeft een Opzoek- of Master-Detail relatie naar elk van beide. Dit noem je een Junction Object. Een voorbeeld hiervan is het object Campagnelid. Aan de ene kant vind je een Lead of Contactpersoon. Aan de andere kant een Campagne. Een Contactpersoon kan een relatie met meerdere Campagnes (zoals een mailing of een bezoek aan een beurs) hebben. De Campagne kan ook meerdere leden hebben.
Teken het uit
Door te begrijpen hoe verschillende objecten met elkaar in relatie staan, kun je ook begrijpen hoe bepaalde automatisering werkt of hoe je die zelf zou kunnen opzetten. Ook is het belangrijk wanneer je data gaat importeren.
De records van objecten die het hoogst in de boom zitten – waar in records van ‘lagere’ objecten naar verwezen wordt, en die zelf naar niets ‘hogers’ verwijzen – importeer je eerst. Pas daarna kun je naar die records verwijzen op je lagere records. Dat waar je naar verwijst moet immers wel eerst bestaan in de database.
Hoe teken je dat dan uit? Het kan natuurlijk op papier, maar ook digitaal met software zoals Visio, maar zelf gebruik ik graag de gratis tool van Diagrams.net.
Hoe kom je erachter welke relaties er zijn?
Uiteraard kun je Googlen of het aan je consultancy partner vragen. Wil je het toch zelf doen? Ga dan naar Set-up > Objectbeheer > Schemasamensteller en bekijk daar hoe de lijntjes lopen.