Przejdź do głównej zawartości

Narysuj relacje

Dostępne także w 28 językach

English · Español · 日本語 · Português (Brasil) · Français · Deutsch · Italiano · 한국어 · 简体中文 · Português (Portugal) · 繁體中文 · Bahasa Indonesia · Türkçe · Tiếng Việt · ไทย · Nederlands · العربية · עברית · Українська · हिन्दी · Русский · 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.
Obraz wygenerowany przez AI

Moduł 2 z 6 w rozdziale Modelowanie danych, które coś znaczą, rozdziale 2 kursu Data Architect. Każdy moduł jest samodzielny. Wstecz: Wsłuchaj się w rzeczowniki · Dalej: Zbuduj model logiczny

Pytanie, na które odpowiada ten moduł: jak zamienić encje kandydujące w konceptualny model danych?

Mamy rzeczowniki na tablicy. Teraz chcę się dowiedzieć czegoś o liniach między prostokątami, bo zbiór encji to jeszcze nie jest model danych. To w relacjach mieszka duża część znaczenia. Partner detaliczny prowadzi centra dystrybucyjne. Manifest wymienia dostawy. Dostawa trafia do odbiorcy. Ekipa obsługuje ciężarówkę. Każde z tych zdań mówi mi coś o biznesie i każde daje mi kolejne pytanie do zadania.

Nadal nie chcę rozmawiać o Salesforce. Nie pytam, czy to ma być relacja lookup, czy master-detail, nie myślę o obiektach łączących Salesforce (Salesforce Junction Object) ani nie decyduję, co się stanie po usunięciu rekordu nadrzędnego. Próbuję zrozumieć relację biznesową.

Weźmy „partner detaliczny prowadzi centra dystrybucyjne”. Brzmi prosto. Ale czy partner detaliczny może mieć jedno CD, czy wiele? W Steve Trucking każdy partner detaliczny prowadzi regionalne centrum dystrybucyjne w każdym regionie, który obsługuje Steve Trucking, więc wiele. Czy CD może należeć do więcej niż jednego partnera detalicznego? Czy CD ma znaczenie samo w sobie, z własnym personelem i historią, czy to tylko adres? Jeśli partner detaliczny odejdzie, czy jego CD nadal nas obchodzą?

To nie są pytania o Salesforce. To pytania biznesowe, a odpowiedzi na nie mogą całkowicie zmienić model.

Zanim pójdziemy głębiej, chcę ci dać język, którego od teraz będziemy używać na każdym diagramie. Jest niewielki. Linia między dwoma prostokątami mówi, że te dwie rzeczy są powiązane, a znaki na jej końcach mówią, ile.

Zacznij od zwykłej linii, bez żadnych znaków. Od tego zaczynam na tablicy: wiem, że te dwa rzeczowniki są powiązane, tylko jeszcze nie zapytałem jak. Potem końce dostają znaki. Pojedyncza kreska w poprzek linii oznacza jeden. Kurza łapka (crow’s foot), koniec, który rozdziela się na trzy jak ptasia stopa, oznacza wiele. Dalej w tym module zobaczysz drugi znak obok pierwszego, kreskę albo kółko, i on odpowiada na inne pytanie: czy może nie być żadnego?

Jedna zasada do zapamiętania: każdy znak czytasz przy prostokącie, którego dotyka. Znak najbliżej prostokąta to największa możliwa liczba; następny znak dalej to najmniejsza.

