Lekce 6 - Datové formáty XML a SQL
V minulé lekci, Práce ve VS Code s CSV a JSON, jsme si ukázali práci s CSV soubory ve VS Code a představili si formát JSON a práci s ním.
V dnešním tutoriálu datové analýzy budeme pokračovat popisem nejčastějších formátů souborů pro datovou analýzu.
XML
XML (Extensible Markup Language – rozšiřitelný
značkovací jazyk) je textový formát pro uchovávání a přenos
strukturovaných dat. Používá takzvané tagy, což
jsou textové značky ohraničené špičatými závorkami <
a
>
. Každý tag má svůj význam a obvykle tvoří dvojici –
například <title>
a </title>
– mezi
které se zapisuje konkrétní hodnota. Díky tomu můžeme přesně popsat
význam každé části dat. XML se často používá v podnikových systémech,
datových přenosech a při výměně dokumentů mezi různými aplikacemi.
XML soubory bývají větší než například JSON a jejich zpracování může být pomalejší. Proto se XML nehodí pro práci s obrovským množstvím dat, kde je rychlost a efektivita klíčová.
Struktura XML
XML má podobu stromové struktury. Tato hierarchie umožňuje logicky a přehledně uspořádat i velmi složité datové celky. Opět si ukažme příklad s uložením dvou osob, tentokrát do XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <osoby> <osoba> <jmeno>Jan</jmeno> <prijmeni>Novák</prijmeni> <ulice>Příkrá 3</ulice> <mesto hlavni="ne">Vlašim</mesto> <psc>25801</psc> </osoba> <osoba> <jmeno>Jana</jmeno> <prijmeni>Příhodová</prijmeni> <ulice>U Hrušní 15</ulice> <mesto hlavni="ne">Benešov</mesto> <psc>25601</psc> </osoba> </osoby>
Vidíme, že XML je nejčitelnější, ale také nejupovídanější. První
řádek obvykle definuje verzi a kódování souboru. Dále následuje
jediný kořenový element. Element je obvykle definován
otevírací a zavírací značkou, které píšeme pomocí špičatých
závorek, např. <znacka>
a </znacka>
, kde
značka začínající lomítkem je zavírací. Uvnitř těchto značek se
nachází obsah elementu, což jsou buď další zanořené
elementy, nebo text. Data můžeme psát rovněž do atributů
elementu, např. město výše má atribut hlavni
.
Když má element jen málo dat, lze je všechny zapsat jen do jeho atributů. Element nemusí mít pak žádný obsah. Takový element se můžeme rozhodnout definovat jako nepárový a nemá pak zavírací značku. Jeho značka pak musí končit lomítkem:
<web url="www.itnetwork.cz" />
Ukázka XML souboru
Opět si vyzkoušíme otevřít nějaký vzorový dataset, tentokrát z výukové
dokumentace Microsoftu. Soubor jsme vám připravili ke stažení na konci
této lekce. Stáhněte si jej a poté se vraťte zpět na toto místo.
Alternativně si jej můžete zkopírovat jako text ze stránek MS a uložit
jako books.xml
.
Soubor books.xml
otevřeme ve VS Code:

Visual Studio Code nám umožňuje přehledně pracovat s celou strukturou dokumentu, snadno odhalit chyby a mít kontrolu nad každým prvkem. Opět vidíme, že obsah je přehledně obarvený.
Vysvětlíme si, co jednotlivé značky znamenají:
<catalog>
– kořenový element celého dokumentu, obsahuje všechny knihy,<book>
– záznam jedné knihy, má atribut id (např. id="bk101"),<author>
– autor knihy,<title>
– název knihy,<genre>
– žánr knihy,<price>
– cena v dolarech,<publish_date>
– datum vydání,<description>
– stručný popis obsahu knihy.
XML entity
Jelikož XML používá ke své syntaxi znaky
<, >, &
, nemůžeme je jen tak zapsat do dat elementů.
Znaky je potřeba nahradit za tzv. entity (např. <
zapíšeme v
datech jako <
nebo jako <
). Jinak
může dojít k chybné interpretaci struktury XML.
Pokud by měla osoba v našem ukázkovém XML např. místo jména
přezdívku Joker ]:>
, museli bychom pravou špičatou závorku
zapsat takto:
<jmeno>Joker ]:></jmeno>
Entitami lze kromě speciálních znaků používaných v XML syntaxi zapsat i další znaky, které se jinak špatně píšou, např. copyright ©. Ukažme si základní entity, které v XML datech použijeme, chceme-li zapsat speciální znak:
Znak | Popis | Zástupné entity |
---|---|---|
nedělitelná mezera |   | |
< | menší než | < < |
> | větší než | > > |
& | ampersand | & & |
" | dvojitá uvozovka | " " |
' | jednoduchá uvozovka | ' ' |
¢ | cent | ¢ ¢ |
£ | libra | £ £ |
¥ | yen | ¥ ¥ |
€ | euro | € € |
© | copyright | © © |
® | registrovaná známka | ® ® |
™ | trademark | ™ ™ |
Kompletní seznam všech takových značek nalezneme např. na Wikipedii.
SQL
Strukturovaný dotazovací jazyk SQL (Structured Query
Language) se používá k práci s daty uloženými v
databázích – umožňuje vybírat, upravovat i
ukládat data pomocí přesně definovaných dotazů. Tabulky v
databázi mají sloupce a řádky, jako např. tabulky v Excelu. S tímto formátem se v kurzu seznámíme
později, až budeme pracovat právě s databázemi. Prozatím si ukažme jen
to, jak takový datový soubor vypadá. Jedná se o sérii příkazů
INSERT
, které do databáze vloží jednotlivé řádky. Pro naše
osoby by vypadal SQL soubor následovně:
INSERT INTO osoby (jmeno, prijmeni, ulice, mesto, psc) VALUES ('Jan', 'Novák', 'Příkrá 3', 'Vlašim', 25801), ('Jana', 'Příhodová', 'U Hrušní 15','Benešov', 25601);
Nad příkazy může být ještě kód pro vytvoření databázové tabulky a další nastavení, může vypadat např. takto:
CREATE TABLE IF NOT EXISTS osoby ( id SERIAL PRIMARY KEY, jmeno VARCHAR(50) NOT NULL, prijmeni VARCHAR(50) NOT NULL, ulice VARCHAR(100) NOT NULL, mesto VARCHAR(50) NOT NULL, psc INTEGER NOT NULL );
VARCHAR
a INTEGER
jsou datové typy, jedná se o
text (v závorce se definuje maximální délka) a celé číslo.
V další lekci, Databáze a tabulky, se seznámíme se základní strukturou databázových tabulek.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 36x (4.44 kB)