Tämä asiakirja tarjoaa yleiskatsauksen Salesforcen entiteettisuhdekaavioiden (ERD) notaatioista ja käytännöistä, jotta voit tulkita selkeästi datamallien galleriassa käytettävissä olevia tuotetietomalleja.

ERD, joka tunnetaan myös datamallina, on tietojärjestelmän graafinen esitystapa. Se näyttää järjestelmän ihmisten, objektien, paikkojen, käsitteiden ja tapahtumien väliset suhteet. Se on looginen malli, joka välittää datan toiminnallisen rakenteen. Salesforce ERD:ssä entiteetit kartoitetaan tavallisesti Salesforce-tietokannassa olevaan objektiin.

Entiteetti on merkittävä asia tai objekti, riippumatta siitä, onko se todellista vai käsitteellistä, josta tietoja täytyy tietää tai säilyttää.

sample data model entity

Entiteetit esitetään kaavioissa ruuduina, joissa on pyöristetyt kulmat. Jokainen entiteettikenttä sisältää tavallisesti kaksi otsikkoa (jos sovellettavissa):

  • Entiteetin looginen nimi (esim. "Salesforce-entiteetti" tässä esimerkissä). Tämä saattaa vastata edustetun Salesforce-objektin yksikköotsikkoa, mutta ei aina.
  • Salesforce-organisaatiosi objektin ”fyysinen” API-nimi tai Kehitysnimi (esim. "API-nimi" esimerkissä). Jos kyseessä on hallittu pakettiobjekti, kaaviossa oleva API-nimi ei tavallisesti sisällä hallitun paketin nimitilaa (esimerkiksi ”vlocity_ins**”), ellei Salesforce- tai Industry-pilvi käytä useita hallittuja paketteja. Hallittujen pakettiobjektien API-nimen loppu osoittaa käytetyn mukautetun objektin tyypin: ”**c” tavallisille mukautetuille objekteille ja mukautetuille asetuksille, ”**mdt” mukautetulle metadatalle ja ”**x” ulkoisille objekteille.

Entiteettikentissä voi myös olla yksi tai useampi attribuutti, jotka edustavat kyseisen entiteetin attribuutteja. Attribuuttia edeltävät joko ”#”- tai ”-”-merkit.

  • "#" osoittaa attribuutin, joka on osa entiteetin loogista yksilöllistä avainta. Esimerkkikaaviossa ”User Key Attribute” pidetään entiteetin käyttäjän ensisijaisena avaimena.
  • ”•” tarkoittaa ei-avain-attribuuttia.

Jokainen entiteettien suhdekaavio esittää Salesforcen datamallia tietyn pilven, kuten Sales Cloudin, Service Cloudin tai Marketing Cloudin, perspektiivistä. Kaavion väripaletti vastaa keskityksen pilviä. Kaikki toimialan pilvipalvelimet, kuten Financial Service Cloud, Health Cloud ja Media Cloud, käyttävät samaa Industry-väripalettia.

Kaaviossa olevan entiteetin värillä on myös tietty merkitys. Keskityspilven väri näytetään sen brändätyllä Salesforcen värillä, mukaan lukien joitakin esimerkkejä alla.

sample data model clouds

Seuraava osio tarkastaa eri entiteetin muotoilut, jotka viittaavat alla olevaan Sales Cloud -esimerkkien selitteeseen:

sample data model entities legend

Entiteetti, jolla on fokuspilven värit, edustaa objektia, joka sisältää pilvilisenssin kyseiselle pilvipalvelulle.

Entiteetti, jolla on valkoinen täyttö ja musta reuna, edustaa objektia, jolla on eri lisenssi kuin focus cloudilla ja jota focus cloud -lisenssi ei laajenna. Esimerkiksi Sales- tai Service Cloud ERD -järjestelmässä näytettävät tili- ja yhteyshenkilö-entiteetit näytetään valkoisina ja mustalla reunalla, koska kyseiset objektit ovat käytettävissä sovellusalustan lisenssillä.

