Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Jaka struktura tabeli lepsza?
Forum PHP.pl > Forum > Bazy danych > MySQL
maniak11
Witam wszystkich, mam dosyc ciekawy (jak dla mnie) problem odnośnie fragmentu struktury bazy jaką mam wybrac, mianowicie.

Mam selecta multiple gdzie wybieram od 1 do kilku wartości i te wartosci zapisywane są pozniej w polu kategoria (ksiązki), kazda ksiązka może należec do kilku kategorii lub jednej. Obecnie mam to rozwiązane tak że zapisuje ID kategorii w jednej kolumnie, rozdzielone kreską | (nazwy tych kategorii sa w innej tabeli).

Tyle tylko, że jest problem w pozniejszym wyszukiwaniu książek z danej kategorii bo dając w zapytaniu .... WHERE kategoria LIKE %3% dostanę w odpowiedzi nie tylko 3 ale 13, 33 itd.
Inne rozwiązanie jest takie że każda kategoria to inna kolumna w tabeli z wartościami 1 lub 0 (nalezy lub nie nalezy). Tyle tylko ze tych kategorii ma byc dużo i dodawane będą z poziomu panelu admina.
Które rozwiązanie jest wg Was lepsze? A może jest inne, jeszcze lepsze?? Za jakieś sugestie będę z góry bardzo wdzięczny
nevt
żadna z powyższych...

skoro masz dwie tabele: ksiazki i kategorie, każda książka może należeć do wielu kategorii, a każda kategoria może zawierać wiele książek - to masz klasyczną relację wiele-do-wielu...
najwłaściwszym rozwiązaniem jest osobna tabela opisująca tą relację składająca się tylko z dwóch pól: id_ksiazki oraz id_kategorii...

polecam google + 'sql relacja wiele do wielu' + ćwiczenia...
maniak11
Wiem wiem, dzięki, właśnie natrafiłem na rozwiązanie tego w innym poście pod adresem http://forum.php.pl/index.php?showtopic=40...amp;hl=multiple
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.