Ga naar inhoud

Teken de relaties

Ook beschikbaar in 28 talen

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

A card model of a region from above: one distribution center joined by red threads to many small stores, and a second center with its own.
Afbeelding gegenereerd met AI

Module 2 van 6 in het hoofdstuk Data modelleren naar betekenis, hoofdstuk 2 van de cursus Data Architect. Elke module staat op zichzelf. Vorige: Luister naar de zelfstandige naamwoorden · Volgende: Bouw het logische model

De vraag die deze module beantwoordt: Hoe maak ik van kandidaat-entiteiten een conceptueel datamodel?

We hebben zelfstandige naamwoorden op het bord. Nu wil ik iets weten over de lijnen tussen de vakjes, want een verzameling entiteiten is nog niet echt een datamodel. In de relaties zit veel van de betekenis. Een retailpartner heeft distributiecentra. Een vrachtlijst somt leveringen op. Een levering gaat naar een ontvanger. Een ploeg rijdt een vrachtwagen. Elk van die uitspraken vertelt me iets over het bedrijf, en elk geeft me nog een vraag om te stellen.

Ik wil het nog steeds niet over Salesforce hebben. Ik vraag niet of dit een opzoekrelatie of een hoofd-detailrelatie moet worden, denk niet na over Salesforce-koppelobjecten, en beslis niet wat er gebeurt als een parentrecord wordt verwijderd. Ik probeer de bedrijfsrelatie te begrijpen.

Neem “een retailpartner heeft distributiecentra.” Het klinkt eenvoudig. Maar kan een retailpartner één DC hebben of veel? Bij Steve Trucking heeft elke retailpartner een regionaal distributiecentrum in elke regio die Steve Trucking bedient, dus veel. Kan een DC bij meer dan één retailpartner horen? Doet een DC er op zichzelf toe, met eigen personeel en historie, of is het gewoon een adres? Als een retailpartner vertrekt, geven we dan nog om zijn DC’s?

Dat zijn geen Salesforce-vragen. Het zijn bedrijfsvragen, en de antwoorden kunnen het model volledig veranderen.

Voordat we dieper gaan, wil ik je de taal geven die we vanaf nu op elk diagram gebruiken. Het is een kleine taal. Een lijn tussen twee blokken zegt dat de twee dingen gerelateerd zijn, en de markeringen aan de uiteinden zeggen hoeveel.

Begin met een gewone lijn, zonder markeringen. Daar begin ik op het whiteboard: ik weet dat deze twee zelfstandige naamwoorden gerelateerd zijn, ik heb alleen nog niet gevraagd hoe. Dan krijgen de uiteinden markeringen. Eén streepje dwars op de lijn betekent één. De kraaienpoot, het uiteinde dat zich als een vogelpoot in drieën splitst, betekent veel. Verderop in deze module zie je een tweede markering naast de eerste verschijnen, een streepje of een rondje, en die beantwoordt een andere vraag: kan het er geen zijn?

De ene regel om te onthouden: je leest elke markering bij het blok dat ze raakt. De markering het dichtst bij het blok is het maximum; de markering daarbuiten is het minimum.

De lijnen lezen De legenda van de diagramtaal van de cursus. Een gewone lijn zonder markeringen betekent dat twee dingen met elkaar te maken hebben, maar hoeveel is nog niet besloten. Eén streep aan het uiteinde betekent één; een kraaienpoot betekent veel. Met een tweede markering voor optionaliteit: twee strepen betekenen precies één; een cirkel en een streep betekenen nul of één; een streep en een kraaienpoot betekenen één of veel; een cirkel en een kraaienpoot betekenen nul of veel. Elke markering lees je bij het blok dat ze raakt. BEGIN: EEN GEWONE LIJN Een gewone lijn deze twee horen bij elkaar; hoeveel is nog niet besloten DAN: ÉÉN OF VEEL Eén één streep (het kruis): één van het blok dat hij raakt Veel de kraaienpoot: veel van het blok dat hij raakt DAN: KAN HET NUL ZIJN? Precies één twee strepen: minstens één, hoogstens één Nul of één een cirkel, dan een streep: het bestaat misschien nog niet Eén of veel een streep, dan de kraaienpoot: minstens één Nul of veel een cirkel, dan de kraaienpoot: geen is prima Lees elk uiteinde bij het blok dat het raakt: de markering het dichtst bij het blok is het maximum; de volgende is het minimum. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Vóór Steve Trucking eerst terug naar de honden uit module 1. We hadden vijf vakjes: Eigenaar, Fokker, Hond, Ras en Kunstje. Nu vraag ik naar de lijnen ertussen.

