Napisane: 24.05.2013, 19:36:59 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
w nested set nie musisz sie bawic w rekurencje, pobierasz cale drzewo/gałąź w jednym zapytaniu jeśli po stronie php potrafisz wykorzystać że drzewo masz juz posortowane - jest szybciej. sprawdzałem. |
Forum: Przedszkole · Podgląd postu: #1047193 · Odpowiedzi: 2 · Wyświetleń: 340 |
Napisane: 21.05.2013, 16:12:36 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
na początek - kartka i ołówek. projektujesz bazę danych, musisz zaprojektować wszystkie relacje, encje... nie da się opisać zasad projektowania bazy danych w trzech słowach.. hm..... a może tak. poczytaj o normalizacji (pierwsze 3 postacie na początek), bez tego nie da się zaprojektować żadnej dobrej bazy. na początek musisz potrafić doprowadzić bazę minimum do 2 postaci, trzecia postać nie była by tutaj faux pas. rozpisz na kartce tą bazę, w dalszych zadaniach masz pewne podpowiedzi, co ma się w niej znajdować. tutaj masz trzy podstawowe encje : produkty, kody, aukcje, pola jakie są wymagane masz wymienione.. przeanalizuj i wyodrębnij dodatkowe encje ja np widzę: operator, być może czas doładowania rozpisz na kartce wszystkie pola, jakie do tych encji należą, przeanalizuj relacje jakie zachodzą między nimi. o ile widzę to relacje jakie zachodzą to kody[n]-[1]produkt[n]-[1]aukcje produkty[n]-[1]operator o ile rozumiem zadanie, aukcja jest tutaj uproszczona, i chyba można poprzestać na jednej encji czyli musisz wiedzieć o relacjach jeden do wielu, (wiele do wielu nie zaszkodzi także) zadanie ostatnie - jest zbudowaniem odpowiedniego widoku. jak uporasz się z prawidłowym projektem - będzie on tylko jego konsekwencją (relacji między tabelami). a więc - poczytaj o normalizacji, kartka + ołówek i do dzieła, jak rozpiszesz encje, relacje między nimi, to siadasz do jakiegoś narzędzia którym przeniesiesz to na gotowy kod (jest tego cała masa..). nie musisz znać dokładnych poleceń tworzenia tabel, musisz wiedzieć co chcesz osiągnąć. widokiem chwilowo się nie przejmuj, jeśli zrobisz prawidłowo to co opisałem - bez problemu dasz radę zbudować taki widok pozdrawiam, J. |
Forum: MySQL · Podgląd postu: #1046489 · Odpowiedzi: 15 · Wyświetleń: 695 |
Napisane: 27.12.2012, 13:29:33 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
uuuf, naucz się pisać wyraźniej, to co tu wypociłeś odrzuca po dwóch zdaniach. jesli dodaje pusty wiersz - znakiem tego ze sql jest poprawny. wywal sobie jakiś debug zapytania jakie wysyłasz na serwer. myślę że zapytanie masz skopane, sprawdz czy nie masz jakichś notice w php... po tym co napisałeś, i informacji jaką dostarczyłeś mogę jedynie stwierdzić że skopałeś skrypt. ta diagnoza jest moim zdaniem jedyną jaką można postawić przy takich informacjach jakie podałeś j. |
Forum: MySQL · Podgląd postu: #1014596 · Odpowiedzi: 8 · Wyświetleń: 639 |
Napisane: 29.11.2012, 12:25:30 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
milon rekordow nie jest przeszkoda przy prawidlowo zaprojektowanej strukturze. pozakładaj dobre indexy, pomyśl czy da się pozakładać partycje na tabeli. explain, i profilowanie zapytań - wyłapanie wąskich gardeł, aktualnyi odpowiedni silnik db, dostosowanie platformy sprzętowej do projektu - i będzie dobrze. kilku-kilkunasto milionowe tabele nie są żadnym problemem. j. |
Forum: MySQL · Podgląd postu: #1009184 · Odpowiedzi: 8 · Wyświetleń: 539 |
Napisane: 28.11.2012, 14:54:21 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
pierwsze rozwiązanie ma sens pod jednym warunkiem nie będziesz wykonywał ŻADNYCH operacji na tym polu poza select inaczej przeprojektuj tabele do relacji wiele_do_wielu jest to klasyczny antywzorzec, i jako taki jest też opisany. jesli potrzebujesz utrzymać hierarchię w danych - zainteresuj się strukturami do ich przechowywania. masz ich kilka, i być może drzewko IP będzie dla ciebie najwygodniejszym rozwiązaniem udało Ci się podać drugi z klasycznych antywzorców dla sql'a, a to nie mały sukces zainwestuj być może w jakaś książkę, jeśli planujesz dłuższą przygodę z bazami danych. pozdrawiam, J. |
Forum: MySQL · Podgląd postu: #1008991 · Odpowiedzi: 8 · Wyświetleń: 539 |
Napisane: 23.11.2012, 12:12:17 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
do wyeksportowania najlepiej : insert do pobrania select podpowiedź : struktury drzewiaste. zalecane : kurs php + SQL jak się zastosujesz do tych rad, problem sam będziesz potrafił rozwiązać... j. |
Forum: Przedszkole · Podgląd postu: #1007977 · Odpowiedzi: 2 · Wyświetleń: 177 |
Napisane: 20.11.2012, 16:59:19 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
ha, TYLKO? poczytaj sobie dokumentacje do 5.6 http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html jesli przeszedles na myisam - to kazda operacja ktora cos zmienia (insert/update/delete) na danej tabeli - powoduje jej blokowanie. wtedy wlasnie nawarstwia sie oczekiwanie i wywala serwer zalecane rozwiazanie - upgrade serwera do wersji 5.6 i bedziesz mial problem z glowy... rzynajmniej na jakis czas - jesli zwiekszy ci sie ruch wtedy bedziesz moze musial przeprojektowac od nowa ta aplikacje. edit. myisam i szybko - to przestarzala opinia, zalecam odswierzenie wiedzy. http://dimitrik.free.fr/blog/archives/11-0...11-30-2012.html |
Forum: MySQL · Podgląd postu: #1007311 · Odpowiedzi: 8 · Wyświetleń: 647 |
Napisane: 27.09.2012, 15:08:00 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
chyba lapie o co biega. nie sprawdzalem, ale cos w ten desen powinienes isc (jesli prawidlowo zrozumialem co chcesz zrobic)
j. edit: literowka |
Forum: MySQL · Podgląd postu: #995581 · Odpowiedzi: 5 · Wyświetleń: 412 |
Napisane: 23.08.2012, 08:07:43 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
poszukaj algorytm levenshteina o ile wiem, sa juz gdzies gotowe procedury na mysql... hmmmm nawet juz znalazlem : http://www.artfulsoftware.com/infotree/queries.php j. |
Forum: MySQL · Podgląd postu: #987420 · Odpowiedzi: 7 · Wyświetleń: 285 |
Napisane: 22.08.2012, 13:34:34 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
|
Forum: MySQL · Podgląd postu: #987225 · Odpowiedzi: 8 · Wyświetleń: 576 |
Napisane: 9.08.2012, 16:27:55 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #984322 · Odpowiedzi: 1 · Wyświetleń: 132 |
Napisane: 24.07.2012, 11:26:50 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
zainteresuj sie czym jest ten string który próbujesz parsować jak juz rozkminisz ze to jest json, to sie zainteresuj json_encode oraz json_decode mysle ze dalej juz bedzie z gorki. j. |
Forum: Przedszkole · Podgląd postu: #980238 · Odpowiedzi: 10 · Wyświetleń: 2 924 |
Napisane: 20.07.2012, 12:46:06 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
hmmm...wszystkie te polecenia o ktore pytasz znajdziesz z dokladnym opisem w manualu na szybko - count zliczanie wierszy (tutaj - wierszy ktore zostana zgrupowane) group by - grupuje wynik wg wybranej kolumny (tutaj jest to imie opiekuna) having - wyswietla tylko te wiersze ktore spelniaja warunek - tutaj ile >2 indexy uuf, to juz raczej bardziej o teorii sql'a i relacyjnych bazach danych, niz sama ksiazka do nauki sql'a dosc duzo ciekawostek i swietnych rad znalazlem na roznych blogach np. http://blog.ksiazek.info << akurat tego moge z czystym sumieniem polecic, tam takze znajdziesz o indexach.. j. |
Forum: Bazy danych · Podgląd postu: #979303 · Odpowiedzi: 5 · Wyświetleń: 464 |
Napisane: 19.07.2012, 14:19:35 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
jesli masz w zapytaniu order by - wymuszasz poniekad stosowanie tabel tymczasowych. nie zawsze sie da uniknac tempa. i nie zawsze jest to problem dla zapytania. problem pojawia sie wtedy - gdy ilosc danych jaka zapisujesz do tempa - przekracza dostepnej pamieci (ramu), wtedy nastepuje to co najgorsze - zapis na dysk. rada? ograniczaj maksymaline ilosc danych, do momentu w ktorym masz sortowac dane. (jesli wrecz nie zrezygnowac z sortowania) czasem, lepszym rozwiazaniem jest wlasne przygotowanie tabeli tymczasowej. z pozakladanymi odpowiednimi indeksami mozna uzyskac rewelacyjne czasy dostepu. pamietajac ze innodb domyslnie sortuje wg najwazniejszego indeksu - nie wg kolejnosci dodania - da sie uzyskac tabele z posortowanymi danymi gotowa do natychmiastowego uzycia czasem, przy tworzeniu takich tymczasowych tabel, warto sie zaineresowac silnikiem memory. zajmuje ram - ale daje rewelacyjne czasy (oczywiscie wczesniej poczytaj co oznacza wybor tego silnika!) j. |
Forum: Bazy danych · Podgląd postu: #978992 · Odpowiedzi: 11 · Wyświetleń: 670 |
Napisane: 17.07.2012, 13:39:00 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
in_array() |
Forum: Przedszkole · Podgląd postu: #978282 · Odpowiedzi: 3 · Wyświetleń: 350 |
Napisane: 11.07.2012, 10:03:25 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
chole*a duzo tego.. troche to przeredaguje. Cytat nieco bardziej restrykcyjna wersja trzeciej postaci normalnej jest nazywana postacią [ciach] BCNF w trzeciej postaci normalnej wszystkie atrybuty spoza klucza muszą zależeć od klucza danej tabeli w postaci normalnej BCNF tej regule podlegaja takze kolumny nalezace do klucza ten dodatkowy warunek na znaczenie w sytuacji gdy tabela zawiera wiele zbiorow kolumn ktore moga pelnic funkcje prawidlowych kluczy tej tabeli z powyzszego wiele ine wynika, wiec przyklad: Cytat mamy trzy typy tagow * opisujace skutki bledow * wskazujace podsystemy na ktore wplywaja poszczegolne bledy * tagi opisujace sposoby rozwiazania problemow decydujemy ze kazdy blad moze miec przypisany ci najwyzej jeden tag kazdego typu. dobrym kandydatem na primary moze byc : id_bledu i tag ale takze id_bledu i typ_tagu WIELE POTENCJALNYCH KLUCZY id bledu| tag | typ_tagu 1234 | awaria| skutki 3456 | druk | podsystem 3456 | awaria| skutki 5678 | raport| podsystem 5678 | awaria| skutki 5678 | dane | rozwiazanie ANOMALIA id bledu| tag | typ_tagu 1234 | awaria| skutki 3456 | druk | podsystem 3456 | awaria| skutki 5678 | raport| podsystem << ANOMALIA 5678 | awaria| podsystem << ANOMALIA 5678 | dane | rozwiazanie postac normalna BCNF TagiBledow id_bledu| tag 1234 | awaria 3456 | druk 3456 | awaria 5678 | raport 5678 | awaria 5678 | dane Bledy tag | typ_tagu awaria | skutki druk | podsystem raport | podsystem dane | rozwiazanie tabele w relacji : TagiBledow n:1 Bledy piwo sie nalezy. j. |
Forum: MySQL · Podgląd postu: #976520 · Odpowiedzi: 7 · Wyświetleń: 3 001 |
Napisane: 9.07.2012, 11:35:57 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
kwestia definicji klucza glownego. dlaczego chcesz rezygnowac z zlozonego klucza ? ja bym zakładał założyć klucz główny na kolumnach sektor/rząd/miejsce/rozdział jeśli jużnie możesz z innych przyczyn, to czy długość klucza jest stała ? jeśli tak, to możesz w definicji pola załączyć opcję zerofill, wtedy nie stracisz zer z początku, a format będzie intem tak naprawdę o ile widzę zadanie bardzo przypomina struktury drzewiaste, to co chcesz osiągnąć jest chyba bliskie drzewku IP (metoda ścieżki), doszukaj sie tego w necie, myślę że nie zaszkodzi j. |
Forum: Bazy danych · Podgląd postu: #975972 · Odpowiedzi: 2 · Wyświetleń: 534 |
Napisane: 4.07.2012, 13:53:36 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
|
Forum: Przedszkole · Podgląd postu: #974657 · Odpowiedzi: 5 · Wyświetleń: 366 |
Napisane: 27.06.2012, 09:50:25 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
mmmmmmm :: robisz niepotrzebne zamieszanie. zapytanie nie jest iloczynem kartezjańskim, zlaczenia tabel sa w warunku where j. |
Forum: MySQL · Podgląd postu: #972909 · Odpowiedzi: 5 · Wyświetleń: 485 |
Napisane: 26.06.2012, 16:11:32 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
hm. mimo wszystko sugerowalbym jakis kurs przerobic, to jest dosc podstawowa informacja. tutaj konkretnie twoje a jest aliasem zdefiniowanym w sekcji FROM mdl_user a (definicja aliasu czesto jest poprzedzana slowem AS czyli mdl_user AS a) j. |
Forum: MySQL · Podgląd postu: #972762 · Odpowiedzi: 5 · Wyświetleń: 485 |
Napisane: 20.06.2012, 14:47:11 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
sprawa nie jest taka prosta. jedna z ważniejszych maksym tutaj to będzie że: dane nie trzymane w bazie danych - nie są przez tą bazę zarządzane jeśli nie są to wielkie pliki, oraz nie będzie ich wiele - lepiej będzie trzymać to bazie danych. większość programistów będzie wskazywać rozwiązanie sugerujące umieszczanie plików poza bazą, ale nie jest to zawsze dobrym rozwiązaniem np: * masz jakiś art. * chcesz usunąć dany artykuł (zwłaszcza jeśli stosujesz miękkie usuwanie) masz dwie opcje: - zostawiasz grafikę - usuwasz grafikę kwestia wyboru opcji - albo dziergasz kolejne linie skryptu i usuwasz zbędną (i widoczną z netu) grafikę, albo nie przejmujesz się tym że zaśmiecasz sobie serwer.(a serwery lubią porządek w katalogach. sic!) - usuwasz (no, ale co jeśli będziesz chciał przywrócić dany art??) - zostawiasz, ale jeśli nie zastosowałeś bardziej zaawansowanej obsługi plików - możesz rozwalić sobie system plików na serwerze także, moim zdaniem, jeśli nie robisz np galerii - zapis plików do bazy danych, nie jest już tak bezsensowny. jedynym problemem, ale do rozwiązania jest backup tych tabel, ale jeśli zrobisz to w osobnej tabeli i backup jej robisz przyrostowo. j. |
Forum: Bazy danych · Podgląd postu: #971090 · Odpowiedzi: 4 · Wyświetleń: 437 |
Napisane: 24.05.2012, 12:19:32 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
myisam na czas update blokuje ci cala tabele. kolejny update bedzie mozliwy po jego zakonczeniu innodb - zablokuje ci tylko ten konkretny wiersz. to tyle jesli chodzi o pierwsze podejscie. co oczywiscie nie przeszkadza w tym, by jednym updatem nie nadpisano wczesniejszy - dlatego wydawalo mi sie ze pytasz sie o flagi kiedy flaga bedzie zdjeta? a to juz jak sobie pan zyczy. powinno byc to mozliwe jedynie przez admina, moderatora, ale jak to oprogramujesz - to tak bedzie. j. |
Forum: MySQL · Podgląd postu: #965131 · Odpowiedzi: 3 · Wyświetleń: 465 |
Napisane: 25.04.2012, 13:05:23 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
w mysql inaczej tego nie osiagniesz. ale np w mongoDB - bez problemu. j. |
Forum: MySQL · Podgląd postu: #958912 · Odpowiedzi: 3 · Wyświetleń: 407 |
Napisane: 25.04.2012, 16:18:17 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
huh? toż to jeden c**j... left join i join w tym wypadku nie robi roznicy. podajac zas select * zamiast mojego select t2.* powodujesz ze masz smieci w zwrocie., w pierwszej czesci masz zduplikowane rekordy o tabele t1 - i dopiero w czesci t2 jest rozne co do szczegolow. no, ale co tam, jesli jestes zadowolony z tego jak ci to dziala - no to najwazniejsze. Pilsener@:: union nie zadziala. pozdrawiam, J. |
Forum: MySQL · Podgląd postu: #958976 · Odpowiedzi: 8 · Wyświetleń: 465 |
Napisane: 25.04.2012, 13:04:22 | |
Grupa: Zarejestrowani Postów: 341 Dołączył: 23.06.2009 Ostrzeżenie: (0%) |
zrozumialem, ale ty nie zrozumiales ze zrozumialem sprawdzales to zapytanie? wstaw zamiast slowo table (to sie sformatowalo niepotrzebnie) swoja nazwe tabeli
j. |
Forum: MySQL · Podgląd postu: #958911 · Odpowiedzi: 8 · Wyświetleń: 465 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 13:54 |