Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


standardy:csv:seznam-v-buňce [2017/11/15 13:51] – vytvořeno Jakub Klímek
Řádek 1: Řádek 1:
-====== Seznam či strukturovaná hodnota v jedné buňce ====== 
-Soubor ve formátu CSV by měl být obrazem tabulky v relační databázi, nejlépe tak, aby do ní šel přímo nahrát, a aby se s daty co nejsnadněji pracovalo. 
-Příklad CSV souboru z datové sady "Číselníky pro volby 2016", který porušuje základní poučku o tom, jak má vypadat databázová tabulka ([[https://en.wikipedia.org/wiki/First_normal_form|první normální forma]]): 
-<code csv> 
-VSTRANA,NAZEVCELK,SLOZENI,TYPVS 
-299,"Koalice CZ, COEX, NEZ, ODA","013,072,088,133",K 
-300,"Koalice ČSNS, SV SOS","002,101",K 
-301,"Koalice KSČM, SZ","005,047",K 
-459,"Sdružení SZ, US-DEU, NK","005,080,102",D 
-461,"Sdružení NV, NK","080,163",D 
-462,"Sdružení SNK ED, SD-SN, SOS, SZ, US-DEU, NK","005,080,102,103,129,143",D 
-</code> 
  
-Sloupec ''SLOZENI'' totiž obsahuje čárkou oddělený seznam ID stran, které tvoří koalici. 
-Pokud bych se tedy chtěl zeptat například na to, které strany tvoří koalici s ID ""459"", jsem odkázán na zpracovávání řetězců v databázovém jazyce místo toho, abych se zeptal zcela přirozeně pomocí tabulky vazeb mezi stranami, která by určovala příslušnost do koalice. 
- 
-Správně by tedy toto byly 2 datové sady, "Číselník stran pro volby 2016" a "Příslušnost stran do koalic pro volby 2016". 
-CSV druhé datové sady by vypadalo třeba takto: 
-<code csv> 
-KOALICE,STRANA 
-299,013 
-299,072 
-299,088 
-299,133 
-300,002 
-</code> 
- 
-Pro normalizaci databází se používají různě přísné [[https://en.wikipedia.org/wiki/Database_normalization|normální formy]]. 
-[[https://en.wikipedia.org/wiki/First_normal_form|První normální forma]] zakazuje strukturované hodnoty, tedy například seznamy. 
-Je to proto, že se pak s takovou hodnotou nedá rozumně pracovat, a data se musí před použitím předzpracovávat, rozpadat na více tabulek. 
  • standardy/csv/seznam-v-buňce.txt
  • Poslední úprava: 2020/06/03 09:37
  • autor: 127.0.0.1