Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozbudowany system tagów
billy235
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


Witajcie.
Wiem, że problem znany i lubiany, ale trochę ciężko mi było znaleźć to o czym myślę.

Otóż chciałbym zrobić serwis internetowy, w którym będą tagi.

Po pierwsze będą proste tagowania np. hobby, nazwy zwierząt, nazwy kwiatów, miejscowości, umiejętności użytkowników i jeszcze kilka.
Tutaj wydaje się być to prosta sprawa czyli np. tab_hobby - tab_hobby_laczenie_uzytkownik - tab_uzytkownik (łączenia przez id) i tak podobnie do innych.

Zastanawiam się też nad tagowaniem tabel łączących hobby i użytkownika.
użytkownik posiada pewne hobby i chciałby je opisać słowami kluczowym. np. wędkarstwo: ryby, wędka, wędkowanie, łowienie, jezioro białe, glinki
Zauważmy, że są to jego prywatne słowa kluczowe i nie koniecznie tyczą się one do samego wędkowania, ale też miejsc gdzie on sam to robi.

zaprojektowałem tabele: tab_hobby , tab_hobby_laczenie_uzytkownik , tab_hobby_laczenie_uzytkownik__laczenie_slowa , tab_slowa

Jak widać sporo tabel, niema powtarzanie danych, ale zapytanie będą bardzo długie bo żeby np. znaleść użytkownika, który jako słowa kluczowe do hobby wpisał konkretną rzecz i do tego wyświetlić inne informacje o użytkowniku to trzeba konstruować długaśne zapytania przechodzące przez wiele tabel łączących.

Pytanie: czy to jest dobre podejście do problemu (IMG:style_emoticons/default/questionmark.gif) czy takie rozwiązanie przyśpieszy zapytania czy lepiej tak długich zapytań nie konstruować i uprościć system.


Jeśli słabo opisałem problem proszę wyrozumiałość i ewentualnie pytania.

Ten post edytował billy235 18.02.2011, 10:35:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie lepiej dać dodatkową kolumnę w tabeli łączącej relację N-N i tylko potem filtrować przez WHERE w całym zapytaniu?
Go to the top of the page
+Quote Post
billy235
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


nie zrozumiem za bardzo.
Co miała by ta kolumna przechowywać.

Może ja przedstawię uproszczoną strukturę tabel w chodzącą w skład tego zagadnienia z tagowaniem tagowania (IMG:style_emoticons/default/smile.gif) bo trochę niejasno się wyraziłem wcześniej

Tutaj jest: Diagam

Ten post edytował billy235 18.02.2011, 12:13:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 15:40