Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> to samo id
lolo
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 30.03.2003
Skąd: Kraków

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


Helo.

Robie strone, na ktorej newsy beda w dwoch wersjach jezykowych - i teraz chce, aby przy dodawaniu do dwoch roznych tabel ten sam news polski i angielski mial to samo id w obu tabelach, tak zebym pozniej mogl go latwo edytowac/kasowac.
Go to the top of the page
+Quote Post
ghostrider
post
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


elo lolo
rozdziel na dwi tabele

newsy: id | data | autor | ... |

newsy_txt: id | newsy_id | txt_pl | txt_en | .... |
Go to the top of the page
+Quote Post
Kinool
post
Post #3





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


@ghostrider a po co rozdzielac?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) w jednej nie mozna trzymac wersji jezykowych??
Go to the top of the page
+Quote Post
ghostrider
post
Post #4





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


Cytat
i teraz chce, aby przy dodawaniu do dwoch roznych tabel ten sam news polski i angielski mial to samo id w obu tabelach


tak jakoś to zrozumielem,
Go to the top of the page
+Quote Post
Kinool
post
Post #5





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


autor postu niepotrzebnie che sobie kompikowc zycie i robic dwie tablede a beda mialy to samo tylko w innych wersjach jezykowych wiec po co (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zrobic jedna tabele

news_id, czas, autor, tytyl_pl, tytul_en, tresc_pl, tresc_en i wsio (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
sf
post
Post #6





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Cytat(Kinool @ 2005-11-27 15:54:52)
autor postu niepotrzebnie che sobie kompikowc zycie i robic dwie tablede a beda mialy to samo tylko w innych wersjach jezykowych wiec po co (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zrobic jedna tabele

news_id, czas, autor, tytyl_pl, tytul_en, tresc_pl, tresc_en i wsio (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

nie mozna projektowac tak, ze sie ma w tabeli pola textowe na kazda wersje jezykowa

najprostrzy przyklad to :

document_id, author, date

document_data_id, document_id, language_id, summary, content


kiedys to chyba projektowalem na 3 tabelach, ale nie mam tego przy sobie
Go to the top of the page
+Quote Post
Kinool
post
Post #7





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


@sf a dlaczego nie mozna?? bo jakos mnie nie przekonales

ok mozna zrobic tak jak napisales albo tak jak zaproponowal ghostrider ale po co komplikowac no chyba ze to czyms uzasadnisz swoje slowa

wychodze z zalozenia aby upraszczac rozwiazania a nie je kompikowac.

Ten post edytował Kinool 27.11.2005, 16:19:33
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #8





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

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


Skoro ma TYLKO 2 jezyki i NIE ZAMIERZA NIGDY wprowadzac wiekszej ich ilosci to mu wystarczy jedna tabela.
Go to the top of the page
+Quote Post
sf
post
Post #9





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


a ja wychodze z zalozeniai by nie pisac na pale (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pisze sie tak, aby latwo mozna bylo rozszerzac swoje programy... np. jesli dojdzie nowy jezyk to nie musisz grzebac w bazie, tylko z panela administracyjnego dodajesz sobie nowy jezyk, zostanie zapisany do tabeli np. languages i KONIEC, masz mozliwosc teraz we wszystkich miejscach panela administracyjnego dodawac, edytowac dokumenty w nowym jezyku, a sprobuj teraz dodac nowy jezyk wg Twoje sposobu... grzebanie w bazie, dodawanie jakis formularzy nowych, pisanie od nowa zapytan sql...

@dr_bonzo: a masz taka gwarancje? bo wg. mnie nigdy jej nie masz, nie raz sie przekonalem w pracy, ze zalozenia zalozeniami, a potem jak szef Ci powie, ze jednak zmieniamy plany to co?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) powiesz mu, przepraszam szefie, ale MIELISMY NIGDY NIE ZMIENIAC tych zalozen... sorry, ale to nie przejdzie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Ten post edytował sf 27.11.2005, 16:35:25
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #10





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

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


@sf: wyraznie zaznaczylem warunki dla jakich jedna tabela jest wystarczajaca, a ze sa trudne do spelnienia to juz inna sprawa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Kinool
post
Post #11





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


ok sf w takim przypadku moge sie zgodzic ale jesli aplikacja to nie jakis duzy projekt tylko ksiega gosci albo cos to wystarczy jedna tabela

co do edycji w jednej tabeli to tez nie bedzie to jakis koszmar (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) kolumny mozna nazywac np "text_pl" czy "text_en" zazwyczak w sesji trzymasz wartosc jakiej wersji jezykowej uzywac np $_SESSION['lang'] = 'en'; wiec nie satanowi to problemu przy zapytaniach:
SELECT tytul_$lang, text_$lang FROM news

nie ma potrzeby stosowania zlaczen dla tabel co zawsze wplywa na wydajnosc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował Kinool 27.11.2005, 20:41:41
Go to the top of the page
+Quote Post
SongoQ
post
Post #12





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Dziwie sie ze piszecie o tym zeby w 2 tabelach umieszczac wersje jezykowe. MySQL radzi sobie dobrze z milionami rekordow a nie sadze ze az tyle tekstow bedzie w tej tabelce. Jesli celem serwisu bylo by zbieranie i trzymanie tekstow w wielu jezykach to i tak jest wygodniej trzymac to w 1 tabeli. Wiec nie ma sensu sobie komplikowac.
Go to the top of the page
+Quote Post
popbart
post
Post #13





Grupa: Zarejestrowani
Postów: 255
Pomógł: 0
Dołączył: 22.04.2004
Skąd: Żoliborz

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


Dla mnie, to co powiedział sf jest bardzo ważne i nie widzę żadnych problemów by stosować taki układ bazy. Jeżeli ktoś nie widzi powodów by stosować takie standardy, to kiedyś je zobaczy (IMG:http://forum.php.pl/style_emoticons/default/laugh.gif)
Pzdr.
Go to the top of the page
+Quote Post
DeyV
post
Post #14





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




Ja również optuję za rozwiązaniem opartym na 2 tabelach.

Jednak w innej konfiguracji.

1 tabela - dane wspólne dla newsa
id , autor, data, uprawnienia...

2 tabela - content

id, id_newsa, lang , text, title


Dlaczego tak?
Po pierwsze - argument już wymieniany - bardzo łatwa rozszerzalność.

2. A co wtedy gdy jakiś materiał nie ma określonych wersji językowych? Spradzanie czy pole jest puste i przechowywanie "pustych" pól w bazie? A gdzie tu normalizacja?
Powyższe rozwiązanie pozwala na banalnie łątwe zarządzanie tym, a także na podział odpowiedzialnośći za poszczególne wersja na różnych ludzi.
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: 23.08.2025 - 08:22