![]() |
![]() |
![]()
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: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Przede wszystkim nie dyskutujcie w oparciu o przykłady bazujące na złej strukturze bazy danych (przykład pojazdów i wspólnej tabeli do przechowywania cech samochodów i śmigłowców).
2. Takie potworki, jak AVG(col_name), gdzie do funkcji może trafić NULL również są przykładem błędnej struktury. Tym razem jest to przykład złego zapytania, które nie odrzuca rekordów z NULLem. Baza danych powinna w takim przypadku wywalić błąd (najlepiej jakby robiła to na poziomie interpretacji zapytania SQL) albo przynajmniej zwrócić NULL. Bo liczenie średniej z NULL-a przypomina liczenie sumy z puszki coli - nie ma najmniejszego sensu. 3. Jak już powiedziano, NULL powinien być zawsze traktowany jako brak informacji, czyli nie można go użyć jako wartości reprezentującej zero komentarzy danego artykułu. 4. Tak jak przypuszczałem, i tak jak widzę po przykładach w powyższej dyskusji, rady by unikać NULL-a powinny być zastąpione radami by poprawnie tworzyć strukturę bazy danych i zapytania do niej (np. skorzystanie z modelu EAV w przykładzie z cechami pojazdów). Ten post edytował Crozin 12.11.2012, 17:49:17 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 18:41 |