Entiteetti, jolla on vaalea harmaa täyttö ja musta reuna, edustaa objektia, jolla on eri lisenssi kuin Focus Cloudilla, mutta Focus Cloud laajentaa kyseistä objektia. Esimerkiksi Commerce Cloud laajentaa Product2-perusobjektia lisäkentillä. Laajennukset sisältävät lisäkenttiä, suhteita ja tietuetyyppejä.

Entiteetit, joilla ei ole rajoja, ovat virtuaalisia. Kun käytetään kaaviossa, nämä kentät osoittavat, että toimialueen loogisessa mallissa on entiteetti, mutta sitä ei toteuteta fyysisenä objektina Salesforcessa. Tämän entiteetin tietoja käytetään odotetusti ulkoisten API-kutsujen tai Salesforce Connectin kautta käyttöönotetussa ratkaisussa.

Entiteetit, joilla on katkoviiva, mallinnetaan tietuetyypeinä Salesforcessa. Tässä esimerkissä yritystili-, laskutustili-, kuluttajatili- ja palvelutili-alatyypeillä on katkoviiva, koska ne kartoitetaan hallitun Communications Cloud -paketin mukana toimitettuihin tietuetyyppeihin.

sample data model record type notation

Entiteetit, joilla on katkoviiva, ovat virtuaalisia. Tietuetyyppejä tai erillistä objektia ei käytetä näiden alatyyppien erottamiseen Salesforce-ratkaisussa. Nämä alatyypit esittävät loogisesti toimialueen käsitteen, joka auttaa datamallin toimivuuden kuvaamisessa.

Entiteetin alatyyppi on sen esiintymien määritelmä. Kun alityyppien joukko lisätään ylätason entiteettiin, ylätason entiteetti kuvaa yleisiä attribuutteja ja suhteita, kun taas alityyppien entiteetit näyttävät alityyppikohtaisia attribuutteja ja suhteita. Kaavion notaatiossa alatyypit ovat toisistaan poissulkevia, eli yksittäisen tietueen täytyy olla yksi alatyyppi.

sample subtype relationships

Alatyypeillä voi olla sisäkkäisiä alatyyppejä, jotka erottavat esiintymät toisistaan. Kaavioiden alatyypit ovat loogisia, mutta ne voidaan kartoittaa fyysiseen esitykseen jollakin kolmella tavalla. Subtyypin entiteetin reunan vakaus määrittää, miten alatyyppi toteutetaan Salesforce-datamallissa.

sample supertype

Subtype-entiteeteillä, joilla on kiinteä reuna, on todellinen objekti, joka seuraa kyseisen alatyypin esiintymiä. Tässä esimerkissä yhteyshenkilön Ulkoinen käyttäjä -alatyypillä on kiinteä reuna, koska Ulkoisiksi käyttäjiksi rekisteröityjä yhteyshenkilöitä seurataan käyttäjäobjektin tietueella.

sample subtype contact object

Suhde on nimetty, merkittävä yhteys kahden entiteetin välillä.

sample relationships

Viivojen tai niiden ympärillä olevat merkinnät ja teksti kuvaavat suhteen kardinaliteettia, valinnaisuutta ja merkitystä.

sample relationships legend

Kardinaliteetti osoittaa suhteellisen määrän esiintymiä suhteen jokaisella puolella. Notaatiossa suhteen rivin loput osoittavat suhteen kardinaliteettia kyseisessä päässä. Kruunun jalka lopussa osoittaa, että monia entiteetin esiintymiä lopussa voi liittyä jokaiseen esiintymään päinvastaisessa päässä. Kun kärryjalkaa ei ole lopussa, se osoittaa, että enintään yksi entiteetin esiintymä kyseisessä päässä voi liittyä tiettyyn esiintymään toisessa päässä.

Salesforce tukee kahdentyyppisiä suhdekenttiä: hakukenttiä ja päätiedot–lisätiedot-kenttiä. Ylätaso–alataso-kentät toimivat kuin pakolliset haut, mutta ne käyttävät toisiinsa liittyvien entiteettien välistä yhdistämistä. Suhteen useiden puolien tietueet poistetaan vaiheittain, kun ylätason tietue poistetaan. Lisäksi lisätietotietueiden näkyvyyttä hallitaan päätietueen näkyvyydellä.

