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>13</zip_code> </person> <person> <name>Jane</name> <surname>Davis</surname> <street>19 Park Avenue</street> <city capital="no">Leeds</city> <zip_code>28</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út id (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 zoznámime
neskôr, keď budeme pracovať práve s databázami. Zatiaľ si ukážme len to,
ako taký dátový súbor vyzerá. Ide o sériu príkazov INSERT,
ktoré do databázy vložia jednotlivé riadky. Pre naše osoby by vyzeral SQL
súbor nasledovne:
INSERT INTO people (name, surname, street, city, zip_code) VALUES ('John', 'Smith', '31 Queen Street', 'Liverpool', 13), ('Jane', 'Davis', '19 Park Avenue', 'Leeds', 28);
Nad príkazmi môže byť ešte kód na vytvorenie databázovej tabuľky a ďalšie nastavenia, môže vyzerať napr. takto:
CREATE TABLE IF NOT EXISTS people ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, surname VARCHAR(50) NOT NULL, street VARCHAR(100) NOT NULL, city VARCHAR(50) NOT NULL, zip_code INTEGER NOT NULL );
VARCHAR a INTEGER sú dátové typy, ide o text (v
zátvorke sa definuje maximálna dĺžka) a celé číslo.
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é 258x (4.44 kB)