Eén of veel? Een eigenaar kan meer dan één hond hebben; Ana heeft er twee. Een hond heeft één eigenaar, in ons model tenminste. Dat is een-op-veel: een streepje bij de Eigenaar, een kraaienpoot bij de Hond. De fokker heeft dezelfde vorm: één fokker fokt veel honden.

Kan er geen zijn? Max kwam uit het asiel, dus hij heeft helemaal geen fokker. Het uiteinde bij de Fokker krijgt een cirkeltje: een hond heeft nul of één fokker. Elke hond heeft wel een eigenaar, dus dat uiteinde krijgt een tweede streepje: precies één.

Veel-op-veel? Een hond kent veel kunstjes, en een kunstje, zeg Zit, wordt door veel honden gekend. Dat is veel-op-veel, en precies daar ga ik zoeken naar een verborgen concept. Is er iets over deze hond die dit kunstje kent? Hoe goed ze het doet, en wanneer ze het leerde. De relatie heeft eigen feiten, dus ze wordt een eigen ding: Hondkunstje, met de hond voorop, omdat de hond het stuurt.

Wat betekent elke lijn? Een eigenaar bezit een hond. Een fokker fokt hem. Een hond kent zijn kunstjes. Geef de lijnen een naam, en iedereen kan het model aan je teruglezen.

Nu, of over tijd? Geeft iemand erom hoe goed Bella vandaag is in Zit, of hoe ze daar kwam? Als een trainer haar om de paar maanden test, is elke test een eigen record: een Kunstjebeoordeling, met de datum, het niveau en wie de test deed, onder het Hondkunstje waar ze bij hoort. Zelfs een relatie die een ding werd, kan een eigen historie hebben.

Ras laat ik voorlopig los staan. Het is nog steeds de vraag uit module 1: een eigen vakje of een woord op de hond. Module 4 beslecht het.

Het hondenmodel met zijn relaties Zeven blokken. Een Eigenaar bezit één of veel Honden, en elke Hond heeft precies één Eigenaar. Een Fokker fokt één of veel Honden, en een Hond heeft nul of één Fokker. Een Hond kent nul of veel Hondkunstjes, en een Kunstje is bekend in nul of veel Hondkunstjes; elk Hondkunstje is één Hond en één Kunstje. Elk Hondkunstje wordt beoordeeld in nul of veel Kunstjebeoordelingen. Ras staat op zichzelf, nog niet verbonden. bezit fokt kent bekend in beoordeeld in Eigenaar Fokker Hond Ras Hondkunstje Kunstje Kunstjebeoordeling precies één nul of één één of veel nul of veel © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Elk van die vragen werkt op dezelfde manier bij een echt bedrijf. Laten we ze nu aan Steve Trucking stellen.

Een van de eerste dingen die ik over een relatie wil begrijpen, is de kardinaliteit. Dat is de databaseterm; de vraag is veel eenvoudiger: hoeveel van deze kunnen gerelateerd zijn aan hoeveel van die? Op conceptueel niveau zijn er drie basispatronen.

Dit is een belangrijke stap in het proces: neem twee verschillende zelfstandige naamwoorden en begrijp hun relatie. In de meeste situaties is het een-op-veel, of veel-op-een. Alleen in zeldzame gevallen kom je een een-op-een tegen.

Een-op-veel is overal. Eén retailpartner heeft veel distributiecentra. Eén vrachtlijst bevat veel leveringen. Eén route heeft ongeveer tien stops. Als ik zo’n taal hoor, begin ik de lijn te tekenen.

En nu krijgt de lijn haar markeringen. Elk uiteinde vertelt je hoeveel van het blok dat het raakt: het streepje voor één, de kraaienpoot voor veel. Lees het vanuit elk blok: één retailpartner heeft veel distributiecentra.

