Mam problem natury teoretycznej. Jak rozwiazac nastepujacy problem:
- Jest w pewnej bazie tabela ktora reprezentuje produkty o np. takiej strukturze:
- ProduktID
- GrupaTowarowaID
- Nazwa
- itd...
i teraz miedzy produktami moze zajsc relacja taka ze - jeden produkt powiazany jest z wieloma innymi, ale inny produkt moze byc powiazany rowniez w wieloma innymi rowniez z pierwszym produktem ktory ma juz powiazania:
ja rozwiazanie widze w stworzeniu tabeli ktora bedzie przechowywala klucze produktow ktore sie ze soba wiaza:
Przykladowa struktuta takiej tabeli:
- ProduktID
- ProduktID2
i teraz jak mamy jakies produkty to bedzie to wygladalo tak
ProduktID | ProduktID2
1 | 2
1 | 3
1 | 4
1 | 5
1 | 15
15 | 1
15 | 2
15 | 3
2 | 1
2 | 15
I juz widzimy ze 1 polaczone jest z 15, a pozniej 15 z 1 -> i tutaj juz mamy redundancje danych - za to produkt o ID = 2 polaczony jest z produktami o ID = 1 i 15 gdzie wyzej 15 i 1 byla juz polaczona z 2... Jak uniknac tego problemu?
Z gory dzieki za kazda podpowiedz.
Ps. Sprawdzanie czy cos juz jest w jednej ze stron powiazania nie wchodzi w gre - chyba ze na poziomie bazy danych w jakis prosty i optymalny sposob - tak zeby szybko dalo sie wyciagnac dane np. w taki sposob:
SELECT Wartosc AS ProduktONumerze, produktID2 AS PowiązanyZ FROM powiazania WHERE produktID = wartosc
Pozdrawiam
anas