6. diel - Dátové formáty XML a SQL
V minulej lekcii, Práca vo VS Code s CSV a JSON, sme si ukázali prácu s CSV súbormi vo VS Code a predstavili sme si formát JSON a prácu s ním.
V dnešnom tutoriáli dátovej analýzy budeme pokračovať opisom najčastejších formátov súborov pre dátovú analýzu.
XML
XML (Extensible Markup Language – rozšíriteľný
značkovací jazyk) je textový formát na uchovávanie a prenos
štruktúrovaných dát. Používa takzvané tagy, čo
sú textové značky ohraničené špicatými zátvorkami < a
>. Každý tag má svoj význam a zvyčajne tvorí dvojicu –
napríklad <title> a </title> – medzi
ktoré sa zapisuje konkrétna hodnota. Vďaka tomu môžeme presne opísať
význam každej časti dát. XML sa často používa v podnikových systémoch,
dátových prenosoch a pri výmene dokumentov medzi rôznymi aplikáciami.
XML súbory bývajú väčšie než napríklad JSON a ich spracovanie môže byť pomalšie. Preto sa XML nehodí na prácu s obrovským množstvom dát, kde je rýchlosť a efektivita kľúčová.
Štruktúra XML
XML má podobu stromovej štruktúry. Táto hierarchia umožňuje logicky a prehľadne usporiadať aj veľmi zložité dátové celky. Opäť si ukážme príklad s uložením dvoch osôb, tentoraz do XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <people> <person> <name>John</name> <surname>Smith</surname> <street>31 Queen Street</street> <city capital="no">Liverpool</city> <zip_code>L1 1AA</zip_code> </person> <person> <name>Jane</name> <surname>Davis</surname> <street>19 Park Avenue</street> <city capital="no">Leeds</city> <zip_code>LS1 1UR</zip_code> </person> </people>
Vidíme, že XML je najčitateľnejšie, ale aj najukecanejšie. Prvý riadok
zvyčajne definuje verziu a kódovanie súboru. Ďalej nasleduje jediný
koreňový element. Element je zvyčajne definovaný otváracou a
zatváracou značkou, ktoré píšeme pomocou špicatých zátvoriek, napr.
<tag> a </tag>, kde značka začínajúca
lomkou je zatváracia. Vo vnútri týchto značiek sa nachádza obsah elementu,
čo sú buď ďalšie vnorené elementy, alebo text. Dáta
môžeme zapisovať aj do atribútov elementu, napr. mesto vyššie má atribút
capital.
Keď má element len málo dát, môžeme ich všetky zapísať iba do jeho atribútov. Element potom nemusí mať žiadny obsah. Taký element sa môžeme rozhodnúť definovať ako nepárový a nemá potom zatváraciu značku. Jeho značka potom musí končiť lomkou:
<website url="www.itnetwork.sk" />
Ukážka XML súboru
Opäť si vyskúšame otvoriť nejaký vzorový dataset, tentoraz z výukovej
dokumentácie Microsoftu. Súbor sme vám pripravili na stiahnutie na konci
tejto lekcie. Stiahnite si ho a potom sa vráťte späť na toto miesto.
Alternatívne si ho môžete skopírovať ako text zo stránok MS a uložiť ako
books.xml.
Súbor books.xml otvoríme vo VS Code:

Visual Studio Code nám umožňuje prehľadne pracovať s celou štruktúrou dokumentu, ľahko odhaliť chyby a mať kontrolu nad každým prvkom. Opäť vidíme, že obsah je prehľadne zafarbený.
Vysvetlíme si, čo jednotlivé značky znamenajú:
<catalog>– koreňový element celého dokumentu, obsahuje všetky knihy,<book>– záznam jednej knihy, má atribútid(napr.id="bk101"),<author>– autor knihy,<title>– názov knihy,<genre>– žáner knihy,<price>– cena v dolároch,<publish_date>– dátum vydania,<description>– stručný popis obsahu knihy.
XML entity
Keďže XML používa vo svojej syntaxi znaky
<, >, &, nemôžeme ich len tak zapísať do dát
elementov. Znaky je potrebné nahradiť takzvanými entitami (napr.
< zapíšeme v dátach ako < alebo ako
<). Inak môže dôjsť k chybnej interpretácii
štruktúry XML.
Ak by mala osoba v našom ukážkovom XML napr. namiesto mena prezývku
Joker ]:>, museli by sme pravú špicatú zátvorku zapísať
takto:
<name>Joker ]:></name>
Entitami možno okrem špeciálnych znakov používaných v XML syntaxi zapísať aj ďalšie znaky, ktoré sa inak ťažko píšu, napr. copyright ©. Ukážme si základné entity, ktoré v XML dátach použijeme, ak chceme zapísať špeciálny znak:
| Znak | Popis | Zástupné entity |
|---|---|---|
| nedeliteľná medzera |   | |
| < | menšie než | < < |
| > | väčšie než | > > |
| & | ampersand | & & |
| " | dvojitá úvodzovka | " " |
| ' | jednoduchá úvodzovka | ' ' |
| ¢ | cent | ¢ ¢ |
| £ | libra | £ £ |
| ¥ | jen | ¥ ¥ |
| € | euro | € € |
| © | copyright | © © |
| ® | registrovaná známka | ® ® |
| ™ | ochranná známka | ™ ™ |
Kompletný zoznam všetkých takýchto značiek nájdeme napr. na Wikipédii.
SQL
Štruktúrovaný dopytovací jazyk SQL (Structured Query Language) sa používa na prácu s dátami uloženými v databázach – umožňuje vyberať, upravovať aj ukladať dáta pomocou presne definovaných dopytov. Tabuľky v databáze majú stĺpce a riadky, podobne ako napr. tabuľky v Exceli. S týmto formátom sa v kurze oboznámime neskôr, keď budeme pracovať práve s databázami. Zatiaľ si ukážeme len to, ako môže vyzerať jednoduchý SQL skript s dátami.
Ide o sériu príkazov INSERT, ktoré do databázy vložia
jednotlivé riadky. Pre naše údaje o osobách by SQL súbor vyzeral
nasledovne:
INSERT INTO people (first_name, last_name, street, city, postcode) VALUES ('John', 'Smith', '31 Queen Street', 'Liverpool', 'L1 1AA'), ('Jane', 'Davis', '19 Park Avenue', 'Leeds', 'LS1 1UR');
Nad príkazmi môže byť ešte kód na vytvorenie databázovej tabuľky a ďalšie nastavenia. Môže vyzerať napríklad takto:
CREATE TABLE IF NOT EXISTS people ( id SERIAL PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, street VARCHAR(100) NOT NULL, city VARCHAR(50) NOT NULL, postcode VARCHAR(10) NOT NULL );
VARCHAR je dátový typ pre text. Číslo v zátvorke určuje
maximálnu dĺžku uloženého textu. Na celé čísla, napríklad počet kusov
alebo vek, by sme použili dátový typ INTEGER.
V ďalšej lekcii, Databázy a tabuľky, sa oboznámime so základnou štruktúrou databázových tabuliek.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkamiStiahnuté 286x (4.44 kB)