De basisverbinding, één-op-veel Twee paren blokken, elk verbonden door een lijn in eenvoudige kraaienpootnotatie. Eén retailpartner beheert veel distributiecentra: één streep aan de kant van de retailpartner, een kraaienpoot aan de kant van het distributiecentrum. Eén vrachtlijst vermeldt veel leveringen, op dezelfde manier gemarkeerd. Elk uiteinde heeft een bijschrift in woorden. één Retailpartner veel Distributiecentra beheert één Vrachtlijst veel Leveringen vermeldt Retailpartner Distributiecentrum Vrachtlijst Levering Eén streep is één. De kraaienpoot is veel. Lees elk uiteinde vanaf het blok dat het raakt. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Een-op-een-relaties bestaan, maar ze zijn zeldzaam, en als ik er een vind, stel ik een paar vragen. Zijn dit echt twee verschillende zelfstandige naamwoorden, of hetzelfde? Als ze verschillen, wat is dan de een-op-een-relatie tussen hen? En blijft het altijd een-op-een, of is het alleen op dit moment een-op-een? Dat zijn belangrijke vragen bij het ontwerpen van het datamodel. Een ploeg en een vrachtwagen lijken op elke willekeurige ochtend een-op-een: twee mensen, één vrachtwagen, één route. Over een maand zijn ze dat niet, en daar verstopt zich de interessantste relatie in dit model.

Veel-op-veel-relaties zijn extra interessant, omdat ze ons vaak vertellen dat er nog een concept in de business zit. Kan een ploeg in de loop van de tijd op meer dan één vrachtwagen rijden? Ja. Kan een vrachtwagen door meer dan één ploeg gereden worden? Over zijn levensduur zeker. Ploegen en vrachtwagens hebben dus een veel-op-veel-relatie. Maar nu wil ik meer weten. Geeft de business erom wanneer een ploeg een vrachtwagen had? Voor welke route, op welke dag? Wie heeft de toewijzing gedaan? Als de relatie zelf informatie bevat waar we om geven, hebben we een ander bedrijfsconcept ontdekt: de ploegtoewijzing.

Dat is een belangrijke modelleergewoonte. Soms is het interessantste niet een van de zelfstandige naamwoorden die we eerst hoorden. Het verstopt zich in de relatie tussen twee zelfstandige naamwoorden.

Dit is een van de plekken waar ik wil dat admins anders gaan denken. In Salesforce zijn we gewend te praten over objecten en velden, dus het is makkelijk de blokken als het belangrijke deel te zien en de lijnen als leidingwerk. Maar de relatie zelf kan betekenis voor de business hebben.

Neem een levering en de producten erop. Een levering kan meerdere producten bevatten, een wasmachine en een droger bijvoorbeeld. Een product, hetzelfde koelkastmodel, komt op duizenden leveringen voor. Makkelijk genoeg. Maar wat als ik moet weten hoeveel van dat product op deze levering staan, of het geïnstalleerd wordt, of dat het oude exemplaar wordt afgevoerd? Dan interesseert me niet alleen meer een relatie tussen Levering en Product. Dan interesseert me een leveringsitem, en dat concept verdient een eigen entiteit.

Als je uit Salesforce komt, denk je misschien al: “Dat is een koppelobject.” Je hebt geen ongelijk. Maar ik wil daar niet beginnen. Een leveringsitem is een bedrijfsconcept voordat het een Salesforce-koppelobject (Salesforce Junction Object) is. Eerst de business, dan de implementatie.

Een paar gewoonten van mij voor deze relatie-entiteiten, waar ze uiteindelijk ook gebouwd worden.

Geef het een naam. Als de business er al een woord voor heeft, gebruik het hare. Zo niet, neem dan de namen van de twee parents en zet ze samen. Denk aan een order en een product. Het ding ertussen is de orderregel (Order Item): de order, en het artikel op de order. Het is een child van beide parents, en in Salesforce wordt het misschien een Salesforce-koppelobject. Maar welke naam komt eerst: Item Order of Order Item? Kijk naar wat voor soort data elke parent is. Het product is referentiedata; de order is transactioneel, en het is de order die het aanstuurt. Dus wordt het Order Item, of Order Product, net zoals Salesforce Opportunity Product heeft. Bij Steve Trucking is het het leveringsitem (Delivery Item). De sturende naam komt eerst, en het record staat in elke lijst die je ooit bekijkt naast zijn eigenaar.

Geef het een eigen sleutel. Het is verleidelijk om te zeggen dat een leveringsitem wordt geïdentificeerd door Levering plus Product, en het daarbij te laten. Dat is een samengestelde sleutel, en samengestelde sleutels zijn veel lastiger: elk systeem dat naar het record verwijst moet beide helften meedragen. Geef de relatie-entiteit een eigen identificator, en houd Levering plus Product als regel over uniciteit, niet als identiteit.

