Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 1 Dołączył: 4.08.2012 Ostrzeżenie: (10%)
|
gdzies kiedys wpadlem na taki artykul gdzie pisalo by unikac przechowywania null, gdyz zmniejszaja wydajnosc,powoduja nieczytelnosc i cos tam jeszcze. czy to prawda?
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%)
|
Tu akurat podałeś przykład w którym należy uniknąć NULLa i podać 0. no wręcz odwrotnie (chyba ze chcesz policzyć to śmigło od wentylatora..) tutaj nasz obiekt - czyli autobus nie ma takiej właściwości, i mieć nie może. Jak dla mnie 0 to konkretna wartość - brak dzieci, a wartość NULL to brak informacji. Przykładowo przy rejestracji tworzy się wiersz z daną osobą i kilka kolumn nieobowiązkowych - w tym liczba dzieci. Teraz pomyślcie jak wyglądałoby by wyciąganie sumy, średniej dzieci. Jak sprawdzisz kto nie uzupełnił tej wartości (profilu)? Ja ostatnio zacząłem doceniać korzyści NULL (IMG:style_emoticons/default/smile.gif) tak, jest to dobry przykład trójwarstwowej logiki. mając 4 wpisy (ilość dzieci) programista używa nulla jako wartość domyślną zamiast 0. user logując się - raz wpisze 0, a drugi raz zostawi pole puste (no bo skoro nie ma dzieci, to dlaczego by nie....) w tabeli więc ląduje nam: 4 2 0 null jaka jest średnia ilość dzieci ? sprawdzam:: SELECT AVG(test) FROM `test` 1,5 czy 2 (IMG:style_emoticons/default/questionmark.gif) ? mysql powie że 2 - co de facto jest guzik prawda, w przypadku jeśli programista zamiast '0' będzie pakował null wtedy, wartością powinno być 1,5 ale puki nikt z księgowości nie zwróci uwagi na ten błąd - będziesz generować błędy aż miło... taki, i temu podobne kwiatki - nieświadomie programiści generują notorycznie. j. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 141 Dołączył: 19.09.2006 Skąd: B-tów Ostrzeżenie: (0%)
|
n mając 4 wpisy (ilość dzieci) programista używa nulla jako wartość domyślną zamiast 0. user logując się - raz wpisze 0, a drugi raz zostawi pole puste (no bo skoro nie ma dzieci, to dlaczego by nie....) w tabeli więc ląduje nam: 4 2 0 null jaka jest średnia ilość dzieci ? sprawdzam:: SELECT AVG(test) FROM `test` 1,5 czy 2 (IMG:style_emoticons/default/questionmark.gif) ? mysql powie że 2 - co de facto jest guzik prawda no mi też wychodzi 2 user 1 ma czworo dzieci user 2 ma dwoje dzieci user 3 niema dzieci user 4 jest cham i nie chce powiedzieć ile ma dzieci czyli niemożna go uwzględniać w statystyce |
|
|
|
michat34 czy to prawda ze nalezy unikac przechowywania pol NULL? 10.11.2012, 17:06:19
Crozin Nie, to nie prawda. 10.11.2012, 18:00:50
irmidjusz A w podręcznikach od MySQLa tak piszą, że lepiej n... 11.11.2012, 00:46:24
starko Martwicie się o wydajność jakbyście pisali potężne... 11.11.2012, 09:47:19
nospor Na pole z NULLem baza mysql potrzebuje dodatkowego... 11.11.2012, 12:13:32
Crozin Jeżeli jakieś pole może przyjąć "logiczne nic... 11.11.2012, 15:30:20
nospor Też kiedyś wychodziłem z założenia, że jak coś ma ... 11.11.2012, 19:37:13
Damonsson To jest trochę bez sensu, bo jak się jednak patrzy... 11.11.2012, 20:33:00
irmidjusz Ale przecież to zależy od konkretnej sytuacji, od ... 11.11.2012, 21:04:28 
markonix Cytat(irmidjusz @ 11.11.2012, 21:04:2... 12.11.2012, 12:56:20
Damonsson No przecież właśnie to samo napisałem wyżej ^^
Ni... 11.11.2012, 21:42:03
Szymciosek Wg. mnie jeśli potrzebujesz, to korzystasz, po coś... 11.11.2012, 22:29:06
alegorn korzystanie z wartości null powoduje wymuszone kor... 12.11.2012, 10:38:20
Damonsson Tu akurat podałeś przykład w którym należy uniknąć... 12.11.2012, 11:53:40
Zielonkawy18 "Tu akurat podałeś przykład w którym należy u... 12.11.2012, 13:13:02 
markonix Cytat(alegorn @ 12.11.2012, 15:44:39 ... 12.11.2012, 17:07:31 
irmidjusz Cytat(sazian @ 12.11.2012, 20:31:50 )... 13.11.2012, 00:06:28 
markonix Cytat(irmidjusz @ 13.11.2012, 00:06:2... 13.11.2012, 23:26:00
everth Bo problem NULLa to w ogóle problem z teorią relac... 12.11.2012, 16:40:13
d3ut3r W sumie to nigdy się nad tym nie zastanawiałem, z ... 12.11.2012, 17:02:07
nospor CytatNie można narzucać haseł "Nie stosuj NUL... 12.11.2012, 17:45:54
Crozin 1. Przede wszystkim nie dyskutujcie w oparciu o pr... 12.11.2012, 17:48:09
Crozin CytatBill Karwin w http://helion.pl/ksiazki/antywz... 13.11.2012, 00:17:09
everth @d3ut3r
Trochę spoźnione:
CytatTylko wówczas co za... 13.11.2012, 09:16:49
d3ut3r Z ciekawości jakie jeszcze informacje można odczyt... 13.11.2012, 09:24:28
alegorn to ze przykład z pojazdami jest kiepski - to fakt,... 13.11.2012, 09:59:53
everth @d3ut3r
Hm, np. że wartość to NULL
Brak danych ... 13.11.2012, 12:38:16
Noidea @everth
Zawsze można też zaprojektować bazę w pier... 14.11.2012, 22:46:42
everth Ok, ale czy to nie sprowadzi się właściwie do tego... 17.11.2012, 20:01:29
Crozin @everth:
Chodziło raczej o to, że podany przez C... 17.11.2012, 20:58:31
Pilsener Powinno się zawsze używać NULL (ale nie string nul... 17.11.2012, 21:54:33
everth @Crozin
Masz rację. Tylko nie wiem jak ta osobna t... 18.11.2012, 18:45:16 ![]() ![]() |
|
Aktualny czas: 20.12.2025 - 20:24 |