NULL na prázdnou hodnotu? Žádné další výchozí mapování

Automaticky přeloženo z Deepl

Při vytváření nového pole v databázi vám 4D umožňuje zvolit, zda chcete namapovat hodnotu NULL na prázdné hodnoty, nebo ne. Počínaje verzí 4D v19 R4 již 4D v nových projektech nebude ve výchozím nastavení mapovat hodnotu NULL na prázdnou hodnotu.

Krátká rekapitulace historie: Starší verze 4D (před uvedením 4D v11) nepodporovaly hodnotu NULL. Ani v databázi, ani v jazyce.

Počínaje verzí 4D v11 databáze podporovaly NULL, stejně jako jazyk SQL 4D, ale ne jazyk 4D. Právě z tohoto důvodu byla ve výchozím nastavení pro nově vytvořená pole předvolena možnost „namapovat hodnotu NULL na prázdné hodnoty“. To značně usnadňovalo kódování pomocí jazyka 4D.

Zpět do současnosti a s jazykem ORDA je to jinak. ORDA si je plně vědoma NULL a použití konceptu NULL otevírá ve vašem kódu spoustu možností.

NULL se používá k označení nepřítomných dat. I když se mapování NULL s prázdnou hodnotou může zdát logické, ve skutečnosti to není totéž. Pokud například uživatel zadá 0 nebo nikdy nic nezadal, může to pro vás znamenat zásadní rozdíl! NULL říká, že nikdy nebyla zadána žádná hodnota.

ORDA je navržena tak, aby pracovala s hodnotami NULL. Například funkce .count() vrací počet entit ve výběru entit s nenulovou hodnotou. U ORDA je mnohem lepší zachovat podporu NULL, a vyhnout se tak mapování na prázdnou hodnotu.

Pokud například potřebujete spočítat, kolik vašich klientů zadalo do svého popisu číslo mobilního telefonu, stačí v případě, že pole „mobile“ vaší tabulky podporuje hodnotu Null, napsat:

$count:=ds.Users.all().count("mobile")

Kdykoli potřebujete namapovat hodnotu NULL na prázdnou hodnotu, můžete ve vlastnostech pole ještě použít volbu Mapovat hodnoty NULL na prázdné hodnoty :

Protože se ORDA stala standardním způsobem práce s 4D, je nyní čas změnit výchozí hodnotu této volby. Při spuštění projektu s 4D v19 R4 již tato volba není pro nově vytvořená pole standardně nastavena – ale samozřejmě ji můžete v případě potřeby stále zapnout!

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.