Twee parents, één child: geef het een eigen sleutel Twee parents en één child. Een levering (record-ID Levering-ID; leverdatum, status) bevat veel leveringsitems. Een product (record-ID Product-ID; naam, modelnummer) staat op veel leveringsitems. Het leveringsitem zit ertussen: het heeft een eigen record-ID, de Leveringsitem-ID, en draagt de Levering-ID en de Product-ID van zijn twee parents, plus een aantal. Een notitie eronder: Levering-ID plus Product-ID is een regel over uniciteit, niet het record-ID. TRANSACTIEGEGEVENS REFERENTIEGEGEVENS bevat staat op Levering Levering-ID RECORD-ID Leverdatum Status Leveringsitem Leveringsitem-ID RECORD-ID Levering-ID Product-ID Aantal Product Product-ID RECORD-ID Naam Modelnummer Levering-ID + Product-ID: een regel over uniciteit, niet het record-ID. één veel © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Kijk wat er niet op staat: een serienummer. Een aantal en een serienummer horen niet op hetzelfde record. Een aantal telt meerdere exemplaren van iets; een serienummer identificeert één specifiek exemplaar. Als de business serienummers nodig heeft, wordt elk exemplaar een eigen record, en vijf koelkasten zijn vijf records. Ik zie geen reden voor een leveringsitem met een leveringsitemdetail eronder. Het is het een of het ander: een totaal met een aantal, of één record per exemplaar. Hier is het het aantal.

Let op attributen die historie willen. Sommige relatie-entiteiten liggen vast zodra ze zijn aangemaakt: de wasmachine op deze levering blijft de wasmachine op deze levering. Andere blijven veranderen. Een ploeg heeft deze week vrachtwagen 117, en volgende week gaat die vrachtwagen naar een andere ploeg. Als de relatie verandert en de business geeft om hoe ze vroeger was, heeft de relatie-entiteit datums nodig, en de ploegtoewijzing is degene om in de gaten te houden. Vraag vroeg of de business geeft om nu of om door de tijd heen; daar komen we zo op terug.

Relaties hebben meer betekenis dan kardinaliteit

Section titled “Relaties hebben meer betekenis dan kardinaliteit ”

“Een-op-veel” is niet genoeg om een relatie te begrijpen. Ik wil ook weten wat de relatie betekent.

Een levering heeft een locatie. Welke? Het distributiecentrum waar ze vertrekt? Het huis van de ontvanger waar ze heen gaat? Die zijn niet uitwisselbaar. Twee modellen kunnen precies dezelfde blokken en dezelfde kardinaliteit hebben, en de lijnen kunnen toch iets totaal anders betekenen. Daarom is een goed model niet alleen blokken verbonden door lijnen. De lijnen hebben namen nodig. Als ik een andere architect mijn diagram geef, moet die niet hoeven raden wat een relatie betekent, en als ik het aan de business laat zien, moet het taal gebruiken die zij herkennen.

De lijnen hebben namen nodig Twee panelen, elk met een blok Locatie boven een blok Levering, verbonden door twee lijnen, elk gemarkeerd als één locatie naar veel leveringen. In het linkerpaneel, “Geen namen op de lijnen”, hebben de twee lijnen geen label en zien ze er hetzelfde uit. In het rechterpaneel, “Lijnen met namen”, heeft de ene lijn het label “vertrekt vanaf” en de andere “afgeleverd bij”. Dezelfde blokken, dezelfde kardinaliteit: alleen de namen vertellen je welke lijn welke is. GEEN NAMEN OP DE LIJNEN LIJNEN MET NAMEN vertrekt vanaf afgeleverd bij Locatie Levering Locatie Levering Dezelfde blokken, dezelfde kardinaliteit. Alleen de namen vertellen je welke lijn welke is. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Er zit nog een vraag verstopt in “hoeveel?”: is de relatie verplicht? Kan een levering bestaan voordat ze op een route is gezet? Dat moet: de vrachtlijst komt een of twee dagen voor de levering binnen, en routes worden de avond ervoor definitief gemaakt. Kan een levering bestaan zonder retailpartner? Nee; elke levering komt van de vrachtlijst van een partner. Dat is optionaliteit.