Czytanie linii Legenda języka diagramów kursu. Zwykła linia bez znaków oznacza, że dwie rzeczy są powiązane, ale ile, jeszcze nie ustalono. Pojedyncza kreska na końcu oznacza jeden; kurza łapka oznacza wiele. Z drugim znakiem dla opcjonalności: dwie kreski to dokładnie jeden; kółko i kreska to zero lub jeden; kreska i kurza łapka to jeden lub wiele; kółko i kurza łapka to zero lub wiele. Każdy znak czyta się przy prostokącie, którego dotyka. START: ZWYKŁA LINIA Zwykła linia te dwa są powiązane; ile, jeszcze nie ustalono POTEM: JEDEN CZY WIELE Jeden pojedyncza kreska (poprzeczka): jeden z prostokąta, którego dotyka Wiele kurza łapka: wiele z prostokąta, którego dotyka POTEM: CZY MOŻE BYĆ ZERO? Dokładnie jeden dwie kreski: co najmniej jeden, co najwyżej jeden Zero lub jeden kółko, potem kreska: może jeszcze nie istnieć Jeden lub wiele kreska, potem kurza łapka: co najmniej jeden Zero lub wiele kółko, potem kurza łapka: brak też jest w porządku Każdy koniec czytaj przy prostokącie, którego dotyka: znak najbliżej prostokąta to największa możliwa liczba; następny znak dalej to najmniejsza. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Zanim przejdziemy do Steve Trucking, wróćmy do psów z modułu 1. Mieliśmy pięć prostokątów: Właściciel, Hodowca, Pies, Rasa i Sztuczka. Teraz pytam o linie między nimi.

Jeden czy wiele? Właściciel może mieć więcej niż jednego psa; Ana ma dwa. Pies ma jednego właściciela, przynajmniej w naszym modelu. To jeden-do-wielu: kreska przy Właścicielu, kurza łapka przy Psie. Hodowca ma ten sam kształt: jeden hodowca hoduje wiele psów.

Czy może nie być żadnego? Max pochodzi ze schroniska, więc w ogóle nie ma hodowcy. Koniec przy Hodowcy dostaje kółko: pies ma zero albo jednego hodowcę. Za to każdy pies ma właściciela, więc ten koniec dostaje drugą kreskę: dokładnie jeden.

Wiele do wielu? Pies zna wiele sztuczek, a sztuczkę, powiedzmy Siad, zna wiele psów. To wiele-do-wielu i właśnie tam szukam ukrytego pojęcia. Czy jest coś, co dotyczy tego, że ten pies zna tę sztuczkę? Jak dobrze ją wykonuje i kiedy się jej nauczył. Relacja ma własne fakty, więc staje się osobną rzeczą: Sztuczka psa, z psem w nazwie, bo to pies nią rządzi.

Co znaczy każda linia? Właściciel jest właścicielem psa. Hodowca go hoduje. Pies zna swoje sztuczki. Nazwij linie, a każdy odczyta ci model z powrotem.

Teraz czy w czasie? Czy kogoś obchodzi, jak dobrze Bella robi Siad dzisiaj, czy też to, jak do tego doszła? Jeśli trener sprawdza ją co kilka miesięcy, każde sprawdzenie jest osobnym rekordem: Ocena sztuczki, z datą, poziomem umiejętności i osobą, która sprawdzała, pod Sztuczką psa, do której należy. Nawet relacja, która stała się rzeczą, może mieć własną historię.

Rasę na razie zostawiam bez połączenia. To wciąż pytanie z modułu 1, osobny prostokąt czy słowo przy psie, i rozstrzygnie je moduł 4.

Model psów z relacjami Siedem prostokątów. Właściciel ma jednego lub wiele Psów, a każdy Pies ma dokładnie jednego Właściciela. Hodowca hoduje jednego lub wiele Psów, a Pies ma zero lub jednego Hodowcę. Pies zna zero lub wiele Sztuczek psa, a Sztuczka jest znana w zero lub wielu Sztuczkach psa; każda Sztuczka psa to jeden Pies i jedna Sztuczka. Każda Sztuczka psa jest oceniana w zero lub wielu Ocenach sztuczki. Rasa stoi osobno, jeszcze niepołączona. ma hoduje zna znana w oceniana w Właściciel Hodowca Pies Rasa Sztuczka psa Sztuczka Ocena sztuczki dokładnie jeden zero lub jeden jeden lub wiele zero lub wiele © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Każde z tych pytań działa tak samo na prawdziwym biznesie. Zadajmy je teraz Steve Trucking.

