![]() |
![]() |
![]()
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 22:53 |