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: 279 Pomógł: 60 Dołączył: 25.02.2012 Ostrzeżenie: (0%)
|
Ale przecież to zależy od konkretnej sytuacji, od konkretnego projektu bazy danych! W jednej bazie użytkownik może należeć do grupy o nr 0, 1, ... albo nie należeć do żadnej, co będzie oznaczane wartością NULL. W innym projekcie może w ogóle nie istnieć grupa nr 0 i wówczas 0 może z powodzeniem oznaczać brak grupy!
Inny przykład: jak zapiszesz liczbę dzieci użytkownika? Czy jeśli nie ma on dzieci, użyjesz 0 czy NULL? (IMG:style_emoticons/default/smile.gif) Przecież 0 wystarczy, NULL tu nie jest potrzebne. Ale jeśli potrzebujesz wiedzieć, czy wiadomo, ile użytkownik posiada dzieci, to NULL może okazać się w sam raz, by taką informację zapisać: NULL to nie wiadomo ile ma dzieci, 0 - brak dzieci gdy wiadomo, że ich nie ma. Wszystko zależy od potrzeb, od projektu. W wielu przypadkach NULL nie jest potrzebne, bo nie niesie żadnej realnej informacji i z powodzeniem może być zastąpione przez domyślną wartość typu 0, szczególnie wtedy, gdy nie potrzebujesz rozróżniać braku wartości od wartości oznaczającej "nic". |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Inny przykład: jak zapiszesz liczbę dzieci użytkownika? Czy jeśli nie ma on dzieci, użyjesz 0 czy NULL? (IMG:style_emoticons/default/smile.gif) Przecież 0 wystarczy, NULL tu nie jest potrzebne. Ale jeśli potrzebujesz wiedzieć, czy wiadomo, ile użytkownik posiada dzieci, to NULL może okazać się w sam raz, by taką informację zapisać: NULL to nie wiadomo ile ma dzieci, 0 - brak dzieci gdy wiadomo, że ich nie ma. 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) Ten post edytował markonix 12.11.2012, 12:57:38 |
|
|
|
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
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
alegorn Cytat(Damonsson @ 12.11.2012, 11:53:4... 12.11.2012, 15:44:39 
markonix Cytat(alegorn @ 12.11.2012, 15:44:39 ... 12.11.2012, 17:07:31 
sazian Cytat(alegorn @ 12.11.2012, 15:44:39 ... 12.11.2012, 20:31:50 
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: 25.12.2025 - 17:28 |