MS Visio - poprawne wykonanie encji i związków w systemie sklepu

1

Witam,
rozpoczynam zabawę z MS Visio i nie wiem czy poprawnie wykonałem relacje między encjami. Proszę nie zwracać uwagi na dane zawarte w encjach bo są "wyrwane" z kontekstu (jest to tylko przykład).

user image

Na szaro są zaznaczone związki.
Opis: Mam produkt, do którego przy pomocy związku przypisuję jakiś kolor (specjalnie RGB jest rozdzielone), czyli jest to związek wiele-do-wiele. Mam klienta, który tworzy zamówienie (związek jeden(klient)-wiele(zamówienie)), więc nie może mieć związku wiele-do-wiele z produktem, ponieważ zamówiony produkt może mieć tylko 1 kolor, więc stworzyłem encję Egzemparz, która jest związkiem zamówienie-produkt (wiele-do-wiele).

Żeby nadać kolor tworzę związek jeden-do-jeden dla egzemplarz-kolor.

Czy jest to poprawne rozumowanie ?

0

Masz tabelę wiele-do-wiele ProduktKolor to ją nazwij po ludzku, a nie jakieś Table4. Po co relacja Egzemplarz-Kolor jeżeli można za jednym zamachem mieć kolor i produkt dzięki relacji z Table4?

0

Witam,
dzięki za odpowiedź. Mimo to mam kilka spraw:

  1. Napisałem że jest to przykład, stad nie ma nazwy w związku produkt-kolor:
Zi00mal napisał(a)

Proszę nie zwracać uwagi na dane zawarte w encjach bo są "wyrwane" z kontekstu (jest to tylko przykład).

  1. Masz rację, niepotrzebnie odwołuję się do produktu.
  2. Mimo pkt.2 zastanawiałem się jak przebrnąć przez różne możliwości opcji. Produkt może być np.: komputerem, telewizorem, albo koszulką - więc opcje mogą być dziwaczne i niepowiązane ze sobą. Ja to rozwiązałem tak:

user image

nad_opcja_id została stworzona, żeby można było wykonać "kategorie opcji" np.: Mamy rodzaj tapety oraz kolor tapety, więc jedno jest "matką" drugiego

0

Świetna robota, teraz połącz w jedną całość tabelę Egzemplarz z tabelą Jakas nazwa dla kolegi Adama, wyrzuć pole opcja_id, dodaj pole ilość oraz nazwij tą tabelę po prostu LinijkaZamowienia.

Z kolei w tabeli opcja umieść FK do tabeli LinijkaZamowienia tak żeby mieć wszystkie opcje (nie tylko główne) powiązane z konkretnym zamówieniem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1