GRY-Online.pl --> Archiwum Forum

Pytanie (najlepiej do admina) o baze danych forum GOLa..

08.02.2008
03:05
[1]

niczyj [ Pretorianin ]

Pytanie (najlepiej do admina) o baze danych forum GOLa..

Mam takie pytanko. Tutaj na forum są 32 działy. Moglbym spytać jak to jest mniej więcej (ogólna idea) zaprojektowane w bazie danych? Czy w bazie macie 32 osobne tabele dla kategorii ? (i w tych tabelach rekordy z wiadomosciami) czy moze macie tabele powiedzmy [pytania] i [odpowiedzi] i wszystko do dwóch worów wrzucacie ? chodzi mi oczywiscie tylko o pytania i odpowiedzi na forum bo nie pytam o userów itp..

08.02.2008
03:55
[2]

halfmaniac [ Dr. Freeman ]

Spoko Narmo, tak tylko napisałem, pomyłka

08.02.2008
04:09
[3]

Narmo [ nikt ]

halfmaniac --> I co z tego, że to ASP a nie PHP? Tylko PHP potrafi korzystać z bazy danych?

niczyj --> Jeżeli planujesz napisać forum i nie wiesz jak to rozwiązać to ściągnij kilka darmowych "silników" i sprawdź jak tam to jest rozwiązane:
PHP
ASP
Inne

08.02.2008
11:22
[4]

niczyj [ Pretorianin ]

dzieki za link, nie wiedzialem ze tego jest tak duzo. niezle to wszystko skomplikowane. ciezko mi znalezc w tym gąszczu jakąś przydatną informacje dla mnie, musialbym widze troche dluzej spedzic nad tym czasu.
szkoda ze jakos tak lopatologicznie nie jest gdzies napisane o co biega;)


08.02.2008
11:37
[5]

Narmo [ nikt ]

Zawsze możesz ściągnąć kilka darmowych for, jakiś zestaw z PHP, Apache i MySQL (na przykład EasyPHP albo Wamp), zainstalować je, utworzyć kilka tematów w różnych kategoriach i sprawdzić, jak to wygląda w bazie danych :)

08.02.2008
11:44
[6]

Soulcatcher [ end of winter ]

niczyj ---> Projektowanie baz danych jest najtrudniejszym elementem budowy serwisów internetowych. Nie ma możliwości wyjaśnienia tego ani w jednym zdaniu, ani w jednym poście ani w jednym wątku.

08.02.2008
11:50
[7]

wysiak [ Generaďż˝ ]

Dokladnie, to jest temat, na ktory ludzie pisza doktoraty.
niczyj --> Masz do wyboru wiele darmowych rozwiazan, wystarczy tylko sciagnac i zainstalowac. Potem majac dzialajacy system mozesz zaczac sie przygladac jak co z czym jest powiazane, na podstawie tego mozesz nauczyc sie podstaw, i moze do nastepnego forum silnik napiszesz juz sam..:)

08.02.2008
11:54
[8]

yasiu [ Senator ]

albo zacznij z innej strony

zaprojektuj bazę, zrób do niej interfejs i sprawdź, czego brakuje... zanotuj, wynotuj, zrób kolejną biorąc pod uwagę poprawki i tak dalej i tak dalej

08.02.2008
11:57
[9]

alpha_omega [ Senator ]

Bez przesady. Przecież mu nie chodzi zapewne o forum o przewidywanej liczbie użytkowników liczonej w setkach tysięcy i co za tym idzie o maksymalną optymalizację. Chodzi mu o zwykłe rozplanowanie: wątki, posty, kategorie (czy w poście trzymać klucz do wątku, czy w wątku do postów; czy oddzielne tabele dla kategorii, czy kategorie przypisane do wątków etc.). Nie powiecie, że to temat na doktorat, to nawet nie jest temat na referat.

08.02.2008
12:02
[10]

cioruss [ oko cyklopa ]