Spring ook hier niet meteen naar een Salesforce-vinkje Verplicht. Er is verschil tussen zeggen “elke levering moet een retailpartner hebben” en zeggen “Salesforce moet het veld Retailpartner verplicht stellen als het record wordt aangemaakt”. Misschien worden ze dezelfde implementatie, maar het is niet dezelfde uitspraak. De eerste is een bedrijfsregel; de tweede is één manier om die af te dwingen. Als architecten willen we de eerste begrijpen voordat we de tweede beslissen.

Op het diagram is optionaliteit de tweede markering aan elk uiteinde. De markering het dichtst bij het blok is het maximum: het streepje voor één, de kraaienpoot voor veel. De markering daarbuiten is het minimum: nog een streepje betekent minstens één, een rondje betekent dat het nul kan zijn. Elke levering staat dus op precies één vrachtlijst, en een vrachtlijst bevat één of meer leveringen. Een levering hoort bij nul of één stop, geen zolang ze nog niet op een route staat, en bij een stop worden nul of meer leveringen afgeleverd.

Beide markeringen aan elk uiteinde lezen Drie blokken op een rij: Vrachtlijst, Levering, Stop. Een vrachtlijst vermeldt één of veel leveringen, en elke levering staat op precies één vrachtlijst: twee strepen aan de kant van de vrachtlijst, een kraaienpoot en een streep aan de kant van de levering. Een stop levert nul of veel leveringen af, en elke levering hoort bij nul of één stop: een cirkel en een kraaienpoot aan de kant van de levering, een cirkel en een streep aan de kant van de stop. Het dichtst bij het blok staat het maximum; de volgende markering is het minimum. precies één Vrachtlijst één of veel Leveringen vermeldt nul of één Stop nul of veel Leveringen levert af Vrachtlijst Levering Stop Het dichtst bij het blok: het maximum (één, of veel). De volgende markering: het minimum (een streep is minstens één, een cirkel is nul). © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Dit is een vraag die ik vaak stel: bedoel je nu, of bedoel je door de tijd heen?

Een ploeg rijdt op een vrachtwagen. Nu? Voor de route van vandaag? Zolang die twee mensen samenwerken? Dat levert verschillende modellen op. Als de business alleen geeft om welke vrachtwagen een ploeg vandaag heeft, kan het model eenvoudig blijven. Als ze elke vrachtwagen moet kennen waarop een ploeg reed, wanneer en op welke route, hebben we historie nodig, en dan wordt die ploegtoewijzing die we ontdekten ineens heel belangrijk.

De ploegtoewijzing: welke ploeg welke vrachtwagen heeft Twee parents en één child. Een ploeg (record-ID Ploeg-ID; naam, status) werkt veel ploegtoewijzingen. Een vrachtwagen (record-ID Vrachtwagen-ID, ook bekend onder zijn eenheidsnummer; merk, model, status) wordt gebruikt in veel ploegtoewijzingen. Elke ploegtoewijzing heeft een eigen record-ID en draagt de Ploeg-ID en de Vrachtwagen-ID, en geen datums. Een notitie eronder: welke ploeg welke vrachtwagen heeft, maar niet sinds wanneer. werkt gebruikt in Ploeg Ploeg-ID RECORD-ID Naam Status Ploegtoewijzing Ploegtoewijzing-ID RECORD-ID Ploeg-ID Vrachtwagen-ID Vrachtwagen Vrachtwagen-ID RECORD-ID Eenheidsnummer OOK BEKEND ALS Merk Model Status Welke ploeg welke vrachtwagen heeft, maar niet sinds wanneer. één veel © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Dit is een veelvoorkomende bron van modelleerfouten. We modelleren de huidige toestand omdat we die op het scherm kunnen zien. Dan, weken later, dient een retailpartner een schadeclaim in en vraagt iemand: “Welke ploeg had vrachtwagen 117 op 17 maart?” En we ontdekken dat we het antwoord elke keer hebben overschreven als de toewijzing veranderde.

Een manier om die historie te bewaren is van de toewijzing een eigen record te maken. Als een ploeg wordt toegewezen, maken we een ploegtoewijzing aan met een begindatum. Als de toewijzing verandert, zetten we een einddatum op het oude record en maken we een nieuw record aan met een eigen begindatum. Nu is “wie had die toewijzing zes maanden geleden?” een simpele vraag, in plaats van graafwerk in veldhistorie of een logboek van datawijzigingen. En zodra een ploeg veel toewijzingen heeft gehad, vraagt iemand welke de huidige is, dus ik zou ook een vlag Actief toevoegen.

