Zagnieżdżenie rekordów w tabeli. MS SQL

0

Szanowne Panie i Panowie,

mam do rozwiązania taki problem (zagadnienie):
w biznesie mam produkty które składają się z podproduktów a te z kolei z kolejnych podproduktów, itd...
Niestety na etapie projektowania tabel (MS SQL) nie jestem w stanie określić głębokości zagnieżdżenia.
Czy macie jakiś pomysł jak przede wszystkim prawidłowo zaprojektować tabele żeby obsłużyć ten problem?
Jak później wygodnie w formie drzewka prezentować produkty i ich składowe?

pozdrawiam

Marcin

1

W tabeli produkt (oprócz klucza głównego oczywiście) przechowywać klucz obcy do tej tabeli. Atrybut ten będzie przechowywał id rodzica.

1

Może zainteresuje się typem danych hierarchyid

0

Masz tutaj klasyczny moduł produkcyjny możesz skorzystać z rozwiązania które podał @firefox (aczkolwiek sam osobiście z tego nie korzystałem więc nie mogę polecić albo odrzucić) lub w tabeli prócz głównego ID dodać kolumnę prev_id i użyć czegoś na wzór CONNECT BY PRIOR w Oracle. Tutaj znalazłem przykład jak to zrobić: http://stackoverflow.com/questions/31827817/sql-server-equivalent-of-oracle-connect-by-prior-and-order-siblings-by

0

opis kilku możliwości wraz z ich wadami i zaletami http://www.dbf.pl/faq/faq_pcbd.html#o1_9

0

Idąc dalej, przyjmując rozwiązanie z obcym id.
Mam tabelę jak w załączniku i wynik jaki chciałbym uzyskać.
Jak napisać odpowiednie zapytanie?

0

nawet ci się nie chce przekleić tutaj tekstu tylko pdfa wrzucasz... A co do pytania jak to przecież ci @woolfik podał linka. Może trochę pracy własnej

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