Soul troche demonizuje sprawe. sama budowa bazy to nic trudnego, ot, tabelka z danymi, z ktorej pozniej wyciagasz zadane wartosci (np: wyswietl wszysko z wiersza 5go, albo: szukaj slow 'wzrok' we polach z kolumny "zmysly" i zaprezentuj wyniki z towarzyszacymi wpisami z kolumn "budowa" i "funkcje").
trik polega na tym, zeby dane wepchac do takiej tabelki, ktora bedzie dawala sie pozniej latwo rozwijac i modyfikowac. tutaj jedak potrzeba bardziej doswiadczenia jak znajomosci tajnych kodow ;) nie zniechecaj sie, poczatki sa wbrew pozorom banalne, a pozniej to juz tylko praktyka, praktyka i jeszcze wiecj praktyki.

08.02.2008
12:02
[11]

wysiak [ Generaďż˝ ]

alpha --> Na referat jak najbardziej, a i prace inzynierskie nie takie bywaly..;) A najprostszego rozplanowania tabel i powiazan miedzy nimi nauczy sie najszybciej, ogladajac dzialajace rozwiazania.

08.02.2008
12:07
[12]

yasiu [ Senator ]

albo implementując własne i ucząc się na błędach :)

08.02.2008
12:12
smile
[13]

wysiak [ Generaďż˝ ]

yasiu --> Nie na poczatek, wnioskujac po tym jakie ma pomysly - zrobi osobne tabele na watki i posty dla kazdej kategorii, po czym sie podda..:)

08.02.2008
12:12
[14]

alpha_omega [ Senator ]

cioruss ----------->

Początki są banalne? Bój się Boga. Właśnie początki są tragiczne. Jak w każdej dziedzinie - później nie łapiesz, dlaczego tak trudno było np. myśleć pętlą for, czy załapać rekurencję. A co dopiero mówić o tym ile jeszcze później fundamentalnie głębszych spojrzeń nabiera się z praktyką, zupełnie nowego widzenia idei programowania.

Wyobrażam sobie jak to musi wyglądać u osób, które zajmują się tym na poważnie - ja tylko co klika miesięcy dostaję kilkudniowej chęci pobawienia się jakimś php, czy - dla żartu - spróbowania Javy. Jak wiadomo z takiego liźnięcia nic nie wynika, ot zrobi się w javie jakąś sterowaną klawiaturą kulkę ze strzałką, którą można sobie jeździć po planszy i coś tam wystrzelić w jakimś kierunku, napisze się coś w php co w założeniu miało być początkiem systemu szablonów, a później rzuci w kąt, żeby wrócić po roku i nie pamiętać nawet o co chodziło w kodzie, a po rozkminieniu stwierdzić - przecież to da się lepiej, i tak w kółko, ale zabawa jest przednia. Dochodzę jednak do wniosku - bez rozplanowania wszystkiego, nigdy nic nie wyjdzie, zawsze coś będzie czemuś przeszkadzać, co się nie zgra. W każdym razie jedno wiem - praktyka daje tyle, ile nie da miliard razy więcej czasu poświęconego teorii.

Na początku jednak jest walka z materią, mózg się musi przyzwyczaić, nabrać plastyczności specyficznej dla danej dziedziny.

wysiak ----------->

Być może, ja tam programistą nie jestem, nic w tym kierunku nie studiowałem :)

08.02.2008
12:13
[15]

niczyj [ Pretorianin ]

hmm -> zadne forum do konca mi sie nie podoba, ani idea, ani layout, ani funkcjonalnosc czy wygląd... itd itd...i mając na uwadze, że po ściągnięciu jakiegoś darmowego forum z netu, musiałbym tygodniami wpatrywać sie w jakiś nieznane znaczki kodu (bo wczesniej bardzo srednio znalem php), starać sie rozkminiać, i potem ewentualnie zmieniać wedle własnych upodobań, to postanowilem sobie zrobić własne forum, od nowa, krok po kroku ;)

Robie pierwszy raz takie coś (php +mysql), i teraz widze ile juz popelnilem bledów:) staralem sie robic krok po kroku (bez patrzenia za daleko w przyszlosc bo mnie przerastała:) ), ale trzeba jednak myśleć całościowo i wiedzieć czego konkretnie się chce..

No ale jak już ruszyłem z kopyta to kiepsko teraz wywalić to do kosza.
Na pierwszy rzut oka nie wydaje się to skomplikowane, ale potem to uuuu... głowa boli.

