Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ?tagi i tłumaczenia stron - wady i zalety różnych rozwiązań?
nowy_pehapowiec
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

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


Cze!
Przewertowałem wujaszka google i nadal nie wiem które rozwiązanie wybrać.



Tagi
1 Dodatkowa kolumna 'tags' nie spełniająca warunku normalności. Pojedyncze tagi rozdzielone przecinkiem albo średnikiem i wszystkie zapisane w jednym polu.
2 Dodatkowo tabela z kolumnami id, tag. Taka tabela tez nie jest normalna bo jeśli jeden id ma kilka tagów to id musi się powtarzać w następnych wierszach.

Jak widać ani jedno ani drugie rozwiązanie nie jest idealne. Pierwsze jest prostsze w realizacji. Drugie minimalnie trudniejsze, ale czy lepsze? Można to drugie zmodyfikować dodając dodatkową tabelę łączącą id, tag_id, a w tabeli tags trzymać tag_id i tag. Ale ideologia pozostaje ta sama.

Które rozwiązanie się sprawuje lepiej? Bo oba są złe - powtórzenia w poziomie albo w pionie.



Tłumaczenia
A dokładniej statyczne tłumaczenia. Czy lepiej tłumaczyć fragmenty stron, te które się zmieniają w różnych językach, czy lepiej całe strony?

1 Jak tłumacze całe strony, to minusem jest konieczność pamiętania o aktualizacji obu stron. Bo jak zmienię jedna stronę to druga działa bez problemów ale jest nieaktualna.

2 Jak tłumacze tylko fragmenty, to przy każdym fragmencie tekstu, czy to paragraf, czy podpis pod zdjęciem, czy element menu muszę użyć jakiejś funkcji, która z bazy pobierze tekst w odpowiednim języku. Czyli kod strony się robi bardziej nieczytelny i liczba selectów z bazy wzrasta.

Poradzicie coś w tych dwóch tematach? A może coś z zupełnie innej beczki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
nospor, dr_bonzo to rozwiązanie z 3 tabelami jest popularne i działa. Ale nie mówcie, że taka baza jest znormalizowana, bo nie jest. To znaczy spełnia jedynie warunki pierwszej postaci normalnej. I powiem wprost irytują mnie powtórzenia w tabelach (kilka tagów => powtarzam wiersze z tym samym ID). Zastanawiam się jak to zrobić lepiej. Na pewno już ktoś to dawno wymyślił, tylko ja o tym jeszcze nie wiem. Może jednak Wy coś na ten temat wiecie?


Łojeb. To moje studia, i kilka ksiazek o bazach ktore przerobilem mnie klamaly? Caly czas mowily ze to jest znormalizowana baza, i tak sie robi
relacje wiele do wielu.

Cytat
I powiem wprost irytują mnie powtórzenia w tabelach

Czlowieku, obudz sie, zyjesz w swiecie gdzie nie ma rzeczy idealnych, mozesz sobie usunac powtorzenia, ale system tagow bedzie ci mulil, i co powiesz klientowi? "No niestety tak musi byc bo nie lubie powtorzen w bazie" ?


Cytat
content_tagi
id_content|id_tag
1 |2
1 |1
2 |1

to jest zgodne tylko z pierwszą postacią normalną, ale z kolejnymi już nie. Bo masz id_content powtórzone dwa razy to samo (1). Ale mniejsza o to, też tak zrobiłem, bo nic lepszego nie wymyśliłem.


No chyba cie pogielo. To jest jak najbardziej prawidlowe rozwiazanie, dla relacji wiele do wielu. Przeciez jeden CONTENT ma miec WIELE tagow, temu sie powtarza w tej tabeli, dopisz sobie jeszcze
Kod
2| 2
i ... o matko, id_tag sie powtarza. I to tez jest ok, bo kazdy tag moze byc przypisany do wielu contentow.

Polecam wrocic do podstaw projektowania baz danych.



============
Zamiana tresci, slowo po slowie jest BEZSENSU. Jezyk, np. angielski, nie przeklada sie na polski co do slowa. Prawie zawsze to samo zdanie buduje sie inaczej, i nie wystarczy przetlumaczyc slow zeby bylo dobrze.

Changing content, word by word is pointless. Language, for example english, no translate itself on polish what to word. Almost always that same sentence builds itself other way, and no enough to translate words to is good.


Cytat
Jak tłumacze całe strony, to minusem jest konieczność pamiętania o aktualizacji obu stron. Bo jak zmienię jedna stronę to druga działa bez problemów ale jest nieaktualna.

To zes problem znalazl. Po prostu MUSISZ strone w innym jezyku przetlumaczyc i kropka. Najlepiej w calosci.
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.12.2025 - 22:30