De ploegtoewijzing door de tijd: datums en een vlag Actief Twee parents en één child, met datums. Een ploeg (record-ID Ploeg-ID; naam, status) werkt veel ploegtoewijzingen. Een vrachtwagen (record-ID Vrachtwagen-ID, ook bekend onder zijn eenheidsnummer; merk, model, status) wordt gebruikt in veel ploegtoewijzingen. Elke ploegtoewijzing heeft een eigen record-ID en draagt de Ploeg-ID en de Vrachtwagen-ID, een begindatum, een einddatum en een vlag Actief. Een notitie eronder: elke wijziging beëindigt een toewijzing en start de volgende, en Actief markeert de huidige. werkt gebruikt in Ploeg Ploeg-ID RECORD-ID Naam Status Ploegtoewijzing Ploegtoewijzing-ID RECORD-ID Ploeg-ID Vrachtwagen-ID Begindatum Einddatum Actief Vrachtwagen Vrachtwagen-ID RECORD-ID Eenheidsnummer OOK BEKEND ALS Merk Model Status Elke wijziging beëindigt een toewijzing en start de volgende. Actief markeert de huidige. één veel © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Dus als iemand me over een relatie vertelt, vraag ik niet alleen hoe de dingen samenhangen. Ik vraag: verandert die relatie, en geven we om haar historie?

Ons model van Steve Trucking wordt bruikbaar. We weten welke relaties een-op-veel zijn, waar een veel-op-veel een ander concept verbergt, welke relaties optioneel zijn en welke door de tijd veranderen. En we hebben nog steeds geen Salesforce-object gemaakt. Dat is met opzet.

Het conceptuele model na module 1 en 2 Conceptueel model voor Steve Trucking, gegroepeerd als klantgegevens, transactiegegevens en referentiegegevens. Een retailpartner stuurt vrachtlijsten die leveringen vermelden, en beheert distributiecentra. Elke levering vertrekt vanaf een distributiecentrum, gaat naar een ontvanger en bevat leveringsitems. Routes hebben stops die leveringen afleveren. Een ploegtoewijzing koppelt een ploeg en een vrachtwagen aan een route, zodat het model bewaart wie welke vrachtwagen reed, en wanneer. KLANTGEGEVENS TRANSACTIEGEGEVENS REFERENTIEGEGEVENS beheert stuurt vermeldt bevat vertrekt vanaf afgeleverd bij heeft levert af rijdt werkt gebruikt in Retailpartner de retailer voor wie we leveren Ontvanger wie het ontvangt Vrachtlijst de leveringslijst van de partner Levering één order naar één ontvanger Leveringsitem wat er in de vrachtwagen zit Route de stops van één dag Stop één adres op de route Ploegtoewijzing wie welke vrachtwagen reed, en wanneer Distributiecentrum waar leveringen vertrekken Ploeg twee mensen Vrachtwagen het voertuig precies één nul of één één of veel nul of veel © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Dit diagram moet iets zijn wat ik de business kan voorleggen, en ze moeten Salesforce niet hoeven kennen om me te vertellen of het klopt. Als ze het niet kunnen valideren omdat het vol Salesforce-termen staat, ben ik te snel naar het fysieke ontwerp gegaan.

Als ik de relaties in een conceptueel model doorwerk, beslis ik:

  • Hoe de belangrijkste bedrijfsentiteiten met elkaar samenhangen.
  • Of elke relatie een-op-een, een-op-veel of veel-op-veel is, nu en door de tijd heen.
  • Of elke relatie verplicht of optioneel is.
  • Of een veel-op-veel-relatie een zinvol bedrijfsconcept verbergt.
  • Of de relatie door de tijd verandert, en of we haar historie nodig hebben.

Lookup of master-detail, de configuratie van koppelobjecten, cascadegedrag en sharing zijn fysieke beslissingen; daar komen we nog. Op dit moment beantwoorden we nog steeds de belangrijkere vraag: hoe werkt dit bedrijf eigenlijk? Zodra we de entiteiten en de relaties ertussen begrijpen, kunnen we de details gaan toevoegen die ze beschrijven. Dan begint ons conceptuele model een logisch datamodel te worden.