Zauważylem wiele sztuczek które stosuje się na forach (mniej lub bardziej podobnych). Ale np. różne fora różnie rozwiązują problem archwizowania postów (za czym idą różne motedy robienia wyszukiwarek).
Z tym mam własnie troche problem. Nie wiem jak najlepiej archiwizować posty.. jak zorganizować baze do tego itd itd...

08.02.2008
12:21
[16]

Narmo [ nikt ]

cioruss --> Jedna tabela nie wystarczy. Takie głupie forum jak phpBB by Przemo korzysta z... 70 tabel.


Pytanie (najlepiej do admina) o baze danych forum GOLa.. - Narmo
08.02.2008
12:23
smile
[17]

fifalk [ fifalkowiec ]

cioruss --> nie obraz sie, ale chyba nie rozumiesz do konca pojec zwiazanych z bazami, w tym projektowania baz danych :-) bazy danych to nie tylko 'select * from tabela' ;-)

08.02.2008
12:25
[18]

alpha_omega [ Senator ]

Narmo ----------->

Głupie forum? Toż to jedno z najbardziej zaawansowanych darmowych forów w php. Pomijając optymalizację i rozwiązania bazodanowe (bo o tym nic w przypadku GOL-a nie wiadomo) - toż PHPBB ma stokroć większą funkcjonalność od forum GOL-a.

Nie sądzę, żeby autor wątku napisał coś lepszego - PHPBB, Smarty i tego typu rewelacje były pisane przez teamy profesjonalnych programistów.

08.02.2008
12:29
[19]

yasiu [ Senator ]

fifalk - ale nawet korzystajac z tego glupiego select mozna cos zrobic

ja w tej chwili skonczylem druga wersje systemu ocen pracowniczych - sluzy do wprowadzania informacji z rocznej oceny pracowniczej - rozne kompetencje na roznych stanowiskach i takie tam pierdoly... tym razem zrobilem to dwa razy szybciej, czesci bledow nie popelnilem, czesc rozwiazan ktore chcialem zaimplementowac poprzednio zrobilem tym razem... za rok bedzie jeszcze lepiej... a jestem samoukiem, nie korzystam i nie korzystalem z zadnych poradnikow, podrecznikow... dopiero w tym roku wybiore sie na jakies konkretne szkolenie w tym temacie :)

wiec mozna - o ile ma sie konkretny cel do zrealizowania, bo bez tego prawdopodobnie skonczy sie rzuceniem w kat :)

08.02.2008
12:33
smile
[20]

fifalk [ fifalkowiec ]

yasiu --> po kilku miesiacach projektowania baz (i kilku semstrach stycznosci z tym tematem rowniez w innych aspektach) bede sie jednak upieral, ze aby stworzyc w miare poprawna baze potrzeba odrobine wiedzy na ten temat. oczywiscie zgadzam sie, ze pozostaje jeszcze kwestia przeznaczenia tworzonego oprogramowania :-)

08.02.2008
12:35
[21]

Narmo [ nikt ]

alpha_omega --> No mówię. Głupie bo za bardzo skomplikowane ;)

08.02.2008
12:36
[22]

yasiu [ Senator ]

fifalk - tak, racja :) tylko teraz pytanie, czy funkcjonujaca, ale niezgodna ze sztuka baza jest taka strasznie zla?

ja chetnie posiadlbym wiedze na ten temat, juz niedlugo mnie to czeka i bede zapewne bardzo zadowolony :)

08.02.2008
12:37
smile
[23]

alpha_omega [ Senator ]

Narmo ------->

Prawdopodobnie z tego samego powodu uważamy się za mądrzejszych od kobiet ;)

08.02.2008
12:40
[24]

fifalk [ fifalkowiec ]

yasiu --> zaleznie od sytuacji. przy pewnym stopniu skomplikowania i probie konserwacji, rozbudowy itp. odpowiedz zabrzmi 'tak'.

08.02.2008
12:43
[25]

alpha_omega [ Senator ]

A ja mam pytanie - tak przy okazji. Nigdy nie użytkowałem Smarty i nigdy nie chciało mi się wgłębiać w jego kod. Jak tam wygląda sprawa z cache'owaniem. Czy można cache'ować tylko cały szablon, czy też np. dowolnie - sekcję z subsekcjami, wybraną subsekcję, wybrany blok szablonu etc.?