Jedną z pierwszych rzeczy, które chcę zrozumieć o relacji, jest jej liczność (kardynalność). To termin z baz danych; pytanie jest dużo prostsze: ile tych może być powiązanych z iloma tamtymi? Na poziomie konceptualnym są trzy podstawowe wzorce.

To ważny krok w procesie: weź dwa różne rzeczowniki i zrozum ich relację. W większości sytuacji to jeden-do-wielu albo wiele-do-jednego. Tylko w rzadkich przypadkach trafisz na jeden-do-jednego.

Jeden-do-wielu jest wszędzie. Jeden partner detaliczny ma wiele centrów dystrybucyjnych. Jeden manifest wymienia wiele dostaw. Jedna trasa ma mniej więcej dziesięć przystanków. Gdy słyszę takie sformułowania, zaczynam rysować linię.

A teraz linia dostaje swoje znaki. Każdy koniec mówi, ile jest prostokąta, którego dotyka: kreska dla jednego, kurza łapka dla wielu. Czytaj od każdego prostokąta: jeden partner detaliczny ma wiele centrów dystrybucyjnych.

Podstawowe połączenie, jeden do wielu Dwie pary prostokątów, każda połączona linią w podstawowej notacji kurzej łapki. Jeden partner detaliczny prowadzi wiele centrów dystrybucyjnych: pojedyncza kreska przy partnerze detalicznym, kurza łapka przy centrum dystrybucyjnym. Jeden manifest wymienia wiele dostaw, oznaczonych tak samo. Każdy koniec ma podpis słowami. jeden Partner detaliczny wiele Centrów dystrybucyjnych prowadzi jeden Manifest wiele Dostaw wymienia Partner detaliczny Centrum dystrybucyjne Manifest Dostawa Pojedyncza kreska to jeden. Kurza łapka to wiele. Każdy koniec czytaj od prostokąta, którego dotyka. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Relacje jeden-do-jednego istnieją, ale są rzadkie, a gdy na jakąś trafiam, zadaję kilka pytań. Czy to naprawdę dwa różne rzeczowniki, czy jeden? Jeśli różne, czym jest relacja jeden-do-jednego między nimi? I czy zawsze będzie jeden-do-jednego, czy tylko jeden-do-jednego w tej chwili? To kluczowe pytania przy projektowaniu modelu danych. Ekipa i ciężarówka danego ranka wyglądają na jeden-do-jednego: dwie osoby, jedna ciężarówka, jedna trasa. W skali miesiąca już nie, i właśnie tam ukrywa się najciekawsza relacja w tym modelu.

Relacje wiele-do-wielu są szczególnie ciekawe, bo często mówią nam, że w biznesie istnieje jeszcze jedno pojęcie. Czy ekipa może z czasem jeździć więcej niż jedną ciężarówką? Tak. Czy ciężarówką może jeździć więcej niż jedna ekipa? W ciągu jej życia na pewno. Ekipy i ciężarówki mają więc relację wiele-do-wielu. Ale teraz chcę wiedzieć więcej. Czy biznes obchodzi, kiedy ekipa miała ciężarówkę? Na której trasie, którego dnia? Kto dokonał przydziału? Jeśli sama relacja niesie informacje, na których nam zależy, odkryliśmy kolejne pojęcie biznesowe: przydział ekipy (Crew Assignment).

To ważny nawyk modelowania. Czasem najciekawsza rzecz to nie żaden z rzeczowników, które usłyszeliśmy na początku. Ukrywa się w relacji między dwoma rzeczownikami.

To jedno z miejsc, w których chcę, żeby administratorzy zaczęli myśleć inaczej. W Salesforce przywykliśmy mówić o obiektach i polach, więc łatwo traktować prostokąty jako ważną część, a linie jako hydraulikę. Ale sama relacja może mieć znaczenie biznesowe.

