![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem ze stworzeniem struktury bazy danych. Baza ma być zaprojektowana tak aby byla mozliwosc dodawania wielu jezykow (nieogranizona ilość (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ). Elementy bazy to: dyscyplina(nazwa) -> kraj(nazwa) -> liga(nazwa) -> druzyna(nazwa, opis, adres). Zrobiłem coś takiego: druzyna -id -nazwa -opis -adres -ligaid liga -id -nazwa -krajid kraj -id -nazwa kraje -id -krajid -jezykid -nazwa jezyk -id -nazwa -skrot Z tej struktury tylko element kraju wydaje sie być dobrze zapisany. Ma ktoś może pomysł jak zaprojektować bazę dla wszystkich tych elementów? Prosze o odpowiedź, z góry dzięki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
z ta nieograniczoną ilością bym nie przesadzał. typowe serwisy obsługują 2, 3 maks. 4 języki...
w takich zastosowaniach stosuję nieco inną konstrukcję (ze względu na prostotę budowy zapytań i uniknięcie zbędnych JOIN'ów). w każdej tabeli, w której są pola wielojęzyczne, powielam te pola dodając przyrostek tak jak określenie domeny www (pl - polski, uk - angielski, de -niemiecki, itd.) czyli na przykładzie twojej tabelki: druzyna -id -nazwa -opis_pl -opis_uk -opis_de -adres_pl -adres_uk -adres_de -ligaid a potem w kodzie php:
i wtedy w wynikach odwołuję się do pól 'opis' i 'adres' i mam w nich dane w odpowiednim języku ... co jest dość istotne w tym rozwiązaniu, obsługa kolejnego języka wymaga tylko dodania odpowiednich pól w bazie danych - kod PHP nie zmienia się... Ten post edytował nevt 21.03.2008, 08:33:19 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
slabe rozwiazanie gdy masz duzo tabel i chcesz dodac kolejny jezyk.
|
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Cytat slabe rozwiazanie gdy masz duzo tabel i chcesz dodac kolejny jezyk. heh... rozbawiłeś mnie... mam skrypt, całe 7 linijek, który przelatuje wskazaną bazę i dodaje / usuwa / zmienia wskazany język we wszystkich tabelkach. w bazie z 100 tabel wykonuje sie ok. 3 sekund. oj jak łatwo krytykować cudze rozwiązania nie przedstawiając wad własnych propozycji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) weź swój przykład wstaw do większego zapytania, gdzie składasz i grupujesz dane z kilku tabel a zobaczysz jaki ci potworek wyjdzie. o wydajności i spójności danych już nie wspomnę. pozdrawiam. Ten post edytował nevt 21.03.2008, 10:25:12 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
no coz. niech autor tematu sam sobie wybierze rozwiazanie w zaleznosci od swoich potrzeb.
np title, description, keywords, content, title2, content2 dla 8 jezykow bedzie 6*8 = 48 kolumn + jeszcze inne kolumny z konfigiem to wychodzi ponad 50 kolumn dobrze to rozumiem? mi sie wydaje ze tabele powinny byc zapelniane w dol a nie w bok. Ten post edytował AxZx 21.03.2008, 11:40:39 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 14:30 |