Bo Smarty o ile się orientuję kompiluje szablon do kodu php. Natomiast ja zacząłem pisać system szablonów w którym nic się do kodu php nie kompiluje. Sekcje i subsekcje są obiektami, a całe ich wypełnienie odbywa się w rekurencji. I teraz - to strasznie komplikuje problem cacheowania, jeśli takowe miałoby dotyczyć nie całej strony, nie całej sekcji z subsekcjami, ale również dowolnej sunsekcji, czy kilku. Przy obecnym moim kodzie wymaga to wręcz pożegnania się z jednolitością mechanizmu, musiałbym sprawdzać zależności między sekcjami i tym które są, a które nie są przeznaczone do cache'owania i w if'ie na tej p[odstawie uruchamiać odmienne mechanizmy zapisane (funkcje). W dodatku staję przed problemem takiego kuriozum, że jeśli nie chcę powielić pewnych wyrażeń regularnych, to musiałbym mieć kilka pliczków cache, niektóre tylko dla specyficznie powiązanych sekcji, a nie jeden plik, który wystarczy wczytać i wypełnić fragmenty, które nie były cache'owane.

08.02.2008
12:55
[26]

Hellmaker [ Nadputkownik Bimbrojadek ]

alpha_omega --->"Pomijając optymalizację i rozwiązania bazodanowe (bo o tym nic w przypadku GOL-a nie wiadomo) - toż PHPBB ma stokroć większą funkcjonalność od forum GOL-a. "

Nie można rozdzielić funkcjonalności od optymalizacji i rozwiązań bazodanowych.
Może być mega wypasione forum, ale o zerowej fukcjonalności, bo optymalizacja ssie. Klik ... i 5 minut zanim przeszuka bazę ...

Chyba, że Ci chodzi o ilość funkcji, które można zaimplementować. Ale wtedy bezsensem jest używanie słowa "funkcjonalność".

08.02.2008
12:56
[27]

alpha_omega [ Senator ]

PS.

Co do tej wielości plików cache. Innymi słowy - plik cache nie może być przy moim kodzie i braku powielenia pewnych operacji, plikiem, który ma taką samą strukturę jak szablon. Nie może być, w części która nie podlega cache, obsłużony tymi samymi mechanizmami co zwykły szablon. Muszę zapisywać pewne dane w różnych plikach, ewentualnie w jednym, który za pomocą wyrażeń w stylu xml jest podzielony odpowiednio i składać to zupełnie innym mechanizmem, niż ten służący do obrobienia szablonu. Problem by zniknął, gdybym uniemożliwił cachowanie czegokolwiek mniejszego poza pełną sekcją z subsekcjami. Ale to chyba głupi pomysł, jak sądzicie?

Hellmaker ----------->

Nie jest bezsensem. PHPBB ma dostateczną optymalizację, ażeby pociągnąć fora cieszące się olbrzymim zainteresowaniem. Więc można to pominąć. I wtedy funkcjonalność to właśnie wielość rozwiązań jakie łatwo się implementuje, lub które już są zaimplementowane, plus łatwość konfiguracji i indywidualizacji layout'u itp.

08.02.2008
13:05
[28]

niczyj [ Pretorianin ]

panowie odeszliscie od glownego tematu :>

08.02.2008
13:07
[29]

cioruss [ oko cyklopa ]

Panowie, ale ja sobie zdaje sprawe z tego, ze dobra baza + duza baza = trzeba miec doktorat.

twierdze tylko, ze niepotrzebnie straszycie chlopaka przedstawiajac temat jako niemozliwa niemozliwosc pojeta przez nielicznych. fakt, ze to bylo lata temu, ale zapoznanie sie od zera z php, mysql i apachem do celu budowy prostej stronki i malego forum zajelo mi raptem weekend. klepanie kodu to kolejne 3 dni i po tygodniu cos tam chodzilo. pozniej byly kolejne (male) projekty, nowe schody, poprawki, pomysly i optymalizacje, ale tak mozna bez konca.

no, chyba, ze niczyj planuje w juz pierwszym rzucie zbudowac baze pol miliony rekordow.. wtedy przyznam - nierealne ;)

08.02.2008
13:16
[30]