Weźmy dostawę i produkty na niej. Dostawa może zawierać kilka produktów, na przykład pralkę i suszarkę. Produkt, ten sam model lodówki, pojawia się w tysiącach dostaw. Na razie proste. Ale co, jeśli muszę wiedzieć, ile sztuk tego produktu jest w tej dostawie, czy będzie instalowany albo czy stary jest wywożony? Nie interesuje mnie już tylko relacja między dostawą a produktem. Interesuje mnie pozycja dostawy (Delivery Item), a to pojęcie zasługuje na własną encję.

Jeśli przychodzisz ze świata Salesforce, możesz już myśleć: „To obiekt łączący”. Nie mylisz się. Ale nie chcę od tego zaczynać. Pozycja dostawy to pojęcie biznesowe, zanim stanie się obiektem łączącym Salesforce (Salesforce Junction Object). Najpierw biznes, potem implementacja.

Kilka moich nawyków dotyczących takich encji relacyjnych, gdziekolwiek ostatecznie zostaną zbudowane.

Nazwij ją. Jeśli biznes ma już na nią słowo, użyj jego słowa. Jeśli nie ma, weź nazwy obu rodziców i połącz je. Pomyśl o zamówieniu i produkcie. To, co jest między nimi, to Order Item (pozycja zamówienia): zamówienie i rzecz w zamówieniu. To dziecko obu rodziców, a w Salesforce może skończyć jako obiekt łączący Salesforce (Salesforce Junction Object). Ale która nazwa idzie pierwsza: Item Order czy Order Item? Spójrz, jakim rodzajem danych jest każdy z rodziców. Produkt to dane referencyjne; zamówienie jest transakcyjne i to ono tu rządzi. Więc Order Item albo Order Product, tak jak Salesforce ma Opportunity Product. W Steve Trucking to Delivery Item. Nazwa, która rządzi, idzie pierwsza, a rekord ustawia się obok swojego właściciela na każdej liście, jaką kiedykolwiek zobaczysz. (Po polsku szyk jest odwrotny, „pozycja dostawy”, ale zasada się nie zmienia: nazwa wskazuje, kto rządzi.)

Daj jej własny klucz. Kusi, żeby powiedzieć, że pozycję dostawy identyfikuje dostawa plus produkt, i na tym poprzestać. To klucz złożony, a z kluczami złożonymi dużo trudniej sobie radzić: każdy system, który wskazuje na rekord, musi nosić obie połówki. Daj encji relacyjnej własny identyfikator, a dostawę plus produkt zachowaj jako regułę unikalności, nie jako tożsamość rekordu.

Dwóch rodziców, jedno dziecko: daj mu własny klucz Dwóch rodziców i jedno dziecko. Dostawa (identyfikator rekordu ID dostawy; data dostawy, status) zawiera wiele pozycji dostawy. Produkt (identyfikator rekordu ID produktu; nazwa, numer modelu) występuje w wielu pozycjach dostawy. Pozycja dostawy leży między nimi: ma własny identyfikator rekordu, ID pozycji dostawy, i przechowuje ID dostawy i ID produktu swoich dwóch rodziców oraz ilość. Notatka pod spodem: ID dostawy plus ID produktu to reguła unikalności, a nie identyfikator rekordu. DANE TRANSAKCYJNE DANE REFERENCYJNE zawiera występuje w Dostawa ID dostawy IDENTYFIKATOR REKORDU Data dostawy Status Pozycja dostawy ID pozycji dostawy IDENTYFIKATOR REKORDU ID dostawy ID produktu Ilość Produkt ID produktu IDENTYFIKATOR REKORDU Nazwa Numer modelu ID dostawy + ID produktu: reguła unikalności, a nie identyfikator rekordu. jeden wiele © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Zwróć uwagę, czego na niej nie ma: numeru seryjnego. Ilość i numer seryjny nie pasują do tego samego rekordu. Ilość liczy kilka sztuk czegoś; numer seryjny identyfikuje jedną konkretną rzecz. Jeśli biznes potrzebuje numerów seryjnych, każda sztuka staje się osobnym rekordem, a pięć lodówek to pięć rekordów. Nie widzę uzasadnienia dla pozycji dostawy ze szczegółem pozycji dostawy pod spodem. Albo jedno, albo drugie: agregat z ilością albo jeden rekord na sztukę. Tutaj to ilość.

