wersje jezykowe - jak lepiej
Mariusz Pasieczny - 27-05-2006 00:39
wersje jezykowe - jak lepiej
Witam.
Chodzi mi po głowie taki problem... Dajmy na to że przechowujemy w bazie artykuły. W różnych wersjach językowych. I teraz jak je przechowywać? Czy jeden rekord na cały news z uwzględnieniem pól dla poszczególnych wersji czy może jeden rekord na każdą wersję? Ale co wtedy z informacją wspolną? Czy może wówczas w jednej tabeli przechowywać informacje wspólne a w oddzielnej tabeli już poszczególne wersje językowe? A może podzielicie się z własnymi doświadczeniami / przemyśleniami / rozwiązaniami? Nie chodzi mi o szczegóły rozwiązań bo te każdy wyprcowuje własne ;) Ale ogólny pogląd na problem.
Z góry dzięki.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 27-05-2006 00:39
Mariusz Pasieczny wrote: > Witam. > > Chodzi mi po głowie taki problem... > Dajmy na to że przechowujemy w bazie artykuły. W różnych wersjach językowych. > I teraz jak je przechowywać? Czy jeden rekord na cały news z uwzględnieniem > pól dla poszczególnych wersji czy może jeden rekord na każdą wersję?
A wiesz ile wersji językowych będzie obsługiwał Twój program?
> Ale co > wtedy z informacją wspolną? Czy może wówczas w jednej tabeli przechowywać > informacje wspólne a w oddzielnej tabeli już poszczególne wersje językowe?
No wiesz.... Cała istota relacyjnych baz danych opiera się na wydzielaniu części wspólnej do osobnej tabeli!!!
-- P.M.
Mariusz Pasieczny - 27-05-2006 00:39
Paweł Matejski <madej@spam.madej.pl.eu.org> napisał(a):
> Mariusz Pasieczny wrote: > > Witam. > > > > Chodzi mi po głowie taki problem... > > Dajmy na to że przechowujemy w bazie artykuły. W różnych wersjach językowych. > > I teraz jak je przechowywać? Czy jeden rekord na cały news z uwzględnieniem > > pól dla poszczególnych wersji czy może jeden rekord na każdą wersję? > > A wiesz ile wersji językowych będzie obsługiwał Twój program?
niby tak ale próbuje coś wymyśleć żeby działało niezależnie od liczby wersji
> > > Ale co > > wtedy z informacją wspolną? Czy może wówczas w jednej tabeli przechowywać > > informacje wspólne a w oddzielnej tabeli już poszczególne wersje językowe? > > No wiesz.... Cała istota relacyjnych baz danych opiera się na > wydzielaniu części wspólnej do osobnej tabeli!!! >
fakt... to chyba jednak każda wersja to oddzielna pozycja... tylko interesuje mnie taka sprawa: czy traktować dany artykuł jako całość (czyli z uwzględnieniem poszczególnych wersji) czy każdą z wersji jako oddzielną pozycję? I czy wogóle wyodrębniać część wspólną? Bo przecież może się też zdarzyć systuacja, w której jednego dnia dodajemy artykuł w wersji polskiej a następnego dopiero wersję angielską. Dodatkowo nie każdy artykuł musi być dostępny we wszystkich wersjach. Wówczas wychodziłoby na to ze każda wersja jest oddzielnym artykułem jedynie z jakąś relacją łączącą różne wersje jednego artykułu... Wiem wiem za dużo kombinuje :)
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Parasit Hendersson - 27-05-2006 00:39
Dnia Fri, 26 May 2006 10:04:03 +0000, Mariusz Pasieczny napisał(a):
> Wówczas wychodziłoby na to ze każda wersja > jest oddzielnym artykułem jedynie z jakąś relacją łączącą różne wersje jednego > artykułu... Wiem wiem za dużo kombinuje :)
Dokładnie tak, zrób dwie tabele:
1) tabela artykułów zawierająca tylko i wyłącznie dane wymagane do identyfikacji tego konkretnego artykułu. Np ID/nazwa/tytuł itp. 2) tabela treści w różnych językach z kluczem do tabeli artykułów.
Będziesz mógł mieć dowolną ilość wersji językowych, zwykła relacja wiele do jednego.
Pozdrawiam -- Parasit Hendersson
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 27-05-2006 00:39
Mariusz Pasieczny wrote: > Paweł Matejski <madej@spam.madej.pl.eu.org> napisał(a): > > >>Mariusz Pasieczny wrote: >> >>>Witam. >>> >>>Chodzi mi po głowie taki problem... >>>Dajmy na to że przechowujemy w bazie artykuły. W różnych wersjach językowych. >>>I teraz jak je przechowywać? Czy jeden rekord na cały news z uwzględnieniem >>>pól dla poszczególnych wersji czy może jeden rekord na każdą wersję? >> >>A wiesz ile wersji językowych będzie obsługiwał Twój program? > > > niby tak ale próbuje coś wymyśleć żeby działało niezależnie od liczby wersji
Na to pytanie jest tylko jedna prawidłowa odpowiedź. Niw wiesz. Bo nie wiesz co się jeszcze kiedyś przyśni zleceniodawcy. :)
>>>Ale co >>>wtedy z informacją wspolną? Czy może wówczas w jednej tabeli przechowywać >>>informacje wspólne a w oddzielnej tabeli już poszczególne wersje językowe? >> >>No wiesz.... Cała istota relacyjnych baz danych opiera się na >>wydzielaniu części wspólnej do osobnej tabeli!!! > > fakt... to chyba jednak każda wersja to oddzielna pozycja... tylko interesuje > mnie taka sprawa: czy traktować dany artykuł jako całość (czyli z > uwzględnieniem poszczególnych wersji) czy każdą z wersji jako oddzielną > pozycję? I czy wogóle wyodrębniać część wspólną? Bo przecież może się też > zdarzyć systuacja, w której jednego dnia dodajemy artykuł w wersji polskiej a > następnego dopiero wersję angielską. Dodatkowo nie każdy artykuł musi być > dostępny we wszystkich wersjach. Wówczas wychodziłoby na to ze każda wersja > jest oddzielnym artykułem jedynie z jakąś relacją łączącą różne wersje jednego > artykułu... Wiem wiem za dużo kombinuje :)
Ostatni wniosek jest błędny. Możesz tak zrobić, ale nie jest to najlepsze rozwiązanie.
Nie jestem praktykiem w takich systemach, ale zrobiłbym jeden artykuł (część wspólna) i osobno rekordy z wersjami - nie muszą być od razu, w aplikacji klienckiej zrób logikę co zrobić jak danej wersji artykułu nie ma.
-- P.M.
Mariusz Pasieczny - 27-05-2006 00:39
Paweł Matejski <madej@spam.madej.pl.eu.org> napisał(a):
> Mariusz Pasieczny wrote: > > Paweł Matejski <madej@spam.madej.pl.eu.org> napisał(a): > > > > > >>Mariusz Pasieczny wrote: > >> > >>>Witam. > >>> > >>>Chodzi mi po głowie taki problem... > >>>Dajmy na to że przechowujemy w bazie artykuły. W różnych wersjach językowych > . > >>>I teraz jak je przechowywać? Czy jeden rekord na cały news z uwzględnieniem > >>>pól dla poszczególnych wersji czy może jeden rekord na każdą wersję? > >> > >>A wiesz ile wersji językowych będzie obsługiwał Twój program? > > > > > > niby tak ale próbuje coś wymyśleć żeby działało niezależnie od liczby wersji > > Na to pytanie jest tylko jedna prawidłowa odpowiedź. Niw wiesz. Bo nie > wiesz co się jeszcze kiedyś przyśni zleceniodawcy. :) > > >>>Ale co > >>>wtedy z informacją wspolną? Czy może wówczas w jednej tabeli przechowywać > >>>informacje wspólne a w oddzielnej tabeli już poszczególne wersje językowe? > >> > >>No wiesz.... Cała istota relacyjnych baz danych opiera się na > >>wydzielaniu części wspólnej do osobnej tabeli!!! > > > > fakt... to chyba jednak każda wersja to oddzielna pozycja... tylko interesuj > e > > mnie taka sprawa: czy traktować dany artykuł jako całość (czyli z > > uwzględnieniem poszczególnych wersji) czy każdą z wersji jako oddzielną > > pozycję? I czy wogóle wyodrębniać część wspólną? Bo przecież może się też > > zdarzyć systuacja, w której jednego dnia dodajemy artykuł w wersji polskiej a > > następnego dopiero wersję angielską. Dodatkowo nie każdy artykuł musi być > > dostępny we wszystkich wersjach. Wówczas wychodziłoby na to ze każda wersja > > jest oddzielnym artykułem jedynie z jakąś relacją łączącą różne wersje jedneg > o > > artykułu... Wiem wiem za dużo kombinuje :) > > Ostatni wniosek jest błędny. Możesz tak zrobić, ale nie jest to > najlepsze rozwiązanie. > > Nie jestem praktykiem w takich systemach, ale zrobiłbym jeden artykuł > (część wspólna) i osobno rekordy z wersjami - nie muszą być od razu, w > aplikacji klienckiej zrób logikę co zrobić jak danej wersji artykułu nie ma. >
Właśnie o to chodzi że też nie jestem praktykiem. Rozwiązanie w dwiema tabelami też mi się wydaje najlepsze ale miałem już dziwnego klienta który sobie zażyczył by któryś tam artykuł w jakiejś wersji nie był wyświetlany. Dlatego pytam. Tak na zapas bo chwilowo nie piszę pod klienta a jedynie korzystam z wolnego czasu i sobie główkuję ;) Wracając do problemu dostępności danej wersji konkretnego artykułu - niby zawsze można dodać jakiś wskaźnik oreślający czy dany artykuł w konkretnej wersji ma się ukazać... Tyle że wtedy kurczy nam się tabela z informacjami podstawowymi... No i klient by musiałby np w celu ukrycia danego artykułu (w całości, wszystkie jego wersje) n razy klikać w przycisk "deaktywuj"... Tak źle i tak niedobrze :) Z drugiej strony aplikację można wyposażyć w "globalny" przycisk "aktywuj / deaktywuj". I tak chyba będzie jednak najlepiej. Dzięki za uwagi. Ale jeśli ktoś jeszcze się nudzi to może skrobnąć swoje zdanie.
Pozdrawiam.
-- Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
dap - 27-05-2006 00:39
Jest taki CMS Xoops - tam goście zaimplementowali wiele jezyków, zobacz np. na tej stronie http://www.lpmagazine.org/pl/modules/news/
dap
-- ,= ,-_-. =. gnu.org ((_/)o o(\_)) polanski.biz `-'(. .)`-' xoops.pl \_/
Jacek Czapla - 29-05-2006 00:20
Ja mam tak
id parent_id language_id auhtor_id title subtitle content .... active (czy jakiś published)
Jak można wywnioskować ( a może nie można?) jest artykuł w jakiejś wersji językowej (powiedzmy głównej czy naturalnej dla autora) i do niego dołączone są różne wersje językowe po polu parent_id. Art. w wersji głównej ma id = parent_id i po tym może być rozpoznawalny. Jeżli nie ma jakiejś wersji jezykowej (brak rekordu z language_id=1/angielski/ i parent_id=1) lub jest ona niedostępna (published=false) to prosty komunikat, że nie jest dostępna lub nie ma.
Pozdrawiam Jacek Czapla
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Phoptoshop-starsze wersje-gdzie kupic z F.V.???
Prosba o zmiane na nizsza wersje AI lub eps
Baza Designer - zaleznosci (wersje)
[Oracle] Jak sprawdzic wersje javy?
Zamiana *.eps na nizsza wersje
WRAP - a wersje bazy
Pytanie o wersje AutoCad'a
Starsze wersje Corela
Lepiej laczyc sie raz czy co zapytanie?
Animowany GIF czy lepiej we Flashu ?
zanotowane.pldoc.pisz.plpdf.pisz.plnumervin.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|