Witam,
Proszę o podpowiedź lub wskazówkę dotyczącą utworzenia mechanizmu kategorii w odniesieniu do dwóch sytuacji (posługiwać się będę przykładem bazy ogłoszeń, działającej po kilkoma domenami, czyli wchodzi ktoś z danej domeny, wyświetla mu się baza ogłoszeń przydzielonych do tej domeny, podzielona na kategorie i podkategorie):
1. Kategorie ogłoszeń:
Typowe drzewo kategorii - kategoria główna dalej podkategorie, itd...., do których przypisane są poszczególne ogłoszenia, zależało by mi, żeby jedno ogłoszenie mogło być przypisane do kilku kategorii. Zakłada się, że lista kategorii i podkategorii będzie to kilkadziesiąt pozycji.
2. Przypisanie ogłoszenia do jednej bądź kilku domen
Chodzi tu podpięcie jednej bazy ogłoszeń do kilku domen (np. regionalne), tak żeby wchodząc z danej domeny po jej odczytaniu wyświetlać ogłoszenia przypisane tylko jej lub wszystkim. Liczba tych domen nie będzie wielka - maksymalnie 20.
Rozwiązania, które przychodzą mi do głowy i nad którymi się zastanawiam, ewentualnie podpowiedzcie jakieś stosowane przez Was....
1. Dla kategorii ogłoszeń zastanawiam się nad 3 tabelami MySQL:
- OGLOSZENIA
------- ID (identyfikator ogłoszenia)
------- ... (reszta pól)
- KATEGORIE
------- ID (identyfikator kategorii lub podkategorii)
------- PARENT_ID (identyfikator rodzica, czyli jeśli wartość 0 znaczy, że to kategoria główna, jeśli inna znaczy, że to identyfikator kategorii a to jest podkategoria)
------- ... (reszta pól)
- POWIAZANIA
------- ID (identyfikator ogłoszenia)
------- CAT_ID (identyfikator kategorii lub podkategorii)
2. Dla powiązania jednej/kilku domen z danym ogłoszeniem zastanawiam się nad:
- OGLOSZENIA
------- ASSOC (pole przypisania ogłoszenia i teraz tak: wartościami byłyby oznaczenia domen np: "D1, D2, D3" przy odczytywaniu ogłoszenia wykorzystywał bym ... WHERE ASSOC LIKE 'D1' .... natomiast przy odczytywaniu danych zbiorczych, czyli ile ogłoszeń dla danej domeny, użyłbym PHP, używając np. funckji explode, żeby rozdzielić ciąg znaków i odczytać poszczególne oznaczenia domen)
------- ... (reszta pól)
Zastanawiałem się nad rozwiązaniem takim jak dla kategorii, ale kategorię będę potrzebował w dwóch obszarach danych, natomiast przypisanie do domeny/domen będzie dotyczyło większości danych (ogłoszenia, zdjęcia, użytkownicy, artykuły, galerie, forum.......) i tworzyć tyle dodatkowych tabel - nie wiem czy to ma sens....
Innym rozwiązaniem odnoście przypisania domen nad jakim się zastanawiałem to:
- OGLOSZENIA
------- D1 (TRUE/FALSE w zależności czy ogłoszenie przypisane danej domenie...)
------- D2 (TRUE/FALSE)
------- D3 (TRUE/FASLE)
------- ... (reszta pól)
Tyle, że to odrzuciłem bo przy ilości 20 domen, 20 dodatkowych pól prawie w każdej tabeli to chyba średni pomysł, nawet jeśli chodzi o jakąś wydajność.....
Proszę o Wasze opinie na temat tych moich pomysłów, bądź o jakieś wskazówki odnośnie jakie się robi tego typu mechanizmy lub co zmienić żeby było dobrze:)
Z góry dziękuje.......