Uważaj na atrybuty, które chcą mieć historię. Niektóre encje relacyjne są ustalone w chwili utworzenia: pralka w tej dostawie zostaje pralką w tej dostawie. Inne ciągle się zmieniają. Ekipa ma w tym tygodniu ciężarówkę 117, a w przyszłym ciężarówka trafia do innej ekipy. Gdy relacja się zmienia, a biznes obchodzi, jaka była wcześniej, encja relacyjna potrzebuje dat, a tą, na którą trzeba uważać, jest przydział ekipy. Zapytaj wcześnie, czy biznes obchodzi teraz, czy w czasie; za chwilę do tego wrócimy.

„Jeden-do-wielu” to za mało, żeby zrozumieć relację. Chcę też wiedzieć, co relacja oznacza.

Dostawa ma lokalizację. Którą? Centrum dystrybucyjne, z którego wyjeżdża? Dom odbiorcy, do którego jedzie? Nie są wymienne. Dwa modele mogą mieć dokładnie te same prostokąty i tę samą liczność, a linie mogą znaczyć zupełnie różne rzeczy. Dlatego dobry model to nie tylko prostokąty połączone liniami. Linie potrzebują nazw. Jeśli dam swój diagram innemu architektowi, nie powinien musieć zgadywać, co oznacza relacja, a jeśli pokazuję go biznesowi, powinien używać języka, który biznes rozpoznaje.

Linie potrzebują nazw Dwa panele, w każdym prostokąt Lokalizacja nad prostokątem Dostawa, połączone dwiema liniami, każda oznaczona: jedna lokalizacja do wielu dostaw. W lewym panelu, „Linie bez nazw”, obie linie są nieopisane i wyglądają identycznie. W prawym panelu, „Nazwane linie”, jedna linia ma etykietę „wyjeżdża z”, a druga „dostarczana do”. Te same prostokąty, ta sama liczność: tylko nazwy mówią, która linia jest która. LINIE BEZ NAZW NAZWANE LINIE wyjeżdża z dostarczana do Lokalizacja Dostawa Lokalizacja Dostawa Te same prostokąty, ta sama liczność. Tylko nazwy mówią, która linia jest która. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

W pytaniu „ile?” kryje się jeszcze jedno pytanie: czy relacja jest wymagana? Czy dostawa może istnieć, zanim trafi na trasę? Musi: manifest przychodzi dzień lub dwa przed dostawą, a trasy ustala się wieczorem poprzedniego dnia. Czy dostawa może istnieć bez partnera detalicznego? Nie; każda dostawa pochodzi z manifestu partnera. To jest opcjonalność.

I znowu: nie skacz od razu do pola wyboru Wymagane w Salesforce. Jest różnica między stwierdzeniem „każda dostawa musi mieć partnera detalicznego” a stwierdzeniem „Salesforce powinien wymagać pola partnera detalicznego przy tworzeniu rekordu”. Mogą skończyć jako ta sama implementacja, ale to nie jest to samo zdanie. Pierwsze to reguła biznesowa; drugie to jeden ze sposobów jej egzekwowania. Jako architekci chcemy zrozumieć pierwsze, zanim zdecydujemy o drugim.

Na diagramie opcjonalność to drugi znak na każdym końcu. Znak najbliżej prostokąta to największa możliwa liczba: kreska dla jednego, kurza łapka dla wielu. Następny znak dalej to najmniejsza: kolejna kreska oznacza co najmniej jeden, kółko oznacza, że może być zero. Każda dostawa jest więc w dokładnie jednym manifeście, a manifest wymienia jedną albo wiele dostaw. Dostawa jest na zero albo jednym przystanku, na żadnym, dopóki nie trafi na trasę, a na przystanku zostawia się zero albo wiele dostaw.