Salesforce ERD:t lainaavat timanttimerkinnän UML:ltä osoittaakseen alitason ja ylätason suhteiden ja hakusuhteen eroavaisuudet. Suhteen yksikköpuolella oleva timantti tarkoittaa, että sen puolella oleva entiteetti on suhteessa päärooli. Tällaisen suhteen monella puolella oleva entiteetti on lisätieto- tai alitason entiteetti, ja sitä voidaan ajatella sisältyvän pääentiteettiin.

Valinnaisuus osoittaa, vaaditaanko suhde jokaisen lopun esiintymälle vai ei. Käsitteenä valinnaisuus liittyy läheisesti kardinaliteettiin, ja merkintä vastaa sitä. Vaihtoehtoisuus näytetään suhteen jokaisessa päässä suhteen toisessa päässä olevan viivan ympyrän tai pylvään kautta. Miksi suhteen toisessa päässä? Vaihtoehtoisuuden merkinnän lisääminen rivin samalle puolelle kuin kardinaliteetti.

Suhteen monella (eli käärmeen jalalla) puolella on lähes aina ympyrä viivalla. Tämä tarkoittaa, että suhteen monella puolella voi olla nollasta moneen -tapahtumia suhteen yksikköpuolella oleville esiintymille.

Suhteen yksikäisellä puolella ympyrä ja pylväs osoittavat valinnaisen suhteen suhteen kruunun alapalkissa olevalle entiteetille. Ympyrä ja pylväs tarkoittavat, että suhteen yksikköpuolella voi olla nolla tai yksi esiintymä jokaiselle monien puolella olevalle esiintymälle.

Vaihtoehtoisesti suhteen yksikkösivulla olevat kaksinkertaiset pylväät osoittavat, että suhde vaaditaan suhteelle suhteen monisivulla olevalle entiteetille. Kaksinkertaiset pylväät tarkoittavat, että suhteen yksikköpuolella täytyy olla yksi ja vain yksi esiintymä jokaiselle esiintymälle monien puolella.

Suhteen valinnaisuus voidaan näyttää pakollisena, vaikka Salesforcen perustana oleva fyysinen suhde on valinnainen. Esimerkiksi yhteyshenkilön AccountId-kenttä on fyysisesti valinnainen suhde, mutta jos et huomioi yksityisiä yhteyshenkilöitä, yhteyshenkilön suora suhde tiliin on loogisesti pakollinen. Vaihtoehtoisuuden osoitinta käytetään säästeliäästi. Useimmissa tapauksissa ERD:ssä näytettävä valinnaisuus vastaa suhteen perustana olevaa valinnaisuutta.

sample relationships meaning

Kardinaliteetin ja valinnaisuuden lisäksi kahden entiteetin välinen suhde ilmaisee tietyn merkityksen, joka erottaa suhteen muista samojen kahden entiteetin välisistä suhteista. Suhteiden lopulliset nimet, kuten yllä olevan kaavion ”osa” ja ”koostuvat” määrittävät suhteen luonteen.

sample relationships meaning

Kun yhdistät suhteen kardinaliteetin, valinnaisuuden ja lopulliset nimet, niitä voidaan käyttää lauseen muodostamiseksi, joka kuvaa suhdetta.

Vasemmalta oikealle: Jokainen (voidaan/pitäisi) olla <loppunimi 1> (yksi ja vain yksi / yksi tai useampi) .

Oikealta vasemmalle: Jokainen (voidaan/pitäisi) olla <loppunimi 2> (yksi ja vain yksi / yksi tai useampi) .

Esimerkiksi:

sample relationships meaning

Vasemmalta oikealle: ”Kunkin yhteyshenkilön täytyy olla ensisijaisesti yhteyshenkilö yhdelle ja vain yhdelle tilille.” Oikealta vasemmalle: "Kunkin tilin voi edustaa ensisijaisesti yksi tai useampi yhteyshenkilö."

