Některé komentáře navrhovaly ponechat jej ve formátu JSON a uložit jej do textového sloupce.
Navrhoval bych, že pokud máte nad svým schématem kontrolu, měli byste je uložit do dvou NUMERIC
pole – jedno pro zeměpisnou šířku a jedno pro zeměpisnou délku. V zásadě jsou to data, která máte. Skutečnost, že jste jej obdrželi pomocí JSON jako formátu kontejneru, je pro samotná data irelevantní.
Pokud jej uložíte jako zeměpisnou šířku a délku, je jednodušší se na něj dotazovat a přesto můžete JSON později znovu vytvořit, pokud chcete... ale pokud jej nakonec budete chtít načíst ne jako JSON k tomu budete mít mnohem lepší pozici. Znamená to také, že se nesvazujete s JSON proti budoucím změnám.
Osobně si myslím, že je vždy dobrý nápad mentálně oddělit vnitřní povahu dat od způsobu, jakým je náhodou přijímáte. Ukládejte data v jakémkoli formátu, který je pro dané úložiště idiomatický – takže pokud ukládáte číslo, použijte jeden z číselných datových typů. Pokud ukládáte datum a čas, použijte datetime
, atd. Díky tomu neskončíte s další vrstvou mezi vámi a samotnými daty pokaždé, když k nim budete chtít přistupovat.
Tento přístup také znamená, že je mnohem pravděpodobnější, že si všimnete špatných dat brzy – pokud JSON uložíte přímo, aniž byste jej nejprve analyzovali, můžete později zjistíte, že zeměpisná šířka nebo délka není platné číslo. Sakra, fakt, že vaše ukázková data mají někdy lon
a někdy má lng
navrhuje, abyste přesto provedli nějaké vyčištění dat.