Czytanie obu znaków na każdym końcu Trzy prostokąty w rzędzie: Manifest, Dostawa, Przystanek. Manifest wymienia jedną albo wiele dostaw, a każda dostawa jest w dokładnie jednym manifeście: dwie kreski przy manifeście, kurza łapka i kreska przy dostawie. Na przystanku zostawia się zero albo wiele dostaw, a każda dostawa jest na zero albo jednym przystanku: kółko i kurza łapka przy dostawie, kółko i kreska przy przystanku. Najbliżej prostokąta jest największa liczba; następny znak dalej to najmniejsza. dokładnie jeden Manifest jeden lub wiele Dostaw wymienia zero lub jeden Przystanek zero lub wiele Dostaw zostawia Manifest Dostawa Przystanek Najbliżej prostokąta: najwięcej (jeden albo wiele). Następny znak dalej: najmniej (kreska to co najmniej jeden, kółko to zero). © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Oto pytanie, które często zadaję: czy masz na myśli teraz, czy w czasie?

Ekipa obsługuje ciężarówkę. Teraz? Na dzisiejszej trasie? Tak długo, jak te dwie osoby pracują razem? To dają różne modele. Jeśli biznes obchodzi tylko, którą ciężarówkę ekipa ma dziś, model może zostać prosty. Jeśli potrzebuje każdej ciężarówki, którą ekipa jeździła, kiedy i na której trasie, potrzebujemy historii, a odkryty przez nas przydział ekipy nagle bardzo zyskuje na znaczeniu.

Przydział ekipy: która ekipa ma którą ciężarówkę Dwóch rodziców i jedno dziecko. Ekipa (identyfikator rekordu ID ekipy; nazwa, status) realizuje wiele przydziałów ekipy. Ciężarówka (identyfikator rekordu ID ciężarówki, znana także pod numerem floty; marka, model, status) jest używana w wielu przydziałach ekipy. Każdy przydział ekipy ma własny identyfikator rekordu i przechowuje ID ekipy i ID ciężarówki, bez dat. Notatka pod spodem: która ekipa ma którą ciężarówkę, ale nie od kiedy. realizuje używana w Ekipa ID ekipy IDENTYFIKATOR REKORDU Nazwa Status Przydział ekipy ID przydziału ekipy IDENTYFIKATOR REKORDU ID ekipy ID ciężarówki Ciężarówka ID ciężarówki IDENTYFIKATOR REKORDU Numer floty ZNANY TAKŻE JAKO Marka Model Status Która ekipa ma którą ciężarówkę, ale nie od kiedy. jeden wiele © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

To częste źródło błędów w modelowaniu. Modelujemy stan bieżący, bo to widzimy na ekranie. Potem, kilka tygodni później, partner detaliczny zgłasza reklamację szkody i ktoś pyta: „Która ekipa miała ciężarówkę 117 siedemnastego marca?”. I odkrywamy, że nadpisywaliśmy odpowiedź przy każdej zmianie przydziału.

Jednym ze sposobów zachowania tej historii jest uczynienie przydziału osobnym rekordem. Gdy ekipa dostaje przydział, tworzymy przydział ekipy z datą początku. Gdy przydział się zmienia, wstawiamy datę końca w starym rekordzie i tworzymy nowy z własną datą początku. Teraz pytanie „kto miał ten przydział pół roku temu?” jest proste, zamiast wymagać przekopywania historii pól albo dziennika zmian danych. A gdy ekipa ma już za sobą wiele przydziałów, ktoś zapyta, który jest bieżący, więc dodałbym też flagę Aktywny.