Suhderivit on värikoodattu. Kaavion keskipisteeseen pilven lisäämät suhteet on piirretty värillä. Mustaviivat edustavat suhdetta, joka sisältää eri lisenssin kuin Focus Cloud.

sample relationships color

Suhteet voivat olla saman entiteetin kahden esiintymän välillä. Tätä kutsutaan rekurssiiviseksi suhteeksi. Rekursiivisten suhteiden merkitsemiseen käytetään kaarevaa suhderiviä.

sample recursive relationships sample mutual exclusive relationships

Salesforce ERD:t poissulkevat tavallisesti useimmat liiketoimintasäännöt keskittyäkseen datamallin rakenteeseen, mutta toisiaan poissulkeva suhde on yksi liiketoimintasääntö, joka on informatiivinen rakenteelle, joten se mainitaan. Vastavuoroisesti poissulkeva suhde osoittaa, että tietylle esiintymälle käytetään vain yhtä useista kaavioon sisältyvistä suhteista. Huomaa, että kaksi, kolme tai useampaa suhdetta voi osallistua samaan toisiaan poissulkevaan suhteeseen. Tässä esitetyn vastavuoroisesti poissulkevan suhteen kuvaava lause voisi olla: Jokainen entiteetti voi olla yhden ja vain yhden ensimmäisen toisen entiteetin tai yhden ja vain yhden toisen entiteetin esiintymä.

sample mutual exclusive relationships

Huomaa, että Salesforce ERD:ssä kaavion läpi kulkeva rikkinäinen suhderivi ei ole osa toisiaan poissulkevaa suhdetta.

Viralliset Salesforce-tuotteiden ERD:t noudattavat asettelun käytäntöjä luettavuuden parantamiseksi. Näihin asettelukäytäntöihin sisältyy:

  • Suhderivien tulisi olla aina suoria.
  • Suhderivit tulisi piirtää pystysuunnassa tai vaakasuunnassa. Käytä diagonaalissa suoraa viivaa harvoissa tapauksissa, kun tämä ei ole mahdollista.
  • Entiteettiruutuja voidaan muuttaa (korkea tai leveä) tarjotakseen laskeutumispaikan kahden entiteetin välisille suhteille, jotta suhteiden rivit pysyvät suorina. Tärkeimmät entiteetit (joilla on enemmän suhteita, jotka laskeutuvat niihin) näytetään suuremmalla kaaviossa, joka korostaa niiden tärkeyttä.
  • Yhdellä ERD:llä suhteiden jalkojen tulisi olla yhdenmukaisesti suhteen rivin vasemmalla puolella ja/tai yläpuolella (ylös-alasettelu) – tai yhdenmukaisesti suhteen rivin oikealla puolella ja/tai alapuolella (oikea-alasettelu). Tämä käytäntö tarjoaa selkeyttä, koska sen tuloksena kaavion samassa alueessa on samankaltaisia entiteettejä, mikä on hyödyllistä entiteettien ymmärtämiseksi. Ylösalaisen asettelun käyttäminen aiheuttaa, että kaaviot näytetään ylösalaisin ja alitason entiteetit ovat pääentiteettien ylä- tai vasemmalla puolella – mutta tämä varmistaa, että kaavion tarkimmat entiteetit osuvat kaavion vasempaan yläkulmaan, mikä tekee kaavioista helpommin erotettavissa toisistaan ja tunnistettavissa. Oikeanpuoleisen asettelun käytäntöjen käyttäminen johtaa siihen, että samat yleiset entiteetit osuvat kunkin kaavion vasempaan yläkulmaan, mutta alitason entiteetit ovat pääentiteettien alapuolella tai oikealla.

Näiden asettelukäytäntöjen tiivis noudattaminen luo selkeän ja helppolukuisen kaavion.

Muista tarkastaa tämän standardin uusimmat Salesforce-datamallit datamallien galleriasta.