alpha_omega [ Senator ]

cioruss -------------->

Ja pierwszego dnia przygody z php napisałem prosty system newsowy, z bbcodem, podmienianiem uśmieszków na ikonki, edycją wpisów i prostym panelem admina etc.

Problem w tym, że to się łatwo pisze jeśli się nie wnika w jakość kodu. A przede wszystkim problem w tym, że to się łatwo pisze jeśli się miesza php z html - wtedy to właściwie banał. Gorzej jeśli trzeba stworzyć narzędzia oddzielenia kodu php od html-a (system szablonów), a całość pomyśleć jako system rozwojowy, oparty np. o wzorzec MVC. Wtedy zaczynają się schody.

Masz rację w jednym i uważam, że w tym jestem neurotykiem i dlatego m.in. nie zająłem się tym na poważnie. Można sobie skrzywić podejście rozkminką - czy tablica o tylu wymiarach nie jest czymś już niedopuszczalnym, czy ta nazwa funkcji nie wydaje się dziwaczna, czy takie mechanizm jest zgodny z wzorowym podejściem, działa ale czy nie jest napisane w jakiś wysilony pokrętny sposób? etc. Mnie zawsze to odrzuca na kolejne miesiące od pisania. Np. wiem jak napisać działający system szablonów z cache i ze wszystkim, ale rozwiązania w takim systemie wydaja mi się naciągane, rozlazłe, nieoptymalne, nieprzemyślane. I w ten sposób pewnie nigdy go nie napiszę.

08.02.2008
13:21
[31]

niczyj [ Pretorianin ]

cioruss -> mysle ze ukonczylem poziom podstawowy i teraz jestem na jakims srednio zaawansownym. I... jesli mowa o forum.. to trzeba myslec o rekordach kilkuset tysięcznych .. i wiecej .. i chcialbym sie z tym zmierzyc.
Chociaz jak patrze na inne fora, to naprawde różnie jest to rozwiązane, niektóre własnie dosyć tak po macoszemu, nieprofesjonalnie, ale to dziala i nie ma wiekszego zgrzytu.

Bo wystarczy jakoś przyjąć założenie, że wszystkie posty i odpowiedzi z datą od dzisiaj do miesiąca wstecz - są najważniejsze... a z resztą to już jest różnie, różne metody magazynowania. narazie mysle o jakiejs najprostrzej metodzie i malo profesjonalnej (moze ze szkodą dla uzytkowników), no ale od czegos trzeba zacząć.

08.02.2008
13:47
[32]

cioruss [ oko cyklopa ]

niczyj -> sorki, myslalem, ze dopiero zaczynasz. jesli jestes juz dalej, to to forum srednio pomoze, jak ze wszystkim, co jest odrobine bardziej zaawansowane. polecam tematyczne strony, ksiazki (znalezienie dobrej to tez sztuka..) i duzo wolnego czasu. nie bedzie latwo, bo specjalistyczna wiedza, to cos, czego nie znajduje sie na ulicy, a i ludzie niechetnie sie tym dziela (chociazby przez brak czasu).

alpha_omega -> znam ten bol, mam tak samo. kiedy napisalem swoj pierwszy kod html, to piescilem go przez kilka tygodni jarajac sie kazdym urwanym bajtem i szybszym dzialaniem. teraz akurat redaguje katalog kilku tysiecy produktow i poprawiam opisy, aby szybciej i latwiej dawaly sie wyszukiwac. mordega, bo wiecej mysle o sposobach prezentacji i doborze slow, niz klikam. przez takich jak my firmy zatrudniaja dodatkowy personel, ktorego zadaniem jest sprawdzanie stanu zaawansowania projektu i powiedzenie prostego: jest juz wystarczajaco dobrze, zajmij sie teraz czyms innym ;)

21.02.2008
23:36
[33]

Hansvonb [ Konsul ]

Przy tak dużym serwisie jak ten, nie tylko poprawnośc logiczna/funkcjonalna ma znaczenie a zwykła szybkośc odpowiedzi systemu...

Podejrzewam że aby taką - zadowalającą szybkośc usyskac baza danych została mocno zdenormalizoawana.

PS.
nie zauważyłem, że już wątek spadł...

© 2000-2024 GRY-OnLine S.A.