Przydział ekipy w czasie: daty i flaga Aktywny Dwóch rodziców i jedno dziecko, z datami. Ekipa (identyfikator rekordu ID ekipy; nazwa, status) realizuje wiele przydziałów ekipy. Ciężarówka (identyfikator rekordu ID ciężarówki, znana także pod numerem floty; marka, model, status) jest używana w wielu przydziałach ekipy. Każdy przydział ekipy ma własny identyfikator rekordu i przechowuje ID ekipy i ID ciężarówki, datę początku, datę końca i flagę Aktywny. Notatka pod spodem: każda zmiana kończy jeden przydział i rozpoczyna następny, a Aktywny oznacza bieżący. realizuje używana w Ekipa ID ekipy IDENTYFIKATOR REKORDU Nazwa Status Przydział ekipy ID przydziału ekipy IDENTYFIKATOR REKORDU ID ekipy ID ciężarówki Data początku Data końca Aktywny Ciężarówka ID ciężarówki IDENTYFIKATOR REKORDU Numer floty ZNANY TAKŻE JAKO Marka Model Status Każda zmiana kończy jeden przydział i rozpoczyna następny. Aktywny oznacza bieżący. jeden wiele © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Kiedy więc ktoś opowiada mi o relacji, nie pytam tylko, jak te rzeczy są powiązane. Pytam: czy ta relacja się zmienia i czy obchodzi nas jej historia?

Nasz model Steve Trucking staje się użyteczny. Wiemy, które relacje są jeden-do-wielu, gdzie wiele-do-wielu ukrywa kolejne pojęcie, które relacje są opcjonalne, a które zmieniają się w czasie. A wciąż nie utworzyliśmy żadnego obiektu Salesforce. To celowe.

Model konceptualny po modułach 1 i 2 Model konceptualny Steve Trucking, pogrupowany na dane klientów, dane transakcyjne i dane referencyjne. Partner detaliczny wysyła manifesty, które wymieniają dostawy, i prowadzi centra dystrybucyjne. Każda dostawa wyjeżdża z centrum dystrybucyjnego, jedzie do odbiorcy i zawiera pozycje dostawy. Trasy mają przystanki, na których zostawia się dostawy. Przydział ekipy łączy ekipę i ciężarówkę z trasą, więc model pamięta, kto jechał którą ciężarówką i kiedy. DANE KLIENTÓW DANE TRANSAKCYJNE DANE REFERENCYJNE prowadzi wysyła wymienia zawiera wyjeżdża z dostarczana do ma zostawia obsługuje realizuje używana w Partner detaliczny detalista, dla którego dostarczamy Odbiorca kto odbiera dostawę Manifest lista dostaw partnera Dostawa jedno zamówienie do jednego odbiorcy Pozycja dostawy co jedzie na ciężarówce Trasa dzienny kurs po przystankach Przystanek jeden adres na trasie Przydział ekipy kto jechał którą ciężarówką i kiedy Centrum dystrybucyjne skąd wyjeżdżają dostawy Ekipa dwie osoby Ciężarówka pojazd dokładnie jeden zero lub jeden jeden lub wiele zero lub wiele © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Ten diagram powinien być czymś, co mogę postawić przed biznesem, a biznes nie powinien musieć znać Salesforce, żeby powiedzieć mi, czy jest dobry. Jeśli nie da się go zweryfikować, bo jest pełen terminologii Salesforce, za szybko przeszedłem do projektu fizycznego.

Pracując nad relacjami w modelu konceptualnym, decyduję:

  • Jak główne encje biznesowe wiążą się ze sobą.
  • Czy każda relacja jest jeden-do-jednego, jeden-do-wielu czy wiele-do-wielu, teraz i w czasie.
  • Czy każda relacja jest wymagana, czy opcjonalna.
  • Czy relacja wiele-do-wielu ukrywa znaczące pojęcie biznesowe.
  • Czy relacja zmienia się w czasie i czy potrzebujemy jej historii.

Lookup czy master-detail, konfiguracja obiektu łączącego, zachowanie kaskadowe i udostępnianie to decyzje fizyczne; do nich dojdziemy. Teraz wciąż odpowiadamy na ważniejsze pytanie: jak ten biznes naprawdę działa? Gdy zrozumiemy encje i relacje między nimi, możemy zacząć dodawać szczegóły, które je opisują. Wtedy nasz model konceptualny zaczyna stawać się